脆弱性診断(セキュリティ診断)とは?必要性など基礎から解説
脆弱性診断(セキュリティ診断)とは
脆弱性診断(セキュリティ診断)とは、ソフトウェアやミドルウェア、OSなどに存在する脆弱性(セキュリティ上の弱点)を見つけて、そのリスクや影響を評価する一連のプロセスです。脆弱性診断はセキュリティを強化するための重要な手法の一つで、サイバー攻撃が巧妙化する昨今では欠かせないものになっています。
脆弱性(ぜいじゃくせい)とは
脆弱性とはWebアプリケーション、スマホアプリ、ソフトウェア、ミドルウェア、OS、ネットワーク機器、クラウドプラットフォーム(AWS、Azure、Google Cloudなど)などに潜む情報セキュリティ上の欠陥や弱点のことです。脆弱性はソフトウェアのバグ、不適切な構成、セキュリティポリシーの不備、不正な操作など、さまざまな原因によって生じることがあります。
脆弱性診断(セキュリティ診断)が必要な理由
脆弱性を放置するリスク
脆弱性診断(セキュリティ診断)が必要な理由として、まず脆弱性を放置しているとどのような脅威があるかを見ていきましょう。脆弱性を放置していると攻撃者に狙われたときに悪用されてしまい、Webサイトの改ざん、不正アクセス、個人情報やクレジットカード情報、社外秘の情報などの重要情報の漏洩、企業内のネットワークへの侵入などの被害に発展することがあります。このような事象により、金銭的な被害を受けたり、個人や企業の評判や信用が損なわれることがあります。
このような脆弱性が悪用されることを未然に防ぐために四半期~1年ごとに、システムに対する脆弱性診断を行うことが望まれます。
現在多くの規制当局や業界団体が、システムに定期的な脆弱性診断を実施することを求めており、取引先から指示されて脆弱性診断を実施する企業もいます。脆弱性診断はもはやコンプライアンス要件の一項目とも言えるでしょう。
脆弱性診断(セキュリティ診断)の目的
脆弱性診断(セキュリティ診断)の目的は、システムやソフトウェアなどに存在する脆弱性を見つけて、そのリスクや影響を評価することです。診断の結果リスクが高く、影響が大きいと判断した脆弱性を修正することでシステムのセキュリティを向上させ、悪用の被害を未然に防ぐことが可能です。
脆弱性診断が必要な理由 (脆弱性を放置するリスク)でも述べたように、脆弱性が放置されると悪意のある攻撃者によって悪用される可能性があります。そうなる前に脆弱性を特定し修正をしてシステムを安全に保つ心がけが求められます。
脆弱性診断(セキュリティ診断)の対象
Webアプリケーション診断
多くの企業がWebアプリケーションを運営しています。これらのWebアプリケーションは外部からのアクセスが多く、悪意のある攻撃者が情報を盗むことも。Webアプリケーション診断は、このようなインターネット上の公開サービスに対するセキュリティリスクをチェックします。例えば、不正な入力を利用した「SQLインジェクション」や、情報を外部に漏らす「クロスサイトスクリプティング(XSS)」のリスクなどが診断内容に含まれます。
クラウド診断
近年、AWSなどのクラウドの利用が増えています。従来のサーバーと違い「常に最新の環境でアクセスできる」というメリットがありますが、同時に適切な設定がされていないとセキュリティリスクが高まる恐れもあります。クラウド診断は、クラウド環境に潜む設定ミスやアクセス権限の問題を発見します。例えば、誰でもアクセスできる可能性のある設定ミスや、不要な権限が付与されていないかを調べることが重要です。
ネットワーク診断(プラットフォーム診断)
企業内のネットワークのセキュリティ対策を十分にしておくことは、社内情報を外部から守るために非常に重要です。企業内のネットワークは、外部からの攻撃だけでなく、内部からの攻撃や不正アクセスのリスクもあります。そのため、ネットワーク内外の運用状況について定期的な診断が必要です。この診断では、ネットワーク機器の設定や、ネットワーク上でのデータのやり取りに潜む脆弱性を確認します。例えば、古いセキュリティプロトコルの使用や、パスワードが不十分な機器がないかをチェックします。
スマホアプリ診断
最近では、スマホアプリもビジネスに欠かせない存在です。特に、顧客情報を扱うアプリにはセキュリティが求められます。スマホアプリ診断では、アプリのコードに潜む弱点や、ユーザーデータの保護対策がされているかを確認します。例えば、通信が暗号化されていない場合や、認証の脆弱性がある場合など、ユーザー情報が外部に漏れるリスクを防ぐことが重要です。
脆弱性診断(セキュリティ診断)の種類
手動診断とツール診断の違い
脆弱性診断には、大きく分けて「手動診断」と「ツール診断」があります。ツール診断は自動化されたスキャンツールを用いる方法で比較的簡単に実施でき、手動診断は専門家がシステムの設計やビジネスロジックを理解した上で行うため、より柔軟な診断が可能です。
ビジネスロジックを考慮した診断
手動診断では、システムの設計やビジネスロジックを理解した上で診断が行われます。
例えば、管理者のみが閲覧可能なファイルが、権限を持たないユーザーにも閲覧可能になっていないかといったアクセス制限の確認は、手動診断が必要です。
ツール診断では、こうした複雑な条件まで考慮することが難しいため、ツールで発見できない潜在的なリスクを見つけるには、経験を積んだ専門家による手動診断が適しています。
手動診断では、ビジネスに関わる重要情報が適切に守られているかを人の目で細かくチェックするため、システムの運用に適した診断が可能です。
価格
ツール診断は、一般的に手動診断よりも安価です。ツールの使用にはライセンス費用が必要ですが、診断にかかる工数が少なく、自動で定期的に実施できるため、予算に限りがある企業にとって有効です。
手動診断は専門家が稼働するためコストが高くなりますが、その分、システムに合わせた詳細な診断が期待できます。
重要なシステムに対しては、手動診断を併用することで、リスクの高い部分を網羅的にカバーできます。
診断頻度
ツール診断は、状況に合わせて繰り返し利用できるため、定期的なチェックにも向いています。
自動化された診断は月に一度や四半期ごとなど、企業のポリシーに合わせた柔軟なスケジュールで実施可能です。
手動診断は時間とコストがかかるため、特定のタイミングで実施するスポット利用に適しています。新システムの導入時や、大きなアップデート後など、重要な局面で手動診断を行うことで、より精度の高い診断が可能です。
エラーハンドリング
ツール診断では、サーバエラーなどが発生すると「診断を継続できない」と判断され、「脆弱性発見できず=問題なし」となる場合があります。しかし、手動診断ではエラーが起きた場合も状況に応じた詳細な対応が可能です。
例えば、サーバエラーが発生した背景を探り、システムが正しく動作していないこと自体をリスクとして報告することもあります。このように、手動診断は診断結果を柔軟に調整し、実際のリスクや改善ポイントに沿った報告ができるため、ビジネスに即した診断内容を求める場合に効果的です。
脆弱性診断(セキュリティ診断)とペネトレーションテストの違い
脆弱性診断(セキュリティ診断)とペネトレーションテストはどちらもシステムのセキュリティを評価する方法ですが、目的やアプローチが異なります。
脆弱性診断は脆弱性があるかないかを見える化することが目的であるのに対し、ペネトレーションテストはそれら脆弱性を見つけるにとどまらず、それらを悪用して、金銭的な被害といった脅威が実際に発生するのかを検証するテストとなります。
診断目的
脆弱性診断
会社のシステムや開発したアプリケーションに対して脆弱性を洗い出す。
ペネトレーションテスト
会社のシステムや開発したアプリケーションに対して、実際に攻撃が可能なのか検証する。
診断方法
脆弱性診断
定められた診断項目をもとに、ツールと人手で網羅的に脆弱性が無いか調査する。
ペネトレーションテスト
専門家が攻撃対象のシステムおよび周辺環境を調査し、個々のシステムに特化した攻撃手法をもって、想定される脅威が発生しないか調査する。
診断範囲
脆弱性診断
Webアプリケーション、スマートフォンアプリケーション、IoTデバイスなど、単一のデバイス、アプリケーション
ペネトレーションテスト
企業システム、実店舗など多様なサーバやネットワーク、認可サーバ(Active Directory)などで構成されるシステム
診断レポートの形式
脆弱性診断
発⾒された脆弱性の⼀覧、悪用された場合のリスク評価、脆弱性の詳細説明、今後の対応案
ペネトレーションテスト
実現できた攻撃手法、攻撃経路の詳細、攻撃に利用した脆弱性情報、今後の対応案
対象企業/組織
脆弱性診断
自社Webサイトを運用されている企業 Webアプリ、スマホアプリ、IoTデバイスを開発・提供している企業
ペネトレーションテスト
自社ネットワーク・システムを構築されている企業 お客様の個人情報やクレジットカード情報などの重要情報を扱われている企業
実施頻度
脆弱性診断
四半期から1年ごと アプリケーションのリリース前、アップデート前
ペネトレーションテスト
半年~1年ごと
ペネトレーションテスト(侵入テスト)とは?脆弱性診断との違いから有効手法まで解説
脆弱性診断(セキュリティ診断)をするには
GMOサイバーセキュリティ byイエラエでは、ツールによる診断と、ホワイトハッカーと呼ばれるセキュリティエンジニアによる手動診断の両面から脆弱性診断をやペネトレーションテストをご提供しています。詳細は以下よりご参照ください。
専門家による脆弱性診断(セキュリティ診断)サービス
Webアプリケーション診断
ブラウザ上で動作するアプリケーションの脆弱性診断です。お問合せフォームのみ、ログイン機能のみなど範囲や機能を限定して診断を実施することも可能です。
スマホアプリ診断(iOS・Android)
iOSやAndroidで動作するアプリケーションの脆弱性診断です。スマホアプリ解析の専門家が完全手動で診断します。
ネットワーク診断(プラットフォーム診断)
ネットワークに存在するサーバやネットワーク機器等に、既知の脆弱性や設定の不備等によるセキュリティ上の問題点がないかを診断します。
クラウド診断
(AWS/Microsoft Azure/Google Cloud/Salesforce/Google Workspace/Microsoft 365)
ご利用中のクラウドプラットフォームに設定不備などのセキュリティ上の問題がないか診断します。
LLMセキュリティ診断
GPT等のLLMを利用して構築したアプリケーションに対し、敵対的プロンプト(Adversarial Prompting)を用いた擬似攻撃を行い、アプリケーションにセキュリティ上の問題がないか診断します。
簡単リーズナブルに脆弱性診断を内製化するなら
GMOサイバー攻撃ネットde診断 for Webアプリ
世界屈指の知見を有するセキュリティの専門家が開発するツールで、脆弱性診断の内製化を実現します。
診断内容や自社に合った選び方をまとめてダウンロード
- セキュリティ診断の選び方
- セキュリティ対策の選び方
- サービスラインナップ
- WEBシステム/アプリ開発者様向け
- システム/ITインフラ運用管理者向け
- その他IoT診断など
監修:GMOサイバーセキュリティ byイエラエ 編集部
企業の情報セキュリティ担当者や開発者向けに、サイバーセキュリティに関する情報を発信しています。