Research

Our research examines the security of computer systems across embedded, virtualized, and networked environments. We develop practical approaches to memory protection, trusted execution, automated analysis, and runtime threat detection through hardware and software design.

View all publications

Memory Protection

  • Memory safety
  • Kernel isolation
  • Access control

Memory errors and excessive access privileges can let faults spread across system components. We develop fine-grained memory-protection and isolation mechanisms for applications, kernel extensions, and resource-constrained devices.

Selected publications

Trusted Execution

  • Trusted execution
  • Secure virtualization
  • Data protection

Sensitive computation depends on well-defined protection boundaries across the software stack. We study hardware-backed isolation, trusted execution, and virtualization mechanisms that protect code and data while keeping isolation overhead practical.

Selected publications

Automated Analysis

  • Program analysis
  • Fuzzing
  • Protocol analysis

Understanding software behavior and interfaces is essential for security analysis and testing, but often requires substantial manual effort. We develop automated techniques for binary analysis and function-level fuzzing, and study how field structure inferred from communication traces can support protocol and traffic analysis.

Selected publications

Runtime Monitoring

  • Runtime monitoring
  • Intrusion detection
  • Hardware-assisted analysis

Detecting attacks requires useful observations of system state and execution. We study efficient runtime-information collection, kernel-integrity monitoring, and hardware-assisted behavior analysis to support learning-based intrusion and anomaly detection.

Selected publications