SoK: Sanitizing for Security

October 4, 2018 ยท View on GitHub

Preparing SPEC CPU2006

cd <SPEC INSTALLATION DIR>
. ./shrc

Sanitizers and configurations

SanitizerConfigurationDescription
memcheckbaseline-speclvm/clang 6.0.0
specValgrind 3.13.0, binaries compiled with llvm/clang 6.0.0
asanbaseline-specllvm/clang 6.0.0
specASan bundled with llvm/clang 6.0.0
lowfatbaseline-specllvm/clang 4.0.0
specLowFat 11671b0b
dangsanbaseline-specllvm/clang r251286, binutils 2.26.1, gperftools c46eb1f3 + DangSan speedup patch
specDangSan 78006af3
msanbaseline-specllvm/clang 6.0.0
specMSan bundled with llvm/clang 6.0.0
typesanbaseline-spec-cppllvm 8f4f26c9, clang d59a142e, compiler-rt 961e7872, gperftools c46eb1f3
spec-cppTypeSan fe25d436
hextypebaseline-spec-cppllvm 8f4f26c9c, clang d59a142e, compiler-rt 961e7872
spec-cppHexType 64c5469c
cfibaseline-spec-cppllvm/clang 6.0.0, binutils 2.30
spec-cppClang CFI bundled with llvm/clang 6.0.0
hexvasanbaseline-specllvm 4607999, clang c3709e7, compiler-rt 38631af
specHexVASAN 164b16e14
ubsanbaseline-specllvm/clang 6.0.0
specUBSan bundled with llvm/clang 6.0.0
# List sanitizers
python benchmark.py --help

# List configurations
python benchmark.py <SANITIZER> --help

Building sanitizers

python benchmark.py <SANITIZER> --setup <CONFIG>

Running benchmarks

python benchmark.py <SANITIZER> --run <CONFIG>

Citing our work

If you use this benchmarking script in an academic work, please cite our paper:

@inproceedings{song2019sanitizing,
  title =	 {{SoK}: Sanitizing for Security},
  author =	 {Song, Dokyung and Lettner, Julian and Rajasekaran, Prabhu
                  and Na, Yeoul and Volckaert, Stijn and Larsen, Per
		  and Franz, Michael},
  booktitle =	 {IEEE Symposium on Security and Privacy},
  year =	 {2019}
}