SMM Privilege Protection via Pre-boot Hash Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The privilege level of system management mode (SMM) in computer systems is vulnerable to malicious programs, which can rewrite main code and pose a serious threat to system security since the operating system cannot recognize which program uses the SMM privilege.

Innovation Solution

A method where a system management mode program is loaded into a special memory area, and a reference hash value is determined and stored before booting. After booting, the computed hash value is compared to the reference hash value, and only if they match is the program executed, ensuring that only legitimate code operates in SMM, thus preventing malicious programs from gaining SMM privilege.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SMM privilege is provided for system management control, then system management capability is improved, but system security deteriorates because malicious programs can acquire and misuse SMM privilege

Engineering Contradiction:
Improvesystem management capabilityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by computing and storing hash values of legitimate SMM programs before the system boots. These pre-computed hash values are stored in a protected area, enabling later verification of program integrity without requiring complex runtime analysis or user intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through a verification mechanism that compares the hash value of the currently executing SMM program against the pre-stored reference hash value. This feedback loop ensures that only authenticated programs can execute in SMM, automatically preventing unauthorized or malicious code from gaining privileged access.

Inventive Principle:
Principle #23Feedback

2Reliability

If hash value verification is implemented for SMM programs, then system security is improved, but system complexity increases due to additional verification steps

Engineering Contradiction:
Improvesystem securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex mechanical or procedural security verification mechanisms with a computational hash-based verification system. Instead of using intricate access control lists, permission checks, or manual authentication procedures, the system uses cryptographic hash functions to verify program integrity, significantly simplifying the verification logic while maintaining high security.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the verification parameter from complex program analysis or permission checking to a simple hash value comparison. By transforming the security verification problem into a parameter-based comparison task, the system achieves high security with minimal computational overhead and simplified control logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8694794B2Method for protecting a privilege level of system management mode of a computer system
Publication Date: 2014.04.08 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US8694794B2 patent drawing
  • US8694794B2 patent drawing
  • US8694794B2 patent drawing

AI summary

A method for protecting a privilege level of a system management mode (SMM) of a computer system is disclosed. A SMM program is loaded into a special memory (SMRAM) area within a system memory of a computer. A first program, a second program, and a vector table are loaded into a general area of the system memory. Before the booting process of the computer has been completed, a reference hash value of the first program is determined by the SMM program, and the reference hash value is stored in the SMRAM area. A hash value of the first program is the computed by the SMM program. After the computer has been operating under an operating environment of an operating system, the computed hash value is compared to the reference hash value. When the computed hash value matches the reference hash value, the first program is called by the SMM program.