SpecCheck

A finite state machine formalization common to all speculation based transient execution vulnerabilities. This formalization tracks data dependencies during misspeculated code regions and identifies unsafe regions in software that may leak data via Spectre. This work was developed as a proof of concept in the gem5 simulator as a debugging module for developing secure architectures. This work was the basis of my Masters thesis and was presented at PACT 2023


SpecRNN

Leveraging Recurrent Neural Networks (RNNs) with LSTM layers to learn processor pipeline behaviour of programs vulnerable to Spectre attacks. Our platform attempts to follow program flow at the microarchitectural level to observe hardware state changes on a simulated x86 architecture by using the gem5 simulator. By providing the model with a sufficient number of gem5 traces from Spectre vulnerable programs and programs guaranteed to be safe from said attacks, the model is able to differentiate between a safe and vulnerable program by observing patterns in pipeline state.

This research has been presented at the University of Colorado Undergraduate Research Symposium, the HASP workshop at MICRO '21, NCUR '22, and was defended as my bachelors thesis in May 2022.