CS7580 Fall 2016

Special Topics in Security explores recent research and unsolved problems in systems, network, software, and hardware security. The goals of the course are the following:

  • Expose students to the latest attacks and proposed defenses
  • Encourage students to critically evaluate recent research
  • Propose and discuss new approaches to security

Examples of topics covered by this course include:

  • Cyber-physical systems
    • Internet of Things
    • Autonomous systems
    • Industrial control systems
  • Algorithmic complexity attacks
  • Side channels and covert channels

CS5770 Spring 2016

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

CS5770 Fall 2015

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

CS5770 Spring 2015

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

CS3740 Fall 2014

CS3740 is an undergraduate introduction to the principles of computer security. The goals of the course are the following:

  • Introduce the fundamental principles of designing and implementing secure programs and systems
  • Present and analyze prevalent classes of attacks against systems - Discuss techniques for identifying the presence of vulnerabilities in system design and implementation, preventing the introduction of or successful completion of attacks, limiting the damage incurred by attacks, and recovering from system compromises
  • Present the ethical considerations of security research and practice

This course offers opportunities for hands-on practice of real-world attack and defense in several domains, including systems administration, the Web, and mobile devices.

CS4740 Fall 2014

CS4740/6740 is a mixed undergraduate and graduate-level course on network security covering a diverse range of topics at all layers of the networking stack, from physical to application-level security. The course focuses on the intersection between systems security principles and networking, from abstract models to their application in systems code, the Web, and mobile platforms. There is a pronounced emphasis on practical techniques for both defending and attacking systems in support of the high-level goal to impart the “attacker’s mindset.”

CS3740 Spring 2014

CS3740 is an undergraduate introduction to the principles of computer security. The goals of the course are the following:

  • Introduce the fundamental principles of designing and implementing secure programs and systems
  • Present and analyze prevalent classes of attacks against systems - Discuss techniques for identifying the presence of vulnerabilities in system design and implementation, preventing the introduction of or successful completion of attacks, limiting the damage incurred by attacks, and recovering from system compromises
  • Present the ethical considerations of security research and practice

This course offers opportunities for hands-on practice of real-world attack and defense in several domains, including systems administration, the Web, and mobile devices.

EECE7398 Spring 2013

EECE7398 is a special topics course on network and systems security, providing a broad overview of a diverse range of topics across these two domains. The course builds from foundational security models and principles to examine attacks and defenses in systems code, the Web, and mobile platforms. There is a pronounced emphasis on practical techniques in support of the high-level goal to impart the “attacker’s mindset.”

CS7780 Fall 2012

CS7780 is a graduate level course on malicious software, or malware. In this course, we will examine malware both through the lens of recent academic literature as well as through practical research projects. The aim is to explore how malware manifests in systems-level code, on the Web, and in mobile devices, and to discuss approaches to dealing with malware in each of these settings. Representative topics of discussion include those from the following non-exhaustive list.

  • Vulnerability discovery
  • Program analysis
  • Fuzzing
  • Malware detection using program analysis
  • Malware classification and triage
  • Intrusion detection
  • Malware containment

The format of the classes will be biased towards interactive discussion, with little emphasis on lectures. Students should come to class prepared to discuss the week’s readings and assignments.

CS4740 Spring 2012

CS4740/6740 is a mixed undergraduate and graduate-level course on network security covering a diverse range of topics at all layers of the networking stack, from physical to application-level security. The course focuses on the intersection between systems security principles and networking, from abstract models to their application in systems code, the Web, and mobile platforms. There is a pronounced emphasis on practical techniques for both defending and attacking systems in support of the high-level goal to impart the “attacker’s mindset.”