Computer Science Department
Carnegie Mellon University
5000 Forbes Ave
Pittsburgh, PA 15213
Get my email address
News
- May 2nd: Read my thesis: Abstractions for Model Checking System Security
- March 26th: Parametric Verification of Address Space Separation received Best Paper Nomination (Top 12 paper of 600 submissions, 100+ accepts) at ETAPS 2012
- March 2nd: Successfully defended my thesis!
- Jan 2012: An overly dramatic Wired article about FAWN.
- June 2011: A Chronicle of Higher Education article about information piracy with some of my sage advice.
- June 2011: FAWN Communications of the ACM (CACM) paper.
- More News
Academic Background
I received my Ph.D. in 2012 from the computer science department at Carnegie Mellon University. My thesis advisor was Anupam Datta. I was a TA for Garth Gibson's "Advanced Operating Systems and Distributed Systems" and Greg Kesden's "Introduction to Computer Systems". I graduated from the University of Wisconsin-Madison in 2004 with a B.S. in computer science, a B.S. in mathematics and a minor in business with a focus on economics. As an undergraduate, I worked on the CIPART project under the direction of Mary Vernon and with Eric Bach researching cryptographic modes of operation.
Awards and Fellowships
I've received the following paper awards:
- Best Paper Nomination at ETAPS 2012 (Top 12 paper of 600+ submissions)
- Best Paper Award at SOSP 2009
- Best Paper Award at USENIX Security 2005
And the following fellowships and scholarships:
Research
Invited Articles
-
FAWN: A Fast Array of Wimpy Nodes
David Andersen, Jason Franklin, Michael Kaminsky, Amar Phanishayee, Lawrence Tan, and Vijay Vasudevan.
In Communications of the ACM (CACM), 2011.
-
On Adversary Models and Compositional Security
Anupam Datta, Jason Franklin, Deepak Garg, Limin Jia, and Dilsun Kaynar.
IEEE Security & Privacy, Volume 9, Issue 3, May 2011.
PDF +Abstract
We outline a theory of compositional security, addressing a recognized scientific challenge. Contemporary systems are built up from smaller components. However, even if each component is secure in isolation, the composed system may not achieve the desired security property: an adversary may exploit complex interactions between components to compromise security. The goal of a theory of compositional security is to identify relationships among systems, adversaries and properties such that precisely defined composition operations over systems and adversaries preserve security properties. In presenting our theory, we describe our model for general classes of systems, adversaries and security properties. We then present composition results (relationships) in this model. We also discuss how our theory explains a number of specific attacks found in the wild and how it can serve as the basis for predicting whether security properties of systems will be preserved as adversaries come up with new attacks.
-
Energy-efficient Cluster Computing with FAWN: Workloads and Implications
Vijay Vasudevan, David Andersen, Michael Kaminsky, Lawrence Tan, Jason Franklin, and Iulian Moraru.
Proceedings of 1st International Conference on Energy-Efficient Computing and Networking (e-Energy 2010), April 2010.
PDF Slides
Under Submission
- Havoc Improves Scalability of Software Model Checking Security Properties of Secure Systems
Jason Franklin, Sagar Chaki, Anupam Datta, Jonathan M. McCune, and Amit Vasudevan.
Under submission, email me for a copy.
Refereed Papers in Conferences and Workshops
-
Parametric Verification of Address Space Separation
- Best Paper Nomination (Top 12 of 600 submissions)
Jason Franklin, Sagar Chaki, Anupam Datta, Jonathan M. McCune, and Amit Vasudevan.
To appear in Principles of Security and Trust (POST), 2012.
PDF Full Version -
Compositional System Security with Interface-Confined Adversaries
Deepak Garg, Jason Franklin, Dilsun Kaynar, and Anupam Datta.
Proc. of Mathematical Foundations of Programming Semantics (MFPS) Conference, 2010.
PDF Full Version -
Scalable Parametric Verification of Secure Systems: How to Verify Reference Monitors without Worrying about Data Structure Size
Jason Franklin, Sagar Chaki, Anupam Datta, and Arvind Seshadri.
Proceedings of IEEE Symposium on Security and Privacy (Oakland '10), May 2010.
PDF Full Version Slides +Abstract
The security of systems such as operating systems, hypervisors, and web browsers depend critically on reference monitors to correctly enforce their desired security policy in the presence of adversaries. Recent progress in developing reference monitors with small code size and narrow interfaces has made automated formal verification of reference monitors a more tractable goal. However, a significant remaining factor for the complexity of automated verification is the size of the data structures (e.g., access control matrices) over which the programs operate. This paper develops a parametric verification technique that scales even when reference monitors and adversaries operate over unbounded, but finite data structures. Specifically, we develop a parametric guarded command language for modeling reference monitors and adversaries. We also present a parametric temporal specification logic for expressing security policies that the monitor is expected to enforce. The central technical results of the paper are a set of small model theorems. These theorems state that in order to verify that a policy is enforced by a reference monitor with an arbitrarily large data structure, it is sufficient to model check the monitor with just one entry in its data structure. We apply our methodology to verify the designs of two hypervisors, SecVisor and the sHype mandatory-access-control extension to Xen. Our approach is able to prove that sHype and a variant of the original SecVisor design correctly enforces the expected security properties in the presence of powerful adversaries.
-
FAWN: A Fast Array of Wimpy Nodes
- Best Paper Award
David Andersen, Jason Franklin, Michael Kaminsky, Amar Phanishayee, Lawrence Tan, and Vijay Vasudevan.
Proceedings of ACM Symposium on Operating System Principles (SOSP), Oct. 2009.
PDF PDF-Web +Abstract
This paper presents a new cluster architecture for low-power data-intensive computing. FAWN couples low-power embedded CPUs to small amounts of local flash storage, and balances computation and I/O capabilities to enable efficient, massively parallel access to data.
The key contributions of this paper are the principles of the FAWN architecture and the design and implementation of FAWN-KV---a consistent, replicated, highly available, and high-performance key-value storage system built on a FAWN prototype. Our design centers around purely log-structured datastores that provide the basis for high performance on flash storage, as well as for replication and consistency obtained using chain replication on a consistent hashing ring. Our evaluation demonstrates that FAWN clusters can handle roughly 350 key-value queries per Joule of energy---two orders of magnitude more than a disk-based system. -
FAWNdamentally Power-efficient Clusters
Vijay Vasudevan, Jason Franklin, David Andersen, Amar Phanishayee, Lawrence Tan, Michael Kaminsky, and Iulian Moraru.
Proceedings of HotOS XII, May 2009.
PDF +Abstract
Power is becoming an increasingly large financial and scaling burden for computing and society. The costs of running large data centers are becoming dominated by power and cooling to the degree that companies such as Microsoft and Google have built new data centers close to large and cost-efficient hydroelectric power sources. Studies have projected that by 2012, 3-year data center energy costs will be double that of server equipment expenditures. Power consumption and related cooling costs have become a primary design constraint at all levels, limiting the achievable density of data centers and large systems, and pushing processor manufacturers towards alternative architectures. While power constraints have pushed the processor industry toward multi-core architectures, power-efficient alternatives to traditional disk and DRAM-based cluster architectures have been slow to emerge.
As a power-efficient alternative for data-intensive computing, we propose a cluster architecture called a Fast Array of Wimpy Nodes, or FAWN. A FAWN consists of a large number of slower but efficient nodes that each draw only a few watts of power, coupled with low-power storage---our prototype FAWN nodes are built from 500MHz embedded devices with CompactFlash storage that are typically used as wireless routers, Internet gateways, or thin clients.
Through our preliminary evaluation, we demonstrate that a FAWN can be up to six times more efficient than traditional systems with Flash storage in terms of \textit{queries per joule} for seek-bound applications and between two to eight times more efficient for I/O throughput-bound applications... -
A Logic of Secure Systems and its Application to Trusted Computing
Anupam Datta, Jason Franklin, Deepak Garg, and Dilsun Kaynar.
Proceedings of IEEE Symposium on Security and Privacy (Oakland '09), May 2009.
PDF PS PDF-Full PS-Full Slides +Abstract
We present a logic for reasoning about properties of secure systems. The logic is built around a concurrent programming language with constructs for modeling machines with shared memory, a simple form of access control on memory, machine resets, cryptographic operations, network communication, and dynamically loading and executing unknown (and potentially untrusted) code. The adversary's capabilities are constrained by the system interface as defined in the programming model (leading to the name CSI-ADVERSARY). We develop a sound proof system for reasoning about programs without explicitly reasoning about adversary actions. We use the logic to characterize trusted computing primitives and prove code integrity and execution integrity properties of two remote attestation protocols. The proofsmake precise assumptions needed for the security of these protocols and reveal an insecure interaction between the two protocols.
-
A Logic for Reasoning about Networked Secure Systems
Deepak Garg, Jason Franklin, Dilsun Kaynar, and Anupam Datta
In FCS-ARSPA-WITS, June 2008.
Extends Technical Report CMU-CyLab-08-003, Feb. 2008.
PDF PDF-Full Slides +Abstract
We initiate a program to model and analyze end-to-end security properties of contemporary secure systems that rely on network protocols and memory protection. Specifically, this paper introduces the Logic of Secure Systems (LS^2). LS^2 extends an existing logic for security protocols by incorporating shared memory, time and limited forms of access control. The proof system for LS^2 supports high-level reasoning about secure systems in the presence of adversaries on the network and the local machine. We prove a soundness theorem for the proof system and illustrate its use by proving a relevant security property of a protocol inspired by the Transport Layer Protocol of the Secure Shell~(SSH).
-
An Inquiry into the Nature and Causes of the Wealth of Internet Miscreants
Jason Franklin, Vern Paxson, Adrian Perrig, and Stefan Savage.
Proceedings of 14th ACM CCS, November 2007.
Press:[ arstechnica CMU ComputerWorld Crypto-Gram InfoWeek NewScientist PCPro PCWorld ScienceDaily Slashdot theregister]
PDF PS Slides +Abstract
This paper studies an active underground economy which specializes in the commoditization of activities such as credit card fraud, identity theft, spamming, phishing, online credential theft, and the sale of compromised hosts. Using a seven month trace of logs collected from an active underground market operating on public Internet chat networks, we measure how the shift from ``hacking for fun'' to ``hacking for profit'' has given birth to a societal substrate mature enough to steal wealth into the millions of dollars in less than one year.
-
Compatibility is Not Transparency: VMM Detection Myths and Realities
Tal Garfinkel, Keith Adams, Andrew Warfield, and Jason Franklin
Proceedings of HotOS XI, May 2007.
Press:[CNet Slashdot]
PDF PS
-
Remote Detection of Virtual Machine Monitors with Fuzzy Benchmarking
Jason Franklin, Mark Luk, Jonathan M. McCune, Arvind Seshadri, Adrian Perrig, and Leendert van Doorn.
In ACM SIGOPS OS Review (Special Issue on Computer Forensics), April 2008.
Extends CMU Cylab Technical Report CMU-CyLab-07-001, January 2007.
PDF PS +Abstract
We study the remote detection of virtual machine monitors (VMMs) across the Internet, and devise fuzzy benchmarking as an approach that can successfully detect the presence or absence of a VMM on a remote system. Fuzzy benchmarking works by making timing measurements of the execution time of particular code sequences executing on the remote system. The fuzziness comes from heuristics which we employ to learn characteristics of the remote system's hardware and VMM configuration. Our techniques are successful despite uncertainty about the remote machine's hardware configuration.
-
Replayer: Automatic Protocol Replay by Binary Analysis
James Newsome, David Brumley, Jason Franklin, and Dawn Song.
Proceedings of 13th ACM CCS, November 2006.
PDF PS
-
Passive Data Link Layer 802.11 Wireless Device Driver Fingerprinting
Jason Franklin, Damon McCoy, Parisa Tabriz, Vicentiu Neagoe, Jamie Van Randwyk, and Douglas Sicker.
Proceedings of the 15th USENIX Security Symposium, August 2006.
Press:[Slashdot Sandia Labs] Video: [CNBC (12.8MB)]
PDF PS Slides +Abstract
Motivated by the proliferation of wireless-enabled devices and the suspect nature of device driver code, we develop a passive fingerprinting technique that identifies the wireless device driver running on an IEEE 802.11 compliant device. This technique is valuable to an attacker wishing to conduct reconnaissance against a potential target so that he may launch a driver-specific exploit.
In particular, we develop a unique fingerprinting technique that accurately and efficiently identifies the wireless driver without modification to or cooperation from a wireless device. We perform an evaluation of this fingerprinting technique that shows it both quickly and accurately fingerprints wireless device drivers in real world wireless network conditions. Finally, we discuss ways to prevent fingerprinting that will aid in improving the security of wireless communication for devices that employ 802.11 networking. -
Mapping Internet Sensors with Probe Response Attacks
- Best Paper Award
John Bethencourt, Jason Franklin, Mary Vernon.
Proceedings of the 14th USENIX Security Symposium, August 2005.
Press:[CNET InformationWeek NewScientist Slashdot ZDnet]
PDF PS HTML Slides Abstract
Book Chapters
-
Towards Sound Detection of Virtual Machines
Jason Franklin, Mark Luk, Jonathan M. McCune, Arvind Seshadri, Adrian Perrig, Leendert van Doorn.
In Advances in Information Security, Botnet Detection: Countering the Largest Security Threat
PDF PS +Abstract
We design, implement, and evaluate a practical timing-based approach to detect virtual machine monitors (VMMs) without relying on VMM implementation details. The algorithms developed in this paper are based on fundamental properties of virtual machine monitors rather than easily modified software artifacts. We evaluate our approach against two common VMM implementations on machines with and without hardware support for virtualization in a number of remote and local experiments. We successfully distinguish between virtual and real machines in all cases even with incomplete information regarding the VMM implementation and hardware configuration of the targeted machine.
Technical Reports and Unpublished Works
-
Towards Simple and Scalable Analysis of Secure Systems
Jason Franklin, Deepak Garg, Dilsun Kaynar, and Anupam Datta.
Unpublished, March 2009.
PDF PS -
Attacking, Repairing, and Verifying SecVisor: A Retrospective on the Security of a Hypervisor
Jason Franklin, Arvind Seshadri, Ning Qu, Sagar Chaki, and Anupam Datta
CMU Cylab Technical Report CMU-CyLab-08-008, June 2008.
PDF +Abstract
SecVisor is a hypervisor designed to guarantee that only code approved by the user of a system executes at the privilege level of the OS kernel [Seshadri07]. We employ a model checker to verify the design properties of SecVisor and identify two design-level attacks that violate SecVisor's security requirements. Despite SecVisor's narrow interface and tiny code size, our attacks were overlooked in both SecVisor's design and implementation. Our attacks exploit weaknesses in SecVisor's memory protections. We demonstrate that our attacks are realistic by crafting exploits for an implementation of SecVisor and successfully performing two attacks against a SecVisor-protected Linux kernel. To repair SecVisor, we design and implement an efficient and secure memory protection scheme. We formally verify the security of our scheme. We demonstrate that the performance impact of our proposed defense is negligible and that our exploits are no longer effective against the repaired implementation. Based on this case study, we identify facets of secure system design that aid the verification process.
-
On the (Im)possibility of Timed Tamper-Evident Software in (A)synchronous Systems
Jason Franklin and Michael Carl Tschantz.
Unpublished, Aug. 2007.PDF PS +Abstract
Tamper-evident software has the property that a verifier can detect a violation of program integrity during execution. In this paper, we study programs that through their own execution provide sufficient information in the form of responses and timing to detect tampering. We refer to such programs as timed tamper-evident programs.
We formalize the notation of a timed tamper-evident program, model a micro-controller under this formalization, and prove the existence of a timed tamper-evident program for this model when used with synchronous communication. We develop timed tamper-evident programs which verify both control and data integrity. We discuss the existence of timed tamper-evident functions in an asynchronous system. -
PRISM:
Enabling Personal Verification of Code Integrity, Untampered
Execution, and Trusted I/O or Human-Verifiable Code Execution
Jason Franklin, Mark Luk, Arvind Seshadri, and Adrian Perrig.
CMU Cylab Technical Report CMU-CyLab-07-010, February 2007.
PDF +Abstract
Today's computer users receive few assurances that their software executes as expected. The problem is that legacy devices do not enable personal verification of code execution. In addition, legacy devices lack trusted paths for secure user I/O making it difficult to ensure the privacy of data.
We present PRISM, a software-only human-verifiable code execution system that temporally separates a legacy computer system into a trusted component and an untrusted component. PRISM enables a user to securely interact with applications by establishing a trusted path and enables personal verification of untampered application execution.
PRISM enables the development of a new class of applications which we term personally verifiable applications (PVAs). PVAs have the property that a user can both securely interact with and execute these applications even in the face of a kernel-level compromise. We develop a personally verifiable digital signature application that assures the user that the password-protected private key is not misused and that neither the private key nor the password are disclosed to malware on the device. We describe an implementation of this application on a personal device, and evaluate the usability of our approach with a user study.
Talks and Posters
-
Parameteric Verification of Address Space Separation
NSA High Confidence Software and Systems 11th Annual Conference, Annapolis, MD, May 2011.
PPT
-
Verifying Safety and Liveness Properties of a Kernelized Web Browser
Microsoft Research, Redmond, WA, August 2010.
Video
-
Automated Verification of a Security Hypervisor with a Realistic Hardware Model
ACM Symposium on Operating System Principles (SOSP), Big Sky, MT, Oct. 2009.
PPT
-
Towards High-Assurance Hypervisors
CMU CyLab Student Seminar Series, Pittsburgh, PA, Oct. 2008.
PPT
-
Towards End-to-End Security Analysis of Networked Systems (5 Minute Talk)
Symposium on Computer Security Foundations (CSF), Pittsburgh, PA, June 2008.
PPT
-
Modeling and Analysis of Networked
Secure Systems with Application to Trusted Computing
CMU CyLab Student Seminar Series, Pittsburgh, PA, May 2008.
PPT
-
Using Economics to Quantify the Security of the Internet
CMU Hot Topics in Networking Class, CMU, Pittsburgh, PA, May 2007.
PPT
-
A Discussion of the Insider Threat
SECMU Group Meeting, CMU, Pittsburgh, PA, Sept. 2006.
PPT
-
Understanding Botnets: How Massive Internet Break-ins Fuel an Underground Economy
Poster session, Lawrence Berkeley National Laboratory, Berkeley, CA, July 2006.
PPT
-
Securely Using Untrusted Terminals and Compromised Computers with Human-Verifiable Code Execution
Stanford Security Seminar, Stanford University, Palo Alto, CA, July 2006.
PPT Abstract
-
Remote Virtual Machine Monitor Detection
ARO-DARPA-DHS Special Workshop on Botnets, Arlington, VA, June 2006.
PPT
-
Mapping Internet Sensors with Probe Response Attacks
UC-Davis Security Seminar, Davis, California, July 2005.
PDF (Extended version of the USENIX Security 2005 slides.)
-
Mapping Internet Sensors with Probe
Response Attacks: Protecting Internet Sensor Anonymity
Department of Homeland Security R&D Conference, Boston, Massachusetts, April 2005.
PDF (High level overview of USENIX Security 2005 slides.)
-
On the Benefits of Security Log Sharing
Workshop on Critical Infrastructure Protection, University of Central Florida, Orlando, FL, May 2004.
PS
Old (but still interesting) News...
- Dec 2011: Parametric Verification of Address Space Separation was accepted to POST 2012.
- June 2011: On Adversary Models and Compositional Security appears in the IEEE Security & Privacy special edition on the science of security.
- April 2010: Compositional System Security with Interface-Confined Adversaries accepted to MFPS 2010.
- Feb. 2010: Scalable Parametric Verification of Secure Systems... accepted to Oakland '10.
- Oct. 2009: FAWN wins SOSP 2009 best paper award.
- April 2009: FAWN project reviewed in MIT Technology Review online.
- March 2009: FAWNdamentally Power-efficient Clusters accepted to HotOS XII.
- Jan. 2009: A Logic of Secure Systems and its Application to Trusted Computing accepted to Oakland '09.
- Jan. 2009: A Newsweek article on my underground markets work.
- Oct. 2008: Slate ran an article that referenced our wealth of miscreants paper from CCS. It's one of the best short articles on the topic. Nice job Mr. Leibenluft.
- May 21st, 2008: A report on the FAWN: A Fast Array of Wimpy Nodes architecture for fast, scalable, and power-efficient key-value storage is now available. A FAWN links together a large number of tiny nodes built using embedded processors and small amounts (2--16GB) of flash memory into an ensemble capable of handling 700 queries per second per node, while consuming fewer than 4 watts of power per node.
- May 18th, 2008: "A Logic for Reasoning about Networked Secure Systems" accepted for presentation at FCS-ARSPA-WITS.
- May 14th, 2008: During a verification of the SecVisor hypervisor (Seshadri et al. SOSP'07), we identified two serious vulnerabilities in the design of the shadow page table synchronization code. We were able to craft exploits (37 and 15 l.o.c) for the vulnerabilities and launch a successful code-injection attack against a SecVisor-protected Linux kernel. We repaired the vulnerabilities and verified the repaired design. More information: Attacking, Repairing, and Verifying SecVisor: A Retrospective on the Security of a Hypervisor.
- Nov. 19th, 2007: We've developed a
human-verifiable code execution system
based upon Lipner's insight:
+More
"The covert channels of Lampson are associated with the one system-wide resource, time, that can be observed in at least a coarse way by every user and every program. Each user (presumably) has a wristwatch..." [Lipner SOSP'75].
- August 4th, 2007: Storm worm, the state of security practice in a nutshell
+More
This article is an excellent depiction of the state of the art in security practice. In just a few paragraphs it hits on arms races/evolving threats, social engineering, botnets, spam, economically-motivated malicious activity, VMM detection, and the sad state of our defenses "Keep anti-virus software up to date and be suspicious of any e-mail attachment or link, even from what appears to be a familiar source.".
- August 1st, 2007: Security remains benefit of virtualization
+More
The article Security not a benefit of virtualisation incorrectly concludes that our HotOS'07 paper entitled "Compatibility is Not Transparency: VMM Detection Myths and Realities" suggests that security is not a benefit of virtualization. Our paper only suggests that security resulting from the perception of VMM stealth is not a benefit of virtualization. Virtualized systems still accrue security benefits from the VMMs isolation and introspection abilities, among others.