Polymorphic Code Transformation for Malware Deflection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Illicit organizations interfere with online transactions by installing malware on user devices, which existing technologies struggle to effectively detect and deflect, especially as malware evolves to exploit changing web code structures.

Innovation Solution

Implementing polymorphic code transformation systems that analyze original web code to identify static elements that can be altered without affecting user experience, creating maps for consistent random name substitutions across servings, thereby creating a moving target for malware and enabling malware detection through instrumentation code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code elements are constantly changed to deflect malware, then malware detection capability is improved, but computational cost increases

Engineering Contradiction:
Improvemalware detection capabilityVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of web code to identify static elements that can be transformed before the code is served. This analysis creates a map of transformable elements in advance, so that when code needs to be changed for malware deflection, the system can quickly apply pre-identified transformations without performing full analysis each time, thus reducing computational cost while maintaining detection capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes specific parameters of the code such as function names, variable names, and other identifiers while preserving the functional behavior. By selectively transforming only certain parameters (names and labels) rather than the entire code structure, the system achieves malware deflection with reduced computational overhead compared to comprehensive code rewriting

Inventive Principle:
Principle #35Parameter changes

2Reliability

If polymorphic code transformation is applied to all code elements, then malware deflection effectiveness is improved, but user experience deteriorates

Engineering Contradiction:
Improvemalware deflection effectivenessVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system applies polymorphic transformation selectively to specific local elements within the code rather than uniformly to all elements. It identifies and transforms only static elements such as function names, variable names, and identifiers that do not affect user-facing functionality. This localized approach maintains malware deflection effectiveness while preserving the user experience by leaving dynamic and user-visible elements unchanged

Inventive Principle:
Principle #3Local quality

3Measurement precision

If code analysis is performed for each serving, then malware detection accuracy is improved, but service response time increases

Engineering Contradiction:
Improvemalware detection accuracyVSAvoidservice response time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs code analysis in advance to create a map of transformable elements before code is served. This preliminary analysis stores information about which elements can be safely transformed, allowing the system to skip full analysis during code serving and only apply pre-determined transformations, thus maintaining detection accuracy while reducing service response time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a dynamic approach where the level of analysis performed depends on the situation. For frequently accessed code, it uses cached analysis results and applies only necessary transformations. For new or modified code, it performs full analysis. This dynamic adjustment of analysis depth optimizes the balance between detection accuracy and response time

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9489526B1Pre-analyzing served content
Publication Date: 2016.11.08 SHAPE SECURITY INC
  • US9489526B1 patent drawing
  • US9489526B1 patent drawing
  • US9489526B1 patent drawing

AI summary

A computer-implemented method includes identifying first code for a content that has not been analyzed for purposes of transforming the first code before serving the code in response to future requests for the first code; analyzing the first code to identify portions of the first code that can be changed without affecting a manner in which the first code will function on client devices; subsequently receiving a request for the content; applying rules generated from analyzing the first code to a currently-served version of the first code, so as to obfuscated the currently-served version of the first code; and providing the obfuscated version of the currently-served version of the first code to a computing device that provide the request.