Plugin Sandboxing via Sidecar Containers for Cloud Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for securing third-party plugins in cloud environments are inadequate, as they often rely on techniques like code reviews, code transformation, and sandboxing, which are time-consuming, vulnerable to obfuscation, and have security limitations, failing to effectively protect against malicious actions such as DoS attacks and data theft.

Innovation Solution

Implementing a sidecar container sandbox concept, where untrusted plugins run in a separate container from the guest container, utilizing Linux kernel constructs like Privilege Separation, Namespaces, Capabilities, SecComp, and IPtables to control access and isolate the plugin, ensuring it cannot conduct unauthorized actions on the host or guest.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If third-party plugins are allowed to run on the host system to extend functionality, then system versatility and adaptability are improved, but system security and stability deteriorate due to potential malicious actions

Engineering Contradiction:
Improvesystem extensibilityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system is segmented into isolated container environments. Each plugin runs within its own container with restricted access to host resources, preventing malicious plugins from affecting the host or other plugins. The containerization approach divides the system into secure compartments while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A container runtime acts as an intermediary layer between the host system and third-party plugins. This intermediary enforces security policies, controls resource access, and mediates all interactions between plugins and the host, blocking malicious actions while allowing legitimate operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional sandboxing methods are used to secure plugins, then system security is improved, but system productivity and ease of operation deteriorate due to time-consuming code reviews and transformations

Engineering Contradiction:
Improveplugin securityVSAvoidplugin deployment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Security constraints and resource limits are predefined and configured in the container specifications before plugin execution. The container runtime automatically enforces these pre-configured security policies without requiring real-time code analysis or manual intervention, enabling rapid plugin deployment with built-in security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The container runtime automatically manages security enforcement, resource allocation, and isolation for each plugin without requiring manual code reviews or security transformations. The system self-regulates plugin behavior through automated policy enforcement, eliminating time-consuming manual security verification processes.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If plugins are given full access rights to perform their functions, then plugin functionality and versatility are improved, but system security deteriorates due to potential unauthorized actions on host resources

Engineering Contradiction:
Improveplugin functionalityVSAvoidunauthorized host access
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

Each container is assigned specific local quality attributes including resource limits (CPU, memory), network access policies, and file system permissions tailored to the plugin's functional requirements. Plugins receive precisely the access rights they need for their specific function, with no more privileges than necessary, maintaining both functionality and security.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts access parameters for each plugin based on its functional requirements. Container resource limits, network policies, and permission sets are configured as adjustable parameters that can be optimized for each plugin's specific needs while maintaining security boundaries, allowing full functionality within constrained parameters.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11281767B2Secure system state extraction software extensibility via plugin sandboxing
Publication Date: 2022.03.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11281767B2 patent drawing
  • US11281767B2 patent drawing
  • US11281767B2 patent drawing

AI summary

A sandbox component, operatively coupled to a host and a guest container, the sandbox component securely extends systems data collection software with potentially untrusted third-party code. A secure environment is enabled where plugins will run inside a sidecar container that is separate from a guest container. A container consists of an entire runtime environment: an application, plus its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package. A sidecar service is not necessarily part of the application but is connected to the guest container and follows the parent application. A sidecar is independent from its primary application in terms of runtime environment and programming language. The sidecar plugin will be given a sparse/limited set of privileges required to simply perform its intended function and the Linux kernel constructs will control data access and transfer. The Plugin is essentially considered sandboxed as it runs in a sidecar and is fenced in by a set of kernel constructs.