wolfSSL と libFuzzer

wolfSSLライブラリのFuzzerテストにはLLVMのfuzzingエンジン “libFuzzer” が使用されています。今日は、LLVMのサイトからのlibFuzzerの簡単な説明を紹介しましょう。
LibFuzzerはテスト対象のライブラリにリンクされ、特定のファジー・エントリーポイント(別名「ターゲット関数」)を介してファジー化された入力をライブラリに送ります。 fuzzerはコードのどの領域に到達したかを追跡し、コードカバレッジを最大にするために入力データのコーパスに突然変異を生成します。 libFuzzerのコードカバレッジ情報は、LLVMの SanitizerCoverage によって提供されます。
このツールを使用すると、wolfSSL APIは、フォーマットの悪い証明書や、ユーザーが作成して入力するその他の形式のデータをどれだけうまく処理できるかがテストされています。これらのテストによって、バッファーオーバーフローバグ、セグメンテーションフォールト、メモリーリーク、定義されない挙動、およびwolfSSLライブラリーを悪用する可能性がある他の多くのバグを検出することができます。
wolfSSLにおける libFuzzer 使用方法の詳細については、info@wolfssl.comまでメールでお問い合わせください。
原文:http://www.wolfssl.com/wolfSSL/Blog/Entries/2017/7/28_wolfSSL_and_libFuzzer.html
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)