Mock Execution Environment for Secure Cross-Platform Software Building

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the Open Source software community, collaborative projects face security risks due to developers having high privilege access, allowing them to potentially attack systems and introduce malicious code, and secure operating systems like SELinux are inflexible for cross-platform development, breaking builds when used in different environments.

Innovation Solution

A mock execution environment is created using a mock tool that isolates software development processes, simulating the disabling of incompatible operating system features, allowing secure cross-platform development while maintaining system security by using a chroot environment and SELinux policies to restrict access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If developers are given high privilege access to collaborative computing systems, then they can build software packages, but they can also attack the systems and introduce malicious code

Engineering Contradiction:
Improvesoftware package building capabilityVSAvoidsystem security risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system divides the computing environment into isolated chroot containers, each with restricted access to specific files and resources. Developers work in sandboxed environments that prevent them from accessing or attacking the host system, while still providing full software package building capabilities within their isolated context.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary build system that acts as a mediator between developers and the collaborative computing system. The build system manages chroot environments and controls access, allowing developers to build packages without directly accessing privileged system resources, thus preventing malicious attacks while maintaining operational capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If secure operating systems like SELinux are enabled, then system security is improved, but cross-platform development breaks due to policy incompatibility

Engineering Contradiction:
Improvesystem securityVSAvoidcross-platform development capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies different SELinux policy configurations to different chroot environments based on their specific platform requirements. Each development environment can have customized security policies tailored to its target platform, allowing cross-platform development while maintaining security through locally optimized policy settings rather than a one-size-fits-all approach.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts SELinux policy parameters for each chroot environment based on the target platform being developed for. By changing security policy parameters to match the requirements of different operating systems and platforms, the system enables cross-platform development while maintaining appropriate security controls for each environment.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8615737B2Systems and methods for building software packages in secure development environments
Publication Date: 2013.12.24 RED HAT INC
  • US8615737B2 patent drawing
  • US8615737B2 patent drawing
  • US8615737B2 patent drawing

AI summary

The mock tool can be configured to create a mock execution environment for building software packages. The mock execution environment is isolated from resources of the computing system supporting the mock execution environment and other mock execution environments. Further, the mock execution environment can be created to simulate disabling on any features of the operating system supporting the mock execution environment that could cause problems in the building the software packages.