MBSD® MBSD®

ツール診断と手動診断

診断ではよくツール診断や手動診断といったキーワードを耳にしますが、どういった違いがあるのでしょうか。残念ながら、厳密な定義がないため、内情は様々ですが、診断の流れのどの部分をツールまたは人の手で行ったか、診断で確認する項目によって、変化するケースがほとんどです。

ツール診断

診断ツールを実行し診断結果までを自動で一覧化してくれる場合をツール診断とするようなケースもあれば、診断ツールを実行し診断結果までを自動で一覧化したものを人が確認する(誤検知が無いか)ことをツール診断と呼ぶケースもあります。

手動診断

診断ツールは補助的に使用し、人が中心となって脆弱性の有無を判断するようなケースを指す場合やツール診断として定義している、診断ツールを実行し診断結果までを自動で一覧化したものを人が確認する(誤検知が無いか)ことを手動診断というケースもあります。
一般的には、診断ツールを実行し診断結果を人が確認することや機械的にチェックができないような問題(ビジネス的なロジックや権限を超えて機能が利用できるといった意味を解釈できないと問題有無がわからないもの)を確認する診断を手動診断と定義することが多く見受けられます。


ツール診断の場合、誤検知(脆弱性ありの判定だけど実は脆弱性は存在しなかった / 脆弱性なしの判定だけど実は脆弱性は存在した)の問題が必ず発生します。これはツール診断ではシグネチャを用いたパターンマッチングを行っているケースがほとんどであるためです。

penetration_01.png

例えば、上記の例であれば、ツールが用意したシグネチャは24文字であるため、15文字の入力制限のある入力フォームに入力することができません。そのため、問題があったとしても検出されることはありません。これが手動の診断になると、以下のように2箇所の入力フォームを使って、実際に影響がある報告を行うことが可能です。

penetration_02.png

なお、こういった検出漏れを減らすため、ツールでも問題となり得る一部の文字列を入力した場合の挙動を確認し、誤検知を減らす取り組みを行っていますが、持っているシグネチャで問題を確認ができない場合、〇〇の可能性として検出されることがあります。ツールを実行した後に人の目で確認をする手動診断では、可能性として検出された問題が実際に脆弱性になり得るか検証を行うわけですが、ここは会社の技量に左右され、実際に問題になり得るか検証が上手く行かない場合には、〇〇の可能性などとして報告されるケースがあります。

プロフェッショナルサービス事業部

シェアする ツイートする