Containers offer a quick and easy way to package up applications but security
is becoming a real concern
Containers offer a quick and easy way to package up applications and all their
dependencies, and are popular with testing and development.
According to a recent survey sponsored by container data management company
Cluster HQ, 73 percent of enterprises are currently using containers for
development and testing, but only 39 percent are using them in a production
environment.
But this is changing, with 65 percent saying that they plan to use containers in
production in the next 12 months, and cited security as their biggest worry.
According to the survey, just over 60 percent said that security was either a
major or a moderate barrier to adoption.
MORE ON CSO: The things end users do that drive security teams crazy
Containers can be run within virtual machines or on traditional servers. The
idea is somewhat similar to that of a virtual machine itself, except that while
a virtual machine includes a full copy of the operating system, a container does
not, making them faster and easier to load up.
The downside is that containers are less isolated from one another than virtual
machines are. In addition, because containers are an easy way to package and
distribute applications, many are doing just that -- but not all the containers
available on the web can be trusted, and not all libraries and components
included in those containers are patched and up-to-date.
According to a recent Red Hat survey, 67 percent of organizations plan to begin
using containers in production environments over the next two years, but 60
percent said that they were concerned about security issues.
Isolated, but not isolated enough
Although containers are not as completely isolated from one another as virtual
machines, they are more secure than just running applications by themselves.
"Your application is really more secure when it's running inside a Docker
container," said Nathan McCauley, director of security at Docker, which
currently dominates the container market.
MORE ON NETWORK WORLD: 12 Free Cloud Storage options
According to the Cluster HQ survey, 92 percent of organizations are using or
considering Docker containers, followed by LXC at 32 percent and Rocket at 21
percent.
Since the technology was first launched, McCauley said, Docker containers have
had built-in security features such as the ability to limit what an application
can do inside a container. For example, companies can set up read-only
containers.
Containers also use name spaces by default, he said, which prevent applications
from being able to see other containers on the same machine.
"You can't attack something else because you don't even know it exists," he
said. "You can even get a handle on another process on the machine, because you
don't even know it's there."
Resources
White Paper
Buying into Mobile Security
White Paper
How secure is your email? Prevent Phishing & Protect Your Customers Post Data
Breach
See All
However, container isolation doesn't go far enough, said Simon Crosby,
co-founder and CTO at security vendor Bromium.
"Containers do not make a promise of providing resilient, multi-tenant
isolation," he said. "It is possible for malicious code to escape from a
container to attack the operation system or the other containers on the
machine."
If a company isn't looking to get maximum efficiency out of its containers,
however, it can run just one container per virtual machine.
This is the case with Nashua, NH-based Pneuron, which uses containers to
distribute its business application building blocks to customers.
"We wanted to have assigned resourcing in a virtual machine to be usable by a
specific container, rather than having two containers fight for a shared set of
resources," said Tom Fountain, the company's CTO. "We think it's simpler at the
administrative level."
Plus, this gives the application a second layer of security, he said.
"The ability to configure a particular virtual machine will provide a layer of
insulation and security," he said. "Then when we're deployed inside that virtual
machine then there's one layer of security that's put around the container, and
then within our own container we have additional layers of security as well."
But the typical use case is multiple containers inside a single machine,
according to a survey of IT professionals released Wednesday by container
security vendor Twistlock.
Only 15 percent of organizations run one container per virtual machine. The
majority of the respondents, 62 percent, said that their companies run multiple
containers on a single virtual machine, and 28 percent run containers on bare
metal.
And the isolation issue is still not figured out, said Josh Bressers, security
product manager at Red Hat.
"Every container is sharing the same kernel," he said. "So if someone can
leverage a security flaw to get inside the kernel, they can get into all the
other containers running that kernel. But I'm confident we will solve it at some
point."
Bressers recommended that when companies think about container security, they
apply the same principles as they would apply to a naked, non-containerized
application -- not the principles they would apply to a virtual machine.
"Some people think that containers are more secure than they are," he said.
Vulnerable images
McCauley said that Docker is also working to address another security issue
related to containers -- that of untrusted content.
According to BanyanOps, a container technology company currently in private
beta, more than 30 percent of containers distributed in the official
repositories have high priority security vulnerabilities such as Shellshock and
Heartbleed.
Outside the official repositories, that number jumps to about 40 percent.
Of the images created this year and distributed in the official repositories, 74
percent had high or medium priority vulnerabilities.
"In other words, three out of every four images created this year have
vulnerabilities that are relatively easy to exploit with a potentially high
impact," wrote founder Yoshio Turner in the report.
In August, Docker announced the release of the Docker Content Trust, a new
feature in the container engine that makes it possible to verify the publisher
of
"It provides cryptographic guarantees and really leapfrogs all other secure
software distribution mechanisms," Docker's McCauley said. "It provides a solid
basis for the content you pull down, so that you know that it came from the
folks you expect it to come from."
Red Hat, for example, which has its own container repository, signs its
containers, said Red Hat's Bressers.
"We say, this container came from Red Hat, we know what's in it, and it's been
updated appropriately," he said. "People think they can just download random
containers off the Internet and run them. That's not smart. If you're running
untrusted containers, you can get yourself in trouble. And even if it's a
trusted container, make sure you have security updates installed."
According to Docker's McCauley, existing security tools should be able to work
on containers the same way as they do on regular applications, and also
recommended that companies deploy Linux security best practices.
Earlier this year Docker, in partnership with the Center for Information
Security, published a detailed security benchmark best practices document, and a
tool called Docker Bench that checks host machines against these recommendations
and generates a status report.
However, for production deployment, organizations need tools that they can use
that are similar to the management and security tools that already exist for
virtualization, said Eric Chiu, president and co-founder at virtualization
security vendor HyTrust.
"Role-based access controls, audit-quality logging and monitoring, encryption of
data, hardening of the containers -- all these are going to be required," he
said.
In addition, container technology makes it difficult to see what's going on,
experts say, and legacy systems can't cut it.
"Lack of visibility into containers can mean that it is harder to observe and
manage what is happening inside of them," said Loris Degioanni, CEO at Sysdig,
one of the new vendors offering container management tools.
Another new vendor in this space is Twistlock, which came out of stealth mode in
May.
"Once your developers start to run containers, IT and IT security suddenly
becomes blind to a lot of things that happen," said Chenxi Wang, the company's
chief strategy officer.
Say, for example, you want to run anti-virus software. According to Wang, it
won't run inside the container itself, and if it's running outside the
container, on the virtual machine, it can't see into the container.
Twistlock provides tools that can add security at multiple points. It can scan a
company's repository of containers, it can scan containers just as they are
loaded and prevent vulnerable containers from launching.
"For example, if the application inside the container is allowed to run as root,
we can say that it's a violation of policy and stop it from running," she said.
Twistlock can monitor whether a container is communicating with known
command-and-control hosts and either report it, cut off the communication
channel, or shut down the container altogether.
And the company also monitors communications between the container and the
underlying Docker infrastructure, to detect applications that are trying to
issue privileged commands or otherwise tunnel out of the container.
Market outlook
According to IDC analyst Gary Chen, container technology is still new that most
companies are still figuring out what value they offer and how they're going to
use them.
"Today, it's not really a big market," he said. "It's still really early in the
game. Security is something you need once you start to put containers into
operations."
That will change once containers get more widely deployed.
"I wouldn't be surprised if the big guys eventually got into this marketplace,"
he said.
More than 800 million containers have been downloaded so far by tens of
thousands of enterprises, according to Docker.
But it's hard to calculate the dollar value of this market, said Joerg Fritsch,
research director for security and risk management at research firm Gartner.
"Docker has not yet found a way to monetize their software," he said, and there
are very few other vendors offering services in this space. He estimates the
market size to be around $200 million or $300 million, much of it from just a
single services vendor, Odin, formerly the service provider part of
virtualization company Parallels.
With the exception of Odin, most of the vendors in this space, including Docker
itself, are relatively new startups, he said, and there are few commercial
management and security tools available for enterprise customers.
"When you buy from startups you always have this business risk, that a startup
will change its identity on the way," Firtsch said.