Instructor(s)

Engin Kirda

Florian Hantke

For correspondence, send a mail to ek@ccs.neu.edu or to f.hantke@northeastern.edu

Office hours: TBD


Teaching Assistants

TBD

News

  1. 09.01.2026 The course website has been updated.

Abstract

Today, computer security problems have started to impact the practical aspects of our lives. Even though there is a considerable corpus of knowledge about tools and techniques to protect systems, information about what the actual vulnerabilities are and how they are exploited is not generally available. The rise of AI has compounded this challenge: attackers now leverage AI-assisted exploit development, automated fuzzing, and LLM-aided social engineering, while AI systems themselves introduce new classes of vulnerabilities. Also, there are many misconceptions when it comes to protecting systems.

This course deals with common programming, configuration, and design mistakes and ways to detect and avoid them. Examples are used to highlight general error classes, such as memory corruption vulnerabilities, injection attacks, and logic flaws. The course also covers AI-specific attack surfaces, including prompt injection and adversarial inputs. Possible protection and detection techniques are examined across both classical and AI-driven attack classes. The course includes a number of practical lab assignments where participants are required to apply their knowledge as well as a discussion of the current research in the field. Students will learn how the security of systems can be violated, and how such attacks can be detected and prevented. The course aims to make students "security aware" and give them a basic understanding of security issues in the age of AI-powered threats.


Some Topics

  • Code security
  • Web security
  • Malware
  • Underground economy
  • Social network security and fraud
  • Reverse engineering and binary analysis
  • Intrusion detection
  • Testing
  • Operational security
  • Supply chain security
  • AI/Agent security

Prerequisites

Programming experience (this course is not for you if you are a complete beginner)
Knowledge of C/C++ useful
Basic web programming knowledge is useful
Knowledge of general computer science concepts

Dates and Times

Tuesdays and Thursdays (T 11:45-1:15pm and Th 2:50-4:20pm, in Snell Library 017)


Slides, Material, and Schedule

All course materials will be available on Canvas.

  • TBD // Final
  • 12.01.2026 // Class 22
  • 11.26.2026 // Fall break / Thanksgiving, no class
  • 11.24.2026 // Class 21
  • 11.19.2026 // Class 20 // Quiz 3
  • 11.17.2026 // Class 19
  • 11.12.2026 // Class 18
  • 11.10.2026 // Class 17
  • 11.05.2026 // Class 16 // Quiz 2
  • 11.03.2026 // Class 15
  • 10.29.2026 // Class 14
  • 10.27.2026 // Class 13
  • 10.22.2026 // Midterm
  • 10.20.2026 // Class 12
  • 10.15.2026 // Class 11
  • 10.13.2026 // Class 10
  • 10.08.2026 // Class 9 // Quiz 1
  • 10.06.2026 // Class 8
  • 10.01.2026 // Class 7
  • 09.29.2026 // Class 6
  • 09.24.2026 // Class 5
  • 09.22.2026 // Class 4
  • 09.17.2026 // Class 3
  • 09.15.2026 // Class 2
  • 09.10.2026 // Class 1

Practical Challenges (Assignments)

Students will "need" to solve a set of practical challenges (assignments) in the lab part of the course. For more information on the challenges and the grading, check this page.


Grading

The course grade will be based on:

10%: Participation
10%: 3 Quizzes (1-2-3)
25%: Midterm exam
25%: Final exam
30%: Security labs

Registration

Registration details will be announced via e-mail to the registered participants.


Last Modified: Tue Sep 1 12:15:47 2026 EDT