Courses


Special Topics in Offensive Security, Fall 2019

Special Topics in Offensive Security is a graduate course that explores the tools and techniques used to attack systems, networks, and software. The course goals are the following:

  • Provide both theoretical and working knowledge of popular vulnerability classes and how to exploit them
  • Enumerate deployed defense classes and how to bypass them
  • Examine techniques for discovering 0-day vulnerabilities and developing proof-of-concept exploits
  • Provide hands-on experience in the stages of typical attack campaigns

Topics covered by this course include:

  • Security foundations
  • Memory corruption
  • Reverse engineering
  • Fuzzing
  • Reconnaissance
  • Privilege escalation
  • Attack persistence
  • Data exfiltration
More »

Network Security, Spring 2019

Network Security explores practical elements of securing networked systems and services. The course goals are the following:

  • Provide a solid understanding of the design and analysis of network security architectures, protocols, and services
  • Provide an in-depth examination of contemporary network security standards and their limitations
  • Provide hands-on experience in attacking and defending network services

Topics covered by this course include:

  • Security foundations
  • Attacks against the network stack
  • Wireless security
  • Naming and routing
  • Distributed systems and consensus
  • Privacy and anonymity
  • Web security
More »

Software Vulnerabilities and Security, Fall 2018

Software Vulnerabilities and Security is a graduate course covering common software programming, configuration, and design mistakes, and how to avoid them. The goals of the course are the following:

  • Examine major vulnerability classes introduced in various software domains and levels of the software stack
  • Understand effective techniques for defending against exploitation in situ
  • Understand approaches for detecting the presence of vulnerabilities during development and deployment
  • Gain hands-on experience in attacking and defending vulnerable software

Examples of topics covered by this course include:

  • Memory corruption
  • Web security
  • Intrusion detection
  • Reverse engineering and binary analysis
  • Static and dynamic vulnerability discovery
  • Malware classification and triage
More »