安全なシステム提供を行うためには定期的な脆弱性診断が必要です。診断により攻撃者が狙ってくるシステムの弱点を見つけ、見つかった脆弱性への対応を行うことでセキュリティレベルを向上させることができます。
脆弱性診断には、「ツール診断(ツールが自動で行う方法)」と「マニュアル診断(診断員が手動で行う方法)」との2種類の手法があります。なんとなく違いはわかっているつもりだけど一度確認しておきたい、という方も多いのではないでしょうか?そこで今回の記事では、それぞれの特徴をわかりやすくお伝えしていきます。
それぞれのメリット・デメリットをよく理解した上で、診断手法を選択いただければと思います。
ツール診断とは?
ツール診断とは、脆弱性をチェックするための専用ツールを使い、システムやサービスの問題を自動的に調べる方法です。この方法では、診断員が一つ一つ確認するのではなく、専用ツールが高速で「この辺りに問題があるかもしれません」と教えてくれます。例えば、以下のようなケースで使われます。
- たくさんのシステムを一度に調べたいとき
多数のシステムやサーバーを管理している場合、ツール診断を使うと短い時間で広い範囲をチェックできます。 - 定期的に問題がないかチェックしたいとき
ツール診断はスケジュールを設定しておけば、毎月や毎週、自動的に診断をして結果を出してくれます。
ツール診断のメリット
- 早い
ツールでは、もちろん診断員が手動で検査するよりも早く問題を探すことができます。たとえば、1,000個のシステムを調べる場合でも、数時間で結果が出ることもあります。 - 手間がかからない
一度ツールをセットアップしてしまえば、あとは自動で動きます。そのため、特に手が足りない小さなチームでも活用できます。 - 一般的な問題をしっかり見つけられる
広く知られている問題(たとえば古いソフトの使いっぱなしなど)を見つけるのが得意です。
ツール診断のメリットを具体例とともに紹介します
もう少し具体的にみていきましょう。
- 既知の脆弱性を効率的に検出
ツールは、あらかじめプログラムされたチェック項目や脆弱性データベース(CVE: Common Vulnerabilities and Exposures)をもとに、攻撃される可能性のあるポイントを検出します。そのため、広く知られている攻撃手法やソフトウェアの問題点を素早く見つけることが得意です。
具体例: CMS(コンテンツ管理システム)としてWordPressを利用している場合、ツール診断にて古いバージョンのプラグインやテーマが原因で発生する脆弱性を特定できます。さらに、それを解決するための手順も提示されることがあります。 - 短時間で広範囲をスキャンできる
例えば、大規模な企業が運営する100以上のWebサイトやシステムを一斉に調査したい場合、ツール診断で行うのが効果的です。手動で1つ1つ調べるのは膨大な時間がかかりますが、ツールなら数時間から1日程度でスキャンが完了します。
具体例: 複数のWebサイトを運営しており、それぞれのサイトで使用しているライブラリやプラグインが最新バージョンであるか、古いバージョンが原因で攻撃されやすい状態になっていないかを調査する場合、ツール診断を使うことで効率よくチェックできます。 - 定期的な診断が簡単
ツール診断は、定期的なスキャンが必要な場合にも適しています。例えば、毎月1回、ネットワーク全体をチェックして、不要なポート(攻撃に利用される可能性のある通信経路)が開いていないかを確認するといった運用が可能です。
具体例: すべてのサーバで不要な通信経路がないかどうかを定期的に確認するために、ツール診断をスケジュール設定し、定期的にレポートを生成する、などの使い方があります。
ツール診断のデメリット
- 本当に危ないかどうかが分からない
ツールは「ここが怪しいかもしれません」と言うだけで、それが本当に問題なのかは分かりません。たとえば、「このドアは開いているかもしれない」と教えてくれますが、そのドアが実際に鍵がかかっているかどうかはツールでは確認できません。 - 複雑な問題には対応できない
ツールは一般的な問題を探すのは得意ですが、「このシステムだけが特別に抱えている問題」を見つけるのは苦手です。 - 余計な心配をすることも
ツールは問題があるかもしれないと言いすぎることがあります。本当は大丈夫な場所を問題だと勘違いして報告することもあります。
ツール診断のデメリットを具体例とともに紹介します
もう少し具体的にみていきましょう。
- 誤検出が多い
ツール診断では、実際には問題がない箇所を脆弱性として検出してしまうことがあります。これは、「この部分が攻撃されるかもしれない」という可能性を示すに過ぎず、実際には危険ではないケースです。こうした誤検知を含めツールが出力するレポート量は膨大となりがちで、レポートを読みこむのが一苦労となるケースがあります。
具体例: ツールが入力フォームに「クロスサイトスクリプティング(XSS)」の脆弱性があると検出しましたが、実際にはそのフォームは特殊なサニタイジング(スクリプトの無害化)を行っており、安全であると判断される場合があります。 - 複雑な攻撃シナリオには対応できない
ツールは単純なチェックに優れていますが、複数の手順を踏む複雑な攻撃には対応できません。
具体例: オンラインショッピングサイトで、まずクーポンを適用し、次に価格を編集するような連続操作を悪用して商品の価格を0円にする問題などは、ツールでは検出できません。 - カスタムアプリケーションに対応できない
ツールは一般的なシステムやアプリケーションを想定して作られているため、企業が独自に開発したシステムや特定業界向けのアプリケーションの診断は苦手です。
具体例: 個人情報管理システムにおいて、複雑な認証システムが絡むような問題はツール診断では見つけられず、見落としが発生する可能性があります。
マニュアル診断とは?
マニュアル診断とはツールと併用して、診断員自身の目視確認や手動検証によってシステムをチェックする方法です。ツール診断では見つけられないような問題を、診断員が実際に動かしてみたり、問題が本当に危ないのかを検証したりします。ツール診断では発見できない深い問題や特殊な条件下でのみ発生する問題を、診断員の知識と経験を活かして特定することができます。
マニュアル診断のメリット
- 特別な問題を見つけられる
診断員がチェックするので、システムやアプリの使い方に関係する特別な問題にも対応できます。 - 問題が本当に危ないかどうか分かる
ツールが怪しいと検出した箇所を実際に調べ、本当に危ないのかどうかを確認できます。ツールのレポートとは異なり、診断員が精査した内容を報告します。 - システムや業務に合った診断ができる
診断員がそのシステムの仕組みや使い方を理解した上で診断を行うため、より実用的で現実的な結果が得られます。 - 新しい問題にも対応できる
ツールは「これまで知られている問題」を探すだけですが、診断員が行うマニュアル診断では今まで誰も気づいていない問題にも対応できます。
マニュアル診断のメリットを具体例とともに紹介します
- システム全体の構造を理解した診断ができる
診断者は、システムの構造や業務の流れを理解した上で診断を行うため、システムの利用状況に応じたリスク評価が可能です。
具体例: オンラインバンキングで、一般のユーザーが勝手に他の人の口座にアクセスできてしまう、というような問題を発見することができます。 - 脆弱性の本当のリスクを判断できる
ツールが報告した問題が実際に攻撃可能かどうかを調査できます。これにより、緊急性の高い脆弱性とそうでないものを区別することが可能です。
具体例: ツールが「セッション情報が盗まれる可能性がある」と報告した場合でも、診断員が調査を行い、実際には影響が非常に限定的であることを判断することがあります。 - 業務ロジックに関連する脆弱性を発見できる
ツールが見逃しがちな業務の流れや特殊な操作に基づく脆弱性を発見できます。
具体例: 特殊なシステムや業界向けの専用アプリに隠れたような問題を発見することができます。ツールでは、このような業務フローに絡んだ問題は見つけられません。 - 未知の脆弱性や複雑な攻撃シナリオに対応可能
診断員は最新のセキュリティ知識を使い、ツールが対応できない新しい攻撃手法や複雑な攻撃シナリオにも対応できます。
具体例: 最近広まった新しい攻撃のやり方を使い、システムに影響がないかどうかを調べることができます。
マニュアル診断のデメリット
- 時間がかかる
診断員が手作業でチェックするため、どうしても時間が必要です。大規模なWebシステムの場合、すべての機能を調べるのに数週間かかることもあります。 - お金がかかる
経験豊富な診断員が行うため、ツール診断と比較して診断費用が高くなることがあります。ただし、その分、精度の高い結果が得られます。 - 専門家のスキルに左右される
診断員のスキルによって品質が異なる可能性があります。なお Proactive Defense では、均一な品質となるよう複数名でのチェック体制を取っています。
デメリットに関して上記のとおりでご理解いただけると思いますので、具体例については割愛させていただきます。
結論:マニュアル診断を推奨する理由
ツール診断は短時間で効率的に広範囲をカバーできるため、初期診断や定期的なスキャンには適しています。しかし、システムを本当に安全にするためには、マニュアル診断が欠かせません。その理由は以下の通りです。
- ツール診断では発見できない問題を特定できる
特に、業務フローやシステム特有のロジックに関連する問題は、マニュアル診断でなければ発見できません。 - リスクの優先順位を正しく評価できる
ツール診断の結果を補完し、実際に修正すべき箇所を明確にすることができます。 - 未知のリスクや最新の脅威にも対応可能
セキュリティは日々進化する脅威との競争です。新たに発生した脆弱性にも迅速に対応できるのは、マニュアル診断の強みです。
実際にProactive Defenseのマニュアル診断をご依頼いただき、今までお客様にて実施されていたツール診断では検出されなかった問題点が見つかるケースが多々あります。マニュアル診断はシステム全体の安全性を高めるための信頼できる診断手法です。
Proactive Defenseでは精度の高いマニュアル診断をご提供しておりますので、ぜひご検討ください。