The class will cover advanced network and host security concepts
and mechanisms.The class will cover the subjects in theory and
provide
the students with an extensive hands-on experience:
assessing
vulnerabilities, writing real working exploits for existing systems in
a closed and controlled environment, and developing countermeasures to
these perceived and real threats, also
in the form of projects.
The class will involve a fair amount of programming. Those who take the
class are expected to be able to program in C/C++, have some a solid
knowledge of assembly
language, and be familiar with network basics and programming, as well
as modern operating systems (Windows, MacOS, Unix).
Instructor:
Prerequisites:
Textbook and Resources:
Required:
Security in Computing, 4th Edition
Charles P. Pfleeger, Shari Lawrence Pfleeger
Copyright 2007, Edition: 4th
ISBN-10: 0-13-239077-9
ISBN-13: 978-0-13-239077-4
The Shellcoder's Handbook: Discovering
and Exploiting Security Holes
Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte
Wiley; 2nd edition (August 20, 2007)
ISBN-10: 047008023X
ISBN-13: 978-0470080238
Recommended books:
Hacking: The Art of Exploitation, 2nd
Edition
Jon Erickson
No Starch Press; 2nd edition (January 11, 2008)
ISBN-10: 1593271441
ISBN-13: 978-1593271442
Internet
Denial
of
Service:
Attack and Defense Mechanisms
Jelena Mirkovic, Sven Dietrich, David Dittrich, and Peter Reiher
Prentice Hall, 2004
Secure Coding in C
and C++
Robert C. Seacord
Addison-Wesley Professional.
Copyright 2006
Edition: 1st
ISBN-10: 0-321-33572-4
ISBN-13: 978-0-321-33572-2
Grading:
Policies:
|
Dates |
Topic(s) |
Reading(s) |
HW |
|
|
Jan 24, 2011 |
Introduction and review. Computer security basics. Attack and defense basics. Protocols. Setting ethical boundaries. |
Pfleeger Chapters 1-2 Mirkovic et al. Chapters 1-4 |
|
|
|
Jan 31, 2011 |
Secure coding techniques I. Worrying about buffer overflow, stacks, and arbitrary memory writes.
|
Seacord Chapters 1-4 Erickson Chapter 0x200-0x300 |
Please attend the CS seminar talk at 4pm, George "GeoHot" Hotz, Babbio 122 |
Midterm and final project ideas due |
|
Feb 7, 2011 |
Secure coding techniques II. Format abuses, race conditions, TOCTOU. |
Seacord Chapters 5-7 Erickson Chapter 0x300 |
Guest lecture by Robert
Seacord (plus seminar talk 2-3pm, Babbio 220) |
Midterm project proposals due |
|
Feb 14, 2011 |
Vulnerability discovery. Fuzzing techniques for finding security flaws in protocols and program input. White-box vs. evolutionary fuzzing. |
Paper 1 Anley Part 3 |
|
|
|
Feb 22, 2011 (Tue) |
Penetration testing. Limits of network discovery. |
Erickson Chapter 0x400 |
Guest lecture by Will Dormann on fuzzing BFF tool |
|
|
Feb 28, 2011 |
Writing exploits and shellcodes. Encapsulating the payloads. |
Erickson Chapter 0x500 |
|
|
|
Mar 7, 2011 |
Midterm project presentations |
|
Midterm project due. Final project proposal due. |
|
|
Mar 14, 2011 |
More exploits. Countermeasures. Reversing exploits and protectors/packers. Rootkits for OS and execution environments. |
Erickson Chapter 0x600 |
|
|
|
Mar 21, 2011 |
Attacking the infrastructure: routing, DNS, etc.
|
Anley Part 4 |
|
|
|
Mar 28, 2011 |
Countering the infrastructure threat. |
Mirkovic et al. Chapters 6-7 |
|
|
|
Apr 4, 2011 |
Ethical hacking: what are the limits, revisited. Malware herding: think globally. |
|
|
|
|
Apr 11, 2011 |
Cryptographic attacks on hosts and infrastructure. |
Erickson Chapter 0x700 |
Draft presentations/papers due |
|
|
Apr 18, 2011 |
Attacking small devices (e.g. phones, handhelds)
Special topics (Papers from a recent conference) |
Recent papers from a relevant conference (e.g. LEET, BlackHat) |
|
|
|
Apr 25, 2011 |
Final Project presentations |
|
Final Project due |