Jason Franklin, Ph.D. Student

me

Computer Science Department
Carnegie Mellon University
Office: 8124 Wean Hall
5000 Forbes Ave
Pittsburgh, PA 15213

jfr CLICK TO REVEAL @cmu.edu



News

Academic Background

I am currently a 4th year Ph.D. student in the computer science department at Carnegie Mellon University working on the ToSS project.

I graduated from the University of Wisconsin-Madison in 2004 with majors in computer science and mathematics. As an undergraduate, I worked on the CIPART project under the direction of Mary Vernon, before that I worked with Eric Bach researching cryptographic modes of operation.

Projects

Some projects I've worked on include:

Research

Under Submission

Refereed Papers in Conferences and Workshops

Journal Articles

  • 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 Operating System 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.

Book Chapters

Technical Reports

  • Towards a Theory of Secure Systems
    with Deepak Garg, Dilsun Kaynar, and Anupam Datta
    CMU Cylab Technical Report CMU-CyLab-08-003, Feb. 2008.

    PDF +Abstract

    We initiate a program to develop a principled theory of secure systems. Our main technical result is a formal logic for reasoning about a network of shared memory, multi-user systems. The logic is inspired by an existing logic for security protocols. It extends the attacker model and adds shared memory, time, and limited forms of access control. We prove soundness for the proof system in the presence of an attacker who controls the network and has partial control over shared memory on individual machines. We illustrate the use of the logic by proving a relevant security property of a part of the Trusted Computing Group's remote attestation protocol.

    More information is available at the ToSS project webpage.

  • PRISM: Enabling Personal Verification of Code Integrity, Untampered Execution, and Trusted I/O or Human-Verifiable Code Execution
    with Mark Luk, Arvind Seshadri, and Adrian Perrig.
    CMU Cylab Technical Report CMU-CyLab-07-010, Feburary 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.


  • On the (Im)possibility of Timed Tamper-Evident Software in (A)synchronous Systems
    Jason Franklin and Michael Carl Tschantz.

    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.

Talks and Posters

+Fellowships and Scholarships

I am currently supported by a Department of Homeland Security Fellowship and an NSF Graduate Research Fellowship. As an undergraduate I was fortunate to be supported by the Department of Homeland Security Scholarship.