16:198:673:01: Introduction to Software Security
Fall 2007
Reading List for the Course
This webpage lists the papers that we will discuss over the course of
the semester. We will be discussing both classic computer security papers,
and recent papers from premier computer security conferences, including
the IEEE Symposium on Security and Privacy (Oakland), the ACM Conference
on Computer and Communications Security (CCS), USENIX Security Symposium,
and the Networked and Distributed Systems Security Symposium (NDSS).
Occasionally, we will also read security papers published in programming
language and operating system conferences.
We will proceed in roughly the order that papers appear on this list, though
in the interest of time, we may not cover all papers on the list. For a
detailed class schedule, please visit the
course webpage
In most cases, the links below point to the official versions (e.g., the ACM
or the IEEE version) of the paper. You can use a Rutgers University machine to
access these papers.
Overview
-
Reflections on Trusting Trust
Ken Thompson
Communications of the ACM, Volume 27, Issue 8, August 1984.
This is Ken Thompson's Turing Award Lecture.
Vulnerabilities and Exploits
-
Smashing the Stack for Fun and Profit
Aleph One.
Phrack Magazine, Volume 7, Issue 49, August 1996.
-
StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks
Crispin Cowan, Calton Pu, Dave Maier, Jonathan Walpole, Peat Bakke, Steve Beattie,
Aaron Grier, Perry Wagle, Qian Zhang, Heather Hinton.
USENIX Security Symposium, August 1998.
-
Efficient Techniques for Comprehensive Protection from Memory Error Exploits
Sandeep Bhatkar, R. Sekar and Daniel C. DuVarney.
USENIX Security Symposium, August 2005.
-
On the Effectiveness of Address-Space Randomization
Hovav Shacham, Matthew Page, Ben Pfaff, Eu-Jin Goh, Nagendra Modadugu, and
Dan Boneh.
11th ACM Conference on Computer and Communications Security (CCS), October 2004.
-
A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities
David Wagner, Jeffrey S. Foster, Eric A. Brewer, and Alexander Aiken.
Networked and Distributed System Security Symposium (NDSS), February 2000.
-
CCured: Type Safe Retrofitting of Legacy Software
George C. Necula, Scott McPeak, and Westley Weimer.
29th ACM Symposium on Principles of Programming Languages (POPL), January 2002.
-
A Practical Dynamic Buffer Overflow Detector
Olatunji Ruwase and Monica Lam.
Networked and Distributed System Security Symposium (NDSS), February 2004.
-
Detecting Format String Vulnerabilities with Type Qualifiers
Umesh Shankar, Kunal Talwar, Jeffrey S. Foster and David Wagner.
USENIX Security Symposium, August 2001.
Host-based Intrusion Detection
-
A Sense of Self for UNIX Processes
Stephanie Forrest, Steven Hofmeyr, Anil Somaiyaji and Thomas Longstaff.
IEEE Symposium on Security and Privacy (Oakland), May 1996.
-
Intrusion Detection using Static Analysis
David Wagner and Drew Dean.
IEEE Symposium on Security and Privacy (Oakland), May 2000.
-
Formalizing Sensitivity in Static Analysis for Intrusion Detection
Henry Feng, Jonathon Giffin, Yong Huang, Somesh Jha, Wenke Lee and Barton
Miller.
IEEE Symposium on Security and Privacy (Oakland), May 2004.
-
Control Flow Integrity: Principles, Implementations and Applications
Martin Abadi, Mihai Budiu, Ulfar Erlingsson and Jay Ligatti.
12th ACM Conference on Computer and Communications Security (CCS), November 2005.
-
Backtracking Intrusions
Samuel T. King and Peter M. Chen.
19th ACM Symposium on Operating System Principles (SOSP), October 2003.
Network-based Intrusion Detection
Signature Generation
-
Language-based Generation and Evaluation of NIDS Signatures
Shai Rubin, Somesh Jha and Barton Miller.
IEEE Symposium on Security and Privacy (Oakland), May 2005.
-
Dynamic Taint Analysis for Automatic Detection, Analysis and Signature
Generation of Exploits on Commodity Software
James Newsome and Dawn Song.
Networked and Distributed System Security Symposium (NDSS), February 2005.
-
Polygraph: Automatic Signature Generation for Polymorphic Worms
James Newsome, Brad Karp and Dawn Song.
IEEE Symposium on Security and Privacy (Oakland), May 2005.
-
Towards Automatic Generation of Vulnerability-Based Signatures
David Brumley, James Newsome, Dawn Song, Hao Wang and Somesh Jha.
IEEE Symposium on Security and Privacy (Oakland), May 2006.
-
EXE: Automatically Generating Inputs of Death
Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski, David L. Dill and
Dawson R. Engler.
13th ACM Conference on Computer and Communications Security (CCS), November 2006.
-
Automatically Generating Malicious Disks using Symbolic Execution
Junfeng Yang, Can Sar, Paul Twohey, Cristian Cadar and Dawson Engler.
IEEE Symposium on Security and Privacy (Oakland), May 2006.
-
On Deriving Unknown Vulnerabilities from Zero-Day Polymorphic and Metamorphic
Worm Exploits
Jedidiah Crandall, Zhendong Su, S. Felix Wu, and Frederic T. Chong.
12th ACM Conference on Computer and Communications Security (CCS), November 2005.
Policy Enforcement
Web Security and Browser Security
-
The Essence of Command Injection Attacks in Web Applications
Zhendong Su and Gary Wassermann.
33rd ACM Symposium on Principles of Programming Languages (POPL), January 2006.
-
End-to-end Web Application Security
Ulfar Erlingsson, Mihai Budiu and Yinglian Xie.
USENIX Workshop on Hot Topics in Operating Systems (HotOS), May 2007.
-
BrowserShield: Vulnerability-Driven Filtering of Dynamic HTML
[
Author's copy]
Charles Reis, John Dungan, Helen J. Wang, Opher Dubrovsky, and Saher
Esmeir.
USENIX Symposium on Operating System Design and Implementation (OSDI),
November 2006.
-
Protection and Communication Abstractions for Web Browsers in MashupOS
Helen J. Wang, XiaoFeng Fan, Collin Jackson and Jon Howell.
21st ACM Symposium on Operating System Principles (SOSP), October 2007.
Virtual Machines
Software Reorganization
Malware Detection
Trusted Computing
-
Design and Implementation of a TCG-based Integrity Measurement Architecture
Reiner Sailer, Xiaolan Zhang, Trent Jaeger and Leendert van Doorn.
13th USENIX Security Symposium, August 2004.
-
Terra: A Virtual Machine-Based Platform for Trusted Computing
Tal Garfinkel, Ben Pfaff, Jin Chow, Mendel Rosenblum, and Dan Boneh.
19th ACM Symposium on Operating System Principles (SOSP), October 2003.
-
Pioneer: Verifying Code Integrity and Enforcing Untampered Code Execution on
Legacy Systems
Arvind Seshadri, Mark Luk, Elaine Shi, Adrian Perrig, Leendert van Doorn,
and Pradeep Khosla.
20th ACM Symposium on Operating System Principles (SOSP), October 2005.
Information Flow Control
Vinod Ganapathy