Published January 5, 2023 | Version ESOP2023
Software Open

Adversarial Reachability for Program-level Security Analysis (artifact)

  • 1. Université Paris-Saclay, CEA, List, Saclay, France
  • 2. Univ. Grenoble Alpes, VERIMAG, Grenoble, France

Description

Many program analysis tools and techniques have been developed to assess program vulnerability. Yet, they are based on the standard concept of reachability and represent an attacker able to craft smart legitimate input, while in practice attackers can be much more powerful, using for instance micro-architectural exploits or fault injection methods.
We introduce adversarial reachability, a framework allowing to reason about such advanced attackers and check whether a system is vulnerable or immune to a particular attacker. As equipping the attacker with new capacities significantly increases the state space of the program under analysis, we present a new symbolic exploration algorithm, namely adversarial symbolic execution, injecting faults in a forkless manner to prevent path explosion, together with optimizations dedicated to reduce the number of injections to consider while keeping the same attacker power. Experiments on representative benchmarks from fault injection show that our method significantly reduces the number of adversarial paths to explore, allowing to scale up to 10 faults where prior work timeout for 3 faults. In addition, we analyze the well-tested WooKey's bootloader, and demonstrate the ability of our analysis to find attacks and evaluate countermeasures in real-life security scenarios. We were especially able to find a new attack on an incomplete patch.

Notes

This is a companion repository made available to support experimental claims of the paper "Adversarial Reachability for Program-level Security Analysis" (https://github.com/binsec/esop2023_artefact). It is available as a Virtual Machine (.ova) or as a Docker image (.tar.gz).

Files

Files (5.5 GB)

Name Size Download all
md5:de80b2fa0a2d61941bf23d1faaa5bd35
4.3 GB Download
md5:34a8a31c5d4bc678f3c82ab08748e6da
1.2 GB Download