Skip to main content
QUICK REVIEW

[논문 리뷰] SPIDER: Fuzzing for Stateful Performance Issues in the ONOS Software-Defined Network Controller

Ao Li, Rohan Padhye|arXiv (Cornell University)|2022. 09. 08.
Software System Performance and Reliability인용 수 4
한 줄 요약

SPIDER는 ONOS 및 OpenDaylight와 같은 SDN 컨트롤러에서 상태 기반 성능 문제(SPIs)를 자동으로 탐지하기 위해 의미적, 성능 중심, 의존성 인식 분석을 결합한 새로운 패러다임의 패치 프레임워크이다. 수동으로 작성한 및 유형 기반 생성기를 사용한 이벤트 기반 의미적 패치, 성능 모니터링을 위한 경량 인스트루멘테이션, 모듈식 의존성 분석을 통해 SPIDER는 9개의 고유한 SPIs를 발견하였으며, 이 중 일부는 지수적 성능 저하로 이어졌다. 이는 미묘하고 상태에 따라 달라지는 자원 고갈 취약점을 탐지하는 데 있어 효과적임을 보여준다.

ABSTRACT

Performance issues in software-defined network (SDN) controllers can have serious impacts on the performance and availability of networks. In this paper, we consider a special class of SDN vulnerabilities called stateful performance issues (SPIs), where a sequence of initial input messages drives the controller into a state such that its performance degrades pathologically when processing subsequent messages. Uncovering SPIs in large complex software such as the widely used ONOS SDN controller is challenging because of the large state space of input sequences and the complex software architecture of inter-dependent network services. We present SPIDER, a practical fuzzing framework for identifying SPIs in this setting. The key contribution in our work is to leverage the event-driven modular software architecture of the SDN controller to (a) separately target each network service for SPIs and (b) use static analysis to identify all services whose event handlers can affect the state of the target service directly or indirectly. SPIDER implements this novel dependency-aware modular performance fuzzing approach for 157 network services in ONOS and successfully identifies 10 new performance issues. We present an evaluation of SPIDER against prior work, a sensitivity analysis of design decisions, and case studies of two uncovered SPIs.

연구 동기 및 목표

  • 초기 입력 시퀀스 이후 성능이 비정상적으로 악화되는 상태 기반 성능 문제(SPIs)를 탐지하는 데 도전하는 것.
  • 동적 모듈 로딩과 의미적 상태 의존성으로 인해 복잡한 대규모 SDN 컨트롤러 소스 코드 기반에서 기존 프로그램 분석 및 패치 기법의 한계를 극복하는 것.
  • 정적 분석, 의미적 패치, 성능 인스트루멘테이션을 통합하는 실용적이고 확장 가능한 워크플로우를 설계하여 SPIs를 체계적으로 탐지하는 것.

제안 방법

  • 실행 경로 길이와 CPU 소비를 극대화하기 위해 경량 인스트루멘테이션을 활용한 실용적인 회색 상자 성능 패치를 적용한다.
  • 핵심 경로에 대해 도메인 특화 수동 이벤트 생성기와 나머지 이벤트에 대해 유형 기반 합성 기법을 사용한 이벤트 기반 의미적 패치를 수행한다.
  • 복잡성을 줄이기 위해 서비스를 분해하고 개별적으로 분석하기 위해 모듈식, 의존성 인식 정적 분석을 적용한다.
  • 커스터마이징된 하서스 및 상태 작업 인터페이스를 통해 다양한 컨트롤러(예: ONOS, OpenDaylight)를 지원하기 위해 대상 전용 어댑터 레이어를 구현한다.
  • 커버리지 향상과 오류 경고 감소를 위해 이벤트 생성에 의미적 제약 조건을 통합한다.
  • 내부 상태 변화와 연관된 성능 저하를 유도하기 위해 이벤트 시퀀스를 반복적으로 생성한다.

실험 결과

연구 질문

  • RQ1의미적 상태와 동적 모듈 의존성이 복잡한 대규모 SDN 컨트롤러에서 하이브리드 패치 프레임워크가 상태 기반 성능 문제를 효과적으로 탐지할 수 있는가?
  • RQ2이벤트 생성 과정에 도메인 특화 의미 지식을 통합할 경우, 완전히 자동화되거나 블랙박스 기반 접근 방식에 비해 미묘하고 상태에 따라 달라지는 성능 버그 탐지 능력이 어떻게 향상되는가?
  • RQ3모듈식, 의존성 인식 분석을 통해 단일 모듈 기반의 SDN 컨트롤러 소스 코드 기반에서 SPIs 탐색의 복잡성을 얼마나 줄일 수 있는가?
  • RQ4제약 조건 기반 이벤트 생성이 랜덤 또는 문법적으로 유효한 입력만으로는 유도되지 않는 성능 문제 탐지에 어떤 영향을 미치는가?
  • RQ5블랙박스 패치, 완전히 자동화된 이벤트 생성, FindBugs와 같은 정적 분석 도구에 비해 SPIDER의 접근 방식은 효과성과 효율성 측면에서 어떻게 비교되는가?

주요 결과

  • SPIDER는 ONOS 컨트롤러에서 9개의 고유한 상태 기반 성능 문제를 성공적으로 발견하였으며, 모두 수동 재현 및 분석를 통해 확인되었다.
  • 한 가지 심각한 취약점은 스푸핑된 ARP 패킷을 1초에 10개씩 총 4,000개를 전송하기만 해도 컨트롤러의 처리량을 최소 1 Mb/s까지 떨어뜨릴 수 있다.
  • 네트워크 스위치가 해킹된 경우에만 발생하는 위험한 토폴로지 서비스 결함이 발견되어 최악의 경우 지수적 성능 저하가 발생하였다.
  • 수동으로 작성한 제약 조건 기반 이벤트 템플릿의 사용이 필수적이었으며, 일반적인 유형 기반 생성기만 사용할 경우 새로운 문제 발견이 전혀 없었다.
  • SPIDER는 블랙박스 OpenFlow 메시지 패치, 완전히 자동화된 이벤트 생성, FindBugs와 같은 정적 분석 도구보다 뛰어난 성능을 보였으며, 이 도구들은 SPIDER가 발견한 SPIs 중 어떤 것도 탐지하지 못했다.
  • 오류 경고는 한 건 뿐이었으며, 이는 프레임워크가 실제 성능 문제와 무해한 패tern을 높은 정밀도로 구분할 수 있음을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.