Overview
Attacks on computer systems have become part of everyday life. It is
the goal of this class to teach a thorough understanding of the
possible security failures, as well as the protection mechanism. The
class will cover network and host security concepts and mechanisms;
basic cryptographic algorithms and protocols; authentication and
authorization protocols; access control models; common network (wired
and wireless) attacks; typical protection approaches, including
firewalls and intrusion detection systems; and operating systems and
application vulnerabilities, exploits, and countermeasures;
distributed denial of service attacks and botnets. The class will not
only cover the subjects in theory but instead also provide the
students with an extensive hands-on experience. The class will
involve a fair amount of programming. Those who take the class are
expected to be able to program in C/C++, have some basic knowledge of
assembly language, and be familiar with network basics and
programming, as well as Unix-like operating systems.
Prerequisites
The course requires good programming skills (C, C++), including
some knowledge of x86 assembly. Also, a basic background in
operating systems (mainly UNIX) and networking.
Course prereqs:
- CS 506 Introduction to IT Security
- CS 576 (co-requisite)
- CS 590 Algorithms (for grads) or CS 385 Algorithms
(undergrads) or CS 182 Introduction to Computer Science Honors II
(undergrads)
If you feel that you possess the skills to follow this course but
have not taken the prerequisite courses, contact me to establish
whether I can waive the requirements for the course.
Grading
Your final grade will be determined by your performance in the
following:
Lab participation | | 20% |
Labs | | 80% |
Additional Information about the Course