Demo Data from EDBT 2026 / reviewers in the wild / expert
Manuel Costa
dblp:35/6770
· DBLP profile ↗
27ranked-venue papers
5as first author
4since 2021 · last 2025
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 3 first-authorSecurity and privacy · 9 · 1 since 2021Systems, architecture and hardware · 4 · 2 first-authorComputer networks · 2 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Network and information security
19 papers |
Hardware security and side channels · 38% Systems and software security · 20% Network security · 14% | |
| Software engineering, system software, and programming languages
12 papers |
Runtime systems and virtual machines · 36% Operating systems · 30% Software testing · 7% | |
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Distributed systems · 54% Cloud and datacenter computing · 33% Memory systems · 8% | |
| Databases, data mining, and information retrieval
1 paper |
Database system architecture and tuning · 77% Transaction processing and concurrency control · 23% |
Topics — the 30 heaviest of 53, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware security and side channels
trusted execution environments |
1.8 | 6 | 2025 | Confidential Consortium Framework: Secure Multiparty Applications with Confidentiality, Integrity, and High Availability · Proc. VLDB Endow. 2023 EnclaveDB: A Secure Database Using SGX · IEEE Symposium on Security and Privacy 2018 Transparent Attested DNS for Confidential Computing Services · USENIX Security Symposium 2025 |
Network security › protocol security
DNS security |
0.9 | 1 | 2025 | Transparent Attested DNS for Confidential Computing Services · USENIX Security Symposium 2025 |
Distributed systems › replication
state machine replication |
0.7 | 1 | 2023 | Confidential Consortium Framework: Secure Multiparty Applications with Confidentiality, Integrity, and High Availability · Proc. VLDB Endow. 2023 |
Operating systems › resource management
memory management |
0.6 | 3 | 2017 | Project snowflake: non-blocking safe manual memory management in .NET · Proc. ACM Program. Lang. 2017 Simple, fast, and safe manual memory management · PLDI 2017 Lightweight Logging for Lazy Release Consistent Distributed Shared Memory · OSDI 1996 |
Runtime systems and virtual machines
manual memory management |
0.6 | 2 | 2017 | Project snowflake: non-blocking safe manual memory management in .NET · Proc. ACM Program. Lang. 2017 Simple, fast, and safe manual memory management · PLDI 2017 |
Systems and software security
memory safety |
0.6 | 4 | 2017 | Simple, fast, and safe manual memory management · PLDI 2017 Dynamically checking ownership policies in concurrent c/c++ programs · POPL 2010 Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors · USENIX Security Symposium 2009 |
Runtime systems and virtual machines
garbage collection |
0.4 | 2 | 2017 | Project snowflake: non-blocking safe manual memory management in .NET · Proc. ACM Program. Lang. 2017 Simple, fast, and safe manual memory management · PLDI 2017 |
Hardware security and side channels › side-channel countermeasures
cache side-channel defense |
0.3 | 1 | 2017 | Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory · USENIX Security Symposium 2017 |
Cloud and datacenter computing
cloud security |
0.3 | 2 | 2015 | VC3: Trustworthy Data Analytics in the Cloud Using SGX · IEEE Symposium on Security and Privacy 2015 Observing and Preventing Leakage in MapReduce · CCS 2015 |
Hardware security and side channels › trusted execution environments
confidential computing |
0.3 | 1 | 2025 | Transparent Attested DNS for Confidential Computing Services · USENIX Security Symposium 2025 |
Privacy and data protection
privacy-preserving machine learning |
0.2 | 1 | 2016 | Oblivious Multi-Party Machine Learning on Trusted Processors · USENIX Security Symposium 2016 |
Cryptographic protocols and secure computation
secure multiparty computation |
0.2 | 1 | 2016 | Oblivious Multi-Party Machine Learning on Trusted Processors · USENIX Security Symposium 2016 |
Privacy and data protection › information leakage
data leakage |
0.2 | 1 | 2015 | Observing and Preventing Leakage in MapReduce · CCS 2015 |
Hardware security and side channels › trusted execution environments
Intel SGX |
0.2 | 1 | 2015 | VC3: Trustworthy Data Analytics in the Cloud Using SGX · IEEE Symposium on Security and Privacy 2015 |
Systems and software security › memory safety
memory isolation |
0.2 | 1 | 2015 | VC3: Trustworthy Data Analytics in the Cloud Using SGX · IEEE Symposium on Security and Privacy 2015 |
Cryptographic protocols and secure computation
secure distributed computation |
0.2 | 1 | 2015 | Observing and Preventing Leakage in MapReduce · CCS 2015 |
Software testing
software reliability |
0.2 | 1 | 2014 | Docovery: toward generic automatic document recovery · ASE 2014 |
Malware analysis › malware defense
worm containment |
0.1 | 2 | 2008 | Vigilante: End-to-end containment of Internet worm epidemics · ACM Trans. Comput. Syst. 2008 Vigilante: end-to-end containment of internet worms · SOSP 2005 |
Concurrent programming › concurrency bugs
data races |
0.1 | 1 | 2010 | Dynamically checking ownership policies in concurrent c/c++ programs · POPL 2010 |
Program verification
dynamic verification |
0.1 | 1 | 2010 | Dynamically checking ownership policies in concurrent c/c++ programs · POPL 2010 |
Systems and software security
vulnerability discovery |
0.1 | 2 | 2008 | Vigilante: End-to-end containment of Internet worm epidemics · ACM Trans. Comput. Syst. 2008 Better bug reporting with better privacy · ASPLOS 2008 |
Systems and software security › isolation
kernel extension isolation |
0.1 | 1 | 2009 | Fast byte-granularity software fault isolation · SOSP 2009 |
Systems and software security
operating system security |
0.1 | 1 | 2009 | Fast byte-granularity software fault isolation · SOSP 2009 |
Systems and software security › isolation
software fault isolation |
0.1 | 1 | 2009 | Fast byte-granularity software fault isolation · SOSP 2009 |
Operating systems › extensible operating systems › kernel extensibility
kernel extension isolation |
0.1 | 1 | 2009 | Fast byte-granularity software fault isolation · SOSP 2009 |
Program analysis
dynamic analysis |
0.1 | 2 | 2007 | Bouncer: securing software by blocking bad input · SOSP 2007 Securing Software by Enforcing Data-flow Integrity · OSDI 2006 |
Memory systems
cache |
0.1 | 1 | 2017 | Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory · USENIX Security Symposium 2017 |
Debugging and program repair
bug reproduction |
0.1 | 1 | 2008 | Better bug reporting with better privacy · ASPLOS 2008 |
Debugging and program repair
fault localization |
0.1 | 1 | 2008 | Better bug reporting with better privacy · ASPLOS 2008 |
Systems and software security
exploitation mitigation |
0.1 | 1 | 2007 | Bouncer: securing software by blocking bad input · SOSP 2007 |
Methods — techniques the papers use, named apart from their topics
immutable ledger · 1.3hardware-based trusted execution · 1.3trusted hardware · 0.7cryptographic integrity protocol · 0.7hardware transactional memory · 0.6runtime verification · 0.5machine code verification · 0.5information release confinement · 0.5reference counting · 0.3concurrent memory management · 0.3trusted processors · 0.2oblivious computation · 0.2trusted execution environment · 0.2secure hardware · 0.2remote attestation · 0.2hadoop · 0.2VC3 · 0.2automatic document recovery · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Transparent Attested DNS for Confidential Computing Services
Antoine Delignat-Lavaud, Cédric Fournet, Kapil Vaswani, Manuel Costa, Sylvan Clebsch, Christoph M. Wintersteiger |
USENIX Security Symposium | 4 |
| 2023 | Confidential Consortium Framework: Secure Multiparty Applications with Confidentiality, Integrity, and High AvailabilityabstractConfidentiality, integrity protection, and high availability, abbreviated to CIA, are essential properties for trustworthy data systems. The rise of cloud computing and the growing demand for multiparty applications however means that building modern CIA systems is more challenging than ever. In response, we present the Confidential Consortium Framework (CCF), a general-purpose foundation for developing secure stateful CIA applications. CCF combines centralized compute with decentralized trust, supporting deployment on untrusted cloud infrastructure and transparent governance by mutually untrusted parties. CCF leverages hardware-based trusted execution environments for remotely verifiable confidentiality and code integrity. This is coupled with state machine replication backed by an auditable immutable ledger for data integrity and high availability. CCF enables each service to bring its own application logic, custom multiparty governance model, and deployment scenario, decoupling the operators of nodes from the consortium that governs them. CCF is open-source and available now at https://github.com/microsoft/CCF. Heidi Howard, Fritz Alder, Edward Ashton, Amaury Chamayou, Sylvan Clebsch, Manuel Costa, Antoine Delignat-Lavaud, Cédric Fournet, Andrew Jeffery, Matthew Kerner, Fotios Kounelis, Markus Alexander Kuppe, Julien Maffre, Mark Russinovich, Christoph M. Wintersteiger |
Proc. VLDB Endow. | 6 |
| 2022 | IA-CCF: Individual Accountability for Permissioned Ledgers
Alex Shamis, Peter R. Pietzuch, Burcu Canakci, Miguel Castro 0001, Cédric Fournet, Edward Ashton, Amaury Chamayou, Sylvan Clebsch, Antoine Delignat-Lavaud, Matthew Kerner, Julien Maffre, Olga Vrousgou, Christoph M. Wintersteiger, Manuel Costa, Mark Russinovich |
NSDI | 14 |
| 2021 | AMP: authentication of media via provenanceabstractAdvances in graphics and machine learning have led to the general availability of easy-to-use tools for modifying and synthesizing media. The proliferation of these tools threatens to cast doubt on the veracity of all media. One approach to thwarting the flow of fake media is to detect modified or synthesized media through machine learning methods. While detection may help in the short term, we believe that it is destined to fail as the quality of fake media generation continues to improve. Soon, neither humans nor algorithms will be able to reliably distinguish fake versus real content. Thus, pipelines for assuring the source and integrity of media will be required---and increasingly relied upon. We present AMP, a system that ensures the authentication of media via certifying provenance. AMP creates one or more publisher-signed manifests for a media instance uploaded by a content provider. These manifests are stored in a database allowing fast lookup from applications such as browsers. For reference, the manifests are also registered and signed by a permissioned ledger, implemented using the Confidential Consortium Framework (CCF). CCF employs both software and hardware techniques to ensure the integrity and transparency of all registered manifests. AMP, through its use of CCF, enables a consortium of media providers to govern the service while making all its operations auditable. The authenticity of the media can be communicated to the user via visual elements in the browser, indicating that an AMP manifest has been successfully located and verified. Paul England, Henrique S. Malvar, Eric Horvitz, Jack W. Stokes, Cédric Fournet, Rebecca Burke-Aguero, Amaury Chamayou, Sylvan Clebsch, Manuel Costa, John Deutscher, Shabnam Erfani, Matt Gaylor, Andrew Jenks, Kevin Kane, Elissa M. Redmiles, Alex Shamis, Isha Sharma, John C. Simmons, Sam Wenker, Anika Zaman |
MMSys | 9 |
| 2018 | EnclaveDB: A Secure Database Using SGXabstractWe propose EnclaveDB, a database engine that guarantees confidentiality, integrity, and freshness for data and queries. EnclaveDB guarantees these properties even when the database administrator is malicious, when an attacker has compromised the operating system or the hypervisor, and when the database runs in an untrusted host in the cloud. EnclaveDB achieves this by placing sensitive data (tables, indexes and other metadata) in enclaves protected by trusted hardware (such as Intel SGX). EnclaveDB has a small trusted computing base, which includes an in-memory storage and query engine, a transaction manager and pre-compiled stored procedures. A key component of EnclaveDB is an efficient protocol for checking integrity and freshness of the database log. The protocol supports concurrent, asynchronous appends and truncation, and requires minimal synchronization between threads. Our experiments using standard database benchmarks and a performance model that simulates large enclaves show that EnclaveDB achieves strong security with low overhead (up to 40% for TPC-C) compared to an industry strength in-memory database engine. Christian Priebe, Kapil Vaswani, Manuel Costa |
IEEE Symposium on Security and Privacy | 3 |
| 2017 | Simple, fast, and safe manual memory managementabstractSafe programming languages are readily available, but many applications continue to be written in unsafe languages because of efficiency. As a consequence, many applications continue to have exploitable memory safety bugs. Since garbage collection is a major source of inefficiency in the implementation of safe languages, replacing it with safe manual memory management would be an important step towards solving this problem. Piyus Kedia, Manuel Costa, Matthew J. Parkinson, Kapil Vaswani, Dimitrios Vytiniotis, Aaron Blankstein |
PLDI | 2 |
| 2017 | Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory
Daniel Gruss, Julian Lettner, Felix Schuster, Olga Ohrimenko, István Haller, Manuel Costa |
USENIX Security Symposium | 6 |
| 2017 | Project snowflake: non-blocking safe manual memory management in .NETabstractGarbage collection greatly improves programmer productivity and ensures memory safety. Manual memory management on the other hand often delivers better performance but is typically unsafe and can lead to system crashes or security vulnerabilities. We propose integrating safe manual memory management with garbage collection in the .NET runtime to get the best of both worlds. In our design, programmers can choose between allocating objects in the garbage collected heap or the manual heap. All existing applications run unmodified, and without any performance degradation, using the garbage collected heap. Our programming model for manual memory management is flexible: although objects in the manual heap can have a single owning pointer, we allow deallocation at any program point and concurrent sharing of these objects amongst all the threads in the program. Experimental results from our .NET CoreCLR implementation on real-world applications show substantial performance gains especially in multithreaded scenarios: up to 3x savings in peak working sets and 2x improvements in runtime. Matthew J. Parkinson, Dimitrios Vytiniotis, Kapil Vaswani, Manuel Costa, Pantazis Deligiannis, Dylan McDermott, Aaron Blankstein, Jonathan Balkind |
Proc. ACM Program. Lang. | 4 |
| 2016 | A design and verification methodology for secure isolated regionsabstractHardware support for isolated execution (such as Intel SGX) enables development of applications that keep their code and data confidential even while running in a hostile or compromised host. However, automatically verifying that such applications satisfy confidentiality remains challenging. We present a methodology for designing such applications in a way that enables certifying their confidentiality. Our methodology consists of forcing the application to communicate with the external world through a narrow interface, compiling it with runtime checks that aid verification, and linking it with a small runtime that implements the narrow interface. The runtime includes services such as secure communication channels and memory management. We formalize this restriction on the application as Information Release Confinement (IRC), and we show that it allows us to decompose the task of proving confidentiality into (a) one-time, human-assisted functional verification of the runtime to ensure that it does not leak secrets, (b) automatic verification of the application's machine code to ensure that it satisfies IRC and does not directly read or corrupt the runtime's internal state. We present /CONFIDENTIAL: a verifier for IRC that is modular, automatic, and keeps our compiler out of the trusted computing base. Our evaluation suggests that the methodology scales to real-world applications. Rohit Sinha 0001, Manuel Costa, Akash Lal, Nuno P. Lopes, Sriram K. Rajamani, Sanjit A. Seshia, Kapil Vaswani |
PLDI | 2 |
| 2016 | Oblivious Multi-Party Machine Learning on Trusted Processors
Olga Ohrimenko, Felix Schuster, Cédric Fournet, Aastha Mehta, Sebastian Nowozin, Kapil Vaswani, Manuel Costa |
USENIX Security Symposium | 7 |
| 2015 | Observing and Preventing Leakage in MapReduceabstractThe use of public cloud infrastructure for storing and processing large datasets raises new security concerns. Current solutions propose encrypting all data, and accessing it in plaintext only within secure hardware. Nonetheless, the distributed processing of large amounts of data still involves intensive encrypted communications between different processing and network storage units, and those communications patterns may leak sensitive information. We consider secure implementation of MapReduce jobs, and analyze their intermediate traffic between mappers and reducers. Using datasets that include personal and geographical data, we show how an adversary that observes the runs of typical jobs can infer precise information about their input. We give a new definition of data privacy for MapReduce, and describe two provably-secure, practical solutions. We implement our solutions on top of VC3, a secure implementation of Hadoop, and evaluate their performance. Olga Ohrimenko, Manuel Costa, Cédric Fournet, Christos Gkantsidis, Markulf Kohlweiss |
CCS | 2 |
| 2015 | Broom: Sweeping Out Garbage Collection from Big Data Systems
Ionel Gog, Jana Giceva, Malte Schwarzkopf, Kapil Vaswani, Dimitrios Vytiniotis, G. Ramalingam, Manuel Costa, Derek Gordon Murray, Steven Hand 0001, Michael Isard |
HotOS | 7 |
| 2015 | VC3: Trustworthy Data Analytics in the Cloud Using SGXabstractWe present VC3, the first system that allows users to run distributed MapReduce computations in the cloud while keeping their code and data secret, and ensuring the correctness and completeness of their results. VC3 runs on unmodified Hadoop, but crucially keeps Hadoop, the operating system and the hyper visor out of the TCB, thus, confidentiality and integrity are preserved even if these large components are compromised. VC3 relies on SGX processors to isolate memory regions on individual computers, and to deploy new protocols that secure distributed MapReduce computations. VC3 optionally enforces region self-integrity invariants for all MapReduce code running within isolated regions, to prevent attacks due to unsafe memory reads and writes. Experimental results on common benchmarks show that VC3 performs well compared with unprotected Hadoop: VC3's average runtime overhead is negligible for its base security guarantees, 4.5% with write integrity and 8% with read/write integrity. Felix Schuster, Manuel Costa, Cédric Fournet, Christos Gkantsidis, Marcus Peinado, Gloria Mainar-Ruiz, Mark Russinovich |
IEEE Symposium on Security and Privacy | 2 |
| 2014 | Docovery: toward generic automatic document recoveryabstractApplication crashes and errors that occur while loading a document are one of the most visible defects of consumer software. While documents become corrupted in various ways---from storage media failures to incompatibility across applications to malicious modifications---the underlying reason they fail to load in a certain application is that their contents cause the application logic to exercise an uncommon execution path which the software was not designed to handle, or which was not properly tested. Tomasz Kuchta, Cristian Cadar, Miguel Castro 0001, Manuel Costa |
ASE | 4 |
| 2010 | Dynamically checking ownership policies in concurrent c/c++ programsabstractConcurrent programming errors arise when threads share data incorrectly. Programmers often avoid these errors by using synchronization to enforce a simple ownership policy: data is either owned exclusively by a thread that can read or write the data, or it is read owned by a set of threads that can read but not write the data. Unfortunately, incorrect synchronization often fails to enforce these policies and memory errors in languages like C and C++ can violate these policies even when synchronization is correct. Jean-Phillipe Martin, Michael Hicks 0001, Manuel Costa, Periklis Akritidis, Miguel Castro 0001 |
POPL | 3 |
| 2009 | Fast byte-granularity software fault isolationabstractBugs in kernel extensions remain one of the main causes of poor operating system reliability despite proposed techniques that isolate extensions in separate protection domains to contain faults. We believe that previous fault isolation techniques are not widely used because they cannot isolate existing kernel extensions with low overhead on standard hardware. This is a hard problem because these extensions communicate with the kernel using a complex interface and they communicate frequently. We present BGI (Byte-Granularity Isolation), a new software fault isolation technique that addresses this problem. BGI uses efficient byte-granularity memory protection to isolate kernel extensions in separate protection domains that share the same address space. BGI ensures type safety for kernel objects and it can detect common types of errors inside domains. Our results show that BGI is practical: it can isolate Windows drivers without requiring changes to the source code and it introduces a CPU overhead between 0 and 16%. BGI can also find bugs during driver testing. We found 28 new bugs in widely used Windows drivers. Miguel Castro 0001, Manuel Costa, Jean-Philippe Martin, Marcus Peinado, Periklis Akritidis, Austin Donnelly, Paul Barham 0001, Richard Black |
SOSP | 2 |
| 2009 | Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors
Periklis Akritidis, Manuel Costa, Miguel Castro 0001, Steven Hand 0001 |
USENIX Security Symposium | 2 |
| 2008 | Better bug reporting with better privacyabstractSoftware vendors collect bug reports from customers to improve the quality of their software. These reports should include the inputs that make the software fail, to enable vendors to reproduce the bug. However, vendors rarely include these inputs in reports because they may contain private user data. We describe a solution to this problem that provides software vendors with new input values that satisfy the conditions required to make the software follow the same execution path until it fails, but are otherwise unrelated with the original inputs. These new inputs allow vendors to reproduce the bug while revealing less private information than existing approaches. Additionally, we provide a mechanism to measure the amount of information revealed in an error report. This mechanism allows users to perform informed decisions on whether or not to submit reports. We implemented a prototype of our solution and evaluated it with real errors in real programs. The results show that we can produce error reports that allow software vendors to reproduce bugs while revealing almost no private information. Miguel Castro 0001, Manuel Costa, Jean-Philippe Martin |
ASPLOS | 2 |
| 2008 | Preventing Memory Error Exploits with WITabstractAttacks often exploit memory errors to gain control over the execution of vulnerable programs. These attacks remain a serious problem despite previous research on techniques to prevent them. We present write integrity testing (WIT), a new technique that provides practical protection from these attacks. WIT uses points-to analysis at compile time to compute the control-flow graph and the set of objects that can be written by each instruction in the program. Then it generates code instrumented to prevent instructions from modifying objects that are not in the set computed by the static analysis, and to ensure that indirect control transfers are allowed by the control-flow graph. To improve coverage where the analysis is not precise enough, WIT inserts small guards between the original program objects. We describe an efficient implementation with optimizations to reduce space and time overhead. This implementation can be used in practice because it compiles C and C++ programs without modifications, it has high coverage with no false positives, and it has low overhead. WIT's average runtime overhead is only 7% across a set of CPU intensive benchmarks and it is negligible when IO is the bottleneck. Periklis Akritidis, Cristian Cadar, Costin Raiciu, Manuel Costa, Miguel Castro 0001 |
SP | 4 |
| 2008 | Vigilante: End-to-end containment of Internet worm epidemicsabstractWorm containment must be automatic because worms can spread too fast for humans to respond. Recent work proposed network-level techniques to automate worm containment; these techniques have limitations because there is no information about the vulnerabilities exploited by worms at the network level. We propose Vigilante, a new end-to-end architecture to contain worms automatically that addresses these limitations. In Vigilante, hosts detect worms by instrumenting vulnerable programs to analyze infection attempts. We introduce dynamic data-flow analysis : a broad-coverage host-based algorithm that can detect unknown worms by tracking the flow of data from network messages and disallowing unsafe uses of this data. We also show how to integrate other host-based detection mechanisms into the Vigilante architecture. Upon detection, hosts generate self-certifying alerts (SCAs), a new type of security alert that can be inexpensively verified by any vulnerable host. Using SCAs, hosts can cooperate to contain an outbreak, without having to trust each other. Vigilante broadcasts SCAs over an overlay network that propagates alerts rapidly and resiliently. Hosts receiving an SCA protect themselves by generating filters with vulnerability condition slicing : an algorithm that performs dynamic analysis of the vulnerable program to identify control-flow conditions that lead to successful attacks. These filters block the worm attack and all its polymorphic mutations that follow the execution path identified by the SCA. Our results show that Vigilante can contain fast-spreading worms that exploit unknown vulnerabilities, and that Vigilante's filters introduce a negligible performance overhead. Vigilante does not require any changes to hardware, compilers, operating systems, or the source code of vulnerable programs; therefore, it can be used to protect current software binaries. Manuel Costa, Jon Crowcroft, Miguel Castro 0001, Antony I. T. Rowstron, Lidong Zhou, Paul Barham 0001 |
ACM Trans. Comput. Syst. | 1 |
| 2007 | Bouncer: securing software by blocking bad inputabstractAttackers exploit software vulnerabilities to control or crash programs. Bouncer uses existing software instrumentation techniques to detect attacks and it generates filters automatically to block exploits of the target vulnerabilities. The filters are deployed automatically by instrumenting system calls to drop exploit messages. These filters introduce low overhead and they allow programs to keep running correctly under attack. Previous work computes filters using symbolic execution along the path taken by a sample exploit, but attackers can bypass these filters by generating exploits that follow a different execution path. Bouncer introduces three techniques to generalize filters so that they are harder to bypass: a new form of program slicing that uses a combination of static and dynamic analysis to remove unnecessary conditions from the filter; symbolic summaries for common library functions that characterize their behavior succinctly as a set of conditions on the input; and generation of alternative exploits guided by symbolic execution. Bouncer filters have low overhead, they do not have false positives by design, and our results show that Bouncer can generate filters that block all exploits of some real-world vulnerabilities. Manuel Costa, Miguel Castro 0001, Lidong Zhou, Marcus Peinado |
SOSP | 1 |
| 2006 | Securing Software by Enforcing Data-flow Integrity
Miguel Castro 0001, Manuel Costa, Tim Harris 0001 |
OSDI | 2 |
| 2005 | Debunking Some Myths About Structured and Unstructured Overlays
Miguel Castro 0001, Manuel Costa, Antony I. T. Rowstron |
NSDI | 2 |
| 2005 | Vigilante: end-to-end containment of internet wormsabstractWorm containment must be automatic because worms can spread too fast for humans to respond. Recent work has proposed network-level techniques to automate worm containment; these techniques have limitations because there is no information about the vulnerabilities exploited by worms at the network level. We propose Vigilante, a new end-to-end approach to contain worms automatically that addresses these limitations. Vigilante relies on collaborative worm detection at end hosts, but does not require hosts to trust each other. Hosts run instrumented software to detect worms and broadcast self-certifying alerts (SCAs) upon worm detection. SCAs are proofs of vulnerability that can be inexpensively verified by any vulnerable host. When hosts receive an SCA, they generate filters that block infection by analysing the SCA-guided execution of the vulnerable software. We show that Vigilante can automatically contain fast-spreading worms that exploit unknown vulnerabilities without blocking innocuous traffic. Manuel Costa, Jon Crowcroft, Miguel Castro 0001, Antony I. T. Rowstron, Lidong Zhou, Paul Barham 0001 |
SOSP | 1 |
| 2004 | Performance and Dependability of Structured Peer-to-Peer OverlaysabstractStructured peer-to-peer (P2P) overlay networks provide a useful substrate for building distributed applications. They map object keys to overlay nodes and offer a primitive to send a message to the node responsible for a key. They can implement, for example, distributed hash tables and multicast trees. However, there are concerns about the performance and dependability of these overlays in realistic environments. Several studies have shown that current P2P environments have high churn rates: nodes join and leave the overlay continuously. This paper presents techniques that continuously detect faults and repair the overlay to achieve high dependability and good performance in realistic environments. The techniques are evaluated using large-scale network simulation experiments with fault injection guided by real traces of node arrivals and departures. The results show that previous concerns are unfounded; our techniques can achieve dependable routing in realistic environments with an average delay stretch below two and a maintenance overhead of less than half a message per second per node. Miguel Castro 0001, Manuel Costa, Antony I. T. Rowstron |
DSN | 2 |
| 2004 | PIC: Practical Internet Coordinates for Distance EstimationabstractWe introduce PIC, a practical coordinate-based mechanism to estimate Internet network distance (i.e., round-trip delay or network hops). Network distance estimation is important in many applications; for example, network-aware overlay construction and server selection. There are several proposals for distance estimation in the Internet but they all suffer from problems that limit their benefit. Most rely on a small set of infrastructure nodes that are a single point of failure and limit scalability. Others use sets of peers to compute coordinates but these coordinates can be arbitrarily wrong if one of these peers is malicious. While it may be reasonable to secure a small set of infrastructure nodes, it is unreasonable to secure all peers. PIC addresses these problems: it does not rely on infrastructure nodes and it can compute accurate coordinates even when some peers are malicious. We present PIC's design, experimental evaluation, and an application to network-aware overlay construction and maintenance. Manuel Costa, Miguel Castro 0001, Antony I. T. Rowstron, Peter B. Key |
ICDCS | 1 |
| 1996 | Lightweight Logging for Lazy Release Consistent Distributed Shared MemoryabstractNo abstract available. Manuel Costa, Paulo Guedes, Manuel Sequeira, Nuno Neves 0001, Miguel Castro 0001 |
OSDI | 1 |