About me

I am an assistant professor in the Department of Computer Science at William & Mary. My research is in computer systems security, specifically in microarchitecture security, side and covert channels and isolated execution and secure hardware design.

I received a Ph.D. degree in Computer Science from Binghamton University where I worked under the supervision of prof. Dmitry Ponomarev (Binghamton University) and prof. Nael Abu-Ghazaleh (UC Riverside).

I am broadly interested in cybersecurity and computer architecture, including: various topics in computer architecture, high performance computing, malware detection, virtualization and operating systems.

Looking for self-motivated students! If you are interested to work with me on cutting edge research in computer security, please send me an email or stop by my office!

I received the NSF CAREER award in 2022. Thank you NSF!

Research Funding

My research group is supported by the following research grants:

Current Research Projects:

Microarchitectural weird machines

The focus of this research direction lies at the intersection of microarchitecture security and the theory of computation, utilizing the intriguing concept of “weird machines” to investigate the hidden vulnerabilities and unintended side-effects within modern CPU microarchitectures. By systematically identifying and documenting microarchitecture side-effects, this cutting-edge research explores the computational capabilities of these weird machines, pushing the boundaries of our understanding of how they can be exploited by potential attackers. The research also delves into the feasibility of constructing a universal microarchitecture weird machine capable of performing arbitrary computations. With the ultimate goal of improving the security landscape of modern computer systems, this research direction seeks to establish a novel approach for uncovering and addressing microarchitecture vulnerabilities and to foster a deeper understanding of the complex interactions within computing systems.

Exploring branch predictor vulnerabilities and defenses

In this project we explore security vulnerabilities within the branch prediction unit (BPU) of modern high-performance CPUs. The goals of this project are to uncover novel attack vectors and to introduce an innovative secure BPU design. By investigating previously unknown branch instruction collision patterns, transient trojans, and the intricate balance between robust isolation properties and minimal performance impact, this research pushes the boundaries of CPU security. We discover how to improve BPU security by developing a novel design that maintains performance while enhancing resilience against sophisticated attacks.

Developing new defense techniques against microarchitectural attacks

The goal of this project is to develop new countermeasures against microarchitectural side-channel, covert, and speculative execution attacks, all while preserving performance. By employing new techniques such as smart prefetchers, advanced code analysis, and modifications to existing hardware components, this research direction aims to strike the perfect balance between robust security and high performance.

Exploring new microarchitecure attacks

The focus of this project is on uncovering novel microarchitectural side-channel attacks in less-explored CPU components such as CPU interconnect, memory controllers, integrated GPU, and the complex interactions between different hardware modules.