Credits: 4 (3-0-2)

Description

The goal of this course is to introduce challenges in securing computer systems and networks. We will discuss various types of vulnerabilities in existing software interfaces, such as buffer overflows, unsafe libc functions, filesystem design issues, etc. We will also discuss modern-day defenses against attacks exploiting these vulnerabilities. In network security, we will discuss security problems in network protocols and routing, such as sniffing, denial of service, viruses, worms, etc. and defenses against them. The course will involve reading research papers on relevant topics, programming assignments, and projects.