Given recent high-profile successes in formal verification of security-related properties (e.g., for seL4), and the rising popularity of applying formal methods to cryptographic libraries and security protocols like TLS, we revisit the meaning of security-related proofs about software. We re-examine old issues, and identify new questions that have escaped scrutiny in the formal methods literature. We consider what value proofs about software systems deliver to end-users (e.g., in terms of net assurance benefits), and at what cost in terms of side effects (such as changes made to software to facilitate the proofs, and assumption-related deployment restrictions imposed on software if these proofs are to remain valid in operation). We consider in detail, for the first time to our knowledge, possible relationships between proofs and side effects. To make our discussion concrete, we draw on tangible examples, experience, and the literature.

Additional Metadata
Keywords Computer security, Formal verification, Software engineering
Persistent URL dx.doi.org/10.1109/SecDev.2018.00009
Conference 3rd Annual IEEE Cybersecurity Development Conference, SecDev 2018
Citation
Murray, T. (Toby), & Van Oorschot, P. (2018). BP: Formal proofs, the fine print and side effects. In Proceedings - 2018 IEEE Cybersecurity Development Conference, SecDev 2018 (pp. 1–10). doi:10.1109/SecDev.2018.00009