Port Contention for Fun and Profit
Simultaneous Multithreading (SMT) architectures are attractive targets for side channel enabled attackers, with their inherently broader attack surface that exposes more per physical core microarchitecture components than cross core attacks. In this work, we explore SMT execution engine sharing as a side channel leakage source. We target ports to stacks of execution units to create a high resolution timing side channel due to port contention, inherently stealthy since it does not depend on the memory subsystem like other cache or TLB based attacks. Implementing our channel on Intel Skylake and Kaby Lake architectures featuring Hyper Threading, we mount an end to end attack that recovers a P 384 private key from an OpenSSL powered TLS server using a small number of repeated TLS handshake attempts. Furthermore, we show that traces targeting shared libraries, static builds, and SGX enclaves are essentially identical, hence our channel has wide target application.
2019 IEEE Symposium on Security and Privacy (SP)