Course Description

This course provides an in-depth introduction to computer systems security, covering fundamental principles, cryptography, hardware and software trust, side-channel attacks, wireless security, malware, and modern techniques for secure computation and attestation.

Learning Outcomes

  • Understand core principles of computer and system security
  • Explain how trust is established in computing systems (hardware, OS, TPM)
  • Differentiate between symmetric and asymmetric cryptographic systems
  • Analyze common attack vectors including physical, side-channel, and wireless attacks
  • Evaluate malware behavior and memory safety vulnerabilities
  • Apply techniques such as control-flow integrity and isolation for secure systems
  • Understand and explain remote attestation and trusted execution environments
  • Assess modern security challenges in cyber-physical and distributed systems

Course Schedule

This is a tentative plan. Depending on the progress and demand, we might spend more/less time on each topic.

Week 1: Introduction to Security

  • Basic principles
  • Overview of computer system security topics
  • Establishing trust: hardware, OS, secure boot, TPM

Week 2: Introduction to Cryptography

  • Symmetric and asymmetric cryptosystems
  • Stream vs. block ciphers
  • Hash functions, MACs, digital signatures
  • Advanced topic: blockchains

Week 3: Cyber-Physical Systems and Sensor Security

  • System design and threat models
  • Physical attacks
  • Transduction attacks

Week 4: Physical Side-Channel and Fault Attacks

  • Side-channel leakage
  • Fault injection attacks
  • Defense mechanisms

Week 5: RF and Wireless Security

  • Wireless security fundamentals
  • Device fingerprinting
  • Privacy and distance bounding

Weeks 6–7: Malware and Memory Safety

  • Memory safety vulnerabilities
  • Types of malware
  • Software Fault Isolation (SFI) and sandboxing
  • Binary analysis techniques

Weeks 8–9: Remote Computation and Attestation

  • Control-flow integrity (software and hardware)
  • Isolation and trusted execution environments
  • Remote attestation

Week 10: Review and Other Topics

  • Course review
  • Additional advanced topics
  • Final presentations

Assessment (absolute grading)

  • Computer Assignments: 30%
  • Final Project: 20%
  • Exams: 30%
  • Class Presentation: 20%

Final Grade: A+: top 5% of the class, [100,93): A, [93, 90): A-, [90, 60): B, <60: F