Class meets: Mon, Wed, Fri, 10:00am to 11:05am, Sudikoff 214
This course is intended as a broad overview of computer security topics, from the basics of cryptography and OS foundations to practical exploitation, spoofing, and malware techniques. In particular, assigned reading will include Phrack articles, Defcon presentations, and similar materials.
We will examine common privacy and trust related assumptions that users tend to make, show a number of them to be inaccurate, and discuss available and proposed solutions. In particular, we will consider the most popular vulnerabilities and their implications. The purpose of this part of the course will be to clarify the extent to which computer systems should be relied on and trusted in various circumstances.
Another goal of this course is to help develop an idea of the attacker's view of computer systems, as opposed to that of a typical user, programmer, or system administrator. To this end, we will use publicly available auditing and penetration testing tools.
We will look at uses of encryption for security and privacy. We will also point out some implementation pitfalls that undermine the theoretical power of cryptographic algorithms.
Our toys will include some of the following: