CISPA
Browse

PortPrint: Identifying Inaccessible Code with Port Contention

Download (884.75 kB)
conference contribution
posted on 2025-03-06, 12:37 authored by Tristan HornetzTristan Hornetz, Michael Schwarz
In many real-world scenarios, being able to infer specific software versions or variations of cryptographic libraries is critical to mounting targeted exploits. For this, traditional version-detection approaches often rely on direct inspection of programs. However, modern computing platforms frequently employ protection for code, e.g., using execute-only memory (XOM) or trusted execution environments (TEE) to safeguard sensitive code from disclosure and reverse engineering. This paper demonstrates how side-channel measurements via CPU port contention reveal distinctive execution signatures, even when code is inaccessible for inspection. Our proof-of-concept implementation PortPrint identifies cryptographic functions, reveals library versions, and even uncovers whether a WolfSSL build is vulnerable to CVE-2024-1544 or if Spectre mitigations are active in Xen. We verify that PortPrint works despite state-of-the-art code protection mechanisms, such as memory protection keys, hypervisor-based XOM, Intel SGX, Intel TDX, and AMD SEV. We also report a negative result for leaking code protected with these techniques using Meltdown and Foreshadow, providing valuable insights into the limitations of these attacks. Our results show that hardware-based isolation is insufficient to conceal instruction streams.

History

Name of Conference

Microarchitecture Security Conference (µASC)

CISPA Affiliation

  • Yes

BibTeX

@conference{Hornetz:Schwarz:2025, title = "PortPrint: Identifying Inaccessible Code with Port Contention", author = "Hornetz, Tristan" AND "Schwarz, Michael", year = 2025, month = 2 }

Usage metrics

    Categories

    No categories selected

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC