最終更新日:2026年9月18日
fe fe-technology security
まず結論
ファジングとは、ソフトウェアや機器に、問題を起こしそうな多様なデータを大量に入力し、その応答や挙動を監視して、バグや脆弱性を見つけるテスト手法です。
基本情報技術者試験では、次の一文で切り分けると判断しやすくなります。
変な入力をたくさん与えて、異常な動きを探す → ファジング
ポイントは、既知の攻撃パターンと照合するのではなく、実際に入力を与えて挙動を見ることです。
直感的な説明
ファジングは、ソフトウェアに対して「こんな入力をされたらどうなる?」を大量に試すイメージです。
例えば、次のような入力を与えます。
- 極端に長い文字列
- 想定外の数値
- 壊れた形式のデータ
- 境界値
- ランダムなデータ
そして、次のような異常が起きないかを監視します。
- クラッシュする
- 応答しなくなる
- エラーが発生する
- 想定外の出力になる
流れは次のように考えると分かりやすいです。
問題を起こしそうな入力
↓
検査対象のソフトウェア
↓
応答・挙動を監視
↓
クラッシュや異常を発見
↓
脆弱性やバグの手掛かり
定義・仕組み
ファズデータを入力する
ファジングでは、検査対象に対して、通常とは異なる多様な入力データを与えます。
この入力データは、ファズデータと呼ばれます。
通常の入力
→ 期待どおり動くか確認
ファズデータ
→ 想定外の条件でも安全に動くか確認
応答や挙動を監視する
入力を与えた後は、ソフトウェアの挙動を確認します。
例えば、
- 異常終了した
- ハングアップした
- メモリエラーが起きた
- 不正な出力が出た
といった現象がないかを見ます。
未知の脆弱性を見つけやすい
ファジングの大きな特徴は、あらかじめ攻撃パターンを登録しておかなくても、異常な挙動から未知の不具合を見つけられる可能性があることです。
ここが、既知パターンと照合するシグネチャ検知との大きな違いです。
このテーマは、基本情報技術者試験の情報セキュリティ分野と関係します。公式の出題範囲やシラバスは、IPA:基本情報技術者試験から確認できます。
また、IPAはファジングについて、問題が起きそうなデータを検査対象へ送り、その応答や挙動を監視してバグや脆弱性を見つける手法として解説しています。
科目Aでどう出る?
科目Aでは、ファジングそのものの定義だけでなく、似たセキュリティ手法との切り分けが重要です。
次のように判断すると分かりやすいです。
| 問題文の動作 | 判断 |
|---|---|
| 問題を起こしそうなデータを入力し、挙動を監視する | ファジング |
| サーバへ特定のパケットを送り、応答からサービスを調べる | ポートスキャン |
| ログや操作履歴を解析する | ログ分析 |
| 通信内容を既知の攻撃パターンと照合する | シグネチャ検知 |
試験中は、何を入力して、何を見ているかを確認します。
変な入力を与える
→ ファジング
記録を見る
→ ログ分析
通信先やサービスを探す
→ ポートスキャン
既知パターンと照合
→ シグネチャ検知
どんな場面で使う?
ソフトウェア開発時の脆弱性検査
製品やサービスのリリース前に、想定外の入力でも異常が起きないかを確認するときに使います。
ネットワーク機器や組込み機器の検査
通信プロトコルやコマンドに異常なデータを与え、異常終了や予期しない動作が起きないかを確認します。
自動テストを増やしたいとき
人が一つずつ入力を作るのではなく、ツールを使って大量の入力を自動生成・送信することで、広い範囲を効率よく検査できます。
よくある誤解・混同
ファジングは、既知の攻撃を検出する方法
違います。
既知の攻撃パターンを登録し、それと一致する通信を検出するのは、シグネチャ検知の考え方です。
既知の攻撃パターンと照合
→ シグネチャ検知
多様な入力を与えて異常を探す
→ ファジング
ファジングは、ログを分析する方法
違います。
ログ分析は、OSやアプリケーションが残した記録を調べます。
ファジングは、入力を与えて実際の挙動を確認する点が違います。
ファジングは、ポートスキャンと同じ
違います。
ポートスキャンは、どのポートやサービスが応答するかを調べる活動です。
ファジングは、対象ソフトウェアに多様な入力を与えて異常を探します。
ランダムなデータだけを入れる
ランダム入力も使われますが、ファジングは単なる乱数入力に限りません。
境界値や形式を崩したデータなど、問題を起こしそうな入力を工夫して与える場合もあります。
まとめ(試験直前用)
- ファジングは、問題を起こしそうな入力を大量に与えて異常な挙動を探す
- 見るのは、クラッシュ・停止・異常応答など
- 既知の攻撃パターンとの照合ではない
- ポートスキャンはサービス探索、ログ分析は記録確認
- 迷ったら 「変な入力を与えて動きを見る」 を思い出す
覚える一文はこれです。
入力して壊れ方を見る → ファジング