Malware Evasion Defense via Code Copying and Guard Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Targeted malware evades detection by security software by manipulating the PsSetCreateProcessNotifyRoutine routine in Microsoft Windows operating systems, disabling antivirus notifications for malware processes.

Innovation Solution

Modifying the PsSetCreateProcessNotifyRoutine code to jump to a substitute routine before accessing potentially vulnerable data structures, and replacing the data structure address with a guard page address to prevent tampering by malware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If antivirus software uses PsSetCreateProcessNotifyRoutine to notify when processes are created, then detection capability is improved, but malware can read the code at runtime, find the binary signature, and remove the callback routine from the list, disabling the notification

Engineering Contradiction:
Improveantivirus detection reliabilityVSAvoidmalware evasion capability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent creates a copy of the PsSetCreateProcessNotifyRoutine code and places it in a protected location (such as a system driver or protected memory region). The callback routine list is maintained in this copied version rather than in the original accessible code, making it difficult for malware to locate and tamper with the notification mechanism while preserving antivirus detection functionality

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent pre-provides a substitute callback routine in advance that is designed to be resistant to malware tampering. This substitute routine is installed before malware execution and is structured to prevent malware from successfully removing or disabling the notification callback, thereby maintaining detection reliability even when malware attempts to evade detection

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9536090B2Method of defending a computer from malware
Publication Date: 2017.01.03 CHECK POINT SOFTWARE TECH LTD
  • US9536090B2 patent drawing
  • US9536090B2 patent drawing

AI summary

To defend a computer against malware, first executable code, of the computer, that includes a signature that identifies an address, in the computer's memory, of a respective data structure that is potentially vulnerable to tampering, is identified. The first executable code is copied to provide second executable code that emulates the first executable code using its own respective data structure. The first executable code is modified to jump to the second executable code before accessing the data structure, and also so that the signature identifies the address of a guard page.