Publication | Closed Access
SPAIN: Security Patch Analysis for Binaries towards Understanding the Pain and Pills
154
Citations
38
References
2017
Year
Unknown Venue
Software MaintenanceEngineeringInformation SecuritySoftware EngineeringSource Code AnalysisBinaries TowardsFormal VerificationSoftware AnalysisHardware SecurityTrusted Execution EnvironmentSecurity PatchesSoftware VulnerabilitySecurity Patch AnalysisOperating System SecuritySecure By DesignComputer ScienceStatic Program AnalysisLanguage-based SecuritySoftware DesignData SecurityCryptographySoftware SecurityProgram AnalysisSoftware TestingSource Code Level
Software vulnerability is one of the major threats to software security. Once discovered, vulnerabilities are often fixed by applying security patches. In that sense, security patches carry valuable information about vulnerabilities, which could be used to discover, understand and fix (similar) vulnerabilities. However, most existing patch analysis approaches work at the source code level, while binary-level patch analysis often heavily relies on a lot of human efforts and expertise. Even worse, some vulnerabilities may be secretly patched without applying CVE numbers, or only the patched binary programs are available while the patches are not publicly released. These practices greatly hinder patch analysis and vulnerability analysis. In this paper, we propose a scalable binary-level patch analysis framework, named SPAIN, which can automatically identify security patches and summarize patch patterns and their corresponding vulnerability patterns. Specifically, given the original and patched versions of a binary program, we locate the patched functions and identify the changed traces (i.e., a sequence of basic blocks) that may contain security or non-security patches. Then we identify security patches through a semantic analysis of these traces and summarize the patterns through a taint analysis on the patched functions. The summarized patterns can be used to search similar patches or vulnerabilities in binary programs. Our experimental results on several real-world projects have shown that: i) SPAIN identified security patches with high accuracy and high scalability, ii) SPAIN summarized 5 patch patterns and their corresponding vulnerability patterns for 5 vulnerability types, and iii) SPAIN discovered security patches that were not documented, and discovered 3 zero-day vulnerabilities.
| Year | Citations | |
|---|---|---|
Page 1
Page 1