Source Modification Engine for Automated Cyber Hardening

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing compiler-based approaches for modifying source code face challenges such as high development time, maintenance efforts, and the need for extensive development to accommodate various compilers and operating systems, while also being limited by their file-by-file operation, which does not align with system-level cyber hardening requirements.

Innovation Solution

The introduction of a Source Modification Engine (SME) tool that transparently integrates into the build process, allowing for modifications to assembly source files, providing platform and compiler agnosticism, and enabling automated integration to facilitate cyber hardening by inserting control flow integrity checks without altering the software's behavior unless compromised.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If compiler-based approaches are used to transform source code, then code modifications can be performed, but development time and maintenance efforts increase significantly

Engineering Contradiction:
Improvecode modification capabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary tool that sits between the compiler and the source code, automatically generating and applying transformations without requiring direct compiler modification. This intermediary approach enables code modifications while avoiding the time-consuming process of developing and maintaining custom compiler plugins.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by automatically generating transformation code and applying it to source files without requiring manual intervention or deep expertise in compiler internals. The transformations are applied autonomously during the build process.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If compiler-based transforms are applied to accommodate various compilers and operating systems, then system compatibility improves, but development effort increases tremendously

Engineering Contradiction:
Improvesystem compatibilityVSAvoiddevelopment effort
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal transformation framework that works across different compilers and operating systems through a standardized interface. This single framework handles multiple target platforms without requiring separate development efforts for each compiler-OS combination.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses configurable parameters to adapt to different compilers and operating systems without changing the core transformation logic. By modifying parameters rather than code structure, the system achieves broad compatibility with minimal development effort.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If compilers operate on single files, then file-level processing is simple, but system-level cyber hardening requirements cannot be met

Engineering Contradiction:
Improvefile-level processing simplicityVSAvoidsystem-level hardening capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent merges multiple single-file processing operations into a coordinated system-level process. By combining transformations across multiple files and integrating with the build system, the solution achieves system-level cyber hardening while building upon simple file-level processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11983265B2Automated integration of a source modification engine
Publication Date: 2024.05.14 RUNSAFE SECURITY INC
  • US11983265B2 patent drawing
  • US11983265B2 patent drawing
  • US11983265B2 patent drawing

AI summary

Systems and methods of cyber hardening software by modifying one or more assembly source files. In some embodiments, the SME tool transparently and seamlessly integrates into the build process of the assembly source files being modified. For example, upon integration of the disclosed SME tool into the application's development environment, the modifications in the final executable are transparent to the developer and can support other cyber hardening techniques. In some embodiments, the integration of the SME tool into a build can be automated. Simplifying integration, through automated means, can be beneficial for widespread adoption of SME tools in cyberhardening software applications. Automated SME build integrations, e.g., removing manual methods and techniques, can help eliminate human errors and result in faster SME integrations, in comparison to manual integrations of a SME tool.