Affiliation:
1. CEA LIST, Saclay, France / Université Paris-Saclay, Saclay, France
Abstract
Most software analysis techniques focus on bug reachability. However, this approach is not ideal for security evaluation as it does not take into account the difficulty of triggering said bugs. The recently introduced notion of robust reachability tackles this issue by distinguishing between bugs that can be reached independently from uncontrolled inputs, from those that cannot. Yet, this qualitative notion is too strong in practice as it cannot distinguish mostly replicable bugs from truly unrealistic ones. In this work we propose a more flexible quantitative version of robust reachability together with a dedicated form of symbolic execution, in order to automatically measure the difficulty of triggering bugs. This quantitative robust symbolic execution (QRSE) relies on a variant of model counting, called functional E-MAJSAT, which allows to account for the asymmetry between attacker-controlled and uncontrolled variables. While this specific model counting problem has been studied in AI research fields such as Bayesian networks, knowledge representation and probabilistic planning, its use within the context of formal verification presents a new set of challenges. We show the applicability of our solutions through security-oriented case studies, including real-world vulnerabilities such as CVE-2019-20839 from libvncserver.
Publisher
Association for Computing Machinery (ACM)
Reference56 articles.
1. [n. d.]. https://github.com/LibVNC/libvncserver Online, accessed November 17th 2023
2. Abdulrahman Alshammari, Christopher Morris, Michael Hilton, and Jonathan Bell. 2021. FlakeFlagger: Predicting Flakiness Without Rerunning Tests. In Proceedings of the 43rd International Conference on Software Engineering. IEEE Press, 1572–1584. isbn:978-1-4503-9085-9
3. Alternating-time temporal logic
4. Abdulbaki Aydin Lucas Bang and Tevfik Bultan. 2015. Automata-Based Model Counting for String Constraints. 255–272. isbn:978-3-319-21689-8 https://doi.org/10.1007/978-3-319-21690-4_15 10.1007/978-3-319-21690-4_15
5. Parameterized model counting for string and numeric constraints