Greybox Fuzzing via Taint Analysis for Web Application Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web application fuzzing, particularly with blackbox fuzzers, faces challenges in generating inputs that bypass internal sanitization checks due to lack of visibility into the program's internal states, leading to incomplete testing and inefficiencies in identifying vulnerabilities.

Innovation Solution

A method and system that instrument web applications to provide taint analysis results and coverage metrics, allowing fuzzers to send requests targeting specific vulnerability categories based on sink functions and coverage thresholds, optimizing the fuzzing process by focusing on categories that are more likely to trigger vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If blackbox fuzzers are used to generate massive amounts of input quickly, then productivity is improved, but measurement precision deteriorates due to lack of visibility into internal states

Engineering Contradiction:
Improveinput generation speedVSAvoidvisibility into internal states
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces taint analysis as an intermediary mechanism between the blackbox fuzzer and the web application. The taint analysis component monitors data flow and identifies sink functions without requiring modification to the application code, providing internal state visibility while maintaining the blackbox approach's high-speed input generation capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback loops where taint analysis results and coverage metrics are continuously fed back to the fuzzer. This feedback enables the fuzzer to adjust its input generation strategy dynamically, focusing on unexplored execution paths and sink functions while maintaining high productivity

Inventive Principle:
Principle #23Feedback

2Measurement precision

If whitebox fuzzers use concrete and symbolic execution to explore execution paths, then measurement precision is improved, but use of energy deteriorates due to computational expense

Engineering Contradiction:
Improveexecution path exploration accuracyVSAvoidcomputational expense
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by using taint analysis to focus computational resources on specific regions of the application code that are relevant to security vulnerabilities. Instead of uniformly exploring all execution paths with expensive symbolic execution, the system identifies and concentrates efforts on sink functions and data flows that are more likely to reveal vulnerabilities

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial whitebox analysis through taint tracking rather than complete symbolic execution. This partial action approach provides sufficient precision for vulnerability detection while consuming significantly less computational energy than full whitebox fuzzing would require

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If grammar- and model-based blackbox fuzzers require domain-specific knowledge to guide input generation, then measurement precision is improved, but device complexity deteriorates

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidrequirement for domain-specific knowledge
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically inferring application behavior and vulnerability patterns through taint analysis and coverage monitoring. The fuzzer adapts to the specific application being tested without requiring pre-configured domain knowledge, models, or grammars, eliminating the complexity burden while maintaining high detection accuracy

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11250139B2Greybox fuzzing for web applications
Publication Date: 2022.02.15 ORACLE INT CORP
  • US11250139B2 patent drawing
  • US11250139B2 patent drawing
  • US11250139B2 patent drawing

AI summary

A method may include sending, to an entry point of an instrumented web application, a first request including a first value of a parameter. The first value may correspond to a first vulnerability category. The method may further include receiving, from the instrumented web application, first taint analysis results, determining that the first taint analysis results include a sink function corresponding to a second vulnerability category, and sending, to the entry point, a second request including a second value of the parameter. The second value may correspond to the second vulnerability category. The method may further include receiving, from the instrumented web application and in response to sending the second request, second taint analysis results including the sink function, and detecting, in the instrumented web application and using the second taint analysis results, a vulnerability corresponding to the sink function and the second vulnerability category.