Aqua Blog

Why Agent vs Agentless is a False Choice

Why Agent vs Agentless is a False Choice

There are important decisions to be made across the entire journey to implementing a cloud native security strategy, from initial visibility to automation of prevention and response.

This blog post will guide you through the implementation decisions across that journey, from initial, frictionless API based visibility to agents with deeper visibility and protection. Every team starts somewhere different, and the key is to steer your own journey based on a conscious decision around risk tolerance.

Getting started on the journey quickly and easily

A common question from teams just getting started with cloud native security is, “does your solution require an agent?” Most practitioners start with agentless implementations of some kind because of the ease of deployment and speed.

For example, in a typical start to a cloud native security journey, practitioners will employ shift-left security testing and preventive controls. Infrastructure as Code scanning is an example of what would happen at this stage, and that can be done through a simple agentless Helm chart installation and binary download.

Below are a few other examples of quick, easy ways to start with an agentless implementation:

Agentless Approach Purpose
Kubernetes admission controller The native system using and enforcing the response from a remote Policy Decision Point
Downloading Kubernetes manifests
(YAML files)
Useful for scanning images in a registry or repo in a Kubernetes environment
Download a binary or install as a Helm chart IaC template scanning
Connect to the serverless app via API Function scanning via the cloud account or CI/CD pipeline
Cloud service account APIs Cloud service account misconfiguration scanning
Cloud workload scanning via cloud service APIs Gain a quick view of risks in running cloud workloads

Understanding the tradeoffs between security and ease of implementation

But the journey is not ‘one-size-fits-all.’ Every team has a different set of applications with different sensitivity and security implications. For example, business-critical applications that handle sensitive data governed by compliance regulations like HIPAA or PCI-DSS have more stringent security requirements. In general, as the strength of security controls increases, so does the overall involvement of the implementation method.

Optimizing for speed and protection across workloads

And of course there is a wide range of variation across visibility and active response. For example, not all types of visibility are the same. Deeper levels – such as kernel-level visibility using eBPF – require a greater level of effort to implement. And some response methods are less intrusive, like a Kubernetes admission controller that acts before a workload is run.

Ignoring the tradeoff between security capabilities and ease of deployment has consequences

Where practitioners get in trouble is when they make their decisions around security controls based on implementation method versus security requirements. Most typically, practitioners make the mistake of using only light, agentless visibility for applications that handle sensitive data because they can get up and running quickly. Less common, but still a similar issue, is when practitioners use implementation methods that are not justified by the security risk of the application. Some applications simply don’t perform critical functions, so there is no need for a team to spend time and effort on heavier implementation. These teams run the risk of wasting precious resources. Business critical applications could also have both in-depth, active controls as well as passive, agentless visibility.

In any case, it is helpful to have a view of both from the same platform for consistency and noise reduction.

Agent vs agentless in cloud native

In cloud native, agent-based protection can provide the active protection required for business critical applications. But it is important to consider that, in the context of cloud native, the term “agent” is a bit of a misnomer.

Historically, “agents” have been used with Host Intrusion Protection Systems (HIPS), Endpoint Protection Platforms (EPP), Endpoint Detection and Response (EDR) solutions, and more. In these traditional solutions, agents are installed on the endpoint and alter the configuration of the operating systems. In cloud native none of the active control options – or agents – alter the configuration of the operating system:

Instrumentation methods in cloud native Purpose
Sidecar container For securing an environment like Fargate, where host access is limited
Code snippets deployed as a Lambda layer For securing running functions
Containers For deep runtime capabilities (like blocking executables) for containerized environments
eBPF program Deep kernel-level visibility into Linux runtime events
Kernel module Extends kernel functionality at runtime

Tradeoffs between agent and agentless protection

Ideally, teams can make an informed decision about what kind of implementation they would prefer based on risk rolerance and full visibility into the trade-offs. Below is a summary of the tradeoffs between cloud native agent-based and agentless implementations to help you determine the most adequate implementation for your own level of risk tolerance in any application:

Agent-based CWPP Implementation Agentless CWPP Implementation
Real-time enforcement in runtime. This includes automating preventive or corrective controls based on contextual datapoints. Visibility with no option for response. For example: it is possible to detect an exceeded CPU limit, but not possible to stop a workload from running or to prevent a malicious payload from executing in production based on this information.
Deep, real-time visibility at the kernel level (with eBPF) or compute side. Limited visibility with lower data resolution. There is no visibility into the compute side (e.g., memory and CPU usage), no application context in Kubernetes, and no visibility into Container-as-a-Service (CaaS) deployments.
Deployment flexibility across hybrid environments. Agents can be deployed in public and private cloud environments and for on-premises workloads. Reliance on public cloud environments. There is no way to get visibility into on-prem workloads, making visibility across hybrid environments impossible.

How Aqua can help

Aqua recently announced new, frictionless Cloud Workload Scanning and Cloud Security Insights to give organizations a quick view of their top cloud security risks. These capabilities combined in the Aqua Platform mean that time-strapped security teams can get visibility into top cloud workload risk within minutes as well as the ability to do something about it. For any tech stack that includes even one business critical application, the Aqua Platform gives teams the option to optimize their efforts across frictionless visibility, active prevention in shift-left as well as response in runtime. The Aqua Platform is a CNAPP, as the term has been coined by Gartner, helping time-strapped Security, IT and DevOps teams reduce noise across multiple vendors and achieve defense in depth across the full application lifecycle.

Conclusion

Agentless solutions provide quick visibility, shift-left capabilities, and some visibility for cloud workloads. This may be adequate for non-business-critical applications, in which you don’t want to expend the effort and resources to deploy agents. Agent-based cloud native security solutions provide deeper, real-time visibility and rapid runtime response. This is perfect for business-critical applications that need deep levels of visibility and strong prevention and response capabilities.

In a recent practitioner interview, a VP of Cloud Architecture, Cybersecurity & Risk Management at a Fortune 500 risk assessment firm put it succinctly:

“You will always need both agents and agentless, they both have their areas where they can work really well.”

twitter_link_icon Share on Twitter

Sounds like a win-win.

Learn more about Aqua’s recent Cloud Workload Scanning capabilities.

Story Tweedie-Yates
Story was the VP of Product Marketing at Aqua Security, where she was passionate about helping to define the future of cloud native security. In her time off, you will find her scooting her twins around Montreal’s parks or exploring underwater treasures with a scuba mask alongside her husband.