Reflections on Trusting Trust, Ken Thompson, Turing Award Lecture ,1984.
Measuring Pay-per-Install: The Commoditization of Malware Distribution, J. Caballero, C. Grier, C. Kreibich, V. Paxson, 2011.
Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade, Cowan, C., Wagle, F., Pu, C., Beattie, S., & Walpole, J., 2000.
Exploiting format string vulnerabilities, teso, Phrack, September 2001.
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software, James Newsome and Dawn Song, NDSS 2005.
All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask), E. J. Schwartz, T. Avgerinos, D. Brumley, IEEE S&P 2011.
Binary Stirring: Self-randomizing Instruction Addresses of Legacy x86 Binary Code, R. Wartell, V. Mohan, K. W. Hamlen, and Z. Lin, CCS 2012.
Reassembleable Disassembling, Shuai Wang, Pei Wang, and Dinghao Wu, Usenix Security 2015.
Ramblr: Making Reassembly Great Again, Ruoyu Fish Wang, Yan Shoshitaishvili, Antonio Bianchi,
Aravind Machiry, John Grosen, Paul Grosen, Christopher Kruegel, Giovanni Vigna, NDSS 2017.
Position Independent Code (PIC) in shared libraries, Eli Benderskly, 2011.
Control-Flow IntegrityMartin Abadi, Mihai Budiu, Ulfar Erlingsson, Jay Ligatti, CCS 2005.
Code-Pointer Integrity, Volodymyr Kuznetsov, Laszlo Szekeres, Mathias Payer, George Candea, R. Sekar, Dawn Song, OSDI 2014.
Checking system rules using system-specific, programmer-written compiler extensions, Dawson Engler, Benjamin Chelf, Andy Chou, and Seth Hallem, OSDI 2000.
A few billion lines of code later: using static analysis to find bugs in the real world, Al Bessey, Ken Block, Ben Chelf, Andy Chou, Bryan Fulton, Seth Hallem, Charles Henri-Gros, Asya Kamsky, Scott McPeak, Dawson Engler. Communications of the ACM, 2010.
EXE: Automatically Generating Inputs of Death, Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski, David L. Dill, Dawson R. Engler, 13th ACM CCS, 2006.
KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs, Cristian Cadar, Daniel Dunbar, Dawson Engler, OSDI 2008.
Under-Constrained Symbolic Execution: Correctness Checking for Real Code, David A. Ramos, Dawson Engler, Usenix Security 2015.
VUzzer: Application-aware Evolutionary Fuzzing, Sanjay Rawat, Vivek Jain, Ashish Kumar, Lucian Cojocar, Cristiano Giuffrida, Herbert Bos, NDSS’17.
The Protection of Information in Computer Systems, Jerome H. Saltzer, Michael D. Schroeder, Proceedings of the IEEE, 1975.
A virtual machine introspection based architecture for intrusion detection, Tal Garfinkel and Mendel Rosenblum, NDSS 2003.
SubVirt: Implementing malware with virtual machines, Samuel T. King, Peter M. Chen, Yi-Min Wang, Chad Verbowski,Helen J. Wang and Jacob R. Lorch, IEEE S&P, 2006.
A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping, Seunghun Han, Wook Shin, Jun-Hyeok Park, and HyoungChun Kim, Usenix Security 2018.
Security Challenges in an Increasingly Tangled Web, Kumar, D., Ma, Z., Durumeric, Z., Mirian, A., Mason, J., Halderman, J. A., & Bailey, M., WWW 2017.
Native Client: A Sandbox for Portable, Untrusted x86 Native Code, Yee B, Sehr D, Dardyk G, Chen JB, Muth R, Ormandy T, Okasaka S, Narula N, Fullagar N., IEEE S&P, 2009.