Electronic Control Unit Selective Check Instruction Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing control flow integrity (CFI) techniques for preventing buffer overflow attacks are time-consuming and inefficient, especially when dealing with function calls and returns between non-trusted domains, as they do not effectively manage overhead and can allow unintended instruction execution.

Innovation Solution

An electronic control unit that includes a memory to store program control flows, a check instruction to verify executable code, and a determination mechanism based on use frequency and load measurements to selectively execute check instructions, reducing overhead by skipping unnecessary checks on frequently used functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If control flow integrity (CFI) technique checks all call/return addresses to prevent buffer overflow attacks, then security against buffer overflow attacks is improved, but execution time overhead increases

Engineering Contradiction:
Improvesecurity against buffer overflow attacksVSAvoidexecution time overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial checking by selectively applying CFI checks only to functions marked as critical in a whitelist, rather than checking all function call/return addresses. This partial action approach maintains security for critical functions while avoiding the time overhead of checking non-critical functions, thus resolving the contradiction between security and execution time.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by differentiating between critical and non-critical functions through a whitelist mechanism. Critical functions receive enhanced security checking while non-critical functions use standard checking. This localized security approach optimizes the balance between security requirements and execution performance for different parts of the system.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If CFI technique checks all function calls and returns, then detection capability of malicious programs is improved, but system productivity decreases

Engineering Contradiction:
Improvedetection capability of malicious programsVSAvoidsystem productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial checking by selectively enabling CFI detection only for critical functions listed in a whitelist. This ensures high detection precision for malicious programs targeting critical functions while avoiding the productivity penalty of checking all functions, thus resolving the contradiction between detection capability and system productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If domain-based execution restriction is applied to reduce overhead, then execution speed is improved, but security coverage is reduced allowing unintended instruction execution

Engineering Contradiction:
Improveexecution speedVSAvoidsecurity coverage
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies partial CFI checking only to critical functions in a whitelist rather than implementing domain-based restrictions that would skip checks entirely. This approach maintains security coverage for critical functions while minimizing overhead, avoiding the security gaps created by domain-based execution restriction.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local security quality by applying enhanced CFI checking specifically to critical functions identified in a whitelist, rather than applying uniform domain-based restrictions. This localized approach ensures security coverage where needed while maintaining execution speed in non-critical areas.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10769273B2Electronic control unit
Publication Date: 2020.09.08 DENSO CORP
  • US10769273B2 patent drawing
  • US10769273B2 patent drawing
  • US10769273B2 patent drawing

AI summary

An electronic control unit includes: a memory saving a program that has a call/return to/from a function represented as a control flow together with the function itself and a check instruction inserted in a program code of the program for checking whether the program code is executable based on the control flow. The electronic control unit may also include an input unit receiving an input of use frequency information indicative of a use frequency of the function; a measurement unit measuring a load of the electronic control unit; an execution object determiner determining the check instruction to be executed based on the use frequency information and the load; and an arithmetic unit executing the check instruction determined by the execution object determiner at a time of execution of the program.