Upwind raises $250M Series B to secure the cloud for the world →
Get a Demo

We’ve talked about container runtime security, but not all runtime security involves containers. In this article, we’re broadly exploring runtime security on its own, asking questions like: Is it effective in hybrid and multi-cloud environments? How can you integrate it into your larger security stack? Is it possible to get more out of runtime security while reducing alert fatigue?

What is Runtime Security?

First, the basics: runtime security defends against and responds to active threats during production. Runtime security can include any practice that focuses on protecting applications, systems, and workloads while they are actively running in production. For cloud-native applications, that includes monitoring in three key areas:

1. Unexpected behavior (like unusual processes or system calls)

Detecting anomalies: Identifying unexpected behavior, like unauthorized processes or suspicious system calls, within live containers for better runtime security
Detecting anomalies: Identifying unexpected behavior, like unauthorized processes or suspicious system calls, within live containers.

2. Policy violations, from network traffic to unauthorized destinations

Enforcing policies: Blocking unauthorized network traffic to unapproved destinations in real time as part of runtime security
Enforcing policies: Blocking unauthorized network traffic to unapproved destinations in real time.

3. Threats, like malware, privilege escalation, or data exfiltration

Stopping threats: Detecting and neutralizing malware, privilege escalation attempts, and data exfiltration in live environments to improve runtime security
Stopping threats: Detecting and neutralizing malware, privilege escalation attempts, and data exfiltration in live environments.

Runtime and Container Scanning with Upwind

Upwind offers runtime security features so you get real-time threat detection, contextualized analysis, remediation, and root cause analysis that’s 10X faster than traditional methods.

Get a Demo

Shifting to Runtime to Protect Workloads in the Cloud

Pre-cloud security

The emergence of runtime security reflects the evolution of computing environments from legacy, on-premises infrastructure to the cloud.

In the pre-cloud era, perimeter security reigned. Like the moat of a castle, it set up definitive borders around what was, at the time, a fortress of infrastructure and workloads, all situated within an organization. Workers never logged in from home, never collaborated on documents from coffee shop WiFi, and they printed sensitive data on office equipment. In that world, security primarily focused on the network perimeter, with firewalls, intrusion detection systems (IDS), and endpoint protections guarding against external threats. 

“Getting in” was the core concern in perimeter security, since those on the inside were inherently trusted. Further, applications and systems were static, with fixed IPs. Threats were less dynamic, and securing pre-production systems was often sufficient.

This ecosystem prompted security measures that forced developers to “shift left” — finding and fixing vulnerabilities earlier in the development cycle to reduce risk and cost.

The Rise of Cloud

Containers, microservices, and cloud computing shifted this security focus. 

Static tools couldn’t account for runtime behaviors as workloads behaved unpredictably, or when threats emerged from live configurations or external dependencies. There were also unforeseen risks, like runtime misconfigurations, insider attacks, and zero-day vulnerabilities that only became apparent when apps were running.

In short, runtime security has become a necessity for tackling issues like:

Runtime Versus Similar Approaches

So what were organizations to do to secure their expanding cloud architectures? Focusing solely on runtime wasn’t the only approach.

Today, the security landscape includes multiple security tactics with overlapping goals but different methods and timing. Let’s break them the concepts most adjacent to “runtime security” as they enter the conversation, adding both alternative and complementary approaches to an emerging cloud security toolkit.

Runtime SecurityObservability and MonitoringApplication Security (AppSec)
DefinitionProtects live workloads by detecting and mitigating threats during production.Tracks and logs system behaviors to ensure performance and health.Secures application code and logic during development and runtime.
#1 GoalThreat detection and response in real-time.Understanding system performance and diagnosing issues.Preventing security flaws in application code.
Core ActivitiesMonitors runtime behaviors, enforces policies & mitigates threats dynamically.Provides dashboards, logs, and metrics for visibilityVulnerability scanning, patching, and secure coding
Phase of ProductionActive production environments.Both development and production stages.Development and deployment stages.
Issues AddressedMalware, privilege escalation, container escapes, etc.Latency, resource usage, and service failures.Injection flaws, broken authentication, and data exposure.
LimitationsNeeds integration into DevSecOps workflows; doesn’t prevent vulnerabilities pre-runtime.Doesn’t enforce security; only informs visibility.Misses threats introduced post-deployment.
ExamplesOpen-source tools like Falco and runtime-powered CNAPPs like Upwind.Open-source Prometheus or Grafana for logs and metrics.Static analysis tools, web application firewalls (WAFs), and static application security testing (SAST).

The table makes these categories discrete, but in the real world, they each form part of a continuous feedback cycle. For instance, runtime isn’t only about detecting threats “right now” — it also often informs shift-left practices and observability systems. Its findings might also prompt improved AppSec measures. 

So why choose one over the other? It’s organizational priorities that steer teams to a specific approach. 

Despite their distinct purposes, overlaps exist in data dependencies and shared use cases:

Runtime Security + Observability: Runtime tools often use observability data (e.g., logs, and metrics) to detect and respond to threats dynamically. Observability, in turn, benefits from runtime monitoring by providing security-contextual data.

Here’s a scenario: A Kubernetes cluster experiences a sudden increase in CPU usage and network activity in one of its pods. With an open-source observability tool like Prometheus, teams see the CPU spike, unusual outbound traffic, and a process running outside the expected workload. Runtime security reveals the unusual process, unauthorized access, and traffic sent to an IP associated with cryptojacking. 

Ultimately, both tools help classify findings as a security incident and contribute insight to formulate a solution (e.g., isolating the container, blocking the IP).

AppSec + Runtime Security: While AppSec prevents vulnerabilities in code, runtime tools catch issues introduced post-deployment or from external threats.

Imagine a team building a web application using AppSec tools and using runtime security to monitor the application during production. In the AppSec phase, dependency scanning identifies out-of-date libraries, so developers update a third-party package.

After deployment, runtime monitoring detects an unusual behavior: a containerized instance connects to an unknown IP. Analysis shows a zero-day vulnerability in a third-party library. AppSec didn’t catch the exploit because it was unknown at deployment time.

Post-incident, the team can review runtime policies and implement stricter network traffic rules for outbound connections.

With its “always on” protection, runtime security is both the core and the last line of defense for cloud architectures. Without it, the gaps left by AppSec and observability approaches widen, leaving critical workloads vulnerable. But what about multi-cloud? Hybrid? 

Runtime Security in Complex Architectures

Runtime security is particularly effective in multi-cloud and hybrid environments, though it’s not limited to these setups. Its unique strengths make it ideal for such architectures, though it also adds significant value in single-cloud or fully cloud-native deployments. Here’s why:

  1. Unified visibility

Multi-cloud and hybrid setups involve fragmented infrastructure, with different cloud providers or on-premise systems operating in silos. Runtime security provides a centralized layer of monitoring that cuts across these environments for consistent visibility into workloads, regardless of location.

  1. Policy standardization across environments

Each cloud provider has its own tools for access control, configuration management, and monitoring, but their implementations differ (e.g., IAM on AWS vs. GCP). Runtime security tools standardize policy enforcement and detection, reducing misconfigurations and ensuring no environment is under-protected.

  1. Cross-boundary threat protection

Multi-cloud and hybrid setups introduce gaps between environments that attackers exploit, such as during migrations or data exchanges. Runtime security monitors and mitigates threats as they move between these environments, reducing blind spots.

Getting the Most from Runtime

The drawbacks of runtime security mirror advantages: after all, the approach’s ability to span cloud environments also means complex integration, and not every runtime security tool supports every cloud environment and system equally. Aim for tools that cover your infrastructure, including what’s on-prem.

Resource overhead is another potential drawback to runtime security, as real-time monitoring of live workloads necessitates resource consumption. Managing runtime security across environments can require additional staff and expertise. And balancing monitoring with minimal performance degradation, especially in hybrid environments, can be an effort. Opt for lightweight tools like eBPF for monitoring.

Runtime security is increasingly indispensable. The challenge is prioritizing the firehose of risks that some tools identify, a neverending to-do list with little attention to priorities, or static rules that lead to less effective prioritization.

Here are the considerations that can make a difference:

Upwind Delivers Real-Time Protection

With unified runtime protection across multi-cloud and hybrid environments and unparalleled visibility into active workloads, adaptive threat detection, and automated response, Upwind keeps critical systems secure and resilient.

Want to see why we focus on runtime? Get a demo today.

FAQ

What is Kubernetes Runtime Security?

Kubernetes runtime security is the practice of protecting Kubernetes workloads, clusters, and nodes while they are actively running, focusing on detecting and responding to threats in real time. It includes:

Kubernetes security is about the entirety of Kubernetes security, including at runtime and with attention to the specificities of Kubernetes workloads and infrastructure.

What is the benefit of network runtime security?

Network runtime security provides real-time protection by monitoring and controlling network traffic within live environments, detecting threats like:

Network runtime security aims to secure communication between workloads. It can also enforce policies dynamically, mitigating risks that static or pre-deployment security can’t.

What is runtime vulnerability? 

A runtime vulnerability is a security weakness that emerges dynamically when an application, container, or system is actively running in production. They’re often due to misconfigurations, new exploits, or unanticipated behaviors. Examples include:

Runtime vulnerabilities can lead to data breaches, privilege escalations, and compromised workloads, suggesting a need for continuous monitoring and adaptive security measures in production environments.

What’s an example of a runtime exception?

A runtime exception disrupts normal operation as a program encounters an unexpected problem while it executes. It is typically caused by logical errors or unforeseen conditions that the program doesn’t know how to handle. For instance, in the NullPointerException, an application expects to display a user’s name, but instead of receiving a name, it receives nothing. That null value leads to the program being unable to process the request.

Runtime exceptions point to issues needing better input validation or additional logic. 

It’s a software problem that stops applications at runtime, but it doesn’t signal a security concern per se. 

Unhandled runtime exceptions can lead to security vulnerabilities if they expose sensitive information or cause systems to crash, making them susceptible to attacks like denial of service. Runtime security can help by detecting abnormal behaviors or failures, including abnormal crashes, that may indicate an exploitation attempt.