EC 700 Hardware and Systems Security

Fall 2018


Reading

Lecture Topic Reading
Introduction to cybersecurity: Cyber attacks examples
  • M. Lipp et al. "Meltdown" [PDF]
  • P. Kocher et al. "Spectre Attacks: Exploiting Speculative Execution" [PDF]
Application level attacks: Code injection, Buffer Overflow, Control-Flow Hijacking
  • Y. Younan, W. Joosen, and F. Piessens "Runtime countermeasures for code injection attacks against C and C++ programs" [PDF]
  • V. Kiriansky and C. Waldspurger "Speculative Buffer Overflows: Attacks and Defenses" [PDF]
Classic and Modern encryption algorithms: AES, RSA, Hash, MAC, digital signatures, etc.
  • J. Katz and Y. Lindell "Introduction to modern cryptography" Chapters 4 and 5
  • J. Katz and Y. Lindell "Introduction to modern cryptography" Chapters 10 and 12
Hardware security primitives: Physical unclonable functions, oblivious RAM, circuit obfuscation
  • C. Herder, M. Yu, F. Koushanfar, and Srinivas Devadas, Physical Unclonable Functions and Applications: A Tutorial" [PDF]
  • M. Rostami, F. Koushanfar, and R. Karri "A Primer on Hardware Security: Models,Methods, and Metrics" [PDF]
Distributed trustworthy systems: Distributed key management, authentication, confidentiality
  • Marten van Dijk and Ari Juels "On the Impossibility of Cryptography Alone for Privacy-Preserving Cloud Computing" [PDF]
  • Lecture notes
Secure computing: Secure multiparty computation, homomorphic computation
  • Craig Gentry "Computing Arbitrary Functions of Encrypted Data" [PDF]
  • C. Moore et al. "Practical Homomorphic Encryption: A Survey" [PDF]
  • Maha Tebaa and Said El Hajii "Secure Cloud Computing through Homomorphic Encryption" [PDF]
  • Ueli Maurer "Secure multi-party computation made simple" [PDF]
Secure Architecture Design Concepts: Isolation, obfuscation, attestation
  • Chao Zhang et al. "Practical Control Flow Integrity and Randomization for Binary Executables" [PDF]
  • Lecture notes
Memory integrity, cache side channel, secure boot, trusted OS
  • R. Elbaz et al. "Hardware mechanisms for memory authentication: A survey of existing techniques and engines" [PDF]
  • Pramod Subramanyan et al. "A Formal Foundation for Secure Remote Execution of Enclaves" [PDF]
  • Shay Gueron "A Memory Encryption Engine Suitable for General Purpose Processors" [PDF]
Software Guard Extensions (SGX) and Trusted Execution Technology (TXT)
  • V. Coston and S. Devadas, “Intel SGX explained” [PDF]
  • J. Rutkowska "Intel x86 considered harmful"[PDF]
ARM TrustZone Technology and derived processor architectures
  • N. Zhang, K. Sun, W. Lou, Y. T. Hou "CaSE: Cache-Assisted Secure Execution on ARM Processors" [PDF]
  • D. Gruss, R. Spreitzer, and S. Mangard "Cache Template Attacks: Automating Attacks on Inclusive Last-Level Caches" [PDF]
Apple Secure Enclave Processor (SEP) and underlining principles
  • L. Bu, M. Mark, and M. A. Kinsy "A Short Survey at the Intersection of Reliability and Security in Processor Architecture Designs" [PDF]
  • Lecture notes
Secure processor design - MIT Aegis, Ascend, and Sanctum
  • V. Costan, I. Lebedev, and S. Devadas "Sanctum: Minimal Hardware Extensions for Strong Software Isolation" [PDF]
  • I. Lebedev, K. Hogan, S. Devadas "Secure Boot and Remote Attestation in the Sanctum Processor" [PDF]
  • G. E. Suh, C. W. O'Donnell and S. Devadas "Aegis: A Single-Chip Secure Processor" [PDF]
Secure processor design - BU Hermes and Sphinx
  • M. A. Kinsy, L. Bu, M. Isakov and M. Mark "Hermes: Designing Secure Heterogeneous Multicore Systems from Untrusted Components" [PDF]
  • Lecture notes
Secure Machine Learning Accelerators
  • O. Ohrimenko et al. "Oblivious Multi-Party Machine Learning on Trusted Processors" [PDF]
  • Lecture notes
Issues related to secure IC supply chain management
  • M. Tehranipoor and F. Koushanfar "A Survey of Hardware Trojan Taxonomy and Detection" [PDF]
  • Riad S. Wahby et al. "Verifiable ASICs" [PDF]