Binary Executable CBOM Generation for Cryptographic Primitive Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies struggle to precisely and rapidly identify cryptographic primitives within software packages, which can cause undesired behavior or security weaknesses in computing systems, without access to source code.
Innovation Solution
A machine learning-based approach is employed to analyze software packages, generating a Cryptography Bill of Materials (CBOM) by identifying cryptographic primitives through call site analysis, cross-reference, and similarity checks, and using intermediate representations to extract features for classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional code analysis methods are used to identify cryptographic primitives, then identification accuracy can be achieved, but the analysis speed is slow and source code access is required
Solution Approach 1:
The patent replaces traditional mechanical code analysis methods with machine learning-based automated analysis. The system uses trained models to identify cryptographic primitives directly from binary executables without requiring source code, thereby improving both analysis speed and maintaining identification accuracy through sophisticated pattern recognition algorithms.
Solution Approach 2:
The patent introduces intermediate representations as a mediator between binary code and cryptographic primitive identification. By converting binary executables into intermediate representations and analyzing call graphs, the system enables rapid identification of cryptographic functions without direct source code access, resolving the contradiction between speed and accuracy.
2Measurement precision
If source code access is required for cryptographic primitive identification, then detailed analysis can be performed, but the method becomes less applicable to compiled binaries and deployment scenarios
Solution Approach 1:
The patent inverts the traditional approach by not requiring source code as input. Instead of analyzing source code to identify cryptographic primitives, the system analyzes compiled binary executables directly using machine learning models and call graph analysis, making the method applicable to deployment scenarios while maintaining identification capability.
Solution Approach 2:
The patent creates intermediate representations as copies of the binary executable structure, allowing detailed analysis of cryptographic primitives without needing the original source code. This copying approach enables the system to work with compiled binaries while preserving enough structural information for accurate identification.
3Measurement precision
If comprehensive call site analysis is performed to determine cryptographic algorithm parameters, then parameter identification accuracy improves, but the analysis time increases
Solution Approach 1:
The patent performs preliminary analysis by generating call graphs and identifying potential cryptographic function calls before detailed parameter analysis. This preliminary structuring of the code analysis enables subsequent parameter extraction to be more efficient and targeted, reducing overall analysis time while maintaining accuracy.
Solution Approach 2:
The patent segments the analysis process into distinct phases: binary parsing, call graph generation, cryptographic function identification, and parameter extraction. This segmentation allows each phase to be optimized independently, improving overall efficiency while maintaining comprehensive parameter identification accuracy.
Data Source
AI summary
A software package is received so that functions within the software package that implement or use cryptographic primitives can be identified. Further, a set of calls with each of the identified functions are determined. A call site analysis is performed based on the set of calls to determine cryptographic algorithm parameters. Thereafter, based on the set of calls and the call site analysis, a cryptography bill of materials (CBOM) detailing cryptographic primitives within the software package is generated. This CBOM can be provided to a consuming application or process. Related apparatus, systems, techniques and articles are also described.


