Abstract
In this article, we propose Gatling, a framework that automatically finds performance attacks caused by insider attackers in large-scale message-passing distributed systems. In performance attacks, malicious nodes deviate from the protocol when sending or creating messages, with the goal of degrading system performance. We identify a representative set of basic malicious message delivery and lying actions and design a greedy search algorithm that finds effective attacks consisting of a subset of these actions. Although lying malicious actions are protocol dependent, requiring the format and meaning of messages, Gatling captures them without needing to modify the target system by using a type-aware compiler. We have implemented and used Gatling on nine systems, a virtual coordinate system, a distributed hash table lookup service and application, two multicast systems and one file sharing application, and three secure systems designed specifically to tolerate insiders, two based on virtual coordinates and one using Outlier Detection, one invariant derived from physical laws, and the last one a Byzantine resilient replication system. We found a total of 48 attacks, with the time needed to find each attack ranging from a few minutes to a few hours.
References
- Yair Amir, Brian Coan, Jonathan Kirsch, and John Lane. 2008. Byzantine replication under attack. In Proceedings of the IEEE International Conference on Dependable Systems and Networks with FTCS and DCC. 197--206.Google Scholar
Cross Ref
- Joao Antunes, Nuno Neves, Miguel Correia, Paulo Verissimo, and Rui Neves. 2010. Vulnerability discovery with attack injection. IEEE Transactions on Software Engineering 36, 357--370. Google Scholar
Digital Library
- Alessandro Armando, David Basin, Yohan Boichut, Yannick Chevalier, Luca Compagna, Jorge Cuellar, Paul Hankes Drielsma, Pierre C. Hem, Olga Kouchnarenko, Jacopo Mantovani, Sebastian Modersheim, David von Oheimb, Michael Rusinowitch, Judson Santiago, Mathieu Turuani, Luca Vigan, and Laurent Vigneron. 2005. The AVISPA tool for the automated validation of Internet security protocols and applications. In Proceedings of the 17th International Conference on Computer Aided Verification. 281--285. Google Scholar
Digital Library
- Alessandro Armando and Luca Compagna. 2008. SAT-based model-checking for security protocols analysis. International Journal of Information Security 7, 3--32. Google Scholar
Digital Library
- Mona Attariyan, Michael Chow, and Jason Flinn. 2012. X-ray: Automating root-cause diagnosis of performance anomalies in production software. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI’12). 307--320. Google Scholar
Digital Library
- Radu Banabic, George Candea, and Rachid Guerraoui. 2011. Automated vulnerability discovery in distributed systems. In Proceedings of the IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops (DSNW’11). 188--193. Google Scholar
Digital Library
- Bruno Blanchet. 2002. From secrecy to authenticity in security protocols. In Static Analysis. Lecture Notes in Computer Science, Vol. 2477. Springer, 342--359. Google Scholar
Digital Library
- Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI’08). 209--224. Google Scholar
Digital Library
- Miguel Castro, Peter Drushel, Ayalvadi Ganesh, Antony Rowstron, and Dan Wallach. 2002. Secure routing for structured peer-to-peer overlay networks. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI’02). 299--314. Google Scholar
Digital Library
- Miguel Castro and Barbara Liskov. 1999. Practical Byzantine fault tolerance. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI’99). 173--186. Google Scholar
Digital Library
- Eric Chan-Tin, Victor Heorhiadi, Nicholas Hopper, and Yongdae Kim. 2011. The frog-boiling attack: Limitations of secure network coordinate systems. ACM Transactions on Information and System Security 14, 3, Article No. 27. Google Scholar
Digital Library
- Chia Yuan Cho, Domagoj Babi, Pongsin Poosankam, Kevin Zhijie Chen, Edward XueJun Wu, and Dawn Song. 2011. MACE: Model-inference-assisted concolic exploration for protocol and vulnerability discovery. In Proceedings of the 20th USENIX Conference on Security (SEC’11). 10. Google Scholar
Digital Library
- Yang-Hua Chu, Aditya Ganjam, T. S. Eugene Ng, Sanjay Rao, Kunwadee Sripanidkulchai, Jibin Zhan, and Hui Zhang. 2004. Early experience with an Internet broadcast system based on overlay multicast. In Proceedings of the USENIX Annual Technical Conference. 12. Google Scholar
Digital Library
- Bram Cohen. 2003. Incentives build robustness in BitTorrent. In Proceedings of P2P Economics. 1--5.Google Scholar
- Frank Dabek, Russ Cox, Frans Kaashoek, and Robert Morris. 2004. Vivaldi: A decentralized network coordinate system. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM’04). 15--26. Google Scholar
Digital Library
- Deter. 2013. Cyber-Defense Technology Experimental Research Laboratory Testbed. Retrieved March 13, 2015, from http://www.deter-project.org.Google Scholar
- Emulab. 2013. Emulab—Network Emulation Testbed Home. Retrieved March 13, 2015, from http://www.emulab.net/.Google Scholar
- Dennis Geels, Gautam Altekar, Petros Maniatis, Timothy Roscoe, and Ion Stoica. 2007. Friday: Global comprehension for distributed replay. In Proceedings of the 4th USENIX Conference on Networked Systems Design and Implementation. 21. Google Scholar
Digital Library
- Geni. 2013. Global Environment for Network Innovation. Retrieved March 13, 2015, from http://www.geni.net.Google Scholar
- Thomer M. Gil, Frans Kaashoek, Jinyang Li, Robert Morris, and Jeremy Stribling. 2013. p2psim: A Simulator for Peer-to-Peer Protocols. Retrieved March 13, 2015, from http://pdos.csail.mit.edu/p2psim/.Google Scholar
- Patrice Godefroid. 1997. Model checking for programming languages using VeriSoft. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming (POPL’97). 174--186. Google Scholar
Digital Library
- Patrice Godefroid, Michael Y. Levin, and David Molnar. 2008. Automated whitebox fuzz testing. In Proceedings of the 16th Annual Network and Distributed System Security Symposium (NDSS’08).Google Scholar
- GTNet. 2013. Georgia Tech Network Simulator. Retrieved March 13, 2015, from http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/.Google Scholar
- Krishna P. Gummadi, Stefan Saroiu, and Steven D. Gribble. 2002. King: Estimating latency between arbitrary Internet end hosts. In Proceedings of the 2nd ACM SIGCOMM Workshop on Internet Measurement. 5--18. Google Scholar
Digital Library
- Haryadi S. Gunawi, Thanh Do, Pallavi Joshi, Peter Alvaro, Joseph M. Hellerstein, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Koushik Sen, and Dhruba Borthakur. 2011. FATE and DESTINI: A framework for cloud recovery testing. In Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation (NSDI’11). 238--252. Google Scholar
Digital Library
- Gerard J. Holzmann. 1997. The model checker SPIN. IEEE Transactions on Software Engineering 23, 5, 279--295. Google Scholar
Digital Library
- Charles Edwin Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, and Amin M. Vahdat. 2007a. Mace: Language support for building distributed systems. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’07). 179--188. Google Scholar
Digital Library
- Charles Killian, James W. Anderson, Ranjit Jhala, and Amin Vahdat. 2007b. Life, death, and the critical transition: Detecting liveness bugs in systems code. In Proceedings of the 4th ISENIX Conference on Networked Systems Design and Implementation (NSDI’07). 18. Google Scholar
Digital Library
- Dejan Kostić, Ryan Braud, Charles Killian, Erik Vandekieft, James W. Anderson, Alex C. Snoeren, and Amin Vahdat. 2005. Maintaining high bandwidth under dynamic network conditions. In Proceedings of the USENIX Annual Technical Conference (ATEC’05). 14. Google Scholar
Digital Library
- Dejan Kostic, Adolfo Rodriguez, Jeannie Albrecht, and Amin Vahdat. 2003a. Bullet: High bandwidth data dissemination using an overlay mesh. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP’03). 282--297. Google Scholar
Digital Library
- Dejan Kostic, Adolfo Rodriguez, Jeannie Albrecht, Abhijeet Bhirud, and Amin Vahdat. 2003b. Using random subsets to build scalable network services. In Proceedings of the 4th USENIX Symposium on Internet Technologies and Systems (USITS’03). 19. Google Scholar
Digital Library
- Dejan Kostić, Alex C. Snoeren, Amin Vahdat, Ryan Braud, Charles Killian, James W. Anderson, Jeannie Albrecht, Adolfo Rodriguez, and Erik Vandekieft. 2008. High-bandwidth data dissemination for large-scale distributed systems. ACM Transactions on Computer Systems 26, 1, 1--61. Google Scholar
Digital Library
- Nupur Kothari, Ratul Mahajan, Todd Millstein, Ramesh Govindan, and Madanlal Musuvathi. 2011. Finding protocol manipulation attacks. In Proceedings of the ACM SIGCOMM 2011 Conference (SIGCOMM’11). 26--37. Google Scholar
Digital Library
- Maxwell Krohn, Eddie Kohler, and M. Frans Kaashoek. 2007. Events can make sense. In Proceedings of the USENIX Annual Technical Conference (ATC’07). Article No. 7. Google Scholar
Digital Library
- Volodymyr Kuznetsov, Johannes Kinder, Stefan Bucur, and George Candea. 2012. Efficient state merging in symbolic execution. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’12). ACM, New York, NY, 193--204. Google Scholar
Digital Library
- Leslie Lamport. 2002. Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison Wesley Longman, Boston, MA. Google Scholar
Digital Library
- Jonathan Ledlie, Paul Gardner, and Margo Seltzer. 2007. Network coordinates in the wild. In Proceedings of the 4th USENIX Conference on Networked Systems Design and Implementation. 22. Google Scholar
Digital Library
- Hyojeong Lee, Jeff Seibert, Charles Edwin Killian, and Cristina Nita-Rotaru. 2012. Gatling: Automatic attack discovery in large-scale distributed systems.. In Proceedings of the 19th Annual Network and Distributed System Security Symposium (NDSS’12).Google Scholar
- Lorenzo Leonini, Étienne Rivière, and Pascal Felber. 2009. SPLAY: Distributed systems evaluation made simple (or how to turn ideas into live systems in a breeze). In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation. 185--198. Google Scholar
Digital Library
- Shiding Lin, Aimin Pan, Zheng Zhang, Rui Guo, and Zhenyu Guo. 2005. WiDS: An integrated toolkit for distributed systems development. In Proceedings of the 10th Conference on Hot Topics in Operating Systems (HOTOS’05). 17. Google Scholar
Digital Library
- Zhiqiang Lin, Xiangyu Zhang, and Dongyan Xu. 2008. Convicting exploitable software vulnerabilities: An efficient input provenance based approach. In Proceedings of the IEEE International Conference on Dependable Systems and Networks with FTCS and DCC (DSN’08). 247--256.Google Scholar
- Boon Thau Loo, Tyson Condie, Joseph M. Hellerstein, Petros Maniatis, Timothy Roscoe, and Ion Stoica. 2005. Implementing declarative overlays. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP’05). 75--90. Google Scholar
Digital Library
- Xuezheng Lui, Wei Lin, Aimin Pan, and Zheng Zhang. 2007. WiDS checker: Combating bugs in distributed systems. In Proceedings of the 4th USENIX Conference on Networked Systems Design and Implementation. 19. Google Scholar
Digital Library
- Nancy Lynch. 1996. Distributed Algorithms. Morgan Kaufmann. Google Scholar
Digital Library
- Madanlal Musuvathi, David Y. W. Park, Andy Chou, Dawson R. Engler, and David L. Dill. 2002. CMC: A pragmatic approach to model checking real code. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI’02). 75--88. Google Scholar
Digital Library
- Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gérard Basler, Piramanayagam A. Nainar, and Iulian Neamtiu. 2008. Finding and reproducing Heisenbugs in concurrent programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. 267--280. Google Scholar
Digital Library
- Karthik Nagaraj, Charles Killian, and Jennifer Neville. 2012. Structured comparative analysis of systems logs to diagnose performance problems. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI’12). 26. http://dl.acm.org/citation.cfm?id=2228298.2228334. Google Scholar
Digital Library
- James Newsome and Dawn Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Proceedings of the Network and Distributed System Security Symposium (NDSS’05).Google Scholar
- NS3. 2013. Network Simulator 3. Retrieved March 13, 2015, from http://www.nsnam.org/.Google Scholar
- PlanetLab. 2002. PlanetLab. Retrieved March 13, 2015, from http://www.planet-lab.org.Google Scholar
- Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, and Scott Shenker. 2001. A scalable content-addressable network. In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM’01). ACM, New York, NY, 161--172. Google Scholar
Digital Library
- Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz. 2004. Handling churn in a DHT. In Proceedings of the USENIX Annual Technical Conference (ATEC’04). 10. citeseer.ist.psu.edu/rhea03handling.html. Google Scholar
Digital Library
- Adolfo Rodriguez, Dejan Kostić, Dejan, and Amin Vahdat. 2004. Scalability in adaptive multi-metric overlays. In Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS’04). 112--121. Google Scholar
Digital Library
- Ron. 2013. Resilient Overlay Networks. Retrieved March 13, 2015, from http://nms.csail.mit.edu/ron/.Google Scholar
- Antony Rowstron and Peter Druschel. 2001. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg (Middleware’01). 329--350. Google Scholar
Digital Library
- Antony Rowstron, Anne-Marie Kermarrec, Miguel Castro, and Peter Druschel. 2001. SCRIBE: The design of a large-scale event notification infrastructure. In Proceedings of the 3rd International COST264 Workshop on Networked Group Communication (NGC’01). 30--43. Google Scholar
Digital Library
- Jeffrey Seibert, Sheila Becker, Cristina Nita-Rotaru, and Radu State. 2012. Newton: Securing virtual coordinates by enforcing physical laws. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS’12). IEEE, Los Alamitos, CA, 315--324. Google Scholar
Digital Library
- Milan Stanojevic, Ratul Mahajan, Todd Millstein, and Madanlal Musuvathi. 2008. Can you fool me? Towards automatically checking protocol gullibility. In Proceedings of the 7th ACM Workshop on Hot Topics in Networks (HotNets’08).Google Scholar
- Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. 2001. Chord: A scalable peer-to-peer lookup service for Internet applications. In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM’01). 149--160. Google Scholar
Digital Library
- Amin Vahdat, Ken Yocum, Kevin Walsh, Priya Mahadevan, Dejan Kostić, Jeff Chase, and David Becker. 2002. Scalability and accuracy in a large-scale network emulator. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI’02). 271--284. Google Scholar
Digital Library
- Aaron Walters, David Zage, and Cristina Nita-Rotaru. 2008. A framework for mitigating attacks against measurement-based adaptation mechanisms in unstructured multicast overlay networks. IEEE/ACM Transactions on Networking 16, 1434--1446. Google Scholar
Digital Library
- Wenhua Wang, Yu Lei, Donggang Liu, David Kung, Christoph Csallner, Dazhi Zhang, Raghu Kacker, and Rick Kuhn. 2011. A combinatorial approach to detecting buffer overflow vulnerabilities. In Proceedings of the 41st International Conference on Dependable Systems and Networks (DSN’11). 269--278. Google Scholar
Digital Library
- Matt Welsh, David E. Culler, and Eric A. Brewer. 2001. SEDA: An architecture for well-conditioned, scalable Internet services. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP’01). 230--243. Google Scholar
Digital Library
- Maysam Yabandeh, Nikola Knezevic, Dejan Kostic, and Viktor Kuncak. 2009. CrystalBall: Predicting and preventing inconsistencies in deployed distributed systems. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI’09). 229--244. Google Scholar
Digital Library
- Junfeng Yang, Tisheng Chen, Ming Wu, Zhilei Xu, Xuezheng Liu, Haoxiang Lin, Mao Yang, Fan Long, Lintao Zhang, and Lidong Zhou. 2009. MODIST: Transparent model checking of unmodified distributed systems. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI’09). 213--228. Google Scholar
Digital Library
- David John Zage and Cristina Nita-Rotaru. 2007. On the accuracy of decentralized virtual coordinate systems in adversarial networks. In Proceedings of the 14th ACM Conference on Computer and Communications Security (CCS’07). 214--224. Google Scholar
Digital Library
Index Terms
Gatling: Automatic Performance Attack Discovery in Large-Scale Distributed Systems







Comments