Binary Rewriting for Fuzzing-Guided Application Hardening
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software vulnerabilities remain exposed from the time they are discovered until a patch can be developed and distributed, leaving systems vulnerable to exploitation.
Innovation Solution
The method involves generating application traces using fuzzing to identify good and bad traces around a known security vulnerability, identifying unique code segments executed in bad traces but not in good traces, and modifying these segments using binary rewriting to prevent exploitation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional patching is used to fix security vulnerabilities, then the vulnerability is eventually resolved, but the system remains vulnerable during the time between discovery and patch deployment
Solution Approach 1:
The system performs preliminary actions by generating good and bad traces through fuzzing before the patch is applied. These traces are stored and used to create a detection mechanism that will be active during the vulnerable period, allowing the system to prepare defense in advance rather than waiting for the patch.
Solution Approach 2:
The patent introduces an intermediary detection mechanism between the vulnerable application and the exploit. This intermediary uses the pre-generated traces to detect and block exploit attempts during the time when the vulnerability exists but before the patch is deployed, effectively mediating the security gap.
2Difficulty of detecting and measuring
If comprehensive security monitoring is implemented to detect all potential exploits, then security detection capability is improved, but computational overhead and false positives increase
Solution Approach 1:
The system performs exploit detection preparation in advance by generating comprehensive good and bad traces through fuzzing before deployment. This preliminary action creates a ready-to-use detection database that eliminates the need for real-time complex analysis, reducing computational overhead during actual operation while maintaining high detection capability.
Solution Approach 2:
The patent creates copies of execution traces (both good and bad) through fuzzing and stores them for comparison. Instead of performing complex real-time analysis, the system compares actual execution against these pre-generated trace copies, significantly reducing computational overhead while maintaining accurate exploit detection.
Data Source
AI summary
Described are techniques for application hardening. The techniques include generating application traces using fuzzing for an application with a known security vulnerability, where the application traces include good traces that do not result in exploitation of the known security vulnerability and bad traces that result in exploitation of the known security vulnerability. The techniques further include identifying code segments that are executed by the bad traces and not executed by the good traces. The techniques further include modifying the identified code segments using binary rewriting.


