サイバーセキュリティスタートアップのリチェルカセキュリティ、国産ファジングフレームワーク「fuzzuf」をオープンソース化。脆弱性検出の効率化に貢献
[21/12/29]
提供元:PRTIMES
提供元:PRTIMES
サイバーセキュリティ事業を手がける株式会社リチェルカセキュリティ(本社:東京都文京区、代表取締役社長:木村 廉)は、国産ファジングフレームワーク「fuzzuf」バージョン0.1.0をGitHub上でオープンソースソフトウェア(OSS)として公開しました。fuzzufは、多種多様なファジングアルゴリズムを統合されたインターフェイスから扱うことのできるフレームワークで、既存のファジングアルゴリズムをブロックのように組み替えて新たなアルゴリズムを作り出すことを可能にするドメイン固有言語「HierarFlow」を備えています。今回リリースしたバージョン0.1.0はファジングによる脆弱性検出に関心のある研究者・開発者に向けたもので、ファジングアルゴリズムの実装コストを低下させ、再利用性を向上させる機能を含んでいます。今後も開発を継続し、幅広いユーザーのニーズに対応するフレームワークの確立をめざします。
[画像1: https://prtimes.jp/i/84506/3/resize/d84506-3-12e6255b91bedcc5a106-2.png ]
■開発の経緯
ファジングは、プログラムが予期しないデータを自動生成し、そのバグや脆弱性を検出するソフトウェアテスト技術です。目的に応じた多種多様なファジングツール(ファザー)やファジングアルゴリズムが存在していますが、いずれの手法も以下のステップを含むファジングループから構成されます。
入力に対して変異を施す
変異を施した入力を用いてプログラムを実行する
実行結果に基づいて次にどのような変異を施すか決定する
リチェルカセキュリティはファジングを研究する過程で、既存のファザーを比較検討する必要に迫られました。そして、多数のファザーがAmerican Fuzzy Lop(AFL)などの既存のファザーをコードベースとして開発され、重複するコードを有しながらも乱立している現状を目の当たりにしました。また、車輪の再発明が至るところで行われていることにも気がつきました。言い換えれば、多種多様なファザー間の実装上の差分は不透明な部分が多く、コードの再利用性や拡張性に富んだフレームワークは存在していませんでした。
そこで、リチェルカセキュリティは前述のファジングループに基づいて既存のファザーの構成要素を整理し、任意のファジングアルゴリズムを統合的に扱えるフレームワーク「fuzzuf」の開発を実施しました。そして、ファジングループを記述するためのドメイン固有言語「HierarFlow」を考案し、既存のアルゴリズムをブロックのように組み替えて容易に新たなアルゴリズムを作り出せる機能を実現しました。詳細な開発経緯は弊社ブログをご覧ください。
※弊社ブログ:https://ricercasecurity.blogspot.com/2021/12/fuzzuf-fuzzing-unification-framework_36.html
今回のバージョン0.1.0のリリースでは、当社がファジングの研究グループとして直面した課題に対してアプローチしました。今後も研究を続けるとともに、ファジングを用いたサービス提供者としてより幅広いユーザーの課題解決に資する機能の増強に取り組んでいきます。
■リポジトリ
URL:https://github.com/fuzzuf/fuzzuf
ライセンス:AGPL
推奨動作環境:Ubuntu 18.04またはUbuntu 20.04
■fuzzufの特長
fuzzufにはマルチプラットフォームに対応可能な、AFL、VUzzer、libFuzzerを含む複数のファザーが実装されており、ユーザーによるさらなる拡張を可能としています。特に、AFLのクリーンでより高速かつ再利用性に富んだ再実装と、VUzzerをモダンな環境で動作させるための拡張を含んでいます。
fuzzufが含む各ファザーの構成要素はファジングプリミティブとして整理・インターフェイス化されており、ユーザーはHierarFlowの記述を通じてファジングプリミティブをブロックとして組み合わせることでファジングループを構成できます。各ブロックは付け加え、取り外し、置き換え、そして再利用が可能なので、既存のファザーを拡張したり、複数のファザーを組み合わせたり、新たなファザーを構成したりといったことが可能です。HierarFlowで書かれたファジングループ同士の差分を見ることで、細部の実装に立ち入らずともファザー同士を比較できるため、研究者・開発者は各手法の貢献をより明快に把握することが可能になります。
詳細な特長はリポジトリのREADMEをご覧ください。
※README:https://github.com/fuzzuf/fuzzuf/blob/master/README_ja.md
■会社情報
リチェルカセキュリティは、オフェンシブセキュリティのプロフェッショナルチームです。防衛セクターを含む政府機関、フォーチュン500企業、国内外のクライアントに対するサービス提供実績を有します。当社には、ゼロデイ脆弱性の発見者、サイバーセキュリティ関連書籍の著者、海外トップスクールや大手研究機関での研究経験を有するセキュリティリサーチャー、DEFCON CTFやGoogle CTFのファイナリスト、OSCPホルダーらが所属しています。
[画像2: https://prtimes.jp/i/84506/3/resize/d84506-3-03af982bd21e28bc3328-0.png ]
会社名:株式会社リチェルカセキュリティ
所在地:〒113-0033 東京都文京区本郷6丁目17-9本郷綱ビル6階
設立日:2019年12月4日
代表取締役社長:木村 廉
URL:https://ricsec.co.jp/
[画像1: https://prtimes.jp/i/84506/3/resize/d84506-3-12e6255b91bedcc5a106-2.png ]
■開発の経緯
ファジングは、プログラムが予期しないデータを自動生成し、そのバグや脆弱性を検出するソフトウェアテスト技術です。目的に応じた多種多様なファジングツール(ファザー)やファジングアルゴリズムが存在していますが、いずれの手法も以下のステップを含むファジングループから構成されます。
入力に対して変異を施す
変異を施した入力を用いてプログラムを実行する
実行結果に基づいて次にどのような変異を施すか決定する
リチェルカセキュリティはファジングを研究する過程で、既存のファザーを比較検討する必要に迫られました。そして、多数のファザーがAmerican Fuzzy Lop(AFL)などの既存のファザーをコードベースとして開発され、重複するコードを有しながらも乱立している現状を目の当たりにしました。また、車輪の再発明が至るところで行われていることにも気がつきました。言い換えれば、多種多様なファザー間の実装上の差分は不透明な部分が多く、コードの再利用性や拡張性に富んだフレームワークは存在していませんでした。
そこで、リチェルカセキュリティは前述のファジングループに基づいて既存のファザーの構成要素を整理し、任意のファジングアルゴリズムを統合的に扱えるフレームワーク「fuzzuf」の開発を実施しました。そして、ファジングループを記述するためのドメイン固有言語「HierarFlow」を考案し、既存のアルゴリズムをブロックのように組み替えて容易に新たなアルゴリズムを作り出せる機能を実現しました。詳細な開発経緯は弊社ブログをご覧ください。
※弊社ブログ:https://ricercasecurity.blogspot.com/2021/12/fuzzuf-fuzzing-unification-framework_36.html
今回のバージョン0.1.0のリリースでは、当社がファジングの研究グループとして直面した課題に対してアプローチしました。今後も研究を続けるとともに、ファジングを用いたサービス提供者としてより幅広いユーザーの課題解決に資する機能の増強に取り組んでいきます。
■リポジトリ
URL:https://github.com/fuzzuf/fuzzuf
ライセンス:AGPL
推奨動作環境:Ubuntu 18.04またはUbuntu 20.04
■fuzzufの特長
fuzzufにはマルチプラットフォームに対応可能な、AFL、VUzzer、libFuzzerを含む複数のファザーが実装されており、ユーザーによるさらなる拡張を可能としています。特に、AFLのクリーンでより高速かつ再利用性に富んだ再実装と、VUzzerをモダンな環境で動作させるための拡張を含んでいます。
fuzzufが含む各ファザーの構成要素はファジングプリミティブとして整理・インターフェイス化されており、ユーザーはHierarFlowの記述を通じてファジングプリミティブをブロックとして組み合わせることでファジングループを構成できます。各ブロックは付け加え、取り外し、置き換え、そして再利用が可能なので、既存のファザーを拡張したり、複数のファザーを組み合わせたり、新たなファザーを構成したりといったことが可能です。HierarFlowで書かれたファジングループ同士の差分を見ることで、細部の実装に立ち入らずともファザー同士を比較できるため、研究者・開発者は各手法の貢献をより明快に把握することが可能になります。
詳細な特長はリポジトリのREADMEをご覧ください。
※README:https://github.com/fuzzuf/fuzzuf/blob/master/README_ja.md
■会社情報
リチェルカセキュリティは、オフェンシブセキュリティのプロフェッショナルチームです。防衛セクターを含む政府機関、フォーチュン500企業、国内外のクライアントに対するサービス提供実績を有します。当社には、ゼロデイ脆弱性の発見者、サイバーセキュリティ関連書籍の著者、海外トップスクールや大手研究機関での研究経験を有するセキュリティリサーチャー、DEFCON CTFやGoogle CTFのファイナリスト、OSCPホルダーらが所属しています。
[画像2: https://prtimes.jp/i/84506/3/resize/d84506-3-03af982bd21e28bc3328-0.png ]
会社名:株式会社リチェルカセキュリティ
所在地:〒113-0033 東京都文京区本郷6丁目17-9本郷綱ビル6階
設立日:2019年12月4日
代表取締役社長:木村 廉
URL:https://ricsec.co.jp/