Secure Module Build System Using Segmented Roots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems are vulnerable to malicious attacks during the module build process, where malicious commands embedded in makefile data can cause damage or theft of proprietary data, as they are executed within the module build center, despite security measures like firewalls.
Innovation Solution
A secure module build system is implemented using a coordination server and a build server with a secure and public root, where a module build agent retrieves configuration and makefile data, extracts whitelist commands, generates named object files, and links them to create modules, thereby preventing malicious commands from accessing proprietary data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If makefile data is executed within the module build center, then module building functionality is achieved, but malicious commands can cause damage or theft of proprietary data
Solution Approach 1:
The build server is divided into two isolated environments: a public root for receiving and validating makefile data, and a secure root for executing only approved commands. This segmentation prevents malicious commands from accessing proprietary data while maintaining module building capability.
Solution Approach 2:
A coordination server acts as an intermediary between the consumer computing system and the build server. It validates makefile data before transmission and coordinates the build process, filtering out malicious commands before they reach the execution environment.
Solution Approach 3:
The system performs preliminary validation and filtering of makefile data in the public root before execution. Whitelist commands are pre-approved and stored, and only these commands are permitted to execute in the secure root, preventing malicious commands from causing harm.
2Productivity
If proprietary data is accessible during module build process, then module compilation can proceed, but data security is compromised
Solution Approach 1:
Proprietary source files are stored exclusively in the secure root, isolated from the public root where makefile data is processed. This segmentation ensures data security while maintaining compilation efficiency, as the secure environment has direct access to necessary files without exposure to malicious commands.
Solution Approach 2:
Different regions of the build server have different security properties: the public root allows open access for receiving makefile data, while the secure root enforces strict access controls. This local quality differentiation enables both productivity and security to coexist.
3Adaptability or versatility
If all commands in makefile data are executed, then complete build functionality is achieved, but malicious commands cause system damage
Solution Approach 1:
The system extracts only the whitelist commands from the makefile data for execution in the secure root. By taking out and isolating only the approved commands, the system maintains necessary build functionality while eliminating malicious commands that could cause harm.
Solution Approach 2:
The presence of malicious commands in makefile data is converted into a benefit by using them as input for the filtering mechanism. The system processes all commands but only executes approved ones, transforming the potential harm into an opportunity to demonstrate and enforce security validation.
4Reliability
If firewalls are used to protect the module build center, then network security is improved, but malicious commands embedded in data can still execute
Solution Approach 1:
The coordination server serves as an intermediary that performs deep inspection and validation of makefile data before it reaches the build server. This intermediary layer provides security beyond traditional firewalls by filtering malicious commands embedded within data payloads.
Solution Approach 2:
Security validation is performed preliminarily in the public root before commands are executed in the secure root. This preliminary action of filtering and approving commands prevents malicious code from ever reaching the execution environment, complementing network-level firewall protection.
Data Source
AI summary
An apparatus for securely building a module for a consumer computing system, including a coordination server and a build server. The coordination server transmits an agent, where the agent executes on the consumer computing system, retrieves configuration and makefile data, and transmits the data back to the coordination server. The build server corresponds to the configuration data. The build server builds the module based on commands within the makefile data, where the build server extracts whitelist commands from the makefile data within a public root of the build server, executes the whitelist commands within a secure root of the build server to generate named object files from proprietary source files, transfers the named object files to the public root, renames the object files into renamed object files according to the whitelist commands, and links the renamed object files to generate the module.


