Runtime Verification of Embedded Controller Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Malware attacks on computing systems can compromise system instructions, leading to unauthorized access and operations, and existing verification methods are limited to pre-runtime or low power states, which delays detection of compromised instructions.

Innovation Solution

Implementing runtime verification using a processor, shared memory, and an embedded controller (EC) to verify EC instructions during runtime, employing cryptographic techniques and a Platform Controller Hub (PCH) for communication, allowing earlier identification of compromised instructions and enabling repair or notification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If verification is performed only prior to runtime or during sleep states, then system resources are conserved and power consumption is reduced, but detection of compromised instructions is delayed

Engineering Contradiction:
Improvedetection timingVSAvoiddetection delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs verification of EC instructions during runtime by establishing a runtime verification path that checks instructions before they are executed. This preliminary verification during runtime allows the system to detect compromised instructions earlier than traditional post-execution or sleep-state verification methods, while still maintaining resource efficiency through selective verification of critical instructions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary verification mechanism that operates between the EC instructions and their execution. The verification path includes checking instructions against a reference copy and validating cryptographic signatures during runtime, acting as a mediator that ensures instruction integrity without requiring full system verification or entering sleep states.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If runtime verification is implemented, then detection of compromised instructions is earlier, but system complexity and verification overhead increase

Engineering Contradiction:
Improveinstruction integrityVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system is segmented into distinct components: a first path for normal EC instruction execution, a second path for runtime verification, and a third path for handling verification failures. This segmentation allows the system to perform runtime verification without requiring complete redesign of the EC subsystem, reducing overall complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial verification by selectively verifying critical EC instructions during runtime rather than verifying all instructions comprehensively. This partial action approach provides sufficient security for the most important instructions while minimizing the overhead and complexity associated with full-system verification.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If comprehensive verification of all EC instructions is performed, then security is enhanced, but processing time and system performance decrease

Engineering Contradiction:
ImprovesecurityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The verification system applies different verification intensities to different EC instructions based on their criticality. High-priority instructions that control system security and operation undergo rigorous runtime verification including cryptographic signature validation, while less critical instructions receive simplified verification or are verified less frequently, maintaining security for critical functions while preserving system performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs verification on only the most critical EC instructions during runtime rather than all instructions. This partial verification approach focuses computational resources on protecting the most security-sensitive operations, providing adequate security while minimizing performance overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9928367B2Runtime verification
Publication Date: 2018.03.27 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US9928367B2 patent drawing
  • US9928367B2 patent drawing
  • US9928367B2 patent drawing

AI summary

Example implementations relate to runtime verification. In one example, runtime verification includes a processor, a shared memory storing embedded controller instructions, and an embedded controller to verify the embedded controller instructions stored in the shared memory during runtime of the processor.