Antivirus DFA Virus Engine Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing antivirus technologies are inadequate in detecting polymorphic and metamorphic viruses due to their reliance on slow scanning methods and inability to handle complex virus code obfuscation, leading to inefficiencies and false positives.

Innovation Solution

An antivirus mechanism that builds a Deterministic Finite Automaton (DFA) based on virus patterns to scan binary files using disassembly codes, allowing for exact detection of virus engines by matching disassembly codes with a database, thereby improving scanning speed and detection accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If scan string method is used to detect viruses, then detection capability is provided, but scanning speed becomes too slow

Engineering Contradiction:
Improvevirus detection capabilityVSAvoidscanning speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the file scanning process into multiple parallel threads, where each thread independently scans different portions of the file using scan strings. This parallelization maintains comprehensive virus detection coverage while significantly improving scanning speed by utilizing multi-core processor capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by building optimized scan string databases beforehand and pre-processing file headers to identify potential virus signatures early in the scanning process. This allows the main scanning operation to focus on critical sections, improving overall scanning efficiency without compromising detection accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If byte searching method is used to search for virus patterns, then virus detection is achieved, but scanning performance drops significantly on large files

Engineering Contradiction:
Improvevirus pattern detectionVSAvoidscanning performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by focusing byte searching operations only on specific critical sections of the file rather than scanning the entire file. By identifying and prioritizing scanning of header sections, code segments, and other suspicious areas while reducing scrutiny of benign sections, the system maintains high detection accuracy for viruses while improving scanning performance on large files.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If manual decryption is used to detect polymorphic and metamorphic viruses, then detection accuracy improves, but scanning time overhead increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidscanning time overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by performing manual decryption only on suspicious sections of the file where polymorphic or metamorphic viruses are most likely to be hidden, rather than decrypting the entire file. This selective approach maintains high detection accuracy for these sophisticated viruses while minimizing the time overhead associated with decryption operations.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If emulator is used to monitor virus code execution, then virus detection is possible, but scanning speed suffers due to do-nothing loops

Engineering Contradiction:
Improvevirus detectionVSAvoidscanning speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes do-nothing loops and other non-instructional code segments from the emulation process. By identifying and skipping these redundant loops that provide no useful information for virus detection, the system maintains its ability to detect viruses through code execution monitoring while significantly improving scanning speed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7370361B2System and method for securing computers against computer virus
Publication Date: 2008.05.06 TREND MICRO INC
  • US7370361B2 patent drawing
  • US7370361B2 patent drawing
  • US7370361B2 patent drawing

AI summary

In one embodiment, an antivirus mechanism builds an automaton of a virus using a pattern and a set of rules. The antivirus mechanism may then scan a binary file to detect an engine of the virus by matching the automaton with a plurality of disassembly codes derived from the binary file. The pattern may comprise a data structure including a name of a particular virus, and information for detecting the virus using the disassembly codes.