Secure Your Containers
Maintaining the integrity of cloud containers is critical
- By Ambuj Kumar
- Mar 01, 2020
Development and deployment of container-based
software has become a popular movement in
technology. Docker, and container technology in
general, is redefining cloud computing and offers
significant benefits to developers and companies,
including efficiency, cost savings, consistency, reliability and scalability
for the entire DevOps processes. However, for enterprises
running sensitive applications at scale using Docker, securing and
maintaining the integrity of cloud containers is a critical aspect
of DevOps.
A new approach proving effective is to run the cloud containers
in a trusted environment, also known as a secure enclave, protected
by hardware such as Intel SGX or AMD SEV. The secure
enclave technology removes the risk associated with trusting the
infrastructure or a user. Even if the infrastructure is comprised or
the root user is hacked, the application remains secure.
Here is an illustration to better understand why this is important.
An employee, Bill has decided to roll out a hotel reservation
website using Kubernetes to scale and handle peak loads. Since the
website will also collect guests’ personal information, security is a
prime concern for Bill. Bill reaches out to Lori, the CISO, with a
plan for security that includes database encryption and TLS.
Lori offers the tough question: “What about data in use?”
She knows that even if data is carefully safeguarded while at rest
and when exchanged over secure channels such TLS, data gets
decrypted for use in memory, making software containers a good
attack target for hackers in the cloud.
Bill does his homework and decides that running securitycritical
services in Intel SGX secure enclaves is the only way to
satisfy Lori’s security requirements. However, this also introduces
various challenges to system administrators and developers:
- Since running in Intel SGX involves making OCALLS (a new
set of hardware instructions), instead of standard system calls,
the applications need to be heavily refactored. This is almost
impossible if applications are written in popular programming
languages such as Java or Python.
- Simply running an application (or its sensitive parts) within
an enclave is not entirely sufficient. To fully utilize the security
guarantees of Intel SGX, the user must also verify the integrity
of the application, including whether it is running unmodified
inside a secure enclave. Intel provides a way for users to achieve
this using remote attestation. The remote attestation flow is
complex, depends on the external Intel Attestation Service
(IAS), and requires modifications to the application setup.
- When running applications at scale, it becomes difficult to
track the attestation status of every instance and apply software
patches.
The security guarantees delivered by Intel SGX secure enclaves
are promising, but by themselves introduce a level of cost
and complexity. A new technology called runtime encryption is
proving to be a successful approach to addressing these challenges,
runtime encryption platform, which when combined with Intel
SGX secure enclaves enables containers to be securely executed
inside Intel SGX secure enclaves without the cost and complexity
of using Intel SGX alone.
Runtime encryption’s approach is to decrypt and analyze data
only when it is within a secure enclave protected by hardware
technologies such as Intel SGX or AMD SEV. This new technology
enables software to safely run in a secure enclave, creates keys
to decrypt data, runs the analysis, and encrypts the result.
Other than runtime encryption, there are practically no solutions
available which let organizations run containers in the cloud
securely, while adhering to regulations and privacy. Runtime encryption
can help organizations meet compliance requirements
for regulations such as GDPR, California Consumer Privacy Act,
and other similar regulations.
Runtime encryption also provides fine-grained access controls
for the datasets in use in containers. With this new approach, the
aggregate data is never exposed outside the secure enclave. Private
analytics with runtime encryption are an easy to use, efficient, and
offer a scalable approach which is critical for deploying containers.
Also, with runtime encryption, organizations can monitor the
lifecycle of secure enclaves that run the container applications.
Runtime encryption provides features such remote attestation, geolocation
enforcement, DRM and secret injections. The platform
seamlessly integrates with existing container orchestration technologies,
including Kubernetes, Docker Swarm and OpenShift.
Containerization offers significant advantages to organizations,
but only if they can keep their cloud data safe. Secure enclaves
now combined with runtime encryption technology offer
an effective, easy-to-use and low-cost solution to what was previously
an unaddressed issue of migrating to the cloud.
This article originally appeared in the March 2020 issue of Security Today.