Instructor: | Prateek Saxena (dcsprs at nus dot edu dot sg) | |
Room & Timings: | VCR Room1 , Tuesdays Noon - 2pm | |
IVLE Page: | CS6231 (counts towards "Computer Systems" cluster for PhD students) | |
Semester: | AY 2014/2015 Semester 1 |
Security breaches cost billions of dollars worth of damage to the computing industry. Today, cybercriminals control armies consisting of several millions of compromised machines. Attacks are increasingly being perpetrated towards enterprises, individuals, critical infrastructure and even governments. At the same time, our computer systems and platforms are fast evolving to meet the demands of the industry and other sciences (like genomics). Outsourcing of big data, increasing use of personalized devices, and our growing dependence on the web and social networking services is transforming the Internet and computer systems. Have you thought about how computer systems can be designed to secure against the practical challenges for the next 10 years and beyond?
The goal of this class is to enable students to:
The table below lists the schedule of topics.
Week | Date | Topic | Reading | Announcements |
---|---|---|---|---|
1 | 12 Aug | Introduction to Computer Security & Course Overview | Measuring the Cost of Cybercrime | No summary expected |
19 Aug | No class. Please participate on the IVLE forum. | Solve the fun puzzle set collaboratively on the forum. | ||
2 | 26 Aug | Secure Channels | BlackHat USA 2011: SSL And The Future Of Authenticity Assignment: A1 | |
3 | 2 Sep | Isolation, Permissions and Delegation | Jekyll on iOS: When Benign Apps Become Evil Assignment: A2 |
|
4 | 9 Sep | Reference Monitors, Probabilistic Defenses & Puzzles | Transparent ROP Exploit Mitigation Using Indirect Branch Tracing Assignment: A3 |
|
5 | 16 Sep | Virtualization & Trusted Computing | NoHype: Virtualized Cloud Infrastructure without the
Virtualization Assignment: A4 |
|
6 | 23 Sep | Information Flow Control | TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Assignment: A5 |
|
7 | 30 Sep | Symbolic Analyses | A Symbolic Execution Framework for JavaScript Assignment: A6 |
|
8 | 7 Oct | Type Safety | CCured: Type-Safe Retrofitting of Legacy Code Assignment: A7 |
|
9 | 14 Oct | Cryptographic File Systems | Lest We Remember: Cold Boot Attacks on Encryption Keys Assignment: A8 |
|
10 | 21 Oct | Secure Outsourced Storage | PORs: Proofs of Retrievability for Large Files |
|
11 | 28 Oct | Private Computation on Outsourced Data | AUTOCRYPT: Enabling Homomorphic Computation on Servers to Protect Sensitive Web Content
Assignment: A10 |
|
4 Nov | Guest Mini-Lectures: Browsers, Smart Grids, Bitcoin,... |
|||
12 | 11 Nov | Anonymity vs. Differential Privacy | Robust De-anonymization of Large Sparse Datasets
Assignment: A11 |
You are expected to read the listed papers after the class and post clarifications on the forum. For any 5 out of the listed papers, please submit a paper summary for grading. The summary should explain the paper's problem and approach, and then explain your critique of it's technique. To help you analyze the paper, a preliminary set of questions are listed. Please include any future work or research questions that you thought of while reading the papers.
Each paper summary is graded out of 5 points, and you are expected to submit only 5 paper summaries. Your first 5 paper summary scores are counted towards your final grade. That is, if choose to submit paper summaries for all the weeks, we will take your paper summary scores for your first 6 weeks. Paper summaries are to be submitted before the next lecture at 9 a.m., in PDF format. Please submit it directly in the IVLE workbin. Please include your name and matriculation number in your submission. Please name your submission PDF file in the format: "A-N", where N is the assignment number. For example, the filename should be like "A-3".
Please run a plaigarism check on your submission. This is available built into IVLE.
This class is a research-focused class, and is not graded on the curve. It counts towards the computer systems cluster requirement for PhD students. I will explain the detailed logistics of the course in the first lecture. There will be no exam, labs or tutorials for the course. I intend to keep the classes for critical and lively discussions. To get the most out of the class, ask a lot of questions! Naive questions are often the best.
The main deliverable in the class is a term project. You are expected to write a 6-10 page (in 10pt ACM style) paper on any topic with relevance to security. See the projects page for more details. Your project can be done in a team of 2 students, or individually.
This is a research focussed class with a heavy weightage on producing a useful research paper. In lectures, we will broadly discuss emerging challenges and attacks, with specific defense concepts. Take this class if you want to explore research ideas in security or systems. I strongly invite students who are still choosing their research areas to this class. I am also keen to see students from outside of security come and apply their knowledge, especially if you work in PL, operating systems, machine learning, HCI or NLP. The best ideas arise from "out-of-the-box" thinking. Students who are passionate about building systems and have a curiosity about computer security are welcome. If you are unsure about about whether taking this class, I encourage you to show up for the first lecture.
The prerequisite is good undergraduate level understanding of computer science and having taken a undergraduate or graduate course in security. Exceptions to prerequisite requirements are allowed with the permission of the instructor.
In this class, you will be exposed to several powerful attack techniques. This class is not an invitation exploit vulnerabilities in the wild without informed consent of all involved parties. Attacking someone else's computer system is an offence; you are expected to use your knowledge with discretion.
For all readings and assignments, please feel free to discuss with your peers and use the Internet. But, you should write up your own submissions and cite any external resources you utilize in your write-ups. All students must comply with NUS academic honesty policies.
Here is an initial list of project ideas to help you get started on research problem. You are encouraged to find and work on a problem that you really like, even if it has only some relevance to computer security. If you have your own idea, that's good!