ファジング
① 物語性を取り入れた説明
心配性のケイコは、コンピュータセキュリティに興味を持っていました。パソコン教室の先生に「ファジング」という言葉を聞き、その意味を尋ねました。
ケイコ: 「先生、脆弱性を特定する方法を探しているのですけど『ファジング』って何ですか?」
先生: 「ファジングは、異常系の検査手法の一つでプログラムやシステムに意図的に問題を引き起こしそうなデータを入力してテストすることだよ。このような問題を引き起こしそうなデータを『ファズ』と呼ぶんだけど、そのファズを自動的に大量に作成してプログラムに送り付けて応答を確認するんだ。このファジングを自動化してくれるソフトをファジングツールと呼ぶよ。」
ケイコ: 「それはどうして重要なんですか?」
先生: 「ファジングを行うことで、プログラムが異常な状況にどう対応するかを確認できるからだよ。これにより、隠れたバグやセキュリティの脆弱性を発見し、修正することができるんだ。プログラムに入れるものと出てくるものにだけ着目するブラックボックステストと呼ばれるタイプのテストだね。」
② 実際の事例
ファジングは企業や自治体で幅広く活用されています。例えば、あるソフトウェア開発会社では、新しいウェブアプリケーションのテスト段階でファジングを用いて、リリース前に潜在的なセキュリティ問題を発見しました。
ファジングツールの中で最も人気のあるものとしては、以下のツールが挙げられます。
- FFRI Raven: これは未知の脆弱性を発見する能力に優れたファジングツールであり、エラーが起きそうなデータの生成から対象の挙動監視までを全て自動で行うことができます。
- FuzzBench: Googleがリリースしたオープンソースのファジングツール評価プラットフォームで、複数のファジングツールの評価を自動化することが可能です。
また、自治体のIT部門では、公共のシステムのセキュリティ強化のために定期的にファジングを行い、市民の情報をより安全に保護しています。
➂クイズや小テスト
クイズ1 ファジングの目的は何ですか?
A. インターネット速度を向上させる
B. システムの効率を高める
C. セキュリティの脆弱性を発見する
クイズ2 ファジングで使用される「ファズ」とは何ですか?
A. 標準的なテストデータ
B. 高度なセキュリティソフトウェア
C. 異常なまたはランダムなテストデータ
クイズ3 ファジングはどのようなシステムに適用されますか?
A. 任意のシステム
B. ソフトウェアシステムのみ
C. ハードウェアのみ
回答
クイズ1の答え: C セキュリティの脆弱性を発見する
クイズ2の答え: C 異常なまたはランダムなテストデータ
クイズ3の答え: B ソフトウェアシステムのみ
コメント