Publication | Open Access
All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)
691
Citations
58
References
2010
Year
Unknown Venue
EngineeringInformation SecurityDynamic Taint AnalysisSoftware AnalysisFormal VerificationSymbolic ExecutionHardware SecurityStatic CheckingSystem SoftwareBeen AfraidRuntime VerificationStatic AnalysisComputer ScienceStatic Program AnalysisLanguage-based SecurityData SecuritySoftware SecurityProgram AnalysisSoftware TestingFormal MethodsVulnerability DiscoveryCommon PitfallsForward Symbolic ExecutionMalware Analysis
Dynamic taint analysis and forward symbolic execution are rapidly adopted for malware analysis, input filter generation, test case generation, and vulnerability discovery, yet formal definitions and critical issues remain underexplored. This paper aims to formally define the algorithms for dynamic taint analysis and forward symbolic execution and to identify key implementation choices, common pitfalls, and practical considerations. The authors extend the run‑time semantics of a general language to precisely describe these algorithms and analyze implementation decisions and pitfalls in security contexts.
Dynamic taint analysis and forward symbolic execution are quickly becoming staple techniques in security analyses. Example applications of dynamic taint analysis and forward symbolic execution include malware analysis, input filter generation, test case generation, and vulnerability discovery. Despite the widespread usage of these two techniques, there has been little effort to formally define the algorithms and summarize the critical issues that arise when these techniques are used in typical security contexts. The contributions of this paper are two-fold. First, we precisely describe the algorithms for dynamic taint analysis and forward symbolic execution as extensions to the run-time semantics of a general language. Second, we highlight important implementation choices, common pitfalls, and considerations when using these techniques in a security context.
| Year | Citations | |
|---|---|---|
Page 1
Page 1