Title
PatchScope: Memory Object Centric Patch Diffing
Abstract
Software patching is one of the most significant mechanisms to combat vulnerabilities. To demystify underlying patch details, the techniques of patch differential analysis (a.k.a. patch diffing) are proposed to find differences between patched and unpatched programs' binary code. Considering the sophisticated security patches, patch diffing is expected to not only correctly locate patch changes but also provide sufficient explanation for understanding patch details and the fixed vulnerabilities. Unfortunately, none of the existing patch diffing techniques can meet these requirements. In this study, we first perform a large-scale study on code changes of security patches for better understanding their patterns. We then point out several challenges and design principles for patch diffing. To address the above challenges, we design a dynamic patch diffing technique PatchScope. Our technique is motivated by two key observations: 1) the way that a program processes its input reveals a wealth of semantic information, and 2) most memory corruption patches regulate the handling of malformed inputs via updating the manipulations of input-related data structures. The core of PatchScope is a new semantics-aware program representation, memory object access sequence, which characterizes how a program references data structures to manipulate inputs. The representation can not only deliver succinct patch differences but also offer rich patch context information such as input-patch correlations. Such information can interpret patch differences and further help security analysts understand patch details, locate vulnerability root causes, and even detect buggy patches.
Year
DOI
Venue
2020
10.1145/3372297.3423342
CCS '20: 2020 ACM SIGSAC Conference on Computer and Communications Security Virtual Event USA November, 2020
DocType
ISBN
Citations 
Conference
978-1-4503-7089-9
1
PageRank 
References 
Authors
0.34
39
6
Name
Order
Citations
PageRank
Lei Zhao1137.68
Yuncong Zhu210.34
Jiang Ming3624.83
YiChen Zhang42610.72
Haotian Zhang510.68
Heng Yin62153111.33