Key takeaways
Many organizations today develop, build, and deploy cloud-native applications that use the infrastructure and services offered by cloud computing providers like Amazon Web Services (AWS), Azure, or Google Cloud Platform (GCP). This trend highlights a critical consideration for organizations that care about securing the applications, infrastructure, and data they house in cloud-native systems.
In this article, we will explain cloud-native security, its importance, the core principles of the 4Cs and 3Rs of cloud-native security, and cloud-native security strategies.
Cloud native security is the integration of security strategies into applications and systems designed to be deployed to and run on cloud environments. Rather than retroactively adding security measures to existing applications, cloud-native security focuses on securing the cloud infrastructure and applications from the beginning of the development lifecycle.
This involves adding necessary security measures to every phase of the cloud-native application development, deployment, and operation. These security measures are also incorporated at every cloud layer, including the infrastructure planning, coding, testing, deployment, and maintenance phases.
Cloud-native security incorporates security into your organization’s overall cloud-native application development process. This includes using a wide range of security tools and technologies and implementing practices with preventive measures to defend the systems against cyberattacks. It also involves using reactive measures that allow quick resolutions during security incidents. This provides a strong foundation for developing and deploying cloud-native applications.
Common approaches to cloud-native security include:
Any security loophole can impact your cloud operations and potentially have widespread ramifications across your organization. Take the 2022 attack on CircleCI, a popular CI/CD platform. Hackers gained access through a compromised engineer's laptop, targeting environment variables and secrets stored in the build pipelines. The incident lasted for two weeks and led to the theft of environment variables, tokens, and keys belonging to different third-party systems.
In 2023, Microsoft disclosed a breach where Chinese hackers exploited a token validation issue in their Azure Active Directory, giving unauthorized access to multiple U.S. government email accounts. This breach was not discovered until a month after it first occurred.
These incidents underscore a crucial reality: vulnerabilities in cloud-native systems can lead to catastrophic fallouts.
There are many ways by which cloud-native environments can be compromised. Some of the more common attack vectors include:
In cloud-native applications, you can consider security in layers, typically known as the 4Cs of cloud native security:
A set of principles should govern each layer to drive the development of secure, scalable, and resilient applications and services in cloud environments. That means each layer depends upon the next outermost layer. Consequently, your Code, which is the innermost layer, benefits from having strong and secure Cloud, Cluster, and Container layers.
Let’s break down each of these layers.
The cloud layer is the infrastructure that hosts and executes your applications in the cloud environment. Several common security issues are associated with this layer, including:
To achieve cloud security, you have a shared responsibility, along with the Cloud Service Provider (CSP), to secure the cloud infrastructure. Often known as the shared responsibility model, it involves securing configurations, overseeing data security, and many other tasks.
Follow these best practices to move closer to cloud security:
The container layer consists of resources in a containerized application, such as container images. These are common security issues associated with the container layer:
To achieve container security, you should:
A cloud-native application is often a containerized application with a container cluster. This layer is typically a Kubernetes cluster that contains cluster components and applications. Therefore, in this layer, organizations should focus on the security of components and applications, including in these ways:
One of the most important components of this layer is the Kubernetes API. To authorize the Kubernetes API, use role-based access control (RBAC) rules.
(Learn how to set up basic, vanilla Kubernetes.)
The code layer, being the innermost layer, benefits from secure cloud, cluster, and container layers. Also known as the application layer, it focuses on secure coding strategies. Common security issues associated with coding in cloud-native applications include:
These robust strategies will help secure your application code:
The 3 Rs of cloud-native security — rotate, repair, and repave — are the core principles for securing cloud-native infrastructure and applications. The core security strategy behind these principles is embracing changes as fast as possible to minimize the time left open for attacks and attackers.
Cloud-native applications use different credentials, such as:
To maximize security, do not keep the same credentials for long. Instead, rotate or change them frequently. You may change them every few minutes or even hourly. This rotation makes it difficult for attackers to leak them, as one credential is kept for only a short period.
Typically, software releases and updates include security patches to repair security vulnerabilities. Apply software patches as soon as they are released to keep your systems and applications up to date.
If you need to rebuild the cloud servers and applications, use a known secure state to rebuild them. Also, repair the entire software stack by revamping it from a verified secure state without patching.
Overall, organizations can adopt several security strategies to improve the safety of their cloud-native applications and services. The most common strategies are as follows:
This includes implementing IAM policies and authorization mechanisms to limit access to only the required cloud resources. IAM controls help ensure that only authorized users can access the Oimos resources. AWS IAM Access Analyzer and Google Cloud IAM Recommender are great examples of IAM tools.
Take advantage of cloud-native security tools that enable you to:
Protect sensitive information from unauthorized access by encrypting data at rest and in transit. All data stored in databases should be encrypted and stored in object storage and server volumes. Encryption should also be done on data transmitted between the cloud and other systems.
You can encrypt your systems with Key Management Services (KMS) from your Content Security Policy (CSP). Also, consider homomorphic encryption to create secure computations on encrypted data.
(Explore encryption strategies and learn about a new option, homomorphic encryption.)
Integrate and test security controls from the beginning of the software development lifecycle rather than in a single phase and production environment. This approach enables developers to identify the effects of the security strategies and vulnerabilities beforehand, offering plenty of time to fix them.
Some of the ways organizations can incorporate the shift-left approach include:
The zero-trust approach states that you should assume all network traffic is potentially malicious. Therefore, you should implement security controls to confirm identity and access rights before granting access to your resources. Istio, Linkerd, and SPIRE are great tools for implementing the zero-trust approach.
Containers and container orchestration technologies like Kubernetes are increasingly used to deploy cloud-native applications and services. Implementing security controls to protect these environments from cyber threats is crucial.
In this strategy, the security team must monitor every network layer to detect any threats and provide remediation as soon as possible. This includes:
Security is an ever-changing landscape, so stay updated with additional resources. Read expert-recommended security articles and books, understand emerging threats, attend in-person and online security events, and build resilience into everything across the enterprise.
With the emergence of AI, many tools now exist that leverage machine learning in securing systems. Darktrace and Vectra AI are prime examples of software that use ML to detect anomalies in network traffic. AWS GuardDuty also uses ML to detect account compromise and unusual API calls. GitHub’s Copilot for Security helps developers write safer code with AI-assisted code suggestions.
Cloud-native security incorporates security strategies, applications, and underlying infrastructure, focusing on security at all cloud layers. To achieve cloud-native security, you should implement reactive and proactive security approaches. Three basic principles lie behind this: rotate, repair, and repave. Following various security strategies, you can maximize your cloud-native security according to your organization’s requirements.
See an error or have a suggestion? Please let us know by emailing splunkblogs@cisco.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The world’s leading organizations rely on Splunk, a Cisco company, to continuously strengthen digital resilience with our unified security and observability platform, powered by industry-leading AI.
Our customers trust Splunk’s award-winning security and observability solutions to secure and improve the reliability of their complex digital environments, at any scale.