Network


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

Hotspot


Dive into the research topics where Amit Levy is active.

Publication


Featured researches published by Amit Levy.


international conference on functional programming | 2012

Addressing covert termination and timing channels in concurrent information flow systems

Deian Stefan; Alejandro Russo; Pablo Buiras; Amit Levy; John C. Mitchell; David Mazières

When termination of a program is observable by an adversary, confidential information may be leaked by terminating accordingly. While this termination covert channel has limited bandwidth for sequential programs, it is a more dangerous source of information leakage in concurrent settings. We address concurrent termination and timing channels by presenting a dynamic information-flow control system that mitigates and eliminates these channels while allowing termination and timing to depend on secret values. Intuitively, we leverage concurrency by placing such potentially sensitive actions in separate threads. While termination and timing of these threads may expose secret values, our system requires any thread observing these properties to raise its information-flow label accordingly, preventing leaks to lower-labeled contexts. We implement this approach in a Haskell library and demonstrate its applicability by building a web server that uses information-flow control to restrict untrusted web applications.


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.


international conference on mobile systems, applications, and services | 2016

Beetle: Flexible Communication for Bluetooth Low Energy

Amit Levy; James Hong; Laurynas Riliskis; Philip Levis; Keith Winstein

The next generation of computing peripherals will be low-power ubiquitous computing devices such as door locks, smart watches, and heart rate monitors. Bluetooth Low Energy is a primary protocol for connecting such peripherals to mobile and gateway devices. Current operating system support for Bluetooth Low Energy forces peripherals into vertical application silos. As a result, simple, intuitive applications such as opening a door with a smart watch or simultaneously logging and viewing heart rate data are impossible. We present Beetle, a new hardware interface that virtualizes peripherals at the application layer, allowing safe access by multiple programs without requiring the operating system to understand hardware functionality, fine-grained access control to peripheral device resources, and transparent access to peripherals connected over the network. We describe a series of novel applications that are impossible with existing abstractions but simple to implement with Beetle.


programming languages and operating systems | 2015

Ownership is theft: experiences building an embedded OS in rust

Amit Levy; Michael P. Andersen; Bradford Campbell; David E. Culler; Prabal Dutta; Branden Ghena; Philip Levis; Pat Pannuto

Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rusts memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rusts ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.


international conference on embedded networked sensor systems | 2014

A networked embedded system platform for the post-mote era

Pat Pannuto; Michael P. Andersen; Tom Bauer; Bradford Campbell; Amit Levy; David E. Culler; Philip Levis; Prabal Dutta

For the last fifteen years, research explored the hardware, software, sensing, communication abstractions, languages, and protocols that could make networks of small, embedded devices---motes---sample and report data for long periods of time unattended. Today, the application and technological landscapes have shifted, introducing new requirements and new capabilities. Hardware has evolved past 8 and 16 bit microcontrollers: there are now 32 bit processors with lower energy budgets and greater computing capability. New wireless link layers have emerged, creating protocols that support rapid and efficient setup and teardown but introduce novel limitations that systems must consider. The time has come to look beyond optimizing networks of motes. We look towards new technologies such as Bluetooth Low Energy, Cortex M processors, and capable energy harvesting, with new application spaces such as personal area networks, and new capabilities and requirements in security and privacy to inform contemporary hardware and software platforms. It is time for a new, open experimental platform in this post-mote era.


symposium on operating systems principles | 2017

Multiprogramming a 64kB Computer Safely and Efficiently

Amit Levy; Bradford Campbell; Branden Ghena; Daniel B. Giffin; Pat Pannuto; Prabal Dutta; Philip Levis

Low-power microcontrollers lack some of the hardware features and memory resources that enable multiprogrammable systems. Accordingly, microcontroller-based operating systems have not provided important features like fault isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices, and need these multiprogramming features. Tock, a new operating system for low-power platforms, takes advantage of limited hardware-protection mechanisms as well as the type-safety features of the Rust programming language to provide a multiprogramming environment for microcontrollers. Tock isolates software faults, provides memory protection, and efficiently manages memory for dynamic application workloads written in any language. It achieves this while retaining the dependability requirements of long-running applications.


asia pacific workshop on systems | 2017

The Case for Writing a Kernel in Rust

Amit Levy; Bradford Campbell; Branden Ghena; Pat Pannuto; Prabal Dutta; Philip Levis

An operating system kernel written in the Rust language would have extremely fine-grained isolation boundaries, have no memory leaks, and be safe from a wide range of security threats and memory bugs. Previous efforts towards this end concluded that writing a kernel requires changing Rust. This paper reaches a different conclusion, that no changes to Rust are needed and a kernel can be implemented with a very small amount of unsafe code. It describes how three sample kernel mechanisms---DMA, USB, and buffer caches---can be built using these abstractions.


symposium/workshop on haskell | 2014

Building secure systems with LIO (demo)

Deian Stefan; Amit Levy; Alejandro Russo; David Mazières

LIO is a decentralized information flow control (DIFC) system, implemented in Haskell. In this demo proposal, we give an overview of the LIO library and show how LIO can be used to build secure systems. In particular, we show how to specify high-level security policies in the context of web applications, and describe how LIO automatically enforces these policies even in the presence of untrusted code.


international conference on embedded networked sensor systems | 2018

Dynamic Multi-Clock Management for Embedded Systems

Holly Chiang; Daniel B. Giffin; Amit Levy; Philip Levis

Modern microcontrollers come with a selection of clock sources that have widely differing frequencies and power consumptions. For applications whose workloads vary over time, dynamically changing the clock can provide significant energy savings. The varying constraints of embedded hardware environments and the complex interactions of multiprogrammed systems makes this approach burdensome to do in application logic. Power Clocks orchestrates energy optimizing clock management in the kernel, obviating the need for application involvement while still achieving acceptable performance for typical workloads. This poster describes Power Clockss design and presents preliminary results.


international conference on embedded networked sensor systems | 2018

Design Considerations for Low Power Internet Protocols

Hudson Ayers; Paul Thomas Crews; Hubert Hua Kian Teo; Conor McAvity; Amit Levy; Philip Levis

Examining implementations of the 6LoWPAN Internet Standard in major embedded operating systems, we observe that they do not fully interoperate. We find this is due to some inherent design flaws in 6LoWPAN. We propose and demonstrate four principles that can be used to structure protocols for low power devices that encourage interoperability between diverse implementations.

Collaboration


Dive into the Amit Levy's collaboration.

Top Co-Authors

Avatar
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

Pat Pannuto

University of Michigan

View shared research outputs
Top Co-Authors

Avatar

Prabal Dutta

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge