Courses

Recent courses and seminars

Software Vulnerabilities and Security, Spring 2024

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
  • Reverse engineering and binary analysis
  • Static and dynamic vulnerability discovery
  • Malware analysis and triage
  • Web security

Network Security, Fall 2023

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications
  • Network service vulnerabilities
  • Malicious campaigns and exploitation

Network Security, Spring 2023

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

Software Vulnerabilities and Security, Fall 2022

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:

  • Web security
  • Memory corruption
  • Reverse engineering and binary analysis
  • Static and dynamic vulnerability discovery
  • Malware analysis and triage

Network Security, Spring 2022

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

Network Security, Fall 2021

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

Network Security, Spring 2021

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

Network Security, Fall 2020

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

Network Security, Spring 2020

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
  • Low-level network attacks
  • Wireless security
  • Naming and routing
  • Privacy and anonymity
  • Web security
  • Cloud applications

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