Stanford Security Lunch
Fall 2012

Get announcements:

September 3 Organizational meeting

Organizational meeting: Sign up to give a talk!

October 3 Deian Stefan

Title: Hails: Protecting Data Privacy in Untrusted Web Applications

Authors: Daniel B. Giffin, Amit Levy, Deian Stefan, David Terei, David Mazières, and John C. Mitchell, Stanford University; Alejandro Russo, Chalmers University

Abstract: Modern extensible web platforms like Facebook and Yammer depend on third-party software to offer a rich experience to their users. Unfortunately, users running a third-party “app” have little control over what it does with their private data. Today’s platforms offer only ad-hoc constraints on app behavior, leaving users an unfortunate trade-off between convenience and privacy. A principled approach to code confinement could allow the integration of untrusted code while enforcing flexible, end-to-end policies on data access. This paper presents a new web framework, Hails, that adds mandatory access control and a declarative policy language to the familiar MVC architecture. We demonstrate the flexibility of Hails through, a code-hosting website that enforces robust privacy policies on user data even while allowing untrusted apps to deliver extended features to users.

October 10 Jeremy Planul

Abstract: Some network attackers eavesdrop the communications between participants of a program execution, deduce the path taken by the program, then infer a secret of the computation. We model these kind of attacks in an information flow settings by letting the adversary observe the control flow. We then examine different language-level mechanisms to protect those programs.

October 17 Rump Session

October 24 Owen Hoffman

Title: InkTag

Abstract: InkTag is a virtualization-based architecture that gives strong safety guarantees to high-assurance processes even in the presence of a malicious operating system. InkTag advances the state of the art in untrusted operating systems in both the design of its hypervisor and in the ability to run useful applications without trusting the operating system. We introduce paraverification, a technique that simplifies the InkTag hypervisor by forcing the untrusted operating system to participate in its own verification. Attribute-based access control allows trusted applications to create decentralized access control policies. InkTag is also the first system of its kind to ensure consistency between secure data and metadata, ensuring recoverability in the face of system crashes.

October 31 Ananth Raghunathan

Title: Breaking the Adaptivity Barrier for Deterministic Public-Key Encryption

Abstract: Bellare, Boldyreva and O'Neill (CRYPTO '07) initiated the study of deterministic public-key encryption, an alternative to randomized public key encryption in various scenarios where the latter exhibits inherent drawbacks. For preventing adversaries from exploiting deterministic encryption algorithms as subliminal channels, the resulting line of research has so far guaranteed security only for adversarially-chosen plaintexts distributions that are independent of the public key used by the scheme. In most scenarios, however, it is typically not realistic to assume that adversaries do not take the public key into account when attacking a scheme.

We show that it is possible to guarantee meaningful security even for plaintexts distributions that dependent on the public key. We extend the previously proposed notions of security, allowing adversaries to adaptively choose plaintext distributions after seeing the public key, in an interactive manner. The only restrictions we make are that: (1) plaintext distributions are unpredictable (as essential in deterministic public-key encryption), and (2) the number of plaintext distributions from which each adversary is allowed to adaptively choose is upper bounded by 2^p, where p can be any predetermined polynomial in the security parameter. For example, with p = 0 we capture plaintext distributions that are independent of the public key, and with p = O(s log s) we capture, in particular, all plaintext distributions that are samplable by circuits of size at most s.

Within our framework we present both constructions in the random-oracle model based on any public-key encryption scheme, and constructions in the standard model based on lossy trapdoor functions (thus, based on a variety of number-theoretic assumptions). Previously known constructions heavily relied on the independence between the plaintext distributions and the public key for the purposes of randomness extraction. In our setting, however, randomness extraction becomes significantly more challenging once the plaintexts distributions and the public key are no longer independent. Our approach is inspired by research on randomness extractions from seed-dependent distributions. Underlying our approach is a new generalization of a method for such randomness extraction, originally introduced by Dodis (PhD Thesis, MIT, '00) and by Trevisan and Vadhan (FOCS '00).

November 7 Josh Jaffe

Abstract: My talk is an introduction to side channel cryptanalysis. I'll start with the basic Simple Power Analysis (SPA) techniques in which you can just recover information about a secret by looking at obvious features of a power trace. Then I'll introduce statistical methods and the Differential Power Analysis (DPA) attack. I'll end with a live demo of a DPA attack against an AES core on an FPGA.

November 14 Kevin Lewi

Title: The Complexity of CCA Security

Abstract: Chosen ciphertext attack (CCA) security is often cited as the gold standard for the security of public key encryption schemes in modern applications. However, there are examples that illustrate how the definition of CCA security is too restrictive. The weaker notion of CPA security is often much easier to achieve, and in this talk we'll pose problems in an attempt to resolve the following question: Does there exist a black-box construction from CPA security to CCA security?

November 28 Joe Zimmerman

Title: How to Garble Arithmetic Circuits: A Gentle Introduction

Abstract: Due to their arithmetic nature, lattice-based cryptographic primitives are well suited to a variety of rich operations on ciphertexts. Fully homomorphic encryption has been the most striking example, but by no means the only one. Recently, Applebaum, Ishai, and Kushilevitz [1] showed how to extend Yao's classic "garbled circuit" construction naturally to arithmetic circuits, using a lattice-based assumption called Learning With Errors (LWE). This talk will give an intuitive overview of their result, including an introduction to relevant background on garbled circuits, Yao's construction, and the LWE problem as it pertains to cryptographic constructions.

[1] Benny Applebaum, Yuval Ishai, and Eyal Kushilevitz. "How to Garble Arithmetic Circuits." (Extended abstract appeared in FOCS 2011.)

December 5 Amit Levy

Abstract: Information flow control allows untrusted code to access sensitive and trustworthy information without leaking or corrupting this information. However, the presence of covert channels subverts this security mechanism, allowing processes to communicate information in violation of IFC policies. In this paper, we show that concurrent deterministic IFC systems that use time-based scheduling are vulnerable to a cache-based internal timing channel.We demonstrate this vulnerability with a concrete attack on Hails, one particular IFC web framework. To eliminate this internal timing channel, we introduce instruction-based scheduling, a new kind of scheduler that is indifferent to timing perturbations from underlying hardware components, such as the cache, TLB, and CPU buses. We show this scheduler is secure against cache-based internal timing attacks. To show the feasibility of instruction-based scheduling, we have implemented a version of Hails that uses the CPU retired-instruction counters available on commodity Intel and AMD hardware. We show that instruction-based scheduling does not impose significant performance penalties. Additionally, we formally prove that our modifications to Hails’ underlying IFC system preserve non-interference in the presence of caches.