File Emulation Logging via Breakpoints and Intermediate Code Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file emulation systems struggle to accurately log function calls when dealing with instructions different from machine instructions, such as those in intermediate code or scripts, leading to incomplete logs and reduced detection rates of malicious files.

Innovation Solution

A system and method for emulating file execution that generates an image of the file, detects known sets of instructions, inserts break points, and logs records of executed instructions, allowing for accurate logging of function calls even when instructions are not in machine code format, by imitating the operating system loader and using an emulation log.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the emulator performs changes in the IAT section for machine instructions, then the logging of function calls is accurate for machine instructions, but no information is saved in the IAT for instructions different from machine instructions (intermediate code or scripts)

Engineering Contradiction:
Improvelogging accuracyVSAvoidinstruction type coverage
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism (emulation log) that captures function call information for both machine instructions and non-machine instructions (intermediate code, scripts). This intermediary log serves as a mediator between the emulator and the IAT, allowing comprehensive logging of all instruction types without relying solely on traditional IAT mechanisms that only work for machine instructions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the logging function into two parts: the traditional IAT mechanism for machine instructions and a separate emulation log system for non-machine instructions. This segmentation allows each logging mechanism to specialize in its appropriate instruction type, resolving the contradiction between accuracy for machine instructions and coverage for all instruction types.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the emulator logs all function calls for complete detection, then the detection rate of malicious files improves, but the complexity of the emulation system increases when handling multiple instruction types

Engineering Contradiction:
Improvedetection rateVSAvoidemulation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The emulation log is designed as a universal logging mechanism that handles multiple instruction types (machine instructions, intermediate code, scripts) through a single unified system. This multi-functional approach allows the system to achieve complete detection across all instruction types without requiring separate complex logging systems for each instruction type, thereby improving reliability while managing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Manufacturing precision

If the emulator processes files with intermediate code or scripts using OS loader steps, then the emulation is more accurate, but the time required for emulation increases

Engineering Contradiction:
Improveemulation accuracyVSAvoidemulation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-processing files to identify and categorize different instruction types (machine instructions, intermediate code, scripts) before emulation begins. This preliminary classification allows the emulator to apply optimized processing paths for each type, maintaining high emulation accuracy for complex instruction types while reducing overall emulation time through efficient handling strategies.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10838748B2System and method of emulating execution of files based on emulation time
Publication Date: 2020.11.17 AO KASPERSKY LAB
  • US10838748B2 patent drawing
  • US10838748B2 patent drawing
  • US10838748B2 patent drawing

AI summary

Disclosed are systems and methods for emulating execution of a file based on emulation time. In one aspect, an exemplary method comprises, generating an image of a file, emulating an execution of instructions from the image for a predetermined emulation time, the emulation including: when an emulation of an execution of instruction from an image of another file is needed, generating an image of the another file, detecting known set of instructions in portions read from the image, inserting a break point into a position in the generated image corresponding to a start of the detected set of instructions, emulating execution of the another file by emulating execution of instructions from the generated image, and adding corresponding records to an emulation log, and reading a next portion from the image of the another file and repeating the emulation until the predetermined emulation time has elapsed.