Probabilistic Shellcode Detection via Statistical Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods are inadequate in detecting shellcode, particularly in files entering or residing within protected computer networks, due to the dynamic and evolving nature of Zero-Day vulnerabilities, which can exploit buffer overflow vulnerabilities and lead to malicious attacks.

Innovation Solution

The implementation of a probabilistic shellcode detection system that scans files for repetitive constructs, high entropy data blocks, and known shellcode sequences, using an anti-malware engine with a database for updating and comparing shellcode patterns, and performing statistical analysis to determine the likelihood of shellcode presence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional shellcode detection methods are used, then detection capability is limited, but false positives increase and detection accuracy decreases

Engineering Contradiction:
Improveshellcode detection accuracyVSAvoidfalse positive rate
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent transforms shellcode detection from static signature matching to dynamic probabilistic analysis by changing the parameter from binary match/no-match to continuous probability scores. The system calculates likelihood ratios and statistical probabilities for each detected feature, enabling nuanced detection that adapts to varying threat levels and reduces false positives while maintaining high accuracy.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces traditional mechanical signature-matching mechanisms with statistical and probabilistic models. Instead of simple pattern matching, the system uses likelihood ratios, entropy calculations, and Bayesian probability to evaluate shellcode presence, substituting deterministic mechanical detection with stochastic statistical analysis for more reliable results.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If probabilistic analysis is applied to improve detection accuracy, then computational complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the probabilistic analysis into distinct modular components: feature extraction module, likelihood ratio calculation module, entropy calculation module, and final probability synthesis module. Each component handles a specific aspect of the analysis independently, reducing overall computational complexity while maintaining high detection accuracy through systematic breakdown of the probabilistic evaluation process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial probabilistic analysis by focusing computational resources on the most discriminative features and candidate areas. Instead of performing exhaustive probabilistic analysis on entire files, the system applies probabilistic methods selectively to high-risk regions identified through preliminary scanning, reducing computational complexity while preserving detection accuracy for critical threats.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2110771B1Probabilistic shellcode detection
Publication Date: 2014.08.13 MCAFEE LLC
  • EP2110771B1 patent drawingFigure 1
  • EP2110771B1 patent drawingFigure 2
  • EP2110771B1 patent drawingFigure 3

AI summary

Various embodiments include a method of detecting shell code in an arbitrary file comprising determining where one or more candidate areas exist within an arbitrary file, searching at least one nearby area surrounding each of the one or more candidate areas within the arbitrary file for an instruction candidate, and calculating for any such instruction candidate a statistical probability based on a disassembly of instructions starting at a found offset for the instruction candidate that the disassembled instructions are shellcode.