Dynamic Control Flow Integrity via Line-of-Code Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesoftware security verificationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive functional analysis is performed on software changes, then functional consistency can be ensured, but the complexity of the analysis process increases

Engineering Contradiction:
Improvefunctional consistencyVSAvoidanalysis process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefunctional impact assessmentVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If dynamic control flow integrity checking is implemented, then real-time security monitoring is achieved, but the processing overhead increases

Engineering Contradiction:
Improvereal-time security monitoringVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSPower

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240419881A1Validating dynamic control flow integrity models
Publication Date: 2024.12.19 AURORA LABS LTD
  • US20240419881A1 patent drawing
  • US20240419881A1 patent drawing
  • US20240419881A1 patent drawing

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.