ファジングとは?ふぁじんぐ
ファジングとは、予期しない値・極端な値・形式の壊れたデータを機械的に大量投入し、異常終了やハングが起きるかを観測して実装上の欠陥を見つける動的テスト手法。仕様どおりの正常系では通ってしまう、入力検査の漏れや境界処理の誤りを暴くのに向く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
テスト設計は仕様から導くのが基本だが、仕様に書かれていない入力に対する振る舞いは、そもそも設計項目として挙がらない。攻撃者が突くのはまさにそこで、想定外の入力の処理こそが脆弱性の温床になる。人間が思い付ける範囲を超えて入力空間を機械に叩かせる、という割り切りから生まれた手法で、通信機能を持つ組込み機器では出荷前の確認項目として定着しつつある。
具体例
オープンソースではAFL++やlibFuzzerが広く使われ、GoogleのOSS-Fuzzは主要なプロジェクトへ継続的にこの試験をかけている。通信機器では、長さフィールドと実データが食い違うフレームを大量に送り込み、受信処理の境界検査の抜けを探す使い方をする。
試験での引っ掛け
ソースを読む静的解析とは対極で、実際に動かして落ちるかどうかを見るため、バイナリしか手元に無い相手へも実施できる。既知の攻撃手法で侵入可否を確かめるペネトレーションテストとも目的が違う。入力空間の網羅は原理的に保証されないので、「異常が出なかったから脆弱性は無い」とは言えない。
関連用語
出た過去問
出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23(IPA)
ソフトウェアのテスト手法のうち、ファジングはどれか。
正解:テスト対象に問題を引き起こす可能性があるデータを大量に送り込み、その応答や挙動を監視することによって脆弱性を検出する。
要点:ファジングは異常データを大量投入し脆弱性を検出する
ファジングは、極端に長い文字列や想定外の値、破損したデータなどを大量に自動生成して対象へ入力し、異常終了やメモリ破壊といった予期しない挙動が起きないかを監視することで脆弱性を見つける手法である。仕様書がなくても実施でき、実装の想定漏れを機械的にあぶり出せる点が特徴である。ブラックボックス的なセキュリティテストとして製品出荷前の検査に広く使われる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 5. セキュリティ実装技術 > (6) アプリケーションセキュリティに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。