Enabling Modular Application Development for Management and Security in Software-Defined Networks
Total Page:16
File Type:pdf, Size:1020Kb
ENABLING MODULAR APPLICATION DEVELOPMENT FOR MANAGEMENT AND SECURITY IN SOFTWARE-DEFINED NETWORKS A Dissertation Presented to The Academic Faculty By Jacob H. Cox Jr. In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Electrical and Computer Engineering Georgia Institute of Technology May 2017 Copyright c 2017 by Jacob H. Cox Jr. ENABLING MODULAR APPLICATION DEVELOPMENT FOR MANAGEMENT AND SECURITY IN SOFTWARE-DEFINED NETWORKS Approved by: Dr. Owen, Henry School of Electrical and Computer Engineering Georgia Institute of Technology Dr. Clark, Russell Dr. Copeland, John College of Computing School of Electrical and Computer Georgia Institute of Technology Engineering Georgia Institute of Technology Dr. Beyah, Raheem School of Electrical and Computer Dr. Ahamad, Mustaque Engineering College of Computing Georgia Institute of Technology Georgia Institute of Technology Date Approved: March 1, 2017 Whatever you do in word or deed, do all in the name of the Lord Jesus, giving thanks through Him to God the Father. Colossians 3:17 To Christ with whom my salvation lies, To my wife, Laura, for her love and support and whom I adore, and To my parents who loved me without condition and provided all I have ever needed ACKNOWLEDGEMENTS This dissertation would have not been possible without all the support, guidance, and encouragement I have received along the way. Specifically, I owe my advisors, Professor Henry Owen and Dr. Russell Clark, the United States Army, my parents, and my wife a huge debt of gratitude for making this opportunity possible. Much thanks is owed to my advisor, Professor Henry Owen, for offering his guidance and support even before I arrived at Georgia Tech to begin my studies. He fully understood my needs as a military officer, and he provided the essential guidance I needed to success- fully navigate the requirements leading to a Ph.D. Furthermore, his advice to immediately attempt the preliminary exam and encouragement throughout my preparations pushed me to quickly overcome the exam and transition to my research. I am likewise grateful to Dr. Russell Clark, who served as my co-advisor, offering both his support and encouragement to complete my academic research. Beyond frequently reviewing my work, his support provided me with much appreciated opportunities to gain greater familiarity with cyber infrastructure, cyber security, and cloud architectures. Much thanks is also due the faculty at the Department of EECS, United States Mil- itary Academy, West Point. I am deeply appreciative of COL Lisa Shay, COL Gregory Conti, COL(R) Scott Ransbottom, COL Barry Shoop, and so many other senior faculty who placed their confidence in me to complete this program. Their advice and mentoring set me up for success throughout this endeavor. I also remain grateful for the pride and love of my parents. Jessie and Thomas Crongeyer, Jacob and Lana Cox, and Michael and LaVernna Kapica remain blessings in my life. Finally, I will always be gratefully indebted to my wife, Laura, whose unwavering support and love throughout my life and career has encouraged me to grow and excel. Whether together or apart, she always strives to make me feel special and appreciated. After 20 years of marriage, I love her all the more. v TABLE OF CONTENTS Acknowledgments . v List of Tables . xi List of Figures . xii Chapter 1: Introduction . 1 1.1 Towards Simplifying SDN Management and Security . 4 1.2 Contribution . 4 1.3 Background . 6 1.3.1 Software Defined Networking . 7 1.3.2 Network Functions Virtualization . 8 1.3.3 Network Security . 9 1.3.4 Challenges To Network Administration . 11 1.3.5 SDN Application Development for Management and Security . 12 1.4 Technical Approach . 13 1.4.1 Outline . 15 1.5 Bibliographic notes . 19 Chapter 2: Leveraging SDN to Improve the Security of DHCP . 20 vi 2.1 Introduction . 20 2.2 State of the Art . 21 2.3 Related Work . 23 2.4 Design and Implementation . 24 2.4.1 NFG Design . 24 2.5 Test Environment and Results . 27 2.6 Discussion . 29 2.7 Future Work . 30 2.8 Conclusion . 31 Chapter 3: Leveraging SDN for ARP Security . 32 3.1 Introduction . 32 3.2 Background . 33 3.3 State Of The Art . 36 3.4 Design and Implementation . 39 3.4.1 NFG Design . 39 3.4.2 Implementation . 43 3.5 Test Environment and Results . 45 3.6 Related Work . 47 3.7 Discussion . 49 3.8 Future Work . 50 3.9 Conclusion . 51 3.10 Segue . 52 vii Chapter 4: Ryuretic: A Modular Programming Framework for Ryu . 53 4.1 Introduction . 53 4.2 The Ryuretic Programming Framework . 55 4.3 Ryuretic Components . 58 4.3.1 Coupler . 59 4.3.2 Packet Parser . 62 4.3.3 Switch Module . 63 4.4 Ryuretic Programming Examples . 64 4.4.1 Simple Stateful Firewall Application . 64 4.4.2 Unauthorized NAT device . 66 4.5 Discussion . 68 4.6 Future Work . 69 4.7 Conclusion . 70 4.8 Segue . 70 Chapter 5: Security Policy Transition Framework for Software-defined Networks 71 5.1 Introduction . 71 5.2 Framework Motivation . 72 5.3 Related Work . 74 5.4 The Framework . 76 5.4.1 Controller . 77 5.4.2 Trusted Agent . 79 5.4.3 Communication Channel . 81 viii 5.5 Test Environment . 83 5.6 Example Use Case . 83 5.6.1 Spoofed ARP Packets . 83 5.7 Discussion and Future Work . 85 5.8 Conclusion . 86 5.9 Segue . 87 Chapter 6: Leveraging SDN and WebRTC for Rogue Access Point Security . 88 6.1 Introduction . 88 6.2 Background . 90 6.2.1 Network Address Translation (NAT) . 91 6.2.2 Rogue Access Points (RAP) . 91 6.3 Rogue Device Detection Methods . 92 6.3.1 Client-side approach . 92 6.3.2 Server-side approach . 94 6.4 Network Flow Guard Security . 98 6.4.1 Requirements and Assumptions . 98 6.4.2 Security Features . 99 6.5 Network Flow Guard Architecture . 106 6.5.1 SDN Controller . 108 6.5.2 Trusted Agent . 109 6.5.3 Communication Channel . 111 6.6 Test Environment and Results . 112 ix 6.7 Discussion . 120 6.8 Future Work . 122 6.9 Conclusion . 123 Chapter 7: Conclusion . 124 7.1 Other Results . 124 7.2 Discussion . 126 7.3 Contributions . 130 7.4 Future Work . 131 7.5 Conclusion . 133 Appendix A: Experimental Equipment . 135 A.0.1 Hardware . 135 A.0.2 Virtual Environment . 135 A.0.3 Tools . ..