Alan M. Dunn's research while affiliated with Mountain View College and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (17)


Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services
  • Conference Paper

June 2016

·

22 Reads

·

21 Citations

ACM SIGOPS Operating Systems Review

·

Alan M. Dunn

·

Michael Z. Lee

·

[...]

·

Sego is a hypervisor-based system that gives strong privacy and integrity guarantees to trusted applications, even when the guest operating system is compromised or hostile. Sego verifies operating system services, like the file system, instead of replacing them. By associating trusted metadata with user data across all system devices, Sego verifies system services more efficiently than previous systems, especially services that depend on data contents. We extensively evaluate Sego's performance on real workloads and implement a kernel fault injector to validate Sego's file system-agnostic crash consistency and recovery protocol.

Share

Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services

March 2016

·

18 Reads

·

17 Citations

ACM SIGPLAN Notices

Sego is a hypervisor-based system that gives strong privacy and integrity guarantees to trusted applications, even when the guest operating system is compromised or hostile. Sego verifies operating system services, like the file system, instead of replacing them. By associating trusted metadata with user data across all system devices, Sego verifies system services more efficiently than previous systems, especially services that depend on data contents. We extensively evaluate Sego's performance on real workloads and implement a kernel fault injector to validate Sego's file system-agnostic crash consistency and recovery protocol.


Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services

March 2016

·

18 Reads

·

10 Citations

ACM SIGOPS Operating Systems Review

Sego is a hypervisor-based system that gives strong privacy and integrity guarantees to trusted applications, even when the guest operating system is compromised or hostile. Sego verifies operating system services, like the file system, instead of replacing them. By associating trusted metadata with user data across all system devices, Sego verifies system services more efficiently than previous systems, especially services that depend on data contents. We extensively evaluate Sego's performance on real workloads and implement a kernel fault injector to validate Sego's file system-agnostic crash consistency and recovery protocol.


Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services

March 2016

·

39 Reads

·

9 Citations

ACM SIGARCH Computer Architecture News

Sego is a hypervisor-based system that gives strong privacy and integrity guarantees to trusted applications, even when the guest operating system is compromised or hostile. Sego verifies operating system services, like the file system, instead of replacing them. By associating trusted metadata with user data across all system devices, Sego verifies system services more efficiently than previous systems, especially services that depend on data contents. We extensively evaluate Sego's performance on real workloads and implement a kernel fault injector to validate Sego's file system-agnostic crash consistency and recovery protocol.


Application-Defined Decentralized Access Control

November 2014

·

27 Reads

·

11 Citations

DCAC is a practical OS-level access control system that supports application-defined principals. It allows normal users to perform administrative operations within their privilege, enabling isolation and privilege separation for applications. It does not require centralized policy specification or management, giving applications freedom to manage their principals while the policies are still enforced by the OS. DCAC uses hierarchically-named attributes as a generic framework for user-defined policies such as groups defined by normal users. For both local and networked file systems, its execution time overhead is between 0%-9% on file system microbenchmarks, and under 1% on applications. This paper shows the design and implementation of DCAC, as well as several real-world use cases, including sandboxing applications, enforcing server applications' security policies, supporting NFS, and authenticating user-defined sub-principals in SSH, all with minimal code changes.


Anon-Pass: Practical Anonymous Subscriptions

December 2013

·

353 Reads

·

28 Citations

We present the design, security proof, and implementation of an anonymous subscription service. Users register for the service by providing some form of identity, which might or might not be linked to a real-world identity such as a credit card, a web login, or a public key. A user logs on to the system by presenting a credential derived from information received at registration. Each credential allows only a single login in any authentication window, or epoch. Logins are anonymous in the sense that the service cannot distinguish which user is logging in any better than random guessing. This implies unlinkability of a user across different logins. We find that a central tension in an anonymous subscription service is the service provider's desire for a long epoch (to reduce server-side computation) versus users' desire for a short epoch (so they can repeatedly "re-anonymize" their sessions). We balance this tension by having short epochs, but adding an efficient operation for clients who do not need unlinkability to cheaply re-authenticate themselves for the next time period. We measure performance of a research prototype of our protocol that allows an independent service to offer anonymous access to existing services. We implement a music service, an Android-based subway-pass application, and a web proxy, and show that adding anonymity adds minimal client latency and only requires 33 KB of server memory per active user.


Figure 1: Giving raw sensor data to applications can compromise user privacy. This video frame captured from a Kinect contains the user’s face, private whiteboard drawings, and a bottle of medicine. 
Figure 2: AR applications often need only specific objects rather than the entire sensor streams. The “Kinect Adventures!” game only needs body position to render an avatar and simulate game physics. 
Figure 3: Two examples of mobile AR applications that only need specific objects in a sensor stream. On the left, Macy’s Believe-O-Magic only needs the location in the frame of a special marker, on top of which it renders a cartoon character. On the right, Layar only needs to know the GPS location and compass position to show geo-tagged tweets. 
Figure 5: AR application pipeline: (1) reading raw data from hardware, (2) parsing raw data into recognized objects, (3) manipulating these objects to add augmentations to the scene, and (4) resolving conflicts and rendering. 
Figure 6: 

+9

Enabling Fine-Grained Permissions for Augmented Reality Applications With Recognizers
  • Data
  • File available

August 2013

·

287 Reads

·

86 Citations

Augmented reality (AR) applications sense the en-vironment, then render virtual objects on human senses. Examples include smartphone applications that annotate storefronts with reviews and XBox Kinect games that show "avatars" mimicking human movements. No current OS has special support for such applications. As a result, permissions for AR applications are necessarily coarse-grained : applica-tions must ask for access to raw sensor feeds, such as video and audio. These raw feeds expose signif-icant additional information beyond what applica-tions need, including sensitive information such as the user's location, face, or surroundings. Instead of exposing raw sensor data to applica-tions directly, we introduce a new OS abstraction: the recognizer. A recognizer takes raw sensor data as input and exposes higher-level objects, such as a skeleton or a face, to applications. We propose a fine-grained permission system where applications request permissions at the granularity of recognizer objects. We analyze 87 shipping AR applications and find that a set of four core recognizers covers almost all current apps. We also introduce privacy goggles, a visualization of sensitive data exposed to an application. Surveys of 962 people establish a clear "privacy ordering" over recognizers and demon-strate that privacy goggles are effective at commu-nicating application capabilities. We build a proto-type on Windows that exposes nine recognizers to applications, including the Kinect skeleton tracker. Our prototype incurs negligible overhead for single applications, while improving performance of con-current applications and enabling secure offloading of heavyweight recognizer computation.

Download

Figure 1: Video frame captured from a Kinect in the office of one author. The picture contains multiple pieces of sensitive information: the face of the author, drawings on the whiteboard, and a bottle of medicine with the label showing. 
Operating System Support for Augmented Reality Applications

May 2013

·

179 Reads

·

23 Citations

Augmented reality (AR) takes natural user input (NUI), such as gestures, voice, and eye gaze, and produces digital visual overlays on top of reality seen by a user. Today, multiple shipping AR applications exist, most notably titles for the Microsoft Kinect and smartphone applications such as Layar, Wik-itude, and Junaio. Despite this activity, little at-tention has been paid to operating system support for AR applications. Instead, each AR application today does its own sensing and rendering, with the help of user-level libraries like OpenCV or the Mi-crosoft Kinect SDK. In this paper, we explore how operating systems should evolve to support AR applications. Because AR applications work with fundamentally new in-puts and outputs, an OS that supports AR applica-tions needs to re-think the input and display ab-stractions exposed to applications. Unlike mouse and keyboard, which form explicit, separate chan-nels for user input, NUI requires continuous sens-ing of the real-world environment, which often has sensitive data mixed with user input. Hence, the OS input abstractions must ensure that user pri-vacy is not violated, and the OS must provide a fine-grained permission system for access to recog-nized objects like a user's face and skeleton. In addi-tion, because visual outputs of AR applications mix real-world and virtual objects, the synthetic window abstraction in traditional GUIs is no longer viable, and OSes must rethink the display abstractions and their management. We discuss research directions for solving these and other issues and building an OS that let multiple applications share one (augmented) reality.


InkTag

April 2013

·

32 Reads

·

38 Citations

ACM SIGPLAN Notices

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.


InkTag: Secure Applications on an Untrusted Operating System

April 2013

·

182 Reads

·

179 Citations

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.


Citations (16)


... A malicious enclave is also considered in the Keystone model. In Supervisor-mode (S-mode), the Eyrie runtime provides the Operating System (OS) equivalent services and ensures the validity of address mappings, thus preventing mapping attacks [44]. Furthermore, thanks to the runtime, the enclaves do not have to rely on the OS for critical functions; hence, they can defend against controlled SCAs that exploit the sharing states across domains, like interrupt handlers and table paging. ...

Reference:

A Trusted Execution Environment RISC-V System-on-Chip Compatible with Transport Layer Security 1.3
InkTag: secure applications on an untrusted operating system
  • Citing Article
  • March 2013

ACM SIGARCH Computer Architecture News

... The prototype is implemented on an Arndale board [1], with an ARM Cortex-A15 citearmcortexa 1.7 GHz dual-core processor and 2 GB RAM, which supports hardware virtualization extension. The prototype was integrated to a KVM [17] with Linux version 3.8.0, running VMs with Linux version 2.4.20 and 3.8.0. ...

Ensuring operating system kernel integrity with OSck
  • Citing Article
  • June 2012

ACM SIGPLAN Notices

... Existing mitigation approaches rely on correctness validation following the trust-but-verify model [29,40]. In a nutshell, TEEs invoke untrusted interface calls and validate that the response matches the expected service semantics. ...

Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services
  • Citing Conference Paper
  • June 2016

ACM SIGOPS Operating Systems Review

... Methods used to detect the integrity of a system have been proven to be limited based on the existence of UEFI bootkits. These malicious code elements work by making the operating system accept that malicious code pieces are a legitimate portion of the system's code [11], [16], [27], [71]. With our proposed SPV Defense by Deception process, the system is designed to execute on both hardware and virtual systems, thus circumventing this limitation. ...

Ensuring operating system kernel integrity with OSck
  • Citing Article
  • March 2011

ACM SIGARCH Computer Architecture News

... Hypervisor-based TEE: There are a number of designs leveraging a hypervisor to provide an isolated execution environment with a small TCB [26,27,41,42,45,47,49,[51][52][53][54]. Compared to these designs, TEEv has a different goal and takes a different approach that results in smaller TCB. ...

Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services
  • Citing Conference Paper
  • March 2016

ACM SIGARCH Computer Architecture News

... SEVGuard does not implement a secure storage mechanism or a shielding layer, which makes it vulnerable to Iago attacks. Another vendor-independent virtualization approach to isolate applications is Sego [33], which runs the OS and the program in different VMs. In order to handle syscalls within the user enclave, Sego also introduces a shielding layer. ...

Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services
  • Citing Article
  • March 2016

ACM SIGOPS Operating Systems Review

... Virtual Ghost [7] also introduces a random number generator to defend against an OS that provides bad randomness. Other isolation techniques that have also addressed these two vulnerabilities include: Trustshadow [11], AppShield [6], Sego [25], ShieldBox [39] and HiddenApp [42]. ...

Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services
  • Citing Article
  • March 2016

ACM SIGPLAN Notices

... Myriad prior proposals have sought to restrict untrusted third-party code and enforce least privilege [46] with two main techniques. The first traditional approach seeks to partition a monolithic application into multiple processes in order to strongly isolate libraries and control their access to OS resources (e.g., [11,12,51,59,66,67]). However, process isolation imposes significant development and run-time overheads. ...

Application-Defined Decentralized Access Control
  • Citing Article
  • November 2014

... SGXIO [62] posits a system in which a hypervisor hosts the untrusted OS (running in a VM) as well as the trusted I/O drivers (running in Intel SGX [30] enclaves). Lacuna [20] ensures that I/O flows can be securely erased from memory once they terminate, by relying on virtualization, encryption, and direct NIC access. ...

Eternal Sunshine of the Spotless Machine: Protecting Privacy with Ephemeral Channels
  • Citing Article
  • January 2012

... In crowdsensing applications, as discussed in [6], [12], the following attack has to be addressed: a user assigned by a task transfers the secret key to rogue users who submit more data. In [6], the submission rate in each interval is limited by a fixed number K to prevent the abuse. ...

Anon-Pass: Practical Anonymous Subscriptions
  • Citing Article
  • December 2013