CS 161, Fall 2012 Computer Security
People
Instructor:
Dawn Song (675 Soda Hall)
TA's:
Chia Yuan Cho
Nitesh Mor
Kurt Thomas
Joel Weinberger
Lecture:
MW 4:00-5:30P 277 Cory
Discussion sections:
Tue 10:00am - 11:00 am (75 Evans)
Tue 11:00am - 12:00 pm (75 Evans)
Thr 5:00pm - 6:00pm (310 Soda)
Office hours:
Thu 1:00-2:00 pm (TA) (611, Soda)
Fri 1:00-2:00 pm (TA) (751, Soda)
Announcement
- November 30, 2012
Submission instructions for Lab 6 are available on bSpace
- November 25, 2012 Study guide for Midterm 2 is
available now.
- November 20, 2012
Lab 6 is available now.
- November 15, 2012
The
web security discussion questions from this week's discussion
sections are now available. They are also available
with answers.
- November 5, 2012 Lab 5
is released and due November 19th at 11:59pm.
- October 30, 2012 Solution
for midterm-1 are available.
- October 27, 2012 Submission
script for lab 4 is now available. Submit your files to bspace.
- October 22, 2012 Lab 4 is released
and is due Oct 31, 2012.
- October 10, 2012 Study guide for midterm 1 and
lecture videos are available now.
- October 1, 2012 Lab 3 is released and is due Oct 10, 2012. View the pdf
here.
- September 17, 2012 Lab 2 is released and is due Oct 1, 2012. View the pdf
here.
- September 16, 2012 The submit.sh script is now available for lab 1
here.
Please upload your solution to bSpace.
- September 5, 2012 The first lab is now available
Course Schedule
The course
syllabus includes information on lecture topics, readings, and
assignment related deadlines.
Course Overview
In this class you will learn how to design secure systems and write
secure code. You will learn how to find vulnerabilities in code and how
to design software systems that limit the impact of security
vulnerabilities. We will focus on principles for building secure systems
and give many real world examples. In addition, the course will cover
topics such as:
- memory safety vulnerabilities
- techniques and tools for vulnerability detection and defense
- security principles such as sandboxing, isolation and least privilege
- mobile platform and application security
- basic crypto concepts
- web security
- network security
- malware detection and defense
Course homework and labs will help students practice the concepts and
techniques learned in class, such as how to find vulnerabilities and how
to fix them. The labs and projects are designed to help students
practice the principles of secure system design.
Prerequisites
You must have taken CS 61C (Machine Structures). Also, you must
have taken either Math 55 or CS 70 (Discrete Mathematics).
Labs, Midterms and Exams
There will be 6 labs and 2 midterms. There will be no final exam.
Details will be announced in class.
Grading Summary
Midterms: 20% each
Labs: 10% each
Textbooks
This class does not have a required textbook. We will provide lecture
notes, slides and videos for material covered (when applicable).
The above material is subject to change.
From time to time, we may discuss vulnerabilities in computer
systems. This is not intended as an invitation to go exploit those
vulnerabilities! It is important that we be able to discuss
real-world experience candidly; everyone is expected to behave
responsibly. Breaking into other people's systems is inappropriate,
and the existence of a security hole is no excuse.