Active Code Section Detection Through Memory Forensics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently identifying and maintaining an up-to-date list of active software modules in real-time, which is crucial for ensuring security and resource allocation in computer systems.
Innovation Solution
A system and method for constructing a software runtime bill-of-materials (RBOM) by analyzing memory forensics, utilizing code section execution indicators (CSEIs) specific to different software frameworks like Java, node.js, and Ruby, to identify and track active code sections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory forensics analysis is performed to identify active code sections in real-time, then security monitoring capability is improved, but system performance overhead increases
Solution Approach 1:
The patent segments the identification process by creating separate indicator structures for different code sections, allowing parallel analysis without blocking system operations. Each code section has its own execution indicator that can be independently monitored, enabling distributed security checking that minimizes centralized overhead.
Solution Approach 2:
The patent performs preliminary setup by establishing indicator structures and memory markers before actual code execution begins. This preconfiguration allows the security system to passively monitor execution by checking pre-placed indicators rather than actively analyzing code during runtime, significantly reducing performance overhead.
2Reliability
If comprehensive code section tracking is implemented, then security coverage is improved, but system complexity increases
Solution Approach 1:
The patent extracts execution status information into separate indicator structures that are stored in dedicated memory locations. By separating the tracking mechanism from the executed code, the system achieves comprehensive monitoring without embedding complex monitoring logic throughout the codebase, thus managing complexity while maintaining coverage.
Solution Approach 2:
The patent creates a universal indicator structure that can track any code section regardless of its type or location. The same indicator mechanism works for different software frameworks and code sections, providing comprehensive security coverage through a single unified approach rather than requiring framework-specific monitoring solutions.
3Loss of information
If real-time identification of active code sections is performed, then up-to-date security information is achieved, but processing overhead increases
Solution Approach 1:
The patent implements self-service by having the system automatically update and check execution indicators without external intervention. The indicator structures are automatically set when code sections execute and automatically checked during security scans, eliminating the need for manual updates or complex scheduling mechanisms while maintaining real-time information accuracy.
Solution Approach 2:
The patent employs periodic scanning of execution indicators to identify active code sections at regular intervals rather than continuously monitoring every instruction. This periodic approach balances information freshness with processing efficiency, updating security information sufficiently often without the excessive overhead of continuous real-time analysis.
Data Source
AI summary
A system of identifying an executed code section of a software process, comprising a processing circuitry (PC) configured to: a) access a memory space of a first process executing in an operating environment; b) identify, from contents of the memory space, a software framework of the first process; c) find, in the memory space, based on the identified software framework, a first code section description structure; d) identify, from the first code section description structure, a code section execution indicator (CSEI) associated with a first code section; and e) determine, based on a value of the associated CSEI, whether the first code section has been executed.


