Course Description

Understanding the basics of computer security is essential for any technology worker today. There are persistent threats `in the wild' seeking to break security, extract information, corrupt data, or hold data for ransom. These attacks are possible due to weaknesses primarily in software supporting modern complex systems but they may also occur in hardware.

In the class, we will discuss the principles and practice of computer system security, with particular emphasis on:

One of the main objectives of this course is adversarial thinking: students should be able to quickly zoom in on the weakest link in any security technology, or system design. Students should be able to imagine how an attacker might break their system, and build in protection and mitigation measures to ward off such attacks.

There will be lectures in class but, in addition, the student is expected to study class notes, recommended references and supplemental videos to enhance their learning over the course of the semester.