Over the years, Software-Defined Networking (SDN) has grown aggressively, and many SDN controller products have been released to date as not only open source projects but also commercial ones. Considering the adoption of SDN, the security of SDN components is an essential aspect that needs to be thoroughly investigated, so research in this area has been getting attention. However, despite growing interest in SDN security, SDN controllers are vulnerable to security vulnerabilities that have not yet been disclosed. Among them, we focus on data inconsistency problems between the controller and switches. In this work, we try to find out the inconsistency states between each layer, which are powerful enough to jeopardize the entire network. To more efficiently detect those vulnerabilities and bugs, we introduce a framework called RE-CHECKER that can find the security holes using RESTful services in SDN controller. As a result, using RE-CHECKER, we found four bug types against three open source controllers: ONOS, Floodlight, and Ryu. Based on the result of RE-CHECKER, we illustrate some design flaws of the controllers through security analysis. After that, we present another framework called AUDI, which can detect and address the data inconsistency between the controller and switches. To prove the feasibility and examine the potential impact of the data inconsistency, we demonstrate some vulnerable scenarios in the real SDN environments.
최근 몇 년 동안, 소프트웨어 정의 네트워킹 (SDN)은 급격하게 발전하였으며, 오픈소스 프로젝트 뿐만 아니라 상용 제품들까지 많은 SDN 컨트롤러 제품들이 출시되었다. SDN의 적용을 고려하기 위해, 각 SDN의 구성요소에 대한 보안성은 완벽하게 검증되어야 하는 필수적인 요소이며, 현재까지 이에 대한 연구들이 많은 주목을 받고 있다. 하지만 SDN 보안에 대한 관심이 증가하고 있음에도 불구하고, SDN 컨트롤러는 알려지지 않은 다양한 취약점들이 존재한다. 이러한 많은 취약점 중, 본 논문에서는 컨트롤러와 스위치 사이의 데이 불일치 문제에 대해 집중적으로 알아본다. 따라서 전체 네트워크에 심각한 피해를 입할 수 있는, 각 레이어 사이에서 발생 가능한 데이터 불일치 상태를 찾아내기 위해 노력하였다. 다양한 취약점과 버그를 효율적으로 찾기 위해, 논문에서는 SDN 컨트롤러에서 제공하는 RESTful 서비스를 이용해 보안 취약점을 찾기 위한 프레임워크인 RE-CHECKER를 소개한다. 결과적으로, RE-CHECKER를 이용해서 대표적인 오픈소스 SDN 컨트롤러인 ONOS, Floodlight 그리고 Ryu 컨트롤러를 대상으로 4가지 버그 유형을 찾았다. RE-CHECKER의 결과를 바탕으로, 보안 분석을 통해 SDN 컨트롤러 내부의 다양한 디자인 결점들도 설명한다. 그 이후에, 이러한 컨트롤러와 스위치 사이의 데이터 불일치를 탐지하고 대처할 수 있는 AUDI를 소개한다. 마지막으로, 본 논문에서는 SDN 환경에서 몇 개의 취약한 시나리오를 통해 각 레이어에서 발생하는 데이터 불일치에 대해 잠재적인 영향과 위험성을 증명한다.