Trusted Code Groups for Library Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing trust between executing application code and loaded libraries is challenging, especially as applications become more complex and libraries are sourced from untrusted locations, with no effective mechanism to evaluate the trustworthiness of code libraries.
Innovation Solution
Implementing a method that uses Trusted Code Groups (TCGs) and digital signatures to verify the trustworthiness of libraries by comparing the library's TCG ID to an application's authorized list before loading, ensuring only trusted libraries execute within the application's memory boundary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If libraries are loaded from various locations without verification, then the application can access more functionality and resources, but the security and integrity of the application is compromised
Solution Approach 1:
The system performs preliminary verification of library signatures and TCG membership before allowing libraries to be loaded into the application's memory space. The operating system checks the digital signature and TCG ID against the application's authorized list prior to loading, preventing untrusted libraries from being introduced.
Solution Approach 2:
The patent introduces an intermediary verification mechanism between the application and libraries. The operating system acts as a mediator that validates library trustworthiness through signature verification and TCG checking, standing between the application and potentially malicious libraries.
2Reliability
If signature verification is performed on all libraries before loading, then the security of the application is improved, but the loading time and processing overhead increases
Solution Approach 1:
The system performs verification only on critical trust attributes (signature and TCG ID) rather than exhaustive analysis of all library properties. This partial verification approach provides sufficient security while minimizing the time penalty compared to more comprehensive checking.
Data Source
AI summary
Described are techniques and mechanisms for enforcing trust between an application and a library loaded by the application. Very generally stated, the application declares one or more trusted code groups (“TCGs”) of which a library must be a member to be authorized for execution with the application. Libraries that are authorized to assert membership in one or more TCGs include a secure indicator of that membership. As the application executes and attempts to load a library, that libraries membership in a TCG authorized by the application is verified prior to loading the library.


