PatchDiscovery: Patch Presence Test for Identifying Binary Vulnerabilities Based on Key Basic Blocks
Description
PatchDiscovery: Patch Presence Test for Identifying Binary Vulnerabilities Based on Key Basic Blocks
The source code is structured in the following way:
1. Preprocessing:PatchDiscovery preprocesses each input binary function (i.e., VF, PF and TF) by distilling each function's semantics into a CFG and applying
instruction normalization and simplification to deal with the syntax gaps on instructions.
2. PatchAnalysis: PatchDiscovery identifies the scope of patch in PF and the scope of vulnerability in VF and selects the key basic blocks in PF and VF as their signatures for patch presence discovery, respectively.
3. PatchPresenceDscovery:PatchDiscovery determines whether a TF has been patched or not.
The dataset is structured in the following way:
1. Bin:the compiled binaries
2. _config.csv : There are four parts in the file, which are CVE id , the last vulnerable version , the first patched version , involved functions in order.
3. _func.csv : All involved functions in _config.cvs.
4. _version.csv : All binary versions to be analyzed.
5. gt.csv : optional , you can mark V and P for functions in target binary as ground truth.
Files
Dataset-1.zip
Files
(2.0 GB)
| Name | Size | Download all |
|---|---|---|
|
md5:341a250cf6a2000dae506523ac9e3cc4
|
24.4 kB | Preview Download |
|
md5:97d6d4f1cae1fcacc6e7237de94c6ead
|
1.9 GB | Preview Download |
|
md5:664da83dfab4d9d6edf6911584d56fe9
|
33.1 MB | Preview Download |
|
md5:2138a3b7214c9aec499010ba6cff555d
|
68.1 MB | Preview Download |
|
md5:32f6341f7cfe57df4ce37b415e7694a2
|
57.2 kB | Preview Download |