AntiFuzzing:あいまいさによるセキュリティ!?

画像



なぜセキュリティにお金とリソースを費やすのですか? セキュリティ開発ライフサイクル(SDL)をステージングするのはなぜですか? ファジングを開発プロセスに統合する理由 なぜAFLやlibfuzzなどのさまざまなファザーに関する知識が必要なのでしょうか? 結局のところ、製品の脆弱性の検索を「単純に」苦痛に変え、研究者や攻撃者にとって「甘い」生活を送ることができます。 これを行う方法を知りたいですか? それから、キャットへようこそ!



免責事項: この記事は、ある程度のユーモアと皮肉を込めて取ります。



最近、ますます多くの作品がAntiFuzzingのトピックに捧げられています。 AntiFuzzingは、開発者のソリューションの脆弱性を見つけるためのファジングの有効性と使用を減らすアクションです。



この記事では、ローカルに展開できるC \ C ++で記述されたファジーバイナリアプリケーションに焦点を当て、それらのメモリ破損に関連する脆弱性を見つけようとします。



現在、フィードバックベースのファジングアプローチの最も印象的で有名で確立された代表として、AFLファザーに対する多数のアクションが狙われています。



問題を研究した後、可能なアンチファジング技術を特定しました。





したがって、アンチファジングには明らかな利点と欠点の両方があります。





なぜこのアプローチを使用して、愚かで有害なセキュリティを確保するのですか? 高品質のAntiFuzzingアプローチの開発と実際のソフトウェアへの適用は、フィードバックベースのファジングでコードカバレッジを向上させるアルゴリズム自体の開発と複雑さにおいて匹敵します。 困難なのは、フェージング抑制構造を適切な場所に挿入することに加えて、それらを区別できる明確なパターンを持たないようにしてから、単純に除外する必要があることです。 AntiFuzzingは、アプリケーション自体のセキュリティを高めることはありません... AntiFuzzingの研究が学術環境でのみ実行されるのは良いことです。 同時に、反対に、バグの検索を簡素化することに焦点を当てている企業があります。 たとえば、Mozillaはこのblog.mozilla.org/security/2018/07/19/introducing-the-asan-nightly-projectにブラウザの特別なビルドを提供します!



画像



AntiFuzzingへの関心の高まりは、主にDARPA Cyber​​ Grand Challenge 2016によって引き起こされました。これは、人間の助けのないコンピューターが脆弱性を検索し、それらを悪用し、パッチを当てた競争です。 ご想像のとおり、ほとんどの検索システムはAFLファザーに基づいており、競争のすべての目標はバイナリアプリケーションでした。 これはすべて、人ではなく自動システムに対抗することを目的としています。



この記事は、自分で勉強できる作品に基づいています。



  1. 「ファジングを回避し、ファジング技術を評価し、アンチファジングでそれらをだます」 、コンピューターシステムおよびネットワークの修士論文

    2016年
  2. チャフバグ:ソフトウェアバグを作成して攻撃者を阻止する 、2018
  3. 「AFLのブラインドスポットと任意のELFバイナリのAFLファジングに抵抗する方法」 、BlackHat USA 2018
  4. また、NCCグループのメンバーによる記事「Anti-Fuzzing:Introduction to Anti-Fuzzing:A Defense in Depth Aid」を2014年から読むことをお勧めします(最初のAFLリリースが登場し、コミュニティの大きな愛を獲得していない、DARPA CGCファイナルの2年前)。


PS:ソフトウェアを調査し、お客様にSDLを実装する際に、AFL(+ libfuzz)とその修正を頻繁に使用します。 したがって、次のいずれかの記事で、AFLを使用したファジングと、プログラムのテストでそれを使用する人が増えている理由と、開発セキュリティのレベルを高める方法について説明します。



All Articles