Building Robust Distributed Systems and Network Protocols by Using Adversarial Testing and Behavioral Analysis
Most distributed systems and network protocols are designed to meet fault-tolerance, performance, and security goals. The high-level steps involved in the life cycle of a protocol development include protocol specification, design, implementation, and deployment. While techniques such as model checking and random fuzz testing are used during this life cycle, they offer limited assurance that implementations are free of bugs and vulnerabilities. The informal nature of the prose specification, the increased design complexity, the inconsistent interpretations by developers, and the limited functionality of existing fuzz testing tools often result in bugs and vulnerabilities that manifest after the code has already been deployed, making the debugging process difficult and costly.
In this talk we describe how adversarial testing and behavioral analysis of protocols can be used to increase assurance in protocol implementations. We first describe several approaches to adversarial testing focusing on how the malicious test cases are automatically created and injected, and the resulting attacks are detected. We created several platforms"”Turret, Turret-W, and SNAKE"”that allowed us to test implementations of routing protocols, distributed systems, and transport protocols; they achieve different coverage and efficiency by assuming different knowledge about the system design. We then describe our experience and challenges encountered while creating Chiron, a behavioral analysis framework, to detect noncompliance in a network protocol implementation against a richer set of properties prescribing the correct behavior of the protocol. Finally, we will describe ongoing work in finding attacks in SDN-based systems and implementations of congestion control algorithms.
Cristina Nita-Rotaru is a Professor of Computer Science in the College of Computer and Information Science at Northeastern University. Prior to joining Northeastern she was a faculty in the Department of Computer Science at Purdue University. Her research lies at the intersection of information security, distributed systems, and computer networks. The overarching goal of her work is designing and building practical distributed systems and network protocols that meet their performance and security goals in spite of mis-configurations, failures, or attacks.
Cristina Nita-Rotaru is a recipient of the NSF Career Award in 2006. She has served on the Technical Program Committee of numerous conferences in security, networking and distributed systems (IEEE S&P, USENIX Security, ACM CCS, NDSS, ACM Wisec, IEEE ICDCS, IEEE/IFIP DSN, ACM SIGCOMM, ACM CoNEXT, IEEE INFOCOM, IEEE ICNP, WWW, PODC). She served as an Assistant Director for CERIAS (2011 – 2013), the Center of Education and Research in Information Assurance at Purdue University. She is a founding member of the Institute for Cybersecurity and Privacy at Northeastern University, where she leads the Network and Distributed Systems Security Laboratory (NDS2). She has published over 100 articles in peer-reviewed conferences and journals. She is a member of the steering committee of ACM Wisec and IEEE/IFIP DSN, and a member of the IFIP Working Group on Dependable Computing and Fault-tolerance. She was an Associate Editor for Elsevier Computer
Communications (2008 – 2011), IEEE Transactions on Computers (2011 – 2014), ACM Transactions on Information Systems Security (2009 – 2013), and Computer Networks (2012 – 2014), IEEE Transactions on Mobile Computing (2011 – 2016). She is currently an Associate Editor for IEEE Transactions on Dependable and Secure Systems.