Towards Formal Verification of a TPM Software Stack

07/31/2023
by   Yani Ziani, et al.
0

The Trusted Platform Module (TPM) is a cryptoprocessor designed to protect integrity and security of modern computers. Communications with the TPM go through the TPM Software Stack (TSS), a popular implementation of which is the open-source library tpm2-tss. Vulnerabilities in its code could allow attackers to recover sensitive information and take control of the system. This paper describes a case study on formal verification of tpm2-tss using the Frama-C verification platform. Heavily based on linked lists and complex data structures, the library code appears to be highly challenging for the verification tool. We present several issues and limitations we faced, illustrate them with examples and present solutions that allowed us to verify functional properties and the absence of runtime errors for a representative subset of functions. We describe verification results and desired tool improvements necessary to achieve a full formal verification of the target code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/17/2023

Rely-guarantee Reasoning about Concurrent Memory Management: Correctness, Safety and Security

Formal verification of concurrent operating systems (OSs) is challenging...
research
11/11/2019

Verifying OpenJDK's LinkedList using KeY

As a particular case study of the formal verification of state-of-the-ar...
research
11/03/2022

Verifying RISC-V Physical Memory Protection

We formally verify an open-source hardware implementation of physical me...
research
04/22/2023

FVCARE:Formal Verification of Security Primitives in Resilient Embedded SoCs

With the increased utilization, the small embedded and IoT devices have ...
research
09/02/2021

Security-Hardening Software Libraries with Ada and SPARK – A TCP Stack Use Case

This white paper demonstrates how the assurance, reliability, and securi...
research
11/25/2019

Abstract Compilation for Verification of Numerical Accuracy Properties

Verification of numerical accuracy properties in modern software remains...
research
07/09/2019

Trustworthy Graph Algorithms

The goal of the LEDA project was to build an easy-to-use and extendable ...

Please sign up or login with your details

Forgot password? Click here to reset