Partial ELF Encryption for Shared Library Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Shared libraries in open operating systems are vulnerable to theft, as third-party written libraries can be accessed and used without payment, leading to financial loss for providers.

Innovation Solution

A method of encrypting a partial portion of the ELF file, using a random number and its hash, stored in a hardware-based security engine, to prevent unauthorized access and loading of shared libraries, while reducing encryption time and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire ELF file is encrypted to protect shared libraries, then security is improved, but encryption time and system resources increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoidencryption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the ELF file into multiple segments and identifies only specific critical segments (such as the program header table and certain sections) that contain shared library information. Only these identified segments are encrypted, while other segments remain unencrypted. This segmentation approach maintains security for critical information while reducing the overall encryption scope and resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different encryption treatments to different parts of the ELF file based on their security requirements. Critical segments containing shared library paths and symbols are encrypted with higher security measures, while non-critical segments are either encrypted with simpler methods or left unencrypted. This local quality differentiation optimizes the balance between security and performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If more portions of the ELF file are encrypted, then protection of shared libraries is improved, but system resources and processing overhead increase

Engineering Contradiction:
Improveprotection levelVSAvoidsystem resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The ELF file structure is segmented into identifiable sections (headers, program segments, sections). The patent specifically targets and encrypts only those segments that contain shared library dependency information, such as the program header table and dynamic section, rather than encrypting the entire file. This reduces the amount of data processed during encryption and decryption operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying full encryption to the entire ELF file (excessive action), the patent applies encryption selectively to only the necessary portions that contain shared library information (partial action). This partial encryption approach provides sufficient protection for the critical information while minimizing the computational overhead and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If encryption is applied to the ELF file, then unauthorized access to shared libraries is prevented, but the complexity of the system increases

Engineering Contradiction:
Improveaccess controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs encryption of the ELF file segments during the compilation or linking phase, before the program is executed. The encrypted segments are embedded into the final executable file. This preliminary action ensures that when the program runs, the decryption and verification processes are already optimized and built-in, reducing the runtime complexity and overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ELF file is designed to contain its own encryption keys or decryption information within the file structure itself (such as in the section headers or as embedded data). When the program is executed, it can autonomously decrypt its own segments without requiring external key management systems or additional security infrastructure, thereby reducing system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9256756B2Method of encryption and decryption for shared library in open operating system
Publication Date: 2016.02.09 GIGA COMPUTING TECHNOLOGY CO LTD
  • US9256756B2 patent drawing
  • US9256756B2 patent drawing
  • US9256756B2 patent drawing

AI summary

A method of encryption and decryption for shared libraries in an open operating system is provided. By encrypting a partial portion of an executable and linkable format (ELF) file, where the ELF file is dependent on the shared libraries, an operating system lacking a secret key is not able to use the encrypted ELF file and thus not able to load the shared libraries into the memory for execution, thereby ensuring the protection of the shared libraries.