| [1] |
Winnie Cheng, Dan R. K. Ports, David Schultz, James Cowling, Victoria Popic,
Aaron Blankstein, Dorothy Curtis, Liuba Shrira, and Barbara Liskov.
Abstractions for usable information flow control in Aeolus.
In Proceedings of the 2012 USENIX Annual Technical
Conference, Boston, MA, USA, June 2012. USENIX.
[ bib |
.pdf ]
Despite the increasing importance of protecting confidential data, building secure software remains as challenging as ever. This paper describes Aeolus, a new platform for building secure distributed applications. Aeolus uses information flow control to provide confidentiality and data integrity. It differs from previous information flow control systems in a way that we believe makes it easier to understand and use. Aeolus uses a new, simpler security model, the first to combine a standard principal-based scheme for authority management with thread-granularity information flow tracking. The principal hierarchy matches the way developers already reason about authority and access control, and the coarse-grained information flow tracking eases the task of defining a program's security restrictions. In addition, Aeolus provides a number of new mechanisms (authority closures, compound tags, boxes, and shared volatile state) that support common design patterns in secure application design.
|
| [2] |
Dan R. K. Ports, Austin T. Clements, Irene Zhang, Samuel Madden, and Barbara
Liskov.
Transactional consistency and automatic management in an application
data cache.
In Proceedings of the 9th USENIX Symposium on Operating
Systems Design and Implementation (OSDI '10), Vancouver, BC, Canada,
October 2010. USENIX.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Distributed in-memory application data caches like memcached are a popular solution for scaling database-driven web sites. These systems are easy to add to existing deployments, and increase performance significantly by reducing load on both the database and application servers. Unfortunately, such caches do not integrate well with the database or the application. They cannot maintain transactional consistency across the entire system, violating the isolation properties of the underlying database. They leave the application responsible for locating data in the cache and keeping it up to date, a frequent source of application complexity and programming errors.
|
| [3] |
Dan R. K. Ports, Austin T. Clements, Irene Y. Zhang, Samuel Madden, and Barbara
Liskov.
Transactional caching of application data using recent snapshots.
In Proceedings of the 22nd ACM Symposium on Operating
Systems Principles (SOSP '09), Big Sky, MT, USA, October 2009. ACM.
Work in Progress report.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Many of today's well-known websites use application data caches to reduce the bottleneck load on the database, as well as the computational load on the application servers. Distributed in-memory shared caches, exemplified by memcached, are one popular approach. These caches typically provide a get/put interface, akin to a distributed hash table; the application chooses what data to keep in the cache and keeps it up to date. By storing the cache entirely in memory and horizontally partitioning among nodes, in-memory caches provide quick response times and ease of scaling.
|
| [4] |
James Cowling, Dan R. K. Ports, Barbara Liskov, Raluca Ada Popa, and Abhijeet
Gaikwad.
Census: Location-aware membership management for large-scale
distributed systems.
In Proceedings of the 2009 USENIX Annual Technical
Conference, San Diego, CA, USA, June 2009. USENIX.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
We present Census, a platform for building large-scale distributed applications. Census provides a membership service and a multicast mechanism. The membership service provides every node with a consistent view of the system membership, which may be global or partitioned into location-based regions. Census distributes membership updates with low overhead, propagates changes promptly, and is resilient to both crashes and Byzantine failures. We believe that Census is the first system to provide a consistent membership abstraction at very large scale, greatly simplifying the design of applications built atop large deployments such as multi-site data centers.
|
| [5] |
Dan R. K. Ports and Tal Garfinkel.
Towards application security on untrusted operating systems.
In Proceedings of the 3rd Workshop on Hot Topics in Security
(HotSec '08), San Jose, CA, USA, July 2008. USENIX.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Complexity in commodity operating systems makes compromises inevitable. Consequently, a great deal of work has examined how to protect security-critical portions of applications from the OS through mechanisms such as microkernels, virtual machine monitors, and new processor architectures. Unfortunately, most work has focused on CPU and memory isolation and neglected OS semantics. Thus, while much is known about how to prevent OS and application processes from modifying each other, far less is understood about how different OS components can undermine application security if they turn malicious.
|
| [6] |
Xiaoxin Chen, Tal Garfinkel, E. Christopher Lewis, Pratap Subrahmanyam, Carl A.
Waldspurger, Dan Boneh, Jeffrey Dwoskin, and Dan R. K. Ports.
Overshadow: A virtualization-based approach to retrofitting
protection in commodity operating systems.
In Proceedings of the 13th International Conference on
Architectural Support for Programming Languages and Operating
Systems (ASPLOS '08), Seattle, WA, USA, March 2008. ACM.
[ bib |
.ps.gz |
.pdf ]
Commodity operating systems entrusted with securing sensitive data are remarkably large and complex, and consequently, frequently prone to compromise. To address this limitation, we introduce a virtual-machine-based system called Overshadow that protects the privacy and integrity of application data, even in the event of a total OS compromise. Overshadow presents an application with a normal view of its resources, but the OS with an encrypted view. This allows the operating system to carry out the complex task of managing an application's resources, without allowing it to read or modify them. Thus, Overshadow offers a last line of defense for application data.
|
| [7] | Dan R. K. Ports, Austin T. Clements, and Erik D. Demaine. PersiFS: A versioned file system with an efficient representation. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP '05), Brighton, United Kingdom, October 2005. ACM. Poster and extended abstract. [ bib ] |
| [8] |
Austin T. Clements, Dan R. K. Ports, and David R. Karger.
Arpeggio: Metadata searching and content sharing with Chord.
In Proceedings of the 4th International Workshop on Peer-to-Peer
Systems (IPTPS '05), volume 3640 of Lecture Notes in Computer
Science, pages 58-68, Ithaca, NY, USA, February 2005. Springer.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Arpeggio is a peer-to-peer file-sharing network based on the Chord lookup primitive. Queries for data whose metadata matches a certain criterion are performed efficiently by using a distributed keyword-set index, augmented with index-side filtering. We introduce index gateways, a technique for minimizing index maintenance overhead. Because file data is large, Arpeggio employs subrings to track live source peers without the cost of inserting the data itself into the network. Finally, we introduce postfetching, a technique that uses information in the index to improve the availability of rare files. The result is a system that provides efficient query operations with the scalability and reliability advantages of full decentralization, and a content distribution system tuned to the requirements and capabilities of a peer-to-peer network.
|
| [9] |
Austin T. Clements, Dan R. K. Ports, and David R. Karger.
Arpeggio: Efficient metadata-based searching and file transfer with
DHTs.
In Proceedings of the 2nd Project IRIS Student Workshop (ISW
'04), Cambridge, MA, USA, November 2004.
Poster and extended abstract.
[ bib ]
|
| [10] |
Dan R. K. Ports.
Arpeggio: Metadata indexing in a structured peer-to-peer network.
Master's thesis, Massachusetts Institute of Technology, Cambridge,
MA, USA, February 2007.
[ bib |
.ps.gz |
.pdf ]
Peer-to-peer networks require an efficient means for performing searches for files by metadata keywords. Unfortunately, current methods usually sacrifice either scalability or recall. Arpeggio is a peer-to-peer file-sharing network that uses the Chord lookup primitive as a basis for constructing distributed keyword-set index, augmented with index-side filtering, to address this problem. We introduce index gateways, a technique for minimizing index maintenance overhead. Arpeggio also includes a content distribution system for finding source peers for a file; we present a novel system that uses Chord subrings to track live source peers without the cost of inserting the data itself into the network, and supports postfetching: using information in the index to improve the availability of rare files. The result is a system that provides efficient query operations with the scalability and reliability advantages of full decentralization. We use analysis and simulation results to show that our indexing system has reasonable storage and bandwidth costs, and improves load distribution.
|
| [11] |
Dan R. K. Ports, Austin T. Clements, and Irene Y. Zhang.
Optimizing distributed read-only transactions using multiversion
concurrency.
6.830 (Database Systems) Project Report, December 2007.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Distributed transactional systems typically achieve efficiency by abandoning true serializability for weaker forms of consistency that are difficult to reason about because they expose the concurrency in the underlying system. We explore an alternate route: weakening causality instead of consistency. Our proposed algorithm achieves global serializability by sacrificing global causality, which we argue is reasonable in many situations. This allows our algorithm to achieve efficiency by permitting read-only transactions to operate on stale but locally available cache data. We present the details of a transactional block storage protocol that implements this form of concurrency control, as well as a performance evaluation of an experimental implementation of this protocol and comparison against conventional optimistic concurrency control.
|
| [12] |
Dan R. K. Ports, Austin T. Clements, and Irene Y. Zhang.
Plaid: Pattern language for abstract datatypes.
6.891 (Advanced Symbolic Programming) Project Report, May 2007.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
The expressiveness of traditional syntactic pattern matching is severely limited by its lack of abstraction. Because syntax patterns are mired in the built-in types understood by the pattern matching system, they lack the ability to express patterns over abstract data types (ADT's). More advanced pattern matching techniques, such as semantic matching, can overcome this, but at the per-ADT cost of the complex code required to add new pattern combinators to the system.
|
| [13] |
Dan R. K. Ports, Austin T. Clements, and Jeff Arnold.
Canopy: A controlled emulation environment for network system
experimentation.
6.829 (Computer Networks) Project Report, December 2005.
[ bib |
.ps.gz |
.pdf ]
Network systems are hard to debug because they are inherently parallel and non-deterministic. Canopy assists with network debugging by putting the entire network system into a
|
| [14] |
Austin T. Clements, Dan R. K. Ports, Ben A. Schmeckpeper, and Hector Yuen.
PersiFS: A continuously versioned network file system.
6.824 (Distributed Systems Engineering) Project Report, May 2005.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
Most file systems are
|
| [15] |
Dan R. K. Ports and Austin T. Clements.
Structures for efficient file system-scale partial persistence.
6.897 (Advanced Data Structures) Project Report, May 2005.
[ bib |
slides (.pdf) |
.ps.gz |
.pdf ]
A
|
This file was generated by bibtex2html 1.97.