COMP_SCI 354: Computer System Security



CS 213 or COMP_ENG 205 and CS 211


This course will focus on remote computer penetration (hacking). The class will introduce basic theory for many different types of attacks; then we will actually carry them out in 'real-world' settings. The goal is to learn security by learning how to view your machine from a hacker's perspective. In addition, we encourage students to participate in the UCSB International Capture the Flag Competition. Capture the Flag is a network security exercise where the goal is to exploit other machines while defending your own. In fact, this course should prepare you for any one of many capture the flag competitions that take place year round.

We will learn about different types of hacks and preform them. After learning how to execute such exploits and penetrate a network, we will discuss ways to protect a network from others exploiting the same vulnerabilities. Understanding security is essential in all fields of software development and computing.

For major or minors in Computer Science, this course can satisfy the 1) systems breadth, 2) systems depth and 3) security depth areas. If you have any questions, please contact one of the instructors below.

  • This course satisfies the Systems breadth & project requirement.

REQUIRED TEXTBOOK: None. For a full list of class readings, see:


  • "Network Security - Private Communication in a Public World" by Charlie Kaufman, Radia Perlman and Mike Speciner; 2nd Edition, Prentice Hall, 2002
  • "Cryptography and Network Security", by William Stallings, 7th Edition, Prentice Hall, 2015.


PREREQUISITES: COMP_SCI 213 (Introduction to Systems) or COMP_ENG 205 and COMP_SCI 211

HOMEWORK AND PARTICIPATION: Homework will focus on putting to use techniques learned in class. Most of the material is best learned through trial and error, so we will be spending a good amount of class time working on learning different types of exploits. In addition to this, there will be a day later in the quarter when we plan to do a mock Capture the Flag tournament. The logistics will be discussed in class, but this will add valuable experience for the competition in which we plan to enroll. At the end of the quarter, all students will be expected to participate in the UCSB International Capture the Flag Competition as part of Northwestern's team.



  • 25% Participation (labs)

  • 40% Homework (individual projects)

  • 35% Final Exam

  • 5-10% (bonus) for participating in the iCTF

For the labs, please remember to check out with one of the teaching staff at the end of each lab. If you cannot finish it in class, you are expected to finish it within a week. You can check out at TA office hours or the next lab. If you have some emergency, you can check out later. The final deadline is Nov. 26. But don't wait till that date. You will have more and more workload piled up...

We would like to foster a community for students in this class to help each other with projects (without giving solutions, of course).

COMMUNICATION: This class website can be found at The website will be used to host files presented and used in class. In addition, we will use a Google Group, Network Penetration and Security, for communication and discussion. Please join this group as soon as possible. The group can be found at