Verifying Cryptographic Security Implementations in C Using Automated Model Extraction
Mihhail Aizatulin

TL;DR
This paper introduces an automated approach for verifying cryptographic security properties in C protocol implementations by symbolic execution and model extraction, enabling effective analysis with CryptoVerif and ProVerif.
Contribution
It presents a novel symbolic execution algorithm that models protocol paths in C, facilitating automated security verification without extensive user input.
Findings
Successfully verified over 3000 lines of code in real-world protocols.
Detected and helped fix security flaws in a large independent implementation.
Enabled verification of fixed code without additional modifications.
Abstract
This thesis presents an automated method for verifying security properties of protocol implementations written in the C language. We assume that each successful run of a protocol follows the same path through the C code, justified by the fact that typical security protocols have linear structure. We then perform symbolic execution of that path to extract a model expressed in a process calculus similar to the one used by the CryptoVerif tool. The symbolic execution uses a novel algorithm that allows symbolic variables to represent bitstrings of potentially unknown length to model incoming protocol messages. The extracted models do not use pointer-addressed memory, but they may still contain low-level details concerning message formats. In the next step we replace the message formatting expressions by abstract tupling and projection operators. The properties of these operators, such as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Formal Methods in Verification · Advanced Authentication Protocols Security
