
NSF Org: |
CNS Division Of Computer and Network Systems |
Recipient: |
|
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: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
3124 TAMU COLLEGE STATION TX US 77843-3124 (979)862-6777 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
TX US 77845-4645 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Networking Technology and Syst |
Primary Program Source: |
|
Program Reference Code(s): |
|
Program Element Code(s): |
|
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.
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:
- 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.
- 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:
- 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.
- 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.