プロフィール

prof_normal
prof_normal

ミアミン

ホワイトハッカーを夢みて、セキュリティアカデミーでお勉強中のミーアキャット。心配性でやさしい性格で、「みんな無事ミア?」「危険はないミア?」が口癖。ちょっとしたことですぐに「キャッ!」と動揺しがち。

高木さん

高木 秀輔

2020年に新卒入社し、Webアプリケーションに対するツール診断や手動診断、認証認可プロトコルの診断など、幅広い診断サービスを担当。趣味はサッカー観戦と映画鑑賞。

icon_normal
ミアミン

高木さん、今日は「ツール診断」と「手動診断」の違いを知りたいミア。この2つの種類があることは知っていたけど、違いがいまいち理解できなくて、前からずっと気になっていたミア。

高木さん

高木さん

いい質問ですね。説明に入る前に少しだけ振り返りましょう。
セキュリティ診断とは、システムやWebアプリケーションに脆弱性(弱点)がないかを確認する取り組みです。脆弱性を放置すると、情報漏えいや不正アクセスなど重大な事故につながってしまいます。
※詳しくは「脆弱性診断って何? 脆弱性診断を受けたい場合はどうすればよいですか? 」も参考にしてください。

 

そして今回は、Webアプリケーションの脆弱性診断で最も一般的な手法であるブラックボックス型の診断、すなわち DAST(Dynamic Application Security Testing) を前提に解説していきます。
※DASTの詳細については「Webアプリケーションの脆弱性診断には、どのような種類があるのでしょうか?」も参考にしてください。

icon_yorokobi
ミアミン

なるほどミア!診断の基本はわかったから、いよいよ「ツール診断」と「手動診断」の違いを知りたいミア!

ツール診断は、広範囲を自動でチェックする方法

高木さん

高木さん

ツール診断は、自動診断ツールを用いて脆弱性を検出する方法です。ツールがリクエストを自動的に送り、その応答を解析することで問題の有無を確認します。

 

実は自動診断ツールにもいくつか種類があります。たとえば、ログの取得から診断実施、レポート出力までをすべて自動で行うタイプ。一方で、ログの取得や診断シナリオの準備は人が行い、実際の診断処理だけを自動化するタイプもあります。後者の代表例が、ユービーセキュアが開発している「Vex」です。

icon_normal
ミアミン

Vexの場合は診断処理を自動化することで効率化しつつも、検査精度を高めるための前工程は人の手でしっかり行っているんですね。

高木さん

高木さん

そうなんです。いずれの自動診断ツールについても共通しているのは、収集したHTTPリクエストの各パラメータに対して、機械的に自動で検査用の値を入力・送信し、その応答内容を解析することによって、脆弱性の有無を判定するという点です。ここでメリット、デメリットを確認しておきましょう。

 

メリット

  • 自動で診断が行われるため、短期間で広範囲をスキャン可能
  • 人的工数を抑えることができるため、料金が比較的安価

デメリット

  • 複雑な画面遷移が必要となるアプリケーションの場合は診断を実施できない可能性がある
  • 機械的な診断となるため、過剰検知や見落としが発生する可能性がある
  • システム固有の挙動やユーザー権限に起因する脆弱性など、ツールでは検出することが困難な脆弱性が存在する
icon_aseri

短期間で実施できて料金も安価なのは、大きな魅力ミア!ツール診断はお手頃な一方で、すべての脆弱性を確実に検出することは難しいみたいミア。万が一見落としがあったら……と思うと怖いミア。

手動診断は、専門家が実際の攻撃を想定して確認する方法

高木さん

高木さん

手動診断は、セキュリティの専門家が実際にシステムを操作して脆弱性を探す方法です。攻撃者の視点を取り入れることで、ツールでは発見できない問題も洗い出せます。手動診断にもメリット、デメリットがあるので、一緒にみていきましょう。

 

メリット

  • ビジネスロジックを考慮した精度の高い診断が可能
  • 実際の攻撃手法を模した高度な診断に対応できる
  • 誤検知が少ない

デメリット

  • 手作業で診断を行うため、実施に時間がかかる場合が多い
  • ツール診断と比べてコストが高くなりやすい
  • 診断の品質は実施するセキュリティコンサルタントのスキルに依存するため、品質が安定しにくい
icon_aseri
ミアミン

手動診断は専門家が深いところまで診断してくれるんですね。攻撃者の目線でくまなくチェックしてくれるのは、安心感につながるミア。でも、全部をプロに依頼するとコストも時間も足りないかも……。

ツール診断と手動診断の選び方のポイント

icon_normal
ミアミン

ツールだけじゃ不安だし、全部手動にすると大変…。どうやってバランスを取ればいいのミア?

高木さん

高木さん

そこで重要になるのが「使い分け」です。ツール診断と手動診断を組み合わせることで、予算を抑えつつ、カバー範囲と診断精度の両立を図ることが可能です。ツール診断と手動診断を上手に使い分けるポイントを紹介しますね。

重要な機能には手動診断の実施を推奨

個人情報を扱う画面や、データベースへの登録・削除などシステムに大きな影響を及ぼす重要な機能については、原則として手動診断を実施するのが望ましいです。

診断の「頻度」と「実績」でコストを最適化

定期的な診断を行う場合、初回はツール診断と手動診断を組み合わせた形で実施し、その後、過去に十分な診断実績がある機能についてはツール診断のみとするなど、機能ごとに診断方法を切り替えるのも効果的です。これによりコストを最適化できます。

静的コンテンツはツール診断のみで対応可能

ファイルや情報の表示のみを行い、ユーザーからの入力などを受け付けない静的な画面については、ツール診断のみで対応するという選択も検討できます。

icon_normal
ミアミン

ふむふむ…。要所を手動で深掘りしつつ、広い部分はツールでカバー。これなら安心と効率を両立できるミア!

高木さん

高木さん

ツール診断と手動診断は、それぞれにメリット、デメリットがあります。大切なのは「システムの重要度」「予算」「診断の目的」に合わせて、最適な組み合わせを選ぶことです。

icon_yorokobi
ミアミン

今日のお話でよくわかったミア!いろいろ教えてくれてありがとミア!

詳細はこちら

Webアプリの脆弱性検査ツール「Vex」

新規CTA