Software Affiliation Detection via Function Identifier Aggregation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for determining software affiliation and authorship, such as signature analysis, are ineffective against obfuscated malware, which modifies its code to evade detection, making it difficult to identify affiliations or authors.
Innovation Solution
A method and system that analyze machine code to identify function identifiers, aggregate them, and apply a classifier trained on target software patterns to determine affiliation, even in the presence of obfuscation, by processing and parsing machine code to generate function identifiers and patterns indicative of software families or authors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If signature analysis is used to detect malware, then detection speed and simplicity are improved, but detection accuracy deteriorates against obfuscated malware
Solution Approach 1:
The patent segments the malware analysis process into multiple stages: initial signature-based filtering for quick detection, followed by function identification and behavioral analysis for deeper inspection. This segmentation allows the system to maintain high detection speed for obvious cases while applying more sophisticated analysis only when needed, thus resolving the contradiction between speed and accuracy.
Solution Approach 2:
The patent introduces function identification as an intermediary layer between simple signature matching and complex behavioral analysis. By extracting and analyzing function identifiers from malware, the system creates a middle-ground approach that provides more accurate detection than signature analysis alone, while avoiding the full computational cost of complete behavioral analysis for every sample.
2Reliability
If malware code is obfuscated to evade detection, then malware survivability is improved, but analyzability deteriorates
Solution Approach 1:
The patent replaces traditional mechanical/static analysis methods with dynamic analysis techniques. Instead of statically examining obfuscated code, the system executes malware in controlled environments and observes actual runtime behavior, function calls, and interactions. This substitution allows the system to penetrate obfuscation barriers by analyzing what the malware actually does rather than how it appears in static form.
Solution Approach 2:
The patent changes the analysis parameters from static code properties to dynamic behavioral properties. By monitoring runtime parameters such as function execution sequences, API call patterns, and memory access behaviors, the system transforms the analysis from examining obfuscated code structures to observing observable behavioral characteristics that remain consistent despite code obfuscation.
3Adaptability or versatility
If malware is modified to change functionality, then evasion capability is improved, but consistency of identification deteriorates
Solution Approach 1:
The patent establishes continuous monitoring and analysis of malware behavior across multiple execution instances. By continuously observing functional patterns, call sequences, and behavioral characteristics over time, the system maintains consistent identification of malware families even as individual samples undergo modifications. The continuous analysis creates a stable profile that captures the essential identity of malware beyond superficial changes.
Solution Approach 2:
The patent implements feedback mechanisms where analysis results from one malware sample inform the detection and analysis of subsequent samples. By using identified functional patterns and behavioral characteristics from analyzed malware to refine detection criteria and update knowledge bases, the system maintains consistent identification across modified variants while adapting to new evasion techniques through learned patterns.
Data Source
AI summary
A method and a system for determining an affiliation of a given software with target software are provided. The method comprises: receiving a file including a machine code associated with the given software; determining a file format; identifying, based on the file format, in the machine code, at least one function of a plurality of functions; generating, for each one of the plurality of functions associated with the given software, a respective function identifier; aggregating respective function identifiers, thereby generating an aggregated array of function identifiers associated with the given software; applying at least one classifier to the aggregated array of function identifiers to determine a likelihood parameter indicative of the given software being affiliated to a respective target software; in response to the likelihood parameter being equal to or greater than a predetermined likelihood parameter threshold: identifying the given software as being affiliated to the respective target software.


