Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where David Terei is active.

Publication


Featured researches published by David Terei.


european symposium on research in computer security | 2013

Eliminating Cache-Based Timing Attacks with Instruction-Based Scheduling

Deian Stefan; Pablo Buiras; Edward Z. Yang; Amit Levy; David Terei; Alejandro Russo; David Mazières

Information flow control allows untrusted code to access sensitive and trustworthy information without leaking 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 implement 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 for applications using a single CPU. 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.


Sigplan Notices | 2013

Safe haskell

David Terei; Simon Marlow; Simon L. Peyton Jones; David Mazières

Though Haskell is predominantly type-safe, implementations contain a few loopholes through which code can bypass typing and module encapsulation. This paper presents Safe Haskell, a language extension that closes these loopholes. Safe Haskell makes it possible to confine and safely execute untrusted, possibly malicious code. By strictly enforcing types, Safe Haskell allows a variety of different policies from API sandboxing to information-flow control to be implemented easily as monads. Safe Haskell is aimed to be as unobtrusive as possible. It enforces properties that programmers tend to meet already by convention. We describe the design of Safe Haskell and an implementation (currently shipping with GHC) that infers safety for code that lies in a safe subset of the language. We use Safe Haskell to implement an online Haskell interpreter that can securely execute arbitrary untrusted code with no overhead. The use of Safe Haskell greatly simplifies this task and allows the use of a large body of existing code and tools.


architectural support for programming languages and operating systems | 2017

Towards Practical Default-On Multi-Core Record/Replay

Ali José Mashtizadeh; Tal Garfinkel; David Terei; David Mazières; Mendel Rosenblum

We present Castor, a record/replay system for multi-core applications that provides consistently low and predictable overheads. With Castor, developers can leave record and replay on by default, making it practical to record and reproduce production bugs, or employ fault tolerance to recover from hardware failures. Castor is inspired by several observations: First, an efficient mechanism for logging non-deterministic events is critical for recording demanding workloads with low overhead. Through careful use of hardware we were able to increase log throughput by 10x or more, e.g., we could record a server handling 10x more requests per second for the same record overhead. Second, most applications can be recorded without modifying source code by using the compiler to instrument language level sources of non-determinism, in conjunction with more familiar techniques like shared library interposition. Third, while Castor cannot deterministically replay all data races, this limitation is generally unimportant in practice, contrary to what prior work has assumed. Castor currently supports applications written in C, C++, and Go on FreeBSD. We have evaluated Castor on parallel and server workloads, including a commercial implementation of memcached in Go, which runs Castor in production.


international symposium on memory management | 2014

M 3 : high-performance memory management from off-the-shelf components

David Terei; Alex Aiken; Jan Vitek

Real-world garbage collectors in managed languages are complex. We investigate whether this complexity is really necessary and show that by having a different (but wider) interface between the collector and the developer, we can achieve high performance with off-the-shelf components for real applications. We propose to assemble a memory manager out of multiple, simple collection strategies and to expose the choice of where to use those strategies in the program to the developer. We describe and evaluate an instantiation of our design for C. Our prototype allows developers to choose on a per-type basis whether data should be reference counted or reclaimed by a tracing collector. While neither strategy is optimised, our empirical data shows that we can achieve performance that is competitive with hand-tuned C code for real-world applications.


operating systems design and implementation | 2012

Hails: protecting data privacy in untrusted web applications

Daniel B. Giffin; Amit Levy; Deian Stefan; David Terei; David Mazières; John C. Mitchell; Alejandro Russo


Journal of Computer Security | 2017

Hails: Protecting data privacy in untrusted web applications

Daniel B. Giffin; Amit Levy; Deian Stefan; David Terei; David Mazières; John C. Mitchell; Alejandro Russo


arXiv: Distributed, Parallel, and Cluster Computing | 2016

Canary: A Scheduling Architecture for High Performance Cloud Computing.

Hang Qu; Omid Mashayekhi; David Terei; Philip Levis


arXiv: Distributed, Parallel, and Cluster Computing | 2015

Blade: A Data Center Garbage Collector.

David Terei; Amit Levy


symposium/workshop on haskell | 2014

Demo proposal: making web applications -XSafe

Amit Levy; David Terei; Deian Stefan; David Mazières


principles of security and trust | 2014

Security and the Average Programmer

Daniel Griffin; Stefan Heule; Amit Levy; David Mazières; John C. Mitchell; Alejandro Russo; Amy Shen; Deian Stefan; David Terei; Edward Z. Yang

Collaboration


Dive into the David Terei's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alejandro Russo

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge