Secure Module Build System Using Segmented Roots

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemodule building capabilityVSAvoidmalicious command damage
Core Design Contradiction:
Ease of manufactureVSObject-affected harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If proprietary data is accessible during module build process, then module compilation can proceed, but data security is compromised

Engineering Contradiction:
Improvemodule compilation efficiencyVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If all commands in makefile data are executed, then complete build functionality is achieved, but malicious commands cause system damage

Engineering Contradiction:
Improvebuild command functionalityVSAvoidmalicious command output
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

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

Engineering Contradiction:
Improvenetwork securityVSAvoidembedded malicious commands
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10467417B2Automated and secure module building system
Publication Date: 2019.11.05 CONNECTWISE LLC
  • US10467417B2 patent drawing
  • US10467417B2 patent drawing
  • US10467417B2 patent drawing

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.