Binary Stack Cookie Detection via Static Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users of software components without access to source code face challenges in verifying the implementation of stack cookie protection, as metadata reliability is questionable and may be misleading, making it difficult to ensure security against buffer overflow attacks.
Innovation Solution
A binary static analysis method is employed to detect the presence of stack cookie protection in binary software components by examining compiled code structures, identifying functions that utilize stack cookie handling instructions, and generating a security report without requiring source code access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If metadata is used to indicate stack cookie protection, then ease of operation is improved, but reliability deteriorates because metadata can be misleading and unreliable
Solution Approach 1:
The patent introduces binary static analysis as an intermediary verification mechanism between the software component and the user. Instead of relying directly on potentially misleading metadata, the system performs independent analysis of the binary code structure to detect stack cookie protection, thereby mediating the trust relationship and providing reliable verification without requiring source code access
Solution Approach 2:
The patent replaces the mechanical/traditional verification approach (requiring source code inspection) with a computational approach (binary static analysis). This substitution allows verification to be performed automatically on compiled binaries, eliminating the need for users to manually examine source code while providing reliable detection of security features
2Measurement precision
If source code access is required for verification, then measurement precision is improved, but device complexity increases and ease of operation deteriorates
Solution Approach 1:
The patent extracts the essential verification capability from the source code requirement. By analyzing binary code structures, the system extracts sufficient information to verify stack cookie protection without needing access to the original source code. This extraction maintains verification accuracy while significantly reducing the complexity and accessibility requirements
Solution Approach 2:
The patent creates a copy of the verification process that operates on binary code instead of source code. The binary static analysis tool creates a simplified representation of the code structure that contains all necessary information for verification, eliminating the need for users to handle or analyze the actual source code while maintaining measurement precision
Data Source
AI summary
A computer includes a memory and a processor programmed to execute instructions stored in the memory. The instructions include identifying a function in a binary file, assigning one of a plurality of classifications to the function, and determining that the function requires stack cookie protection based at least in part on the classification assigned to the function.


