Award Abstract # 1617985
NeTS: Small: Detecting Races in SDN Control Plane

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: TEXAS A&M ENGINEERING EXPERIMENT STATION
Initial Amendment Date: August 24, 2016
Latest Amendment Date: August 24, 2016
Award Number: 1617985
Award Instrument: Standard Grant
Program Manager: Darleen Fisher
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2016
End Date: May 31, 2021 (Estimated)
Total Intended Award Amount: $350,000.00
Total Awarded Amount to Date: $350,000.00
Funds Obligated to Date: FY 2016 = $350,000.00
History of Investigator:
  • Guofei Gu (Principal Investigator)
    guofei@cse.tamu.edu
  • Jeff Huang (Co-Principal Investigator)
Recipient Sponsored Research Office: Texas A&M Engineering Experiment Station
3124 TAMU
COLLEGE STATION
TX  US  77843-3124
(979)862-6777
Sponsor Congressional District: 10
Primary Place of Performance: Texas A&M Engineering Experiment Station
TX  US  77845-4645
Primary Place of Performance
Congressional District:
10
Unique Entity Identifier (UEI): QD1MX6N5YTN4
Parent UEI: QD1MX6N5YTN4
NSF Program(s): Networking Technology and Syst
Primary Program Source: 01001617DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7923
Program Element Code(s): 736300
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Software Defined Networking (SDN) has rapidly emerged as a promising solution to building the future Internet. Current legacy network devices are typically proprietary, closed, and complex platforms, which as a result have severely throttled innovation in networking. SDN in contrast is designed to separate intelligent control plane (controller) from switching fabrics, ushering in enormous opportunities for rapid open innovations and quick creation of customized services. In SDN, the controllers play a central role, acting as the brain of the entire network. Thus, the reliable and secure operation of them is of extreme importance. Unfortunately, the asynchrony of network events and the complex architecture of SDN controllers make them prone to hard-to-find yet serious data race bugs, that can cause serious reliability and security issues to the whole SDN network.

In the principal investigators' (PIs) initial investigation, they found that data race bugs in the control plane can greatly reduce the reliability and security of SDN, e.g., causing system crashes, denying critical network services, interfering with service chains, or leaking privacy network information. These are not acceptable for SDN technology deployment. Unfortunately there is a serious lack of techniques to detect systematically these harmful concurrency bugs in the SDN control plane. This work seeks to address these issues. First, this project will conduct a systematic investigation of mainstream SDN controllers and develop an abstracted causality model to capture the unique happens-before semantics of the SDN control plane for race detection. Second, the project will develop the first dynamic race detection tool for the SDN control plane and will target mainstream controllers, such as Floodlight, ONOS and OpenDaylight, to maximize the impact on the SDN community. Third, this project will design new techniques to handle missing events in the dynamic execution of SDN controllers to reduce false alarms and for more complete race detection. Finally, the PIs will extend the techniques to detect a broad range of concurrency bugs.

The goal of the project is to develop a reliability and security model for the SDN control plane. The PIs have been developing network security, SDN, and software analysis related courses. The PIs will recruit and educate minorities and underrepresented students. The teams are well positioned to help shape the landscape of SDN reliability/security research and education in the academic communities and to influence the industry.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 26)
Bozhen Liu , Peiming Liu , Yanze Li , Chia-Che Tsai , Dilma Da Silva , Jeff Huang "When threads meet events: efficient and precise static race detection with origins" PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation , 2021
Bradley Swain and Jeff Huang "Towards Incremental Static Race Detection in OpenMP Programs" IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness) , 2018 10.1109/Correctness.2018.00009
Cao, Jiahao and Li, Qi and Xie, Renjie and Sun, Kun and Gu, Guofei and Xu, Mingwei and Yang, Yuan "The CrossPath Attack: Disrupting the SDN Control Channel via Shared Links" USENIX Security Symposium 2019 , 2019 Citation Details
Cao, Jiahao and Xie, Renjie and Sun, Kun and Li, Qi and Gu, Guofei and Xu, Mingwei "When Match Fields Do Not Need to Match: Buffered Packets Hijacking in SDN" Proc. of the Network and Distributed System Security Symposium (NDSS'20) , 2020 https://doi.org/10.14722/ndss.2020.23040 Citation Details
Chinprutthiwong, Phakpoom and Vardhan, Raj and Yang, GuangLiang and Gu, Guofei "Security Study of Service Worker Cross-Site Scripting." Proc. of 2020 Annual Computer Security Applications Conference (ACSAC20) , 2020 https://doi.org/10.1145/3427228.3427290 Citation Details
Haopei Wang, Guangliang Yang, Phakpoom Chinprutthiwong, Lei Xu, Yangyong Zhang, Guofei Gu. "Towards Fine-grained Network Security Forensics and Diagnosis in the SDN Era" Proc. of the 25th ACM Conference on Computer and Communications Security (CCS'18) , 2018
Hongda Li, Hongxin Hu, Guofei Gu, Gail-Joon Ahn, Fuqiang Zhang "vNIDS: Towards Elastic Security with Safe and Efficient Virtualization of Network Intrusion Detection Systems" Proc. of the 25th ACM Conference on Computer and Communications Security (CCS'18) , 2018
Jeff Huang "UFO: predictive concurrency use-after-free detection" ICSE '18 Proceedings of the 40th International Conference on Software Engineering , 2018 , p.609 10.1145/3180155.3180225
Jeff Huang and Arun Rajagopalan "What?s the Optimal Performance of Precise Dynamic Race Detection? ? A Redundancy Perspective" 31st European Conference on Object-Oriented Programming, {ECOOP} 2017, June 19-23, 2017, Barcelona, Spain , 2017 10.4230/LIPIcs.ECOOP.2017.15
Jing Zheng, Qi Li, Guofei Gu, Jiahao Cao, David K.Y. Yau, and Jianping Wu "Realtime DDoS Defense Using COTS SDN Switches via Adaptive Correlation Analysis" IEEE Transactions on Information Forensics and Security (TIFS) , 2018
Lei Xu, Jeff Huang, Sungmin Hong, Jialong Zhang, Guofei Gu. "Attacking the Brain: Races in the SDN Control Plane" Proc. of the 26th USENIX Security Symposium (Security'17) , 2017
(Showing: 1 - 10 of 26)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

The overall goal of the project is to develop new detection and defense techniques (e.g., race detection) for software environments such as SDN control planes to precisely pinpoint security bugs/vulnerabilities, particularly those race related.

 

We found several new attack surfaces in existing software-defined infrastructure. We illustrate two major outcomes on detecting SDN vulnerabilities below:

  1. We identified a novel attack against SDN networks that can cause serious security and reliability risks by exploiting harmful race conditions in the SDN controllers, similar in spirit to classic TOCTTOU (Time of Check to Time of Use) attacks against file systems. We further developed a novel dynamic framework, CONGUARD, that can effectively detect and exploit harmful race conditions. We show that an adversary can remotely exploit many harmful race conditions with a high success ratio by injecting the “right” external events into the SDN network. We have designed and implemented a framework called CONGUARD for detecting and exploiting concurrency vulnerabilities in the SDN control plane, and we have evaluated it on three mainstream open-source SDN controllers –Floodlight, ONOS, and OpenDaylight, with 34 applications in total. CONGUARD found 15 previously unknown harmful race conditions in these SDN controllers. All of them have been confirmed by developers and 12 of them are patched with our assistance.
  2. We found that it is possible for a weak adversary who only controls a commodity network device (host or switch) to attack previously unreachable control plane components by maliciously increasing reachability in the control plane. We introduce D2C2 (data dependency creation and chaining) attack, which leverages some widely-used SDN protocol features (e.g., custom fields) to create and chain unexpected data dependencies in order to achieve greater reachability. We have developed a novel tool, SVHunter, which can effectively identify D2C2 vulnerabilities. We have evaluated SVHunter on three mainstream open-source SDN controllers (i.e., ONOS, Floodlight, and Opendaylight) as well as one security-enhanced controller (i.e., SE-Floodlight). SVHunter detects 18 previously unknown vulnerabilities, all of which can be exploited remotely to launch serious attacks such as executing arbitrary commands, exfiltrating confidential files, and crashing SDN services. To fix these vulnerabilities, we have made responsible disclosure and notified the vendors of each vulnerable controller. They reacted immediately to fix most of them. Our found vulnerabilities have also been assigned with 9 CVE numbers. Our research has significantly improved the security of our society. 



Going beyond SDN, we have also developed new race detection algorithms and techniques that either significantly advanced prior state-of-the-art approaches or have become the state-of-the-art. Our tools on static and dynamic race detection have been applied to a large collection of real-world parallel applications written in different programming languages such as C/C++/Java/OpenMP/Go/Rust. We illustrate two representative outcomes below:

  1. Our dynamic race detection tool UFO scales to large real-world C/C++ programs such as Chromium and FireFox and detects over a hundred potential UAFs that are previously unknown. The significance of this work was also recognized by Google and the results were published in the flagship international software engineering conference (ICSE'18). Our open source pointer analysis implementation has been adopted by the popular WALA program analysis framework developed by IBM T.J. Watson Research Center.
  2. Our static race detection tool OMPRacer uses novel flow-sensitive, interprocedural analysis to detect data races in parallel programs written in OpenMP. Unlike dynamic tools that currently dominate the field, OMPRACER achieves almost 100% OpenMP code coverage using static analysis to detect a broader category of races without running the program or relying on specific input and runtime behaviour to trigger the race. Moreover, OMPRACER has competitive precision with representative dynamic tools such as Archer and ROMP: it passes 105 out of the 116 cases in DataRaceBench with a total accuracy of 91%. OMPRACER has been used to analyze the large-scale OpenMP applications containing over 2 million lines of code in under 10 minutes and has revealed a previously-unknown race in them.



During this project, several graduate students have gained valuable experience and learned several research skills such as scientific reading/writing, scientific data analysis, security system development.


 

 


Last Modified: 09/29/2021
Modified by: Guofei Gu

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page