Secure IPL Code Loading Attributes for Malicious Injection Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems are vulnerable to attacks during the initial program load (IPL) process, allowing attackers to inject malicious code and alter the boot process, which current security measures struggle to prevent without compromising performance or feasibility.
Innovation Solution
A secure code loading attributes block (SCLAB) is appended to signed binary components, providing additional security by verifying the integrity and authenticity of the code during the IPL process, ensuring only authorized code is executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional code loading methods are used during IPL, then the boot process is faster and simpler, but the system is vulnerable to malicious code injection and attacks
Solution Approach 1:
The patent applies preliminary action by computing cryptographic hashes of code components and storing them in a hash table before the IPL process. During boot, these pre-computed hashes are used to verify code integrity, preventing malicious injection attacks. This advance preparation ensures security without adding complexity to the actual boot process.
Solution Approach 2:
The patent introduces an intermediary mechanism - a hash table containing cryptographic hashes of legitimate code components - that mediates between the trusted boot environment and untrusted external code sources. This intermediary allows verification of code authenticity without requiring direct trust in external sources, resolving the security-complexity contradiction.
2Reliability
If cryptographic verification is performed on all code components during IPL, then code integrity is ensured, but the boot process time increases
Solution Approach 1:
The patent applies partial action by performing cryptographic verification selectively rather than on all code components uniformly. The hash table contains hashes for critical components that require verification, while less critical components can be loaded without full cryptographic checks. This selective approach ensures code integrity for essential elements while minimizing the time penalty during IPL.
3Ease of operation
If a fixed-size code component structure is used, then loading and verification is simpler, but the system cannot accommodate variable-sized code components efficiently
Solution Approach 1:
The patent applies parameter changes by using a hash table data structure that dynamically adapts to variable-sized code components. Instead of fixed-size structures, the hash table stores cryptographic hashes with flexible sizing, allowing the system to accommodate code components of any size while maintaining efficient loading and verification operations. This resolves the contradiction between operational simplicity and adaptability.
Data Source
AI summary
A method, system, and computer program product are provided for preventing malicious code injection during Initial Program Load (IPL). A secure code loading attributes block (SCLAB) is appended to a variable sized signed binary code component to generate a combined component. The variable sized signed binary code component is Operating System (OS) code for an initial program load (IPL) process. The SCLAB comprises contents that include a length field, an identifier, flag fields, a load program status word (PSW) and a load address. The combined component is digitally signed. During IPL, the unsigned component table entries associated with the signed component are verified against the SCLAB contents.


