ENEE 657 :: Fall 2017 :: Course Syllabus

Course philosophy

To create effective security mechanisms, you must understand the capabilities of real-world attackers. Practical experience suggests that many security technologies (e.g. firewalls, access control, password protection, vulnerability patching) are not enough for defending against skilled and persistent hackers. ENEE 657 therefore aims to complement an understanding of the design and implementation of secure systems with knowledge of data analytics techniques, to measure the effectiveness of security mechanisms or to infer malicious activity from large volumes of data.

ENEE 657 is a graduate security class. This means that knowledge is not delivered mainly through lectures where you sit back and listen; instead, you will learn by reading, explaining and doing. You will read 2-3 recent papers per week; most of the information from these papers is not covered in any textbook. Before each class you will submit critiques for the papers you read, using a defined written template. During the lecture, selected students will debate the technical merits of the papers using a structured discussion format. You will also apply some of the ideas discussed in a semester long project, for which you are encouraged to form teams with 2+ members. Your grades will be based on two background homeworks, the paper critiques, class participation, and the course project.

Textbooks

No required textbook. Reading materials will be provided on the course website and/or distributed in class. If you lack the basic background in security, the following textbooks may be helpful:

Grading

Your final grade for the course will be based on the following weights:

Submit your homeworks and critiques using the GRACE system.

Paper critiques are due at 12 PM one week before class, unless otherwise indicated.

Project and homework submissions are due at midnight on the indicated days.

Schedule

Also available as an ical file that you can subscribe to.

# Date Topics Notes Readings
Part 1: Fundamental Principles
1 Mon 08/28 Introduction to security: trust, threat models, attack vectors and security properties
[pdf]
2 Wed 08/30 Memory corruption and vulnerability exploits
Hands-on lab: Buffer overflow
[pdf]
Homework 1 out Low-Level Software Security by Example
Mon 09/04 Labor Day
3 Wed 09/06 Cryptography: guarantees provided and common misuse patterns
[pdf]
Homework 1 due on Friday, 09/08 Cryptographic Misuse in Android Applications
4 Mon 09/11 OS protection mechanisms: least privilege, reference monitors, confinement
[pdf]
Pilot-project proposals due SETUID Demystified
Wed 09/13 Hands-on lab: Security analytics
[pdf]
Homework 2 out
5 Mon 09/18 Network security fundamentals: threats and attack detection
[pdf]
First critiques due (for readings on 09/25) A Look Back at "Security Problems in the TCP/IP Protocol Suite"
Part 2: Software Security
Wed 09/20 Hands-on lab: Presenting security concepts
[pdf]
Homework 2 due
6 Mon 09/25 Automatic exploit generation and obfuscation
Template
Pilot-project reports due
First structured discussions
Big Ideas
Automatic Patch-Based Exploit Generation, Infeasibility of Modeling Polymorphic Shellcode
7 Wed 09/27 Software fault isolation
Template
Pilot-projet reviews due
Big Ideas
Efficient Software-Based Fault Isolation
8 Mon 10/02 Impact of vulnerability exploits
Template
Group-project proposals due
Big Ideas
How to 0wn the Internet in Your Spare Time, Exploit-as-a-service
9 Wed 10/04 Quantitative information flow
Template
Big Ideas
Measuring Channel Capacity
Part 3: Protection Mechanisms
10 Mon 10/09 Confinement
Template
Big Ideas
Practical Problems in System Call Interposition Based Security Tools
11 Wed 10/11 Trustworthy computing
Template
Big Ideas
Flicker, KISS Corporate Key Management
12 Mon 10/16 Updates and revocations
Template
Big Ideas
When Private Keys are Public, The Process of Updating Software
13 Wed 10/18 Reputation-based security
Template
Big Ideas
Guilt by-Association: Large Scale Malware Detection by Mining File-relation Graphs
14 Mon 10/23 Password security
Template
Big Ideas
The Science of Guessing, Modeling Password Guessability Using Neural Networks
Wed 10/25 Project Checkpoint #1
15 Mon 10/30 Frontiers: IoT Security
Template
Big Ideas
Security Analysis of Emerging Smart Home Applications
Part 4: Real-World Cybercrime
16 Wed 11/01 Spam
Template
Big Ideas
Spamalytics, Click Trajectories
17 Mon 11/06 Man-In-The-Middle Attacks
Template
Big Ideas
Analyzing Forged SSL Certificates in the Wild, Empirical Analysis of Email Delivery Security
18 Wed 11/08 Zero-day attacks
Template
Big Ideas
Zero-Day Attacks In The Real World, Zero Days, Thousands of Nights
19 Mon 11/13 Spearphishing
Template
Big Ideas
Detecting Credential Spearphishing Attacks in Enterprise Settings
20 Wed 11/15 Cyber conflict
Template
Big Ideas
A Technical Analysis of What Stuxnet’s Creators Tried to Achieve, Deterrence and Dissuasion in Cyberspace
Mon 11/20 Project Checkpoint #2
Part 6: Security of Machine Learning
21 Mon 11/27 Evasion attacks
Template
Big Ideas
The Security of Machine Learning, Towards Evaluating the Robustness of Neural Networks
22 Wed 11/29 Model extraction attacks
Template
Big Ideas
Stealing Machine Learning Models via Prediction APIs
23 Mon 12/04 Adversarial samples in the real world
Template
Big Ideas
Hidden Voice Commands, Accessorize to a Crime
Wed 12/06 Group-Project Presentations
Group-project reports due
Mon 12/11 Group-Project Presentations

Created with coursegen. Last updated: 2017-10-24 18:43:41 -0400 [validate xhtml]