In-Memory Validation for Controller Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Internet of Things (IoT) devices, such as Electronic Control Units (ECUs) in vehicles, are vulnerable to cyber attacks due to preexisting security bugs, allowing hackers to exploit input buffer size verification issues and execute malicious code, posing risks to vehicle control systems.
Innovation Solution
Implementing conditional in-memory validation (IMV) schemes on IoT controllers to ensure only valid code and behaviors are executed by generating custom security policies that apply varying levels of IMV based on risk levels, using whitelists and flow control integrity schemes to validate function calls and returns, and dynamically setting watchpoints to detect and prevent unauthorized memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If in-memory validation is applied to all code segments, then security against cyber attacks is improved, but processing time and computational resources are increased
Solution Approach 1:
The patent applies different levels of in-memory validation to different code segments based on their risk classification. Critical code segments with higher security risks receive full validation, while lower-risk segments receive reduced validation or none at all. This local differentiation maintains security effectiveness while reducing overall processing time and computational resource consumption.
Solution Approach 2:
The validation intensity for code segments is dynamically adjusted based on runtime conditions and risk assessments. The system can increase validation levels when threats are detected or code segments are marked as high-risk, and reduce validation for trusted segments during normal operation. This dynamic adaptation balances security requirements with processing efficiency.
2Reliability
If in-memory validation is applied to all code segments, then security against cyber attacks is improved, but computational resources are consumed
Solution Approach 1:
The patent applies different levels of in-memory validation to different code segments based on their risk classification. Critical code segments with higher security risks receive full validation, while lower-risk segments receive reduced validation or none at all. This local differentiation maintains security effectiveness while reducing overall processing time and computational resource consumption.
Solution Approach 2:
Instead of applying full validation uniformly to all code segments, the system applies partial validation only where necessary based on risk assessment. This partial action approach ensures adequate security protection for critical segments while avoiding excessive computational resource consumption on low-risk segments.
3Reliability
If strict validation rules are applied to all function calls, then security is improved, but ease of operation is reduced
Solution Approach 1:
The patent applies different levels of in-memory validation to different code segments based on their risk classification. Critical code segments with higher security risks receive full validation, while lower-risk segments receive reduced validation or none at all. This local differentiation maintains security effectiveness while reducing overall processing time and computational resource consumption.
Data Source
AI summary
In one implementation, a method for providing security on controllers includes detecting computer-readable code running on a controller, the computer-readable code including code portions that each include instructions to be performed by the controller; identifying a current code portion of the computer-readable code; accessing an in-memory graph that models an operational flow of the computer-readable code, wherein the in-memory graph includes a plurality of nodes, each of the nodes corresponding to one of the code portions and each of the nodes having a risk value for the associated code portion that is a measure of security risk for the associated code portion; identifying the risk value for the current code portion; selecting, from a plurality of available flow control integrity (IMV) schemes, an IMV scheme based on the identified risk value; and applying, to the code portion as the code portion is running on the controller, the selected IMV scheme.


