Secure Module Build System Using Whitelist Command Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing module build systems are vulnerable to malicious attacks, where malicious commands embedded in makefile data can cause damage or theft of proprietary data during the module building process, as they are not adequately protected from unauthorized access and tampering.

Innovation Solution

A secure module build system is implemented, featuring a coordination server and a build server with a secure root and public root, where only whitelist commands from the makefile data are executed to generate and link object files, preventing malicious commands from accessing proprietary data, and ensuring the integrity of the module building process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If makefile data is executed to build modules, then module building functionality is enabled, but malicious commands in makefile data can cause damage or theft of proprietary data

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

Solution Approach 1:

The build server is divided into two isolated environments: a public root environment for receiving and validating makefile data, and a secure root environment for executing build commands. This segmentation prevents malicious commands from accessing proprietary data while still enabling module building functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordination server acts as an intermediary between the client and build server, validating makefile data before it reaches the build server. Additionally, the public root serves as an intermediary layer that filters and sanitizes makefile commands before they are executed in the secure root environment, preventing malicious command execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If proprietary data is accessible during module building, then module compilation can proceed, but proprietary data is vulnerable to theft or damage

Engineering Contradiction:
Improvemodule compilation efficiencyVSAvoidproprietary data protection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The build server is segmented into a public root and a secure root environment. Proprietary data is stored exclusively in the secure root environment, which is isolated from direct access by makefile commands. The public root environment can request and receive only the specific data needed for compilation, maintaining productivity while ensuring proprietary data protection through enforced access boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the build server have different access permissions and security characteristics. The secure root environment has restricted access to proprietary data, while the public root environment has access to validation and coordination functions. This local quality differentiation allows compilation to proceed efficiently in the public root while proprietary data remains protected in the secure root.

Inventive Principle:
Principle #3Local quality

3Reliability

If makefile data is validated and filtered, then malicious commands are prevented, but system complexity increases

Engineering Contradiction:
Improvemalicious command preventionVSAvoidbuild system architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The coordination server serves as an intermediary that centralizes the validation and filtering logic for makefile data. By concentrating security functions in a dedicated coordination server rather than distributing them across multiple components, the system achieves reliable malicious command prevention while managing complexity through clear separation of concerns between coordination and build execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10467404B2Apparatus and method for secure module build
Publication Date: 2019.11.05 CONNECTWISE LLC
  • US10467404B2 patent drawing
  • US10467404B2 patent drawing
  • US10467404B2 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 receives configuration and makefile data associated with the consumer computing system, places the data in a queue, and provides the module to the consumer computing system. The build server corresponds to the configuration data. The build server receives the data from the queue, and 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.