Dynamic Control Flow Integrity via Line-of-Code Models
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software analysis and security techniques for vehicle and IoT systems lack effective methods to determine functional changes caused by code updates, ensure functional consistency, and prevent the installation of disruptive or malicious software updates, leading to resource-intensive and potentially dangerous processes.
Innovation Solution
The use of line-of-code behavior and relation models for generating and signing executable code, enabling rapid assessment of software changes, identifying interdependencies, verifying update integrity, and providing dynamic control flow integrity, while allowing for visualization of functional changes and impacts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional software analysis techniques are used to verify software changes, then comprehensive security checks can be performed, but the process becomes resource-intensive and time-consuming
Solution Approach 1:
The patent segments the software verification process by creating hierarchical models (system-level, component-level, and line-of-code models) that divide the analysis into manageable portions. This allows verification to be performed at appropriate granularities, reducing overall resource consumption while maintaining comprehensive security checks through the layered approach.
Solution Approach 2:
The patent performs preliminary actions by generating and signing line-of-code behavior models before actual software deployment or update installation. These pre-verified models enable rapid validation during runtime without requiring resource-intensive re-analysis, thus reducing verification time while maintaining security reliability.
2Reliability
If comprehensive functional analysis is performed on software changes, then functional consistency can be ensured, but the complexity of the analysis process increases
Solution Approach 1:
The patent segments functional analysis into hierarchical levels (system functions, component functions, and line-of-code behavior). This segmentation allows comprehensive functional consistency verification while managing complexity through structured, modular analysis at each level, where each model focuses on specific functional aspects rather than analyzing the entire system monolithically.
Solution Approach 2:
The patent introduces line-of-code behavior models as intermediary representations that mediate between source code and high-level functional specifications. These models serve as intermediaries that capture functional behavior in a standardized format, enabling automated consistency verification without requiring direct complex analysis between disparate code sources and requirements.
3Measurement precision
If detailed line-of-code analysis is performed to identify functional changes, then precise impact assessment is achieved, but the resource consumption increases significantly
Solution Approach 1:
The patent segments detailed analysis into targeted line-of-code models that focus only on modified or affected code sections rather than analyzing the entire codebase. This segmentation enables precise functional impact assessment by concentrating computational resources on relevant code portions, thereby reducing overall resource consumption while maintaining measurement precision for changed functionality.
Solution Approach 2:
The patent applies partial action by performing detailed line-of-code analysis only where necessary (in modified code sections and their dependent paths) rather than uniformly across the entire software system. This selective approach achieves sufficient measurement precision for impact assessment while avoiding excessive resource consumption on unchanged code portions.
4Reliability
If dynamic control flow integrity checking is implemented, then real-time security monitoring is achieved, but the processing overhead increases
Solution Approach 1:
The patent performs preliminary actions by pre-computing and signing line-of-code behavior models that encode expected control flow characteristics. During runtime, these pre-computed models enable rapid control flow integrity verification through simple comparison operations, achieving real-time security monitoring with minimal processing overhead compared to performing full dynamic analysis during execution.
Solution Approach 2:
The patent creates simplified copies of control flow behavior in the form of signed behavioral models that represent expected execution paths. These copied representations allow fast runtime verification through model matching without requiring the full complexity of original control flow analysis, thus reducing processing overhead while maintaining real-time monitoring capability.
Data Source
AI summary
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.


