micropatch-bench
Micropatching benchmarks compiled by Aarno Labs and MIT for DARPA Assured Micro-patching (AMP)
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.2%) to scientific vocabulary
Repository
Micropatching benchmarks compiled by Aarno Labs and MIT for DARPA Assured Micro-patching (AMP)
Basic Info
- Host: GitHub
- Owner: Aarno-Labs
- License: mit
- Language: Dockerfile
- Default Branch: main
- Size: 864 MB
Statistics
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
MicroPatch Bench
This repository contains real-world source micro-patching examples from popular open-source programs. The patches focus on security vulnerabilities such as buffer overflows, integer overflows, command injection, etc.
Requirements
- git LFS, please install and enable before you clone
- Linux host (tested with Ubuntu 20.04)
- Docker (tested with version 19.03.8)
Benchmark Artifacts
The benchmarks are located in the benchmarks
directory. Each benchmark includes a Dockerfile that will build the
binaries of the benchmark on any system that supports Docker. Inside
of each benchmark directory is a compressed tarball of the source and
a patch directory that includes a diff-based patch on the source
code.
The Dockerfile will build the original binaries and the patched
binaries and copy them to the build directory under the benchmark
directory.
Building the Benchmarks
The build-benchmark.sh script builds a benchmark. Here is the usage
(it must be run from the root directory of this repo):
Usage: build-benchmark.sh [-l] [benchmark-name]
-a build arm version of benchmark (x86_64 is the default).
-l List the names of the benchmarks only.
Build benchmark: build-benchmark.sh benchmark-name
For example, to build the cwebp-0.3.1-mtpaint benchmark for arm you would run:
./build-benchmark.sh -a cwebp-0.3.1-mtpaint
If all goes well, you can find the original and patched binaries under the build folder:
```
$ ls benchmarks/cwebp-0.3.1-mtpaint/build/arm/*
benchmarks/cwebp-0.3.1-mtpaint/build/arm/original:
cwebp
benchmarks/cwebp-0.3.1-mtpaint/build/arm/patched: cwebp ```
The all.sh script will build all benchmarks. It has no arguments
and must be run from the root directory of this repo.
Delete Docker Images
for i in $(ls benchmarks); do docker rmi $i-base; docker rmi $i-patched; done;
To Reference
If you plan to use any of the benchmarks in a publication, please let us know info@aarno-labs.com. Refer to the suite as "MicroPatch Bench".
Also, please cite this repository. See the CITATION.cff file.
Acknowledgments
The work on collecting the programs, patches, and developing the infrastructure to build the benchmarks was funded by the DARPA Assured Micropatching (AMP) program, contract N6600120C4025.
Owner
- Name: Aarno-Labs
- Login: Aarno-Labs
- Kind: organization
- Repositories: 1
- Profile: https://github.com/Aarno-Labs
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Dependencies
- asterisk-11.1.2-cve-2013-2685-common latest build
- ubuntu 16.04 build
- claws-mail-3.8.1-cve-2012-4507-common latest build
- ubuntu 12.04 build
- cwebp-0.3.1-feh-common latest build
- ubuntu 12.10 build
- cwebp-0.3.1-mtpaint-common latest build
- ubuntu 12.10 build
- cwebp-0.3.1-viewnior-common latest build
- ubuntu 12.10 build
- dillo-fltk.39-feh-common latest build
- ubuntu 12.10 build
- dillo-fltk.39-mtpaint-common latest build
- ubuntu 12.10 build
- dillo-fltk.39-viewnior-common latest build
- ubuntu 12.10 build
- dillo-png.203-feh-common latest build
- ubuntu 12.10 build
- dillo-png.203-mtpaint-common latest build
- ubuntu 12.10 build
- dillo-png.203-viewnior-common latest build
- ubuntu 12.10 build
- display-cache.3787-feh-common latest build
- ubuntu 12.10 build
- display-cache.3787-viewnior-common latest build
- ubuntu 12.10 build
- display-xwindow.5619-feh-common latest build
- ubuntu 12.10 build
- display-xwindow.5619-viewnior-common latest build
- ubuntu 12.10 build
- dnsmasq-2.77-cve-2017-14493-common latest build
- ubuntu 16.04 build
- dnsmasq-2.77-cve-2017-14494-common latest build
- ubuntu 16.04 build
- fbc-5458-5459 latest build
- i386/ubuntu 14.04 build