@inproceedings{6159fba6aa6f417682f2beabe30b276e,
title = "Triggerflow: Regression Testing by Advanced Execution Path Inspection",
abstract = "Cryptographic libraries often feature multiple implementations of primitives to meet both the security needs of handling private information and the performance requirements of modern services when the handled information is public. OpenSSL, the de-facto standard free and open source cryptographic library, includes mechanisms to differentiate the confidential data and its control flow, including run-time flags, designed for hardening against timing side-channels, but repeatedly accidentally mishandled in the past. To analyze and prevent these accidents, we introduce Triggerflow, a tool for tracking execution paths that, assisted by source annotations, dynamically analyzes the binary through the debugger. We validate this approach with case studies demonstrating how adopting our method in the development pipeline would have promptly detected such accidents. We further show-case the value of the tooling by presenting two novel discoveries facilitated by Triggerflow: one leak and one defect.",
keywords = "Applied cryptography, Continuous integration, Dynamic program analysis, OpenSSL, Regression testing, Side-channel analysis, Software testing",
author = "Iaroslav Gridin and {Pereida Garc{\'i}a}, Cesar and Nicola Tuveri and Brumley, {Billy Bob}",
note = "jufoid=62555; International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment ; Conference date: 19-06-2019 Through 20-06-2019",
year = "2019",
doi = "10.1007/978-3-030-22038-9_16",
language = "English",
isbn = "9783030220372",
series = "Lecture Notes in Computer Science",
publisher = "Springer Verlag",
pages = "330--350",
editor = "Cl{\'e}mentine Maurice and Giorgio Giacinto and Roberto Perdisci and Magnus Almgren and Roberto Perdisci",
booktitle = "Detection of Intrusions and Malware, and Vulnerability Assessment - 16th International Conference, DIMVA 2019, Proceedings",
address = "Germany",
}