Atomic Runtime Inspection via Copy-on-Write Memory Snapshotting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current runtime integrity measurement methods face challenges in ensuring atomicity and quiescence, leading to potential false positives and negatives, and impose significant performance penalties on the target system, including denial-of-service and high memory overhead.

Innovation Solution

Implementing a copy-on-write (CoW) process to generate copies of memory pages being written to, allowing the measurement agent to observe the target's memory state at a particular moment in time without disrupting the target's operation, thereby ensuring atomicity and reducing downtime and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If runtime integrity measurement is performed on a running process, then fresher and more confident assertions about the target's state are obtained, but coherency issues arise leading to false positives and false negatives

Engineering Contradiction:
Improvemeasurement reliabilityVSAvoidmeasurement coherency
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by pausing the target process before measurement and restoring it after measurement. This ensures that the measurement is taken from a consistent state snapshot, preventing false positives and false negatives by ensuring atomicity of the measurement operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the target process's memory state during measurement. This copy allows the measurement agent to analyze the process state without disrupting the running process, ensuring coherency while maintaining the ability to perform runtime measurements on living processes.

Inventive Principle:
Principle #26Copying

2Measurement precision

If the target process is paused during measurement to ensure atomicity, then measurement coherency is improved, but productivity and target performance deteriorate due to denial-of-service

Engineering Contradiction:
Improvemeasurement atomicityVSAvoidtarget performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary pausing only for the minimal time necessary to capture a consistent snapshot of the process state. This brief pause ensures atomicity measurement while minimizing impact on target performance and productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system rapidly performs the measurement operation once the process is paused, minimizing the duration of the pause. This rushing through the measurement process reduces the denial-of-service impact while still ensuring atomicity through the pause-measure-restore sequence.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Measurement precision

If memory is copied to ensure atomic measurement, then measurement coherency is improved, but memory overhead increases

Engineering Contradiction:
Improvemeasurement atomicityVSAvoidmemory overhead
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system creates a copy of the target process's memory space to perform measurements. This copy enables atomic measurement of the running process state without requiring the process to be fully stopped, balancing measurement precision with acceptable memory overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system creates temporary copies of memory pages only when needed for measurement, and these copies are discarded after measurement completes. This approach uses memory resources efficiently by creating short-living objects only when necessary for the measurement operation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS8832684B2Methods for improving atomicity of runtime inspections
Publication Date: 2014.09.09 JOHNS HOPKINS UNIVERSITY
  • US8832684B2 patent drawing
  • US8832684B2 patent drawing
  • US8832684B2 patent drawing

AI summary

A method for achieving atomicity while inspecting a running computer process using a copy-on-write process in a supervisor to generate a copy of a target's memory page being written to, prior to executing the write, the copy along with any unwritten to memory pages in the target being mapped to a measurement agent (MA) and used to reflect the state of the target at a particular moment in time which state when observed by the MA provides an atomic runtime inspection.