Source Modification Engine for Automated Cyber Hardening
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Ease of operation
If compilers operate on single files, then file-level processing is simple, but system-level cyber hardening requirements cannot be met
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.
Data Source
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.


