EDBT 2026 Demo / reviewers in the wild / expert
Nuno Neves 0001
dblp:24/4061 · also Nuno Ferreira Neves, Nuno Fuentecilla Maia Ferreira Neves
· DBLP profile ↗
65ranked-venue papers
4as first author
2since 2021 · last 2022
0000-0003-0411-4542ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 28 · 2 first-authorSystems, architecture and hardware · 22 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 13Applied, interdisciplinary, general and emerging computing · 8 · 1 since 2021Computer networks · 7Databases, data management, data science and information retrieval · 1
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.
| Computer architecture, parallel and distributed computing, and storage systems
10 papers |
Distributed systems · 64% Cloud and datacenter computing · 29% Storage systems · 6% | |
| Network and information security
5 papers |
Web and mobile security · 41% Systems and software security · 28% Network security · 27% | |
| Software engineering, system software, and programming languages
4 papers |
Program analysis · 76% Software testing · 23% Operating systems · 1% | |
| Theoretical computer science
2 papers |
Coding theory · 92% Distributed computing theory · 8% |
Topics — the 30 heaviest of 31, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
fault tolerance |
0.5 | 6 | 2013 | Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc Networks · IEEE Trans. Mob. Comput. 2013 RITAS: Services for Randomized Intrusion Tolerance · IEEE Trans. Dependable Secur. Comput. 2011 Highly Available Intrusion-Tolerant Services with Proactive-Reactive Recovery · IEEE Trans. Parallel Distributed Syst. 2010 |
Web and mobile security › web security
web application vulnerability detection |
0.4 | 2 | 2016 | DEKANT: a static analysis tool that learns to detect web application vulnerabilities · ISSTA 2016 Automatic detection and correction of web application vulnerabilities using data mining to predict false positives · WWW 2014 |
Cloud and datacenter computing › virtualization
network virtualization |
0.4 | 1 | 2020 | Elastic Network Virtualization · INFOCOM 2020 |
Cloud and datacenter computing › virtualization › network virtualization
virtual network embedding |
0.4 | 1 | 2020 | Elastic Network Virtualization · INFOCOM 2020 |
Distributed systems › fault tolerance
byzantine fault tolerance |
0.4 | 3 | 2018 | SieveQ: A Layered BFT Protection System for Critical Services · IEEE Trans. Dependable Secur. Comput. 2018 RITAS: Services for Randomized Intrusion Tolerance · IEEE Trans. Dependable Secur. Comput. 2011 Solving Vector Consensus with a Wormhole · IEEE Trans. Parallel Distributed Syst. 2005 |
Distributed systems
consensus |
0.3 | 3 | 2013 | Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc Networks · IEEE Trans. Mob. Comput. 2013 RITAS: Services for Randomized Intrusion Tolerance · IEEE Trans. Dependable Secur. Comput. 2011 Solving Vector Consensus with a Wormhole · IEEE Trans. Parallel Distributed Syst. 2005 |
Program analysis
static analysis |
0.3 | 2 | 2016 | DEKANT: a static analysis tool that learns to detect web application vulnerabilities · ISSTA 2016 Automatic detection and correction of web application vulnerabilities using data mining to predict false positives · WWW 2014 |
Systems and software security
vulnerability discovery |
0.3 | 2 | 2014 | Automatic detection and correction of web application vulnerabilities using data mining to predict false positives · WWW 2014 Vulnerability Discovery with Attack Injection · IEEE Trans. Software Eng. 2010 |
Distributed systems › fault tolerance
intrusion tolerance |
0.2 | 2 | 2011 | RITAS: Services for Randomized Intrusion Tolerance · IEEE Trans. Dependable Secur. Comput. 2011 Highly Available Intrusion-Tolerant Services with Proactive-Reactive Recovery · IEEE Trans. Parallel Distributed Syst. 2010 |
Distributed systems › consensus
byzantine agreement |
0.2 | 2 | 2013 | Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc Networks · IEEE Trans. Mob. Comput. 2013 Solving Vector Consensus with a Wormhole · IEEE Trans. Parallel Distributed Syst. 2005 |
Network security › attack strategy
denial-of-service attack |
0.2 | 1 | 2014 | Stopping a Rapid Tornado with a Puff · IEEE Symposium on Security and Privacy 2014 |
Storage systems › file systems
cloud-backed file system |
0.2 | 1 | 2014 | SCFS: A Shared Cloud-backed File System · USENIX ATC 2014 |
Coding theory › error-correcting codes › rateless codes
fountain codes |
0.2 | 1 | 2014 | Stopping a Rapid Tornado with a Puff · IEEE Symposium on Security and Privacy 2014 |
Distributed systems › replication
state machine replication |
0.2 | 1 | 2013 | On the Efficiency of Durable State Machine Replication · USENIX ATC 2013 |
Distributed systems › group communication
atomic broadcast |
0.1 | 1 | 2011 | RITAS: Services for Randomized Intrusion Tolerance · IEEE Trans. Dependable Secur. Comput. 2011 |
Software testing
test generation |
0.1 | 1 | 2010 | Vulnerability Discovery with Attack Injection · IEEE Trans. Software Eng. 2010 |
Distributed systems
replication |
0.1 | 1 | 2010 | Highly Available Intrusion-Tolerant Services with Proactive-Reactive Recovery · IEEE Trans. Parallel Distributed Syst. 2010 |
Cryptographic protocols and secure computation
secure channel |
0.1 | 1 | 2014 | Stopping a Rapid Tornado with a Puff · IEEE Symposium on Security and Privacy 2014 |
Program analysis › static analysis
taint analysis |
0.1 | 1 | 2014 | Automatic detection and correction of web application vulnerabilities using data mining to predict false positives · WWW 2014 |
Cloud and datacenter computing
cloud storage |
0.1 | 1 | 2014 | SCFS: A Shared Cloud-backed File System · USENIX ATC 2014 |
Wireless networking
mobile ad hoc networks |
0.0 | 1 | 2013 | Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc Networks · IEEE Trans. Mob. Comput. 2013 |
Memory systems › shared memory
distributed shared memory |
0.0 | 2 | 1996 | Lightweight Logging for Lazy Release Consistent Distributed Shared Memory · OSDI 1996 A Checkpoint Protocol for an Entry Consistent Shared Memory System · PODC 1994 |
Distributed computing theory
asynchronous systems |
0.0 | 1 | 2005 | Solving Vector Consensus with a Wormhole · IEEE Trans. Parallel Distributed Syst. 2005 |
Memory systems › memory consistency › memory consistency model › release consistency
lazy release consistency |
0.0 | 1 | 1996 | Lightweight Logging for Lazy Release Consistent Distributed Shared Memory · OSDI 1996 |
Distributed systems › fault tolerance
checkpointing |
0.0 | 1 | 1994 | A Checkpoint Protocol for an Entry Consistent Shared Memory System · PODC 1994 |
Distributed systems › consistency models
entry consistency |
0.0 | 1 | 1994 | A Checkpoint Protocol for an Entry Consistent Shared Memory System · PODC 1994 |
Software maintenance and evolution
logging |
0.0 | 1 | 1996 | Lightweight Logging for Lazy Release Consistent Distributed Shared Memory · OSDI 1996 |
Operating systems › resource management
memory management |
0.0 | 1 | 1996 | Lightweight Logging for Lazy Release Consistent Distributed Shared Memory · OSDI 1996 |
Memory systems
cache coherence |
0.0 | 1 | 1994 | A Checkpoint Protocol for an Entry Consistent Shared Memory System · PODC 1994 |
Distributed systems › fault tolerance
node failure |
0.0 | 1 | 1994 | A Checkpoint Protocol for an Entry Consistent Shared Memory System · PODC 1994 |
Methods — techniques the papers use, named apart from their topics
machine learning · 0.9layered filtering · 0.7BFT replication · 0.7sequence model · 0.5randomization · 0.5network migration · 0.4embedding algorithms · 0.4taint analysis · 0.4packet injection · 0.4data mining · 0.4performance evaluation · 0.3test case generation · 0.2protocol specification · 0.2attack injection · 0.2hybrid distributed system model · 0.1wormhole abstraction · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Statically Detecting Vulnerabilities by Processing Programming Languages as Natural LanguagesabstractWeb applications continue to be a favorite target for hackers due to a combination of wide adoption and rapid deployment cycles, which often lead to the introduction of high-impact vulnerabilities. Static analysis tools are important to search for vulnerabilities automatically in the program source code, supporting developers on their removal. However, building these tools requires programming the knowledge on how to discover the vulnerabilities. This article presents an alternative approach in which toolslearnto detect flaws automatically by resorting to artificial intelligence concepts, more concretely to natural language processing. The approach employs a sequence model to learn to characterize vulnerabilities based on an annotated corpus. Afterwards, the model is utilized to discover and identify vulnerabilities in the source code. It was implemented in the DEKANT tool and evaluated experimentally with a large set of PHP applications and WordPress plugins. Overall, we found several thousand vulnerabilities belonging to 15 classes of input validation vulnerabilities, where 4143 of them were zero-day. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
IEEE Trans. Reliab. | 2 |
| 2021 | Charon: A Secure Cloud-of-Clouds System for Storing and Sharing Big DataabstractWe presentCharon, a cloud-backed storage system capable of storing and sharing big data in a secure, reliable, and efficient way using multiple cloud providers and storage repositories to comply with the legal requirements of sensitive personal data.Charonimplements three distinguishing features: (1) it does not require trust on any single entity, (2) it does not require any client-managed server, and (3) it efficiently deals with large files over a set of geo-dispersed storage services. Besides that, we developed a novel Byzantine-resilient data-centric leasing protocol to avoid write-write conflicts between clients accessing shared repositories. We evaluateCharonusing micro and application-based benchmarks simulating representative workflows from bioinformatics, a prominent big data domain. The results show that our unique design is not only feasible but also presents an end-to-end performance of up to$2.5\times$2.5×better than other cloud-backed solutions. Ricardo Mendes, Tiago Oliveira 0008, Vinicius Vielmo Cogo, Nuno Neves 0001, Alysson Neves Bessani |
IEEE Trans. Cloud Comput. | 4 |
| 2020 | Towards Web Application Security by Automated Code Correction
Ricardo Morgado, Iberia Medeiros, Nuno Neves 0001 |
ENASE | 3 |
| 2020 | Elastic Network VirtualizationabstractNetwork virtualization allows multiple tenant networks to coexist on a shared infrastructure. Core to its realization is the embedding of virtual networks onto the underlying substrate. Existing approaches are not suitable for cloud environments as they lack a fundamental requirement: elasticity. To address this issue we explore the capacity of flexibly changing the topology of a virtual network by proposing an embedding solution that adds elasticity to the tenant's virtual infrastructures. For this purpose, we introduce four primitives to tenants' virtual networks - including scale in and scale out - and propose new algorithms to materialize them. The main challenge is to enable these new services while maximizing resource efficiency and without impacting service quality. Instead of further improving existing online embedding algorithms - always limited by the inability to predict future demand - we follow a different approach. Specifically, we leverage network migration for our embedding procedures and to introduce a new reconfiguration primitive for the infrastructure provider. As migration introduces network churn, our solution uses this technique judiciously, to limit the impact to running services. Our solution improves on network efficiency over the state-of-the-art, while reducing the migration footprint by at least one order of magnitude. Max Alaluna, Nuno Neves 0001, Fernando M. V. Ramos |
INFOCOM | 2 |
| 2020 | Secure multi-cloud virtual network embedding
Max Alaluna, Luís Ferrolho, José Rui Figueira, Nuno Neves 0001, Fernando M. V. Ramos |
Comput. Commun. | 4 |
| 2019 | Lazarus: Automatic Management of Diversity in BFT SystemsabstractA long-standing promise of Byzantine Fault-Tolerant (BFT) replication is to maintain the service correctness despite the presence of malicious failures. The key challenge here is how to ensure replicas fail independently, i.e., avoid that a single attack compromises more than f replicas at once. The obvious answer for this is the use of diverse replicas, but most works in BFT simply assume such diversity without supporting mechanisms to substantiate this assumption. Lazarus is a control plane for managing the deployment and execution of diverse replicas in BFT systems. Lazarus continuously monitors the current vulnerabilities of the system replicas (reported in security feeds such as NVD and ExploitDB) and employs a metric to measure the risk of having a common weakness in the replicas set. If such risk is high, the set of replicas is reconfigured. Our evaluation shows that the devised strategy reduces the number of executions where the system becomes compromised and that our prototype supports the execution of full-fledged BFT systems in diverse configurations with 17 OS versions, reaching a performance close to a homogeneous bare-metal setup. Miguel Garcia 0002, Alysson Neves Bessani, Nuno Neves 0001 |
Middleware | 3 |
| 2019 | Secure Multi-Cloud Network Virtualization
Max Alaluna, Eric Vial, Nuno Neves 0001, Fernando M. V. Ramos |
Comput. Networks | 3 |
| 2019 | BigFlow: Real-time and reliable anomaly-based intrusion detection for high-speed networks
Eduardo Viegas 0001, Altair Olivo Santin, Alysson Neves Bessani, Nuno Neves 0001 |
Future Gener. Comput. Syst. | 4 |
| 2019 | SEPTIC: Detecting Injection Attacks and Vulnerabilities Inside the DBMSabstractDatabases continue to be the most commonly used backend storage in enterprises, but they are often integrated with vulnerable applications, such as web frontends, which allow injection attacks to be performed. The effectiveness of such attacks stems from a semantic mismatch between how SQL queries are believed to be executed and the actual way in which databases process them. This leads to subtle vulnerabilities in the way input validation is done in applications. In this paper, we propose SEPTIC, a mechanism for DBMS attack prevention, which can also assist on the identification of the vulnerabilities in the applications. The mechanism was implemented in MySQL and evaluated experimentally with various applications and alternative protection approaches. Our results show no false negatives and no false positives with SEPTIC, on the contrary to other solutions. They also show that SEPTIC introduces a low performance overhead, in the order of 2.2%. Iberia Medeiros, Miguel Beatriz, Nuno Neves 0001, Miguel Correia 0001 |
IEEE Trans. Reliab. | 3 |
| 2018 | On the Challenges of Building a BFT SCADAabstractIn the last decade, Industrial Control Systems have been a frequent target of cyber attacks. As the current defenses sometimes fail to prevent more sophisticated threats, it is necessary to add advanced protection mechanisms to guarantee that correct operation is (always) maintained. In this work, we describe a Supervisory Control and Data Acquisition (SCADA) system enhanced with Byzantine fault-tolerant (BFT) techniques. We document the challenges of building such system from a "traditional" non-BFT solution. This effort resulted in a prototype that integrates the Eclipse NeoSCADA and the BFT-SMaRt open-source projects. We also present an evaluation comparing Eclipse NeoSCADA with our BFT solution. Although the results show a decrease in performance, our solution is still more than enough to accommodate realistic workloads. André Nogueira, Miguel Garcia 0002, Alysson Neves Bessani, Nuno Neves 0001 |
DSN | 4 |
| 2018 | SieveQ: A Layered BFT Protection System for Critical ServicesabstractFirewalls play a crucial role in assuring the security of today's critical infrastructures, forming a first line of defense by being placed strategically at the front-end of the networks. Sometimes, however, they have exploitable weaknesses, allowing an adversary to bypass them in different ways. Therefore, their design should include improved resilience capabilities to allow them to operate correctly in highly adverse environments. This paper proposes SieveQ, a message queue service that protects and regulates the access to critical systems, in a way similar to an application-level firewall. SieveQ achieves fault and intrusion tolerance by employing an architecture based on two filtering layers, enabling efficient removal of invalid messages at early stages and decreasing the costs associated with Byzantine Fault-Tolerant (BFT) replication of previous solutions. Our experimental evaluation shows that SieveQ improves existing replicated-firewalls resilience in the presence of corrupted messages by faulty nodes. Furthermore, it accommodates high loads, as it is able to handle sixteen times more security events per second than what was processed by the Security Information and Event Management (SIEM) infrastructure employed in the 2012 Summer Olympic Games. Miguel Garcia 0002, Nuno Neves 0001, Alysson Neves Bessani |
IEEE Trans. Dependable Secur. Comput. | 2 |
| 2018 | Benchmarking Static Analysis Tools for Web SecurityabstractStatic analysis tools are recurrently used by developers to search for vulnerabilities in the source code of web applications. However, distinct tools provide different results depending on factors such as the complexity of the code under analysis and the application scenario; thus, missing some of the vulnerabilities while reporting false problems. Benchmarks can be used to assess and compare different systems or components, however, existing benchmarks have strong representativeness limitations, disregarding the specificities of the environment, where the tools under benchmarking will be used. In this paper, we propose a benchmark for assessing and comparing static analysis tools in terms of their capability to detect security vulnerabilities. The benchmark considers four real-world development scenarios, including workloads composed of real web applications with different goals and constraints, ranging from low budget to high-end applications. Our benchmark was implemented and assessed experimentally using a set of 134 WordPress plugins, which served as the basis for the evaluation of five free PHP static analysis tools. Results clearly show that the best solution depends on the deployment scenario and class of vulnerability being detected; therefore, highlighting the importance of these aspects in the design of the benchmark and of future static analysis tools. Paulo Jorge Costa Nunes, Iberia Medeiros, José Fonseca 0002, Nuno Neves 0001, Miguel Correia 0001, Marco Vieira |
IEEE Trans. Reliab. | 4 |
| 2017 | Demonstrating a Tool for Injection Attack Prevention in MySQLabstractDespite the significant efforts put in building more secure web applications, cases of high impact breaches continue to appear. Vulnerabilities in web applications are often created due to inconsistencies in the way SQL queries are believed to be run and the way they are actually executed by a Database Management System (DBMS). This paper presents a demonstration of SEPTIC, a mechanism that detects and blocks injection attacks inside the DBMS. The demonstration considers a scenario of a non-trivial PHP web application, backed by a MySQL DBMS, which was modified to include SEPTIC. It presents how SEPTIC blocks injection attacks without compromising the application correctness and performance. In addition, SEPTIC is compared to alternative approaches, such as sanitizations carried out with standard functions provided language and a web application firewall. Iberia Medeiros, Miguel Beatriz, Nuno Neves 0001, Miguel Correia 0001 |
DSN | 3 |
| 2017 | Secure Tera-scale Data Crunching with a Small TCBabstractOutsourcing services to third-party providers comes with a high security cost-to fully trust the providers. Using trusted hardware can help, but current trusted execution environments do not adequately support services that process very large scale datasets. We present LASTGT, a system that bridges this gap by supporting the execution of self-contained services over a large state, with a small and generic trusted computing base (TCB). LASTGTuses widely deployed trusted hardware to guarantee integrity and verifiability of the execution on a remote platform, and it securely supplies data to the service through simple techniques based on virtual memory. As a result, LASTGTis general and applicable to many scenarios such as computational genomics and databases, as we show in our experimental evaluation based on an implementation of LAST-GT on a secure hypervisor. We also describe a possible implementation on Intel SGX. Bruno Vavala, Nuno Neves 0001, Peter Steenkiste |
DSN | 2 |
| 2017 | A Resilient Stream Learning Intrusion Detection Mechanism for Real-Time Analysis of Network TrafficabstractThe number of novel attacks observed in networked systems increases every day. Due to the large amount of generated data over the network, its storage for further analysis may not be feasible. Moreover, current attacks are becoming more sophisticated, as the attackers are attempting to evade traditional intrusion detection mechanisms by perverting their properties. This paper presents a novel real-time (ongoing) network traffic measurement approach that supports resilient analysis for stream learning intrusion detection. The network data is grouped at runtime according to its characteristics, while each network traffic flow is discretized at regular time intervals. Each network flow is classified by a multi-view stream learning classifiers pool, defining the network flow class through a majority voting approach. The proposal is able to provide resiliency to the classifiers even for the detection of unknown attacks. The evaluation tests for the average operation point (25 views) provides an increase in the system resilience to adversarial attacks of 22 % when compared to traditional approaches. Moreover, in the scalability experiments with a 10-node (single core each) cluster testbed, the network flow measurement solution (1 view) reached 1.38 Gbps throughput, while the proposed resilient stream learning intrusion detection with 25 views reached a throughput of 1.19 Gbps. Eduardo Viegas 0001, Altair Olivo Santin, Nuno Neves 0001, Alysson Neves Bessani, Vilmar Abreu |
GLOBECOM | 3 |
| 2016 | Hacking the DBMS to Prevent Injection Attacks
Iberia Medeiros, Miguel Beatriz, Nuno Neves 0001, Miguel Correia 0001 |
CODASPY | 3 |
| 2016 | Equipping WAP with WEAPONS to Detect Vulnerabilities: Practical Experience ReportabstractAlthough security starts to be taken into account during software development, the tendency for source code to contain vulnerabilities persists. Open source static analysis tools provide a sensible approach to mitigate this problem. However, these tools are programmed to detect a specific set of vulnerabilities and they are often difficult to extend to detect new ones. WAP is a recent popular open source tool that detects vulnerabilities in the source code of web applications written in PHP. The paper addresses the difficulty of extending these tools by proposing a modular and extensible version of the WAP tool, equipping it with "weapons" to detect (and correct) new vulnerability classes. The new version of the tool was evaluated with seven new vulnerability classes using web applications and plugins of the widely-adopted WordPress content management system. The experimental results show that this extensibility allows WAP to find many new (zero-day) vulnerabilities. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
DSN | 2 |
| 2016 | Secure Identification of Actively Executed Code on a Generic Trusted ComponentabstractCode identity is a fundamental concept for authenticated operations in Trusted Computing. In today's approach, the overhead of assigning an identity to a protected service increases linearly with the service code size. In addition, service code size continues to grow to accommodate richer services. This trend negatively impacts either the security or the efficiency of current protocols for trusted executions. We present an execution protocol that breaks the dependency between the code size of the service and the identification overhead, without affecting security, and that works on different trusted components. This is achieved by computing an identity for each of the code modules that are actually executed, and then building a robust chain of trust that links them together for efficient verification. We implemented and applied our protocol to a widely-deployed database engine, improving query-processing time up to 2× compared to the monolithic execution of the engine. Bruno Vavala, Nuno Neves 0001, Peter Steenkiste |
DSN | 2 |
| 2016 | DEKANT: a static analysis tool that learns to detect web application vulnerabilitiesabstractThe state of web security remains troubling as web applications continue to be favorite targets of hackers. Static analysis tools are important mechanisms for programmers to deal with this problem as they search for vulnerabilities automatically in the application source code, allowing programmers to remove them. However, developing these tools requires explicitly coding knowledge about how to discover each kind of vulnerability. This paper presents a new approach in which static analysis tools learn to detect vulnerabilities automatically using machine learning. The approach uses a sequence model to learn to characterize vulnerabilities based on a set of annotated source code slices. This model takes into consideration the order in which the code elements appear and are executed in the slices. The model created can then be used as a static analysis tool to discover and identify vulnerabilities in source code. The approach was implemented in the DEKANT tool and evaluated experimentally with a set of open source PHP applications and WordPress plugins, finding 16 zero-day vulnerabilities. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
ISSTA | 2 |
| 2016 | JITeR: Just-in-time application-layer routing
Alysson Neves Bessani, Nuno Neves 0001, Paulo Veríssimo, Wagner Saback Dantas, Alexandre Fonseca, Pedro Luz, Miguel Correia 0001 |
Comput. Networks | 2 |
| 2016 | Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data MiningabstractAlthough a large research effort on web application security has been going on for more than a decade, the security of web applications continues to be a challenging problem. An important part of that problem derives from vulnerable source code, often written in unsafe languages like PHP. Source code static analysis tools are a solution to find vulnerabilities, but they tend to generate false positives, and require considerable effort for programmers to manually fix the code. We explore the use of a combination of methods to discover vulnerabilities in source code with fewer false positives. We combine taint analysis, which finds candidate vulnerabilities, with data mining, to predict the existence of false positives. This approach brings together two approaches that are apparently orthogonal: humans coding the knowledge about vulnerabilities (for taint analysis), joined with the seemingly orthogonal approach of automatically obtaining that knowledge (with machine learning, for data mining). Given this enhanced form of detection, we propose doing automatic code correction by inserting fixes in the source code. Our approach was implemented in the WAP tool, and an experimental evaluation was performed with a large set of PHP applications. Our tool found 388 vulnerabilities in 1.4 million lines of code. Its accuracy and precision were approximately 5% better than PhpMinerII's and 45% better than Pixy's. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
IEEE Trans. Reliab. | 2 |
| 2015 | Securing Passive Replication through VerificationabstractWe show how to leverage trusted computing technology to design an efficient fully-passive replicated system tolerant to arbitrary failures. The system dramatically reduces the complexity of a fault-tolerant service, in terms of protocols, messages, data processing and non-deterministic operations. Our replication protocol enables the execution of a single protected service, replicating only its state, while allowing the backup replicas to check the correctness of the results. We implemented our protocol on Trusted Computing (TC) technology and compared it with two recent replication systems. Bruno Vavala, Nuno Neves 0001, Peter Steenkiste |
SRDS | 2 |
| 2014 | Stopping a Rapid Tornado with a PuffabstractRaptorQ is the most advanced fountain code proposed so far. Its properties make it attractive for forward error correction (FEC), offering high reliability at low overheads (i.e., for a small amount of repair information) and efficient encoding and decoding operations. Since RaptorQ's emergence, it has already been standardized by the IETF, and there is the expectation that it will be adopted by several other standardization bodies, in areas related to digital media broadcast, cellular networks, and satellite communications. The paper describes a new attack on RaptorQ that breaks the near ideal FEC performance, by carefully choosing which packets are allowed to reach the receiver. Furthermore, the attack was extended to be performed over secure channels with IPsec/ESP. The paper also proposes a few solutions to protect the code from the attack, which could be easily integrated into the implementations. Nuno Neves 0001 |
IEEE Symposium on Security and Privacy | 2 |
| 2014 | SCFS: A Shared Cloud-backed File System
Alysson Neves Bessani, Ricardo Mendes, Tiago Oliveira 0008, Nuno Neves 0001, Miguel Correia 0001, Marcelo Pasin, Paulo Veríssimo |
USENIX ATC | 4 |
| 2014 | Automatic detection and correction of web application vulnerabilities using data mining to predict false positivesabstractWeb application security is an important problem in today's internet. A major cause of this status is that many programmers do not have adequate knowledge about secure coding, so they leave applications with vulnerabilities. An approach to solve this problem is to use source code static analysis to find these bugs, but these tools are known to report many false positives that make hard the task of correcting the application. This paper explores the use of a hybrid of methods to detect vulnerabilities with less false positives. After an initial step that uses taint analysis to flag candidate vulnerabilities, our approach uses data mining to predict the existence of false positives. This approach reaches a trade-off between two apparently opposite approaches: humans coding the knowledge about vulnerabilities (for taint analysis) versus automatically obtaining that knowledge (with machine learning, for data mining). Given this more precise form of detection, we do automatic code correction by inserting fixes in the source code. The approach was implemented in the WAP tool and an experimental evaluation was performed with a large set of open source PHP applications. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
WWW | 2 |
| 2014 | Analysis of operating system diversity for intrusion toleranceabstractOne of the key benefits of using intrusion-tolerant systems is the possibility of ensuring correct behavior in the presence of attacks and intrusions. These security gains are directly dependent on the components exhibiting failure diversity. To what extent failure diversity is observed in practical deployment depends on how diverse are the components that constitute the system. In this paper, we present a study with operating system's (OS's) vulnerability data from the NIST National Vulnerability Database (NVD). We have analyzed the vulnerabilities of 11 different OSs over a period of 18 years, to check how many of these vulnerabilities occur in more than one OS. We found this number to be low for several combinations of OSs. Hence, although there are a few caveats on the use of NVD data to support definitive conclusions, our analysis shows that by selecting appropriate OSs, one can preclude (or reduce substantially) common vulnerabilities from occurring in the replicas of the intrusion-tolerant system. Copyright © 2013 John Wiley & Sons, Ltd. Miguel Garcia 0002, Alysson Neves Bessani, Ilir Gashi, Nuno Neves 0001, Rafael R. Obelheiro |
Softw. Pract. Exp. | 4 |
| 2013 | PACE your network: Fair and controllable multi-tenant data center networksabstractMulti-tenant data centers host a high diversity of applications with continuously changing demands. Applications require response times ranging from a few microseconds to seconds. Therefore, network traffic within the data center needs to be managed in order to meet the requested SLAs. Current feedback congestion control protocols may be too slow to converge to a stable state under high congestion situations. Sudden bursts of traffic from heterogeneous sources may render any reactive control inefficient. In this paper, we propose PACE, a preventive explicit allocation congestion control protocol that controls resource allocations dynamically and efficiently. PACE specifically addresses Data Center requirements: efficient network usage, flow completion time guarantees, fairness in resource allocation, and scalability to hundreds of concurrent flows. PACE provides micro-allocation of network resources within dynamic periods, lossless communication, fine-grained prioritization of flows, and fast adaptation of allocations to the arrival of new flows. We simulate PACE and compare it with recent proposed protocols specially addressed to Data Centers. We demonstrate that PACE is fairer, in particular for short flows, flows with different RTTs and a higher number of concurrent flows. It also maintains high efficiency and controlled queue usage when exposed to sudden bursts. Tiago Carvalho 0006, Hyong S. Kim 0001, Nuno Neves 0001 |
ICC | 3 |
| 2013 | Securing energy metering software with automatic source code correctionabstractIndustry is using power meters to monitor the consumption of energy and achieving cost savings. This monitoring often involves energy metering software with a web interface. However, web applications often have vulnerabilities that can be exploited by cyber-attacks. We present an approach and a tool to solve this problem by analyzing the application source code and automatically inserting fixes to remove the discovered vulnerabilities. We demonstrate the use of the tool with two open source energy metering applications in which it found and corrected 17 vulnerabilities. By looking in more detail into some of these vulnerabilities, we argue that they are very serious, leading to the following impacts: violation of user privacy, counter the benefits of energy metering, and serve as entering points for attacks on other user software. Iberia Medeiros, Nuno Neves 0001, Miguel Correia 0001 |
INDIN | 2 |
| 2013 | On the Efficiency of Durable State Machine Replication
Alysson Neves Bessani, Marcel Santos, João Felix, Nuno Neves 0001, Miguel Correia 0001 |
USENIX ATC | 4 |
| 2013 | BFT-TO: Intrusion Tolerance with Less ReplicasabstractState machine replication (SMR) is a generic technique for implementing fault-tolerant distributed services by replicating them in sets of servers. There have been several proposals for using SMR to tolerate arbitrary or Byzantine faults, including intrusions. However, most of these systems can tolerate at most f faulty servers out of a total of 3f+1. We show that it is possible to implement a Byzantine SMR algorithm with only 2f+1 replicas by extending the system with a simple trusted distributed component. Several performance metrics show that our algorithm, BFT-TO, fares well in comparison with others in the literature. Furthermore, BFT-TO is not vulnerable to some recently presented performance attacks that affect alternative approaches. Miguel Correia 0001, Nuno Neves 0001, Paulo Veríssimo |
Comput. J. | 2 |
| 2013 | Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc NetworksabstractWireless ad hoc networks, due to their inherent unreliability, pose significant challenges to the task of achieving tight coordination among nodes. The failure of some nodes and momentary breakdown of communications, either of accidental or malicious nature, should not result in the failure of the entire system. This paper presents an asynchronous Byzantine consensus protocol-called Turquois-specifically designed for resource-constrained wireless ad hoc networks. The key to its efficiency is the fact that it tolerates dynamic message omissions, which allows an efficient utilization of the wireless broadcasting medium. The protocol also refrains from computationally expensive public-key cryptographic during its normal operation. The protocol is safe despite the arbitrary failure of f <; n/3 nodes from a total of n nodes, and unrestricted message omissions. Progress is ensured in rounds where the number of omissions is σ ≤ [n-t/2] (n - k - t) + k - 2, where k is the number of nodes required to terminate and t ≤ f is the number of nodes that are actually faulty. These characteristics make Turquois the first consensus protocol that simultaneously circumvents the FLP and the Santoro-Widmayer impossibility results, which is achieved through randomization. Finally, the protocol was prototyped and subject to a comparative performance evaluation against two well-known Byzantine fault-tolerant consensus protocols. The results show that, due to its design, Turquois outperforms the other protocols by more than an order of magnitude as the number of nodes in the system increases. Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001 |
IEEE Trans. Mob. Comput. | 2 |
| 2012 | Recycling Test Cases to Detect Security VulnerabilitiesabstractThe design of new protocols and features, e.g., in the context of organizations such as the IETF, produces a flow of novel standards and amendments that lead to ever changing implementations. These implementations can be difficult to test for security vulnerabilities because existing tools often lag behind. In the paper, we propose a new methodology that addresses this issue by recycling test cases from several sources, even if aimed at distinct protocols. It resorts to protocol reverse engineering techniques to build parsers that are capable of extracting the relevant payloads from the test cases, and then applies them to new test cases tailored to the particular features that need to be checked. An evaluation with 10 commercial and open-source testing tools and a large set of FTP vulnerabilities shows that our approach is able to get better or equal vulnerability coverage than the original tools. In a more detailed experiment with two fuzzers, our solution showed an improvement of 19% on vulnerability coverage when compared with the two combined fuzzers, being capable of finding 25 additional vulnerabilities. João Antunes, Nuno Neves 0001 |
ISSRE | 2 |
| 2012 | Robust and Speculative Byzantine Randomized Consensus with Constant Time Complexity in Normal ConditionsabstractRandomized Byzantine Consensus can be an interesting building block in the implementation of asynchronous distributed systems. Despite its exponential worst-case complexity, which would make it less appealing in practice, a few experimental works have argued quite the opposite. To bridge the gap between theory and practice, we analyze a well-known state-of-the-art algorithm in normal system conditions, in which crash failures may occur but no malicious attacks, proving that it is fast on average. We then leverage our analysis to improve its best-case complexity from three to two phases, by reducing the communication operations through speculative executions. Our findings are confirmed through an experimental validation. Bruno Vavala, Nuno Neves 0001 |
SRDS | 2 |
| 2011 | OS diversity for intrusion tolerance: Myth or reality?abstractOne of the key benefits of using intrusion-tolerant systems is the possibility of ensuring correct behavior in the presence of attacks and intrusions. These security gains are directly dependent on the components exhibiting failure diversity. To what extent failure diversity is observed in practical deployment depends on how diverse are the components that constitute the system. In this paper we present a study with operating systems (OS) vulnerability data from the NIST National Vulnerability Database. We have analyzed the vulnerabilities of 11 different OSes over a period of roughly 15 years, to check how many of these vulnerabilities occur in more than one OS. We found this number to be low for several combinations of OSes. Hence, our analysis provides a strong indication that building a system with diverse OSes may be a useful technique to improve its intrusion tolerance capabilities. Miguel Garcia 0002, Alysson Neves Bessani, Ilir Gashi, Nuno Neves 0001, Rafael R. Obelheiro |
DSN | 4 |
| 2011 | Using Behavioral Profiles to Detect Software Flaws in Network ServersabstractSome software faults, namely security vulnerabilities, tend to elude conventional testing methods. Since the effects of these faults may not be immediately perceived nor have a direct impact on the server's execution (e.g., a crash), they can remain hidden even if exercised by the test cases. Our detection approach consists in inferring a behavioral profile of a network server that models its correct execution by combining information about the implemented state machine protocol and the server's internal execution. Flaws are automatically detected if the server's behavior deviates from the profile while processing the test cases. This approach was implemented in a tool, which was used to analyze several FTP vulnerabilities, showing that it can effectively find various kinds of flaws. João Antunes, Nuno Neves 0001 |
ISSRE | 2 |
| 2011 | DiveInto: Supporting Diversity in Intrusion-Tolerant SystemsabstractIntrusion tolerant services are usually implemented as replicated systems. If replicas execute identical software, then they share the same vulnerabilities and the whole system can be easily compromised if a single flaw is found. One solution to this problem is to introduce diversity by using different server implementations, but this increases the chances of incompatibility between replicas. This paper studies various kinds incompatibilities and presents a new methodology to evaluate the compliance of diverse server replicas. The methodology collects network traces to identify syntax and semantic violations, and to assist in their resolution. A tool called Dive Into was developed based on the methodology and was applied to three replication scenarios. The experiments demonstrate that Dive Into is capable of discovering various sorts of violations, including problems related with nondeterministic execution. João Antunes, Nuno Neves 0001 |
SRDS | 2 |
| 2011 | Randomization can be a healer: consensus with dynamic omission failures
Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
Distributed Comput. | 2 |
| 2011 | RITAS: Services for Randomized Intrusion ToleranceabstractRandomized agreement protocols have been around for more than two decades. Often assumed to be inefficient due to their high expected communication and computation complexities, they have remained overlooked by the community-at-large as a valid solution for the deployment of fault-tolerant distributed systems. This paper aims to demonstrate that randomization can be a very competitive approach even in hostile environments where arbitrary faults can occur. A stack of randomized intrusion-tolerant protocols is described and its performance evaluated under several settings in both local-area-network (LAN) and wide-area-network environments. The stack provides a set of relevant services ranging from basic communication primitives up to atomic broadcast. The experimental evaluation shows that the protocols are efficient, especially in LAN environments where no performance reduction is observed under certain Byzantine faults. Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
IEEE Trans. Dependable Secur. Comput. | 2 |
| 2010 | Turquois: Byzantine consensus in wireless ad hoc networksabstractThe operation of wireless ad hoc networks is intrinsically tied to the ability of nodes to coordinate their actions in a dependable and efficient manner. The failure of some nodes and momentary breakdown of communications, either of accidental or malicious nature, should not result in the failure of the entire system. This paper presents Turquois - an intrusion-tolerant consensus protocol specifically designed for resource-constrained wireless ad hoc networks. Turquois allows an efficient utilization of the broadcasting medium, avoids synchrony assumptions, and refrains from public-key cryptography during its normal operation. The protocol is safe despite the arbitrary failure of f <; n/3 processes from a total of n processes, and unrestricted message omissions. The protocol was prototyped and subject to a comparative performance evaluation against two well-known intrusion-tolerant consensus protocols. The results show that, as the system scales, Turquois outperforms the other protocols by more than an order of magnitude. Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001 |
DSN | 2 |
| 2010 | Highly Available Intrusion-Tolerant Services with Proactive-Reactive RecoveryabstractIn the past, some research has been done on how to use proactive recovery to build intrusion-tolerant replicated systems that are resilient to any number of faults, as long as recoveries are faster than an upper bound on fault production assumed at system deployment time. In this paper, we propose a complementary approach that enhances proactive recovery with additional reactive mechanisms giving correct replicas the capability of recovering other replicas that are detected or suspected of being compromised. One key feature of our proactive-reactive recovery approach is that, despite recoveries, it guarantees the availability of a minimum number of system replicas necessary to sustain correct operation of the system. We design a proactive-reactive recovery service based on a hybrid distributed system model and show, as a case study, how this service can effectively be used to increase the resilience of an intrusion-tolerant firewall adequate for the protection of critical infrastructures. Paulo Sousa 0001, Alysson Neves Bessani, Miguel Correia 0001, Nuno Neves 0001, Paulo Veríssimo |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2010 | Vulnerability Discovery with Attack InjectionabstractThe increasing reliance put on networked computer systems demands higher levels of dependability. This is even more relevant as new threats and forms of attack are constantly being revealed, compromising the security of systems. This paper addresses this problem by presenting an attack injection methodology for the automatic discovery of vulnerabilities in software components. The proposed methodology, implemented in AJECT, follows an approach similar to hackers and security analysts to discover vulnerabilities in network-connected servers. AJECT uses a specification of the server's communication protocol and predefined test case generation algorithms to automatically create a large number of attacks. Then, while it injects these attacks through the network, it monitors the execution of the server in the target system and the responses returned to the clients. The observation of an unexpected behavior suggests the presence of a vulnerability that was triggered by some particular attack (or group of attacks). This attack can then be used to reproduce the anomaly and to assist the removal of the error. To assess the usefulness of this approach, several attack injection campaigns were performed with 16 publicly available POP and IMAP servers. The results show that AJECT could effectively be used to locate vulnerabilities, even on well-known servers tested throughout the years. João Antunes, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo, Rui Ferreira Neves |
IEEE Trans. Software Eng. | 2 |
| 2009 | Intrusion-tolerant self-healing devices for critical infrastructure protectionabstractCritical infrastructures like the power grid are essentially physical processes controlled by electronic devices. In the last decades, these electronic devices started to be controlled remotely through commodity computers, often directly or indirectly connected to the Internet. Therefore, many of these systems are currently exposed to threats similar to those endured by normal computer-based networks on the Internet, but the impact of failure of the former can be much higher to society. This paper presents a demonstration of a family of protection devices for critical information infrastructures developed in the context of the EU Crutial project. These devices, called Crutial information switches (CIS), enforce sophisticated access control policies of incoming/outgoing traffic, and are themselves designed with a range of different levels of intrusion tolerance and self healing, to serve different resilience requirements. Paulo Sousa 0001, Alysson Neves Bessani, Wagner Saback Dantas, Fabio Souto, Miguel Correia 0001, Nuno Neves 0001 |
DSN | 6 |
| 2009 | Randomization Can Be a Healer: Consensus with Dynamic Omission Failures
Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
DISC | 2 |
| 2008 | Detection and Prediction of Resource-Exhaustion VulnerabilitiesabstractSystems connected to the Internet are highly susceptible to denial-of-service attacks that can compromise service availability, causing damage to customers and providers. Due to errors in the design or coding phases, particular client-server interactions can be made to consume much more resources than necessary easing the success of this kind of attack.To address this issue we propose a new methodology for the detection and identification of local resource-exhaustion vulnerabilities. The methodology also gives a prediction on the necessary effort to exploit a specific vulnerability, useful to support decisions regarding the configuration of a system, in order to sustain a certain attack magnitude.The methodology was implemented in a tool called PREDATOR that is able to automatically generate malicious traffic and to perform post-processing analysis to build accurate resource usage projections on a given target server.The validity of the approach was demonstrated with several synthetic programs and well-known DNS servers. João Antunes, Nuno Neves 0001, Paulo Veríssimo |
ISSRE | 2 |
| 2007 | Robustness Testing of the Windows DDKabstractModern computers interact with many kinds of external devices, which have lead to a state where device drivers (DD) account for a substantial part of the operating system (OS) code. Currently, most of the systems crashes can be attributed to DD because of flaws contained in their implementation. In this paper, we evaluate how well Windows protects itself from erroneous input coming from faulty drivers. Three Windows versions were considered in this study, Windows XP and 2003 Server, and the future Windows release Vista. Our results demonstrate that in general these OS are reasonably vulnerable, and that a few of the injected faults cause the system to hang or crash. Moreover, all of them handle bad inputs in a roughly equivalent manner, which is worrisome because it means that no major robustness enhancements are to be expected in the DD architecture of the next Windows Vista. Manuel Mendonça, Nuno Neves 0001 |
DSN | 2 |
| 2007 | Intrusion Tolerance in Wireless Environments: An Experimental EvaluationabstractThis paper presents a study on the performance of intrusion-tolerant protocols in wireless LANs. The protocols are evaluated in several different environmental settings, and also within the context of a car platooning application for distributed cruise control. The experimental evaluation reveals how performance is affected by the various environmental parameters such as the wireless standard, group size, and network topology. The distributed cruise control application demonstrates the practicability of such protocols, even when subjected to malicious faults. Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, António Casimiro, Paulo Veríssimo |
PRDC | 2 |
| 2007 | Resilient Intrusion Tolerance through Proactive and Reactive RecoveryabstractPrevious works have studied how to use proactive recovery to build intrusion-tolerant replicated systems that are resilient to any number of faults, as long as recoveries are faster than an upper-bound on fault production assumed at system deployment time. In this paper, we propose a complementary approach that combines proactive recovery with services that allow correct replicas to react and recover replicas that they detect or suspect to be compromised. One key feature of our proactive-reactive recovery approach is that, despite recoveries, it guarantees the availability of the minimum amount of system replicas necessary to sustain system's correct operation. We design a proactive-reactive recovery service based on a hybrid distributed system model and show, as a case study, how this service can effectively be used to augment the resilience of an intrusion-tolerant firewall adequate for the protection of critical infrastructures. Paulo Sousa 0001, Alysson Neves Bessani, Miguel Correia 0001, Nuno Neves 0001, Paulo Veríssimo |
PRDC | 4 |
| 2007 | When 3f+1 Is Not Enough: Tradeoffs for Decentralized Asynchronous Byzantine Consensus
Alysson Neves Bessani, Miguel Correia 0001, Henrique Moniz, Nuno Neves 0001, Paulo Veríssimo |
DISC | 4 |
| 2007 | Worm-IT - A wormhole-based intrusion-tolerant group communication system
Miguel Correia 0001, Nuno Neves 0001, Lau Cheuk Lung, Paulo Veríssimo |
J. Syst. Softw. | 2 |
| 2006 | CRUTIAL: The Blueprint of a Reference Critical Information Infrastructure Architecture
Paulo Veríssimo, Nuno Neves 0001, Miguel Correia 0001 |
CRITIS | 2 |
| 2006 | Randomized Intrusion-Tolerant Asynchronous ServicesabstractRandomized agreement protocols, often assumed to be inefficient due to their high expected communication and time complexities, they have remained largely overlooked by the community-at-large as a valid solution for the deployment of fault-tolerant distributed systems. This paper aims to demonstrate that randomization can be a very competitive approach even in hostile environments where arbitrary faults can occur. A stack of randomized intrusion-tolerant protocols is described and its performance evaluated under different faultloads. The stack provides a set of relevant services ranging from basic communication primitives up to atomic broadcast. The experimental evaluation shows that the protocols are efficient and no performance reduction is observed under certain Byzantine faults Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
DSN | 2 |
| 2006 | Using Attack Injection to Discover New VulnerabilitiesabstractDue to our increasing reliance on computer systems, security incidents and their causes are important problems that need to be addressed. To contribute to this objective, the paper describes a new tool for the discovery of security vulnerabilities on network connected servers. The AJECT tool uses a specification of the server's communication protocol to automatically generate a large number of attacks accordingly to some predefined test classes. Then, while it performs these attacks through the network, it monitors the behavior of the server both from a client perspective and inside the target machine. The observation of an incorrect behavior indicates a successful attack and the potential existence of a vulnerability. To demonstrate the usefulness of this approach, a considerable number of experiments were carried out with several IMAP servers. The results show that AJECT can discover several kinds of vulnerabilities, including a previously unknown vulnerability Nuno Neves 0001, João Antunes, Miguel Correia 0001, Paulo Veríssimo, Rui Ferreira Neves |
DSN | 1 |
| 2006 | Experimental Comparison of Local and Shared Coin Randomized Consensus ProtocolsabstractThe paper presents a comparative performance study of the two main classes of randomized binary consensus protocols: a local coin protocol, with an expected high communication complexity and cheap symmetric cryptography, and a shared coin protocol, with an expected low communication complexity and expensive asymmetric cryptography. The experimental evaluation was conducted on a LAN environment, by varying several system parameters, such as the fault types and number of processes. The analysis shows that there is a significant gap between the theoretical and the practical performance results of these protocols, and provides an important insight into what actually happens during their execution Henrique Moniz, Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
SRDS | 2 |
| 2006 | Proactive Resilience Revisited: The Delicate Balance Between Resisting Intrusions and Remaining AvailableabstractIn a recent paper, we presented proactive resilience as a new approach to proactive recovery, based on architectural hybridization. We showed that, with appropriate assumptions about fault rate, proactive resilience makes it possible to build distributed intrusion-tolerant systems guaranteed not to suffer more than the assumed number of faults during their lifetime. In this paper, we explore the impact of these assumptions in asynchronous systems, and derive conditions that should be met by practical systems in order to guarantee long-lived, i.e., available, intrusion-tolerant operation. Our conclusions are based on analytical and simulation results as implemented in Mobius, and we use the same modeling environment to show that our approach offers higher resilience in comparison with other proactive intrusion-tolerant system models Paulo Sousa 0001, Nuno Neves 0001, Paulo Veríssimo, William H. Sanders |
SRDS | 2 |
| 2006 | From Consensus to Atomic Broadcast: Time-Free Byzantine-Resistant Protocols without SignaturesabstractThis paper proposes a stack of three Byzantine-resistant protocols aimed to be used in practical distributed systems: multi-valued consensus, vector consensus and atomic broadcast. These protocols are designed as successive transformations from one to another. The first protocol, multi-valued consensus, is implemented on top of a randomized binary consensus and a reliable broadcast protocol. The protocols share a set of important structural properties. First, they do not use digital signatures constructed with public-key cryptography, a well-known performance bottleneck in this kind of protocols. Second, they are time-free, i.e. they make no synchrony assumptions, since these assumptions are often vulnerable to subtle but effective attacks. Third, they are completely decentralized, thus avoiding the cost of detecting corrupt leaders. Fourth, they have optimal resilience, i.e. they tolerate the failure of f = ⌊(n−1)/3⌋ out of a total of n processes. In terms of time complexity, the multi-valued consensus protocol terminates in a constant expected number of rounds, while the vector consensus and atomic broadcast protocols have O(f) complexity. The paper also proves the equivalence between multi-valued consensus and atomic broadcast in the Byzantine failure model without signatures. A similar proof is given for the equivalence between multi-valued consensus and vector consensus. These two results have theoretical relevance since they show once more that consensus is a fundamental problem in distributed systems. Miguel Correia 0001, Nuno Neves 0001, Paulo Veríssimo |
Comput. J. | 2 |
| 2005 | How Resilient are Distributed f Fault/Intrusion-Tolerant Systems?abstractFault-tolerant protocols, asynchronous and synchronous alike, make stationary fault assumptions: only a fraction f of the total n nodes may fail. Whilst a synchronous protocol is expected to have a bounded execution time, an asynchronous one may execute for an arbitrary amount of time, possibly sufficient for f+1 nodes to fail. This can compromise the safety of the protocol and ultimately the safety of the system. Recent papers propose asynchronous protocols that can tolerate any number of faults over the lifetime of the system, provided that at most f nodes become faulty during a given interval. This is achieved through the so-called proactive recovery, which consists of periodically rejuvenating the system. Proactive recovery in asynchronous systems, though a major breakthrough, has some limitations which had not been identified before. In this paper, we introduce a system model expressive enough to represent these problems which remained in oblivion with the classical models. We introduce the predicate exhaustion-safe, meaning freedom from exhaustion-failures. Based on it, we predict the extent to which fault/intrusion-tolerant distributed systems (synchronous and asynchronous) can be made to work correctly. Namely, our model predicts the impossibility of guaranteeing correct behavior of asynchronous proactive recovery systems as exist today. To prove our point, we give an example of how these problems impact an existing fault/intrusion-tolerant distributed system, the CODEX system, and having identified the problem, we suggest one (certainly not the only) way to tackle it. Paulo Sousa 0001, Nuno Neves 0001, Paulo Veríssimo |
DSN | 2 |
| 2005 | Resilient State Machine ReplicationabstractNowadays, one of the major concerns about the services provided over the Internet is related to their availability. Replication is a well known way to increase the availability of a service. However, replication has some associated costs, namely it is necessary to guarantee a correct coordination among the replicas. Moreover, being the Internet such an unpredictable and insecure environment, coordination correctness should be tolerant to Byzantine faults and immune to timing failures. Several past works address agreement and replication techniques that tolerate Byzantine faults under the asynchronous model, but they all make the assumption that the number of faulty replicas is bounded and known. Assuming a maximum number of f faulty replicas under the asynchronous model is dangerous - there is no way of guaranteeing that no more than f faults will occur during the execution of the system. In this paper, we describe a resilient f fault/intrusion-tolerant state machine replication system, which guarantees that no more than f faults ever occur. The system is asynchronous in its most part and it resorts to a synchronous oracle to periodically remove the effects of faults/attacks from the replicas. Paulo Sousa 0001, Nuno Neves 0001, Paulo Veríssimo |
PRDC | 2 |
| 2005 | Low complexity Byzantine-resilient consensus
Miguel Correia 0001, Nuno Neves 0001, Lau Cheuk Lung, Paulo Veríssimo |
Distributed Comput. | 2 |
| 2005 | Solving Vector Consensus with a WormholeabstractThis paper presents a solution to the vector consensus problem for Byzantine asynchronous systems augmented with wormholes. Wormholes prefigure a hybrid distributed system model, embodying the notion of an enhanced part of the system with "good" properties otherwise not guaranteed by the "normal" weak environment. A protocol built for this type of system runs in the asynchronous part, where f out of n/spl ges/3f+1 processes might be corrupted by malicious adversaries. However, sporadically, processes can rely on the services provided by the wormhole for the correct execution of simple operations. One of the nice features of this setting is that it is possible to keep the protocol completely time-free and, in addition, to circumvent the FLP impossibility result by hiding all time-related assumptions in the wormhole. Furthermore, from a performance perspective, it leads to the design of a protocol with a good time complexity. Nuno Neves 0001, Miguel Correia 0001, Paulo Veríssimo |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2004 | How to Tolerate Half Less One Byzantine Nodes in Practical Distributed SystemsabstractThe application of dependability concepts and techniques to the design of secure distributed systems is raising a considerable amount of interest in both communities under the designation of intrusion tolerance. However, practical intrusion-tolerant replicated systems based on the state machine approach (SMA) can handle at most f Byzantine components out of a total of n = 3f + 1, which is the maximum resilience in asynchronous systems. This paper extends the normal asynchronous system with a special distributed oracle called TTCB. Using this extended system we manage to implement an intrusion-tolerant service based on the SMA with only 2f + 1 replicas. Albeit a few other papers in the literature present intrusion-tolerant services with this approach, this is the first time the number of replicas is reduced from 3f + 1 to 2f + 1. Another interesting characteristic of the described service is a low time complexity. Miguel Correia 0001, Nuno Neves 0001, Paulo Veríssimo |
SRDS | 2 |
| 2002 | Efficient Byzantine-Resilient Reliable Multicast on a Hybrid Failure ModelabstractThe paper presents a new reliable multicast protocol that tolerates arbitrary faults, including Byzantine faults. This protocol is developed using a novel way of designing secure protocols which is based on a well-founded hybrid failure model. Despite our claim of arbitrary failure resilience, the protocol need not necessarily incur the cost of "Byzantine agreement", in number of participants and round/message complexity. It can rely on the existence of a simple distributed security kernel-the TTCB-where the participants only execute crucial parts of the protocol operation, under the protection of a crash failure model. Otherwise, participants follow an arbitrary failure model. The TTCB provides only a few basic services, which allow our protocol to have an efficiency similar to that of accidental fault-tolerant protocols: for f faults, our protocol requires f+2 processes, instead of 3f+1 in Byzantine systems. Besides, the TTCB (which is synchronous) allows secure operation of timed protocols, despite the unpredictable time behavior of the environment (possibly due to attacks on timing assumptions). Miguel Correia 0001, Lau Cheuk Lung, Nuno Neves 0001, Paulo Veríssimo |
SRDS | 3 |
| 1997 | Fault Detection Using Hints from the Socket LayerabstractDescribes a fault detection mechanism that uses the error codes returned by stream sockets to locate process failures. Since these errors are generated automatically when there is communication with a failed process, the mechanism does not incur in any failure-free overheads. However, for some types of faults, detection can only be attained if the surviving processes use certain communication operations. To assess the coverage and latency of the proposed mechanism, faults were injected during the execution of parallel applications. Our results show that in most cases, faults could be found using only the errors from the socket layer. Depending on the type of fault that was injected, detection occurred in an interval ranging from a few milliseconds to less than nine minutes. Nuno Neves 0001, W. Kent Fuchs |
SRDS | 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 | 4 |
| 1994 | A Checkpoint Protocol for an Entry Consistent Shared Memory SystemabstractWorkstation clusters are becoming an interesting alter-native to dedicated multiprocessors. In this environment, the probability of a failure, during an application’s exeeution, increases with the execution time and the number of work-stations used. If no provision is made for handling failures, it is unlikely that long running applications will terminate successfully. One solution to this problem is process check-pointing. This paper presents a checkpoint protocol for a multi-threaded distributed shared memory system based on the en-try consistency memory model. The protocol allows trans-parent recovery from single node failures and, in some cases, from multiple node failures. A simple mechanism is used to determine if the system can be brought to a consistent state in the event of multiple machine crashes. The protocol keeps a distributed log of shared data ac-cessesin the volatile memory of the processes, taking advan-tage of the independent failure characteristics of workstation clusters. Periodically, or whenever the log reaches a high-water mark, each process checkpoints its state, independently from the others. The protocol needs no extra messagesdur-ing the failure-fke period, since atl checkpoint control in-formation is piggybacked on the memory coherence protocol messages. 1 Nuno Neves 0001, Miguel Castro 0001, Paulo Guedes |
PODC | 1 |
| 1994 | Orthogonal Persistence in a Heterogeneous Distributed Object-Oriented EnvironmentabstractThis paper describes the major issues in the design and implementation of orthogonal persistence in IK. A single and uniform programming paradigm is used to manipulate objects in a persistent and distributed environment. Object references can be freely passed during remote invocations or stored persistently. IK supports orthogonal persistence with type inheritance. Objects are stored persistently when reachable from an Eternal Root, regardless of their type. For programmers, objects are created and manipulated uniformly, independently of the time they persist. Persistent objects are dynamically grouped at run-time into clusters to encapsulate fine-grain language level objects into coarser-grain entities. We present a novel approach to integrate object clustering, naming and garbage collection in persistent systems, and present experimental results. Pedro Manuel Antunes Sousa, André Zúquete, Nuno Neves 0001, José Alves Marques |
Comput. J. | 3 |