CSCI 680: Systems Security, Fall 2017
General Information
- Time and location: Tuesday, Thursday 3:30 pm – 4:50 pm, Morton Hall 39
- Instructor: Dmitry Evtyushkin (Personal Website)
- Office hours: Tuesday, Thursday 5:00PM – 6:30PM or by appointment, McGL 141
- Email: devtyushkin@wm.edu
- Deadlines: Add/Drop Sept: 8, HW1: Oct 5, HW2: Nov 9, Project proposal submission: Sep 26, Project final report: finals week
- Final exam: Dec 13, Wednesday 2:00 – 5:00pm
- Please keep checking this website for the latest information regarding the course.
Prerequisites
Students are expected to have a good understanding of the basic computer organization and design.
Course Materials
Most of the material will be based on the research papers. You might find useful following books:
- Security in Computing by Charles P. Pfleeger and Shari Lawrence Pfleeger
- Security Basics for Computer Architects by Ruby B. Lee
- Hacking: The Art of Exploitation by Jon Erickson
- Applied Cryptography by Bruce Schneier
Course Description
This course focuses on recent advances in computer systems security, including both attacks and countermeasures. An emphasis will be placed on attacks that exploit hardware vulnerabilities and hardware and software protections from these attacks. Specific topics include memory corruption attacks, control flow attacks, return-oriented programming attacks and their variations, side—channel attacks, covert channels, trusted computing systems and secure architectures, malware detection techniques, oblivious memory, and operating system security. The course will also overview recent industry developments, including Intel’s SGX, MPX and CET, ARM’s TrustZone and AMD’s SME and SEV technologies. Students are expected to read recent research papers in the area, present them in class and participate in discussions. Students are also expected to complete a semester-long research project and take a final exam.
Grade Distribution
- Project – 40pt
- In-class presentation – 25pt
- Paper critiques – 15pt
- Final exam – 10pt
- Class participation – 10pt
- Extra points: two homeworks – 10pt
General Information
- Participate in class! Your participation is graded
- We will use Piazza for discussions. Announcements will also be made through Piazza
- Lecture slides from the instructor will be uploaded on Piazza
- Critique are submitted via email, homework Submissions via hard-copy in the class
- Project Proposal and Final Project Report via Email to the Instructor
- Final grade submission via Banner
Paper Critiques and Homeworks
Student presentation order:
- [S1] Tan, Jialiang
- [S2] Kadam, Gurunath
- [S3] Yang, Lishan
- [S4] Li, Bolun
- [S5] Zhang, Tao
- [S6] Liu, Hongyuan
- [S7] Su, Pengfei
List of papers to be presented
Paper ID | Title | Student name |
---|---|---|
[P1] | InvisiMem: Smart Memory Defenses for Memory Bus Side Channel | Lishan Yang |
[P2] | ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories | Gurunath Kadam |
[P3] | EDDIE: EM-Based Detection of Deviations in Program Execution | George Simmons |
[P4] | Quantifying and Improving the Efficiency of Hardware-based Mobile Malware Detectors | Jialiang Tan |
[P5] | Reverse Engineering x86 Processor Microcode | Bolun Li |
[P6] | Prime+Abort: A Timer-Free High-Precision L3 Cache Attack using Intel TSX | Pengfei Su |
[P7] | CAn’t Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory | Lishan Yang |
[P8] | Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory | Pengfei Su |
[P9] | PyTrigger: A System to Trigger & Extract User-Activated Malware Behavior | Tao Zhang |
[P10] | 6thSense: A Context-aware Sensor-based Attack Detector for Smart Devices | Bolun Li |
[P11] | Telling Your Secrets without Page Faults: Stealthy Page Table-Based Attacks on Enclaved Execution | Hongyuan Liu |
[P12] | USB Snooping Made Easy: Crosstalk Leakage Attacks on USB Hubs | Tao Zhang |
[P13] | Another Flip in the Wall of Rowhammer Defenses | Hongyuan Liu |
[P14] | CLKSCREW: Exposing the Perils of Security-Oblivious Energy Management | Jialiang Tan |
[P15] | Malware Guard Extension: Using SGX to Conceal Cache Attacks | Gurunath Kadam |
Instructions for paper critiques:
All students are required to submit a detailed critique for one of the two papers presented in class. The student who presents the paper in-class is not allowed to submit the critique for that particular paper. However, s/he still needs to submit a critique. Deadline for critique submission is one week after we discuss the paper in class.
Submission Format:
Each critique should not exceed one-page and must consists of four sections:
- Paper summary (2-3 lines)
- Strengths (2-3 lines), what you liked about the paper
- Weaknesses (2-3 lines), what you did not like
- Detailed comments (rest of the page) explaining your points
You are encouraged to discuss the papers and homeworks with each other but should write critiques on your own.
In-Class Presentations
Each student will present two papers throughout the semester. If you plan to audit the course, you are required to present at least one paper. When you present a paper, be prepared to answer a variety of questions asked by the instructor or other fellow students. The goal is to make class lively. A list of papers will be provided to students. They can choose from that list or come up with their own suggestions. Suggestions would need approval from the instructor.
During each student presentation, each student (except the presenter) needs to fill the student feedback form. You will be provided with a copy of the form.
Please, share your presentation slides with your fellow students on Piazza after your presentation.
Semester-Long Research Project
Registered students are expected to perform a semester-long research project. If you audit the class you can choose to perform a project. All projects need to be approved by the instructor. Please contact the instructor early to brainstorm potential project ideas. Students are expected to demonstrate some scientific novelty. Suggested topics will be announced by the instructor. However, students are allowed to choose a topic of their interest if (topic needs to overlap with a broader definition of systems security).
You can form teams of two students to work on a project. If you choose to do that, explain in your final report what part of the project were done by each student. Multiple students can work on a same topic independently.
Project Timeline
Phase 1 – Project determination:
Please send an email to the instructor by the deadline (Sep 26) containing:
- Project Name (think of this as your paper/report title)
- Problem Statement
- Expected Steps (setting up infrastructure, implementation, performing experiment, data analyses, etc.)
- Expected/possible outcome and contribution
Phase 2 – Project discussion with instructor
Please meet the instructor during office hours to discuss the status of your project. Explain any observed obstacles, plans, further expectations. Your project’s proposal can be adjusted at this phase.
Phase 3 – Milestone presentation
You are expected to present your progress in class in the middle of semester. Prepare a short (10-15 minutes presentation). The presentation should include:
- Short introduction (background, problem statement, etc.)
- Explain what you are working on currently and your results so far
- Your next steps
- Expected results
Phase 4 – Final Project Presentation
You are expected to present your results in class at the end of semester. Minimize background and problem statement in your presentation and focus on results and conclusions. The presentation is expected to take 10-15 minutes followed by a discussion.
Phase 5 – Final report
Please submit your final report via email your final project report in PDF format. Please use the ACM sigconf format. The PDF should have following sections:
- Problem Statement
- Introduction (with problem statement)
- Threat model (clearly explain all your assumptions)
- Background and Related Work
- Implementation Details
- If you are proposing some security solution, also include a security analyses section
- Results
- Conclusions
If you need any help with the project or have any questions contact the instructor during office hours. If you require access to computational resources or any hardware, talk to the instructor.
Semester Schedule (Watch for updates)
Week | Date | Topic | Reading | Notes |
---|---|---|---|---|
1 | Thu, Aug 31, 17 | Introduction to the Course | Recommended: How to read a research paper by Mitzenmacher; How to read a paper by Keshav | |
2 | Tue, Sep 5, 17 | Security fundamentals, trust and trustworthiness, multi-level attacks | Recommended: Reflections on trusting trust by Ken Thomson; Thirty Years Later: Lessons from the Multics Security Evaluation by Karger | |
Thu, Sep 7, 17 | Software attacks overview, defenses | Recommended: Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade by Cowan; SoK: Eternal War in Memory by Szekeres | ||
3 | Tue, Sep 12, 17 | More software attacks and Cryptography overview | Read: https://goo.gl/VDZSeY Watch: https://youtu.be/YEBfamv-_do Recommended: The Matter of Heartbleed https://goo.gl/i1LNAK | |
Thu, Sep 14, 17 | Code reuse attacks and defenses | On the Effectiveness of Address-Space Randomization by Shacham https://goo.gl/1GTFif | ||
4 | Tue, Sep 19, 17 | Timing, side and covert channel attacks I | Cache Missing for Fun and Profit by Colin Percival: https://goo.gl/21Qnyt | |
Thu, Sep 21, 17 | Timing, side and covert channel attacks II, DRAM attacks I | Lest We Remember: Cold-Boot Attacks on Encryption Keys by Halderman: https://goo.gl/WBBxPU | ||
5 | Tue, Sep 26, 17 | DRAM attacks II | ||
Thu, Sep 28, 17 | Physically unclonable functions | Physical Unclonable Functions for Device Authentication and Secret Key Generation by Suh https://goo.gl/MWkUns | ||
6 | Tue, Oct 3, 17 | Trusted computing, Isolation and confinement I | Native Client: A Sandbox for Portable, Untrusted x86 Native Code by Yee https://goo.gl/2SCGyj | |
Thu, Oct 5, 17 | Isolation and confinement II | Innovative Instructions and Software Model for Isolated Execution by McKeen https://goo.gl/pyVZTB | ||
7 | Tue, Oct 10, 17 | Fault injection attacks | Recommended: A Survey of Hardware Trojan Taxonomy and Detection by Tehranipoor https://goo.gl/cAvN6T | |
Thu, Oct 12, 17 | Hardware trojans, malware overview | |||
8 | Tue, Oct 17, 17 | Fall break | ||
Thu, Oct 19, 17 | Paper presentation [S1:P4], [S2:P2] | |||
9 | Tue, Oct 24, 17 | Paper presentation [S3:P1], [S4:P5] | ||
Thu, Oct 26, 17 | Paper presentation [S5:P9], [S6:P11] | |||
10 | Tue, Oct 31, 17 | Canceled (Traveling to CCS) | Watch https://youtu.be/PLJJY5UFtqY | |
Thu, Nov 2, 17 | Canceled (Traveling to CCS) | Watch https://youtu.be/lR0nh-TdpVg | ||
11 | Tue, Nov 7, 17 | Project milestone presentations [S1/S4,S2,S3] | ||
Thu, Nov 9, 17 | Project milestone presentations [S4,S5,S6] | |||
12 | Tue, Nov 14, 17 | Paper presentation [S7:P6] | ||
Thu, Nov 16, 17 | Paper presentation [S1:P14], [S2:P15] | |||
13 | Tue, Nov 21, 17 | Paper presentation [S3:P7], [S4:P10] | ||
Thu, Nov 23, 17 | Thanksgiving Break | |||
14 | Tue, Nov 28, 17 | Paper presentation [S5:P12], [S6:P13] | ||
Thu, Nov 30, 17 | Paper presentation [S7:P8; P3] | |||
15 | Tue, Dec 5, 17 | Project presentations, final overview | ||
Thu, Dec 7, 17 | Project presentations, final overview | |||
Finals | Wed, Dec 13, 17 | Will include questions from lectures and presented papers | 2:00pm – 5:00pm |
Helpful Services
Students wanting to improve their academic writing or teaching/presenting skills should consider taking GRAD 520: ACADEMIC WRITING and GRAD 550: COLLEGE TEACHING. The courses are offered through the Reves Center and are aimed at non-native English speakers, specifically. If interested please contact Glosson, Sarah G at sgglos@wm.edu.
The Writing Resources Center (WRC) can help when students have questions about how to construct an argument, deliver a presentation, use and cite sources, and more. Please visit the WRC website to request a class visit, tour, or brochures. The Writing Resources Center, located on the first floor of Swem Library, is a free service provided to W&M students. Trained consultants offer individual assistance with writing, presentation, and other communication assignments across disciplines and at any stage, from generating ideas to polishing a final product.
Academic Accommodations
It is the policy of The College of William and Mary to accommodate students with disabilities and qualifying diagnosed conditions in accordance with federal and state laws. Any student who feels s/he may need an accommodation based on the impact of a learning, psychiatric, physical, or chronic health diagnosis should contact Student Accessibility Services staff at 757-221-2509 or at sas@wm.edu to determine if accommodations are warranted and to obtain an official letter of accommodation. For more information, please click here.
Honor Code
Students are required to follow the Honor System of the College of William and Mary.