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)|Sep 8, 2022
Software System Performance and Reliability被引用数 4
ひとこと要約

SPIDERは、SDNコントローラー(例:ONOSやOpenDaylight)における状態依存型パフォーマンス問題(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つの独自の状態依存型パフォーマンス問題を特定したが、すべて手動での再現と解析によって確認された。
  • 深刻な脆弱性の1つは、10パケット/秒の速度で4,000個の偽装ARPパケットを送信するだけで、コントローラーのスループットを1 Mb/sまで低下させることができる。
  • トポロジー・サービスの欠陥により、悪意あるネットワークスイッチが原因で最悪ケースで指数的パフォーマンス劣化が発生することが判明した。
  • 手作業で作成した制約を考慮したイベントテンプレートの使用が不可欠であった—汎用的な型ベース生成子のみを用いた場合、新たな問題は一切発見されなかった。
  • SPIDERはブラックボックスOpenFlowメッセージファジング、完全自動化されたイベント生成、FindBugsのような静的解析ツールよりも優れており、SPIDERが発見したSPIsのすべてに対して、それらのツールは検出できなかった。
  • 1件の誤検出が報告されたが、これはフレームワークが本物のパフォーマンス問題と無害なパターンを効果的に区別できることを示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。