企業が実施するセキュリティ対策は広範囲に渡り、かつ複雑になっています。システムに脆弱性が存在すると、外部・内部からの攻撃によって機密情報の漏洩や金銭的な損失だけでなく、企業の信用にも関わる重要な問題に発展することもあるでしょう。
この記事ではシステムのセキュリティ担当者や情報管理などを行う必要のある方へ向けて、脆弱性診断を導入するメリット・デメリットや診断方法などについて解説します。
目次
[ 開く ]
[ 閉じる ]
脆弱性診断(セキュリティ診断)とは
脆弱性診断とは、ネットワーク・OS・ミドルウェアやWebアプリケーションなどに悪用できる脆弱性がないかをチェックして、セキュリティの状態を確認することです。
脆弱性とは
脆弱性(ぜいじゃくせい)とは、OSやソフトウェア、ハードウェアにおいて、情報の安全性を脅かす恐れのある欠陥のことを指します。脆弱性診断を実施することでセキュリティの現状を確認し、現状の課題に応じた適切な対策を実施することで、情報漏洩などのリスクを軽減することができるでしょう。
脆弱性診断の目的
脆弱性診断の目的は、脆弱性を悪用された場合に情報漏えいやシステムが使用不能となってしまうなど、意図的、または意図的ではない侵害につながる可能性のある既知の脆弱性の特定・ランク付け・および報告をすることです。発見された脆弱性は種類(カテゴリ)や危険性(重要度)を「共通脆弱性評価システム(CVSS)」というもので評価し、必要な対策を講じます。
ペネトレーションテストとの違い
脆弱性診断と似たセキュリティ診断にペネトレーションテストがありますが、このふたつは行う目的が異なります。
「脆弱性診断」は、システム全体に対して網羅的な検査を行い、サイバー攻撃のきっかけとなる脆弱性(リスク)を発見するものです。一方、「ぺネトレーションテスト」はシステムに実際に侵入し、現実的な攻撃シナリオを用いて問題点を発見・改善することで、サイバー攻撃の予防につなげるものとなります。
下記に目的・調査対象の違いをまとめました。
目的 | 調査対象 | |
---|---|---|
脆弱性診断 | ツールなどを用いて既知の脆弱性の特定・ランク付け・および報告を行うことを目的としている。 | システム全体に対して実施する。 |
ペネトレーションテスト | 検証対象のシステム構成などに応じた攻撃のシナリオに沿って実施する。特定の脆弱性や問題点を発見することを目的としている。 | 攻撃者の目的を達成できるかを確認するため、検証内容によって異なる。 |
脆弱性診断とペネトレーションテストは双方とも脆弱性などを検出する点では似ていますが、目的と方法が異なります。脆弱性診断ではシステムの不備を網羅的に把握するためにシステム全体に対して実施するのに対し、ペネトレーションテストは実際にサイバー攻撃を受けた際と同様の手法を使い特定の目的を達成できるか確認するために実施するものです。
双方のセキュリティ診断の目的が異なるため、把握したいリスクの内容によって使い分けて行うことが重要でしょう。
脆弱性診断(セキュリティ診断)の必要性
パソコンやインターネットを補助的に利用していた昔と異なり、現在はWebサービスやアプリケーションそのものが利益を生み出しています。生活や経済がネットワークなしに成り立たない現在、脆弱性診断などのセキュリティ対策は事業を継続しサービス利用者の安心を守るため欠かせないものとなっています。
脆弱性を調べず攻撃者が先にシステムに隠れた脆弱性を見つけてしまった場合、個人情報やクレジットカード情報など重要な機密事項の漏えい事故などが発生したり、システムが意図しない動作を起こしたりしてしまうなど様々な対応・復旧費用や対策工数の発生は避けられません。また企業イメージの低下も招いてしまうでしょう。
資産である情報の「機密性」「完全性」「可用性」を守るため、脆弱性診断を行うことで情報セキュリティの観点から見た構造上の欠陥を見つけることができます。発見された問題に対し対策を実施することで、より強固なシステム環境・組織体制を構築することができます。
脆弱性診断(セキュリティ診断)の主な種類
脆弱性診断は診断の対象によりアプリケーション診断とプラットフォーム診断の2種類に分けられます。
種類 | 調査対象 |
---|---|
アプリケーション診断 | Webアプリケーションの問合せや会員登録といった入力フォームの入出力値の処理、ログイン機能の認証処理などが対象 |
プラットフォーム診断 | Webアプリケーションを実行するネットワーク機器やOS、サーバー、ミドルウェアが対象 |
アプリケーション診断
アプリケーション診断とは、企業が開発したWebアプリケーションに内在する脆弱性を発見する診断手法となります。
調査対象となるアプリケーションはECサイトやゲームアプリ、SNS、バックオフィスなどWeb上で使用できるすべてのアプリケーションが対象となります。Webアプリケーションはお客様のニーズによって様々な機能が実装されており、脆弱性が発見される箇所は千差万別です。使用するプログラミング言語も様々なため、Webアプリケーションの特性に応じた柔軟な診断を行う必要があります。
こうした状況において、Web アプリケーションの脆弱性として知られる「SQL インジェクション」や「クロスサイトスクリプティング」、「なりすまし」などはもちろんのこと、システムの利用環境に合わせた診断方法で調査を実施しシステム停止や情報漏えい・データ改ざん・不正アクセス・認証回避などにつながる脆弱性を洗い出します。
プラットフォーム診断
プラットフォーム診断とは、Webアプリケーションを使用するためのネットワーク機器やOS、サーバー、ミドルウェアに脆弱性がないか、設定に問題がないかを検査する方法です。
上記の対象に対して、インターネットに公開されているお客さまのネットワーク機器やサーバー等に対して診断を実施し、ネットワークスキャナなどを用いた脆弱性の検出や各種機器の設定状態の確認を行います。新規のWebサービスをリリースする企業や前回の脆弱性診断を受けてから1年以上経過している企業はプラットフォーム診断を実施したほうが良いでしょう。
脆弱性診断(セキュリティ診断)のやり方
セキュリティリスクは日々新たに発生し続け複雑になっています。定期的な脆弱性診断は企業運営にとって必須要件となるでしょう。日々変化するセキュリティ対策に対応するため、脆弱性診断は専門のサービスを利用したほうが良いでしょう。
脆弱性診断サービスは主に手動診断とツール診断の2種類に分かれています。
メリット | デメリット | |
---|---|---|
手動診断 |
|
|
ツール診断 |
|
|
ツール診断はすばやく網羅的に安価で実施できるのが特長です。セキュリティ対策の重要性はわかっているものの、納品までの時間がない中で実施したいという場合でも実施することが可能となります。
手動診断は専門のエンジニアによって手動で行われる診断です。ツール診断ではカバーしきれないセッション管理系の診断などを行い、ECサイトや大量の個人情報を扱うサイトでは必須の診断手法となります。
手動診断
「手動」とは、サイバーセキュリティの専門知識を持つテスト実施者(セキュリティエンジニア)が、対象のWebアプリケーションを自らの手で検査することを意味しています。
例えば、仕様設計上のミスに起因する脆弱性のような機械的には発見が困難な脆弱性も発見できるなど、テスト実施者の経験や知識を駆使しながら検証を行うため自動脆弱性診断ツールの検査精度が勝ることはありません。
ECサイトなど個人情報を扱うサイトは不正アクセスなどによる情報漏えいがビジネスに致命的な影響を及ぼします。そのようなサイトを運営している企業にはおすすめの診断サービスとなります。
ツール診断
ツール診断は、その名の通りツールによる自動診断です。手軽にWebブラウザから使用することができ、診断から結果まで最短5分程度で完了するものもあります。
個人情報などの取り扱いはないWebサービスの場合でも、新規のサービスをリリースする場合などリリース前に脆弱性がないか確認したいという場合におすすめの診断サービスとなります。
脆弱性診断(セキュリティ診断)サービスの選び方
脆弱性診断サービスは診断する範囲、診断の深度、費用、アフターフォローなどを検査対象のシステム環境やシステムの特性を考慮して選ぶ必要があります。次章では各項目についてサービスを選ぶ際に注意するポイントをまとめました。
診断する範囲で選ぶ
診断対象のサービス・ツールによって診断できる範囲は異なります。例えばWebアプリケーションを診断する場合、クロスサイトスクリプティング対策としてのコンテンツの生成方法やインジェクション対策としての入力方法の確認です。また、アクセス制御・セッションの管理方法・コンテンツ公開設定など多岐に渡ります。
「何の脆弱性を調べたいのか」「診断項目は足りているか」など脆弱性診断の目的を定めておき、診断範囲を確認しておきましょう。
診断の深度で選ぶ
脆弱性診断サービスを利用する上では診断内容の深度もチェックするポイントとなります。
ツール診断と手動診断では診断の深さが異なります。例えば手動診断であれば、専門のテスト実施者が対象システムの構造を確認した上で自身の経験からその対象にあった検査を実施することが可能です。
ツールでは診断が難しい権限に関する診断や仕様上の設計ミスなど、入念に調べたい箇所に対応してもらえるかなども事前に確認しておきましょう。クリアしなくてはいけない項目や初めての診断のためしっかり行いたいなど希望がある場合は、事前に伝えた上でサービスを選ぶ必要があります。
診断費用で選ぶ
同じ項目の診断を依頼する場合でもサービスによって費用が異なる場合があります。中には無料で使用できるツールもあります。
脆弱性診断は無料で行えるものから数十万〜数百万円かかるものなど様々です。1度利用契約をすると年数回の検査を行えるプランなどもあります。どれくらいの頻度でどのような内容の検査を行いたいのかを明確にし、脆弱性診断を行っている数社の企業から見積もりを取り、社内の状況に合った脆弱性診断を選ぶようにしましょう。
診断後のアフターフォローで選ぶ
脆弱性診断が終わった後のアフターフォローも重要です。診断によって脆弱性が見つかったとしても、改善策を提示してもらえなければ開発側もどう対策してよいのかわかりません。
診断後に報告書を提出してもらえるか、脆弱性が見つかった場合は対策方法についても提案してもらえるかなど事前にチェックしておいたほうが良いでしょう。またサービスによっては改善後にもう一度診断(再診断)を実施してくれる会社もあります。脆弱性診断サービスによってアフターフォローの内容が異なるため、依頼前に確認しておくことが大事です。
GMOサイバーセキュリティbyイエラエの脆弱性診断サービスを紹介
(引用:GMOサイバーセキュリティbyイエラエ)
「GMOサイバーセキュリティbyイエラエ」では脆弱性診断のサービスを幅広く提供しています。
- クラウド診断
クラウド診断はパブリッククラウドの設定不備や、クラウド上に構築されたアプリケーションの安全性について、セキュリティエンジニアが攻撃者目線で評価を行う診断サービスです。クラウドの設定ミスやセキュリティに問題がないか確認したい場合におすすめです。
- Webアプリケーション診断
Webアプリケーション診断では診断ツール、診断員の手動診断を組み合わせて網羅性のある診断をします。特殊な要件で実装された一般的には用いられない技術、例えば、リアルタイムチャットやゲームで用いられるWebSocketやMQTT、gRPC、クラウド系Firebase、GraphQL、Salesforceなどのプロトコルなどにも対応可能です。また、緊急対応が必要な危険度の高い脆弱性については発見から翌営業日以内に再現方法を記載した速報で報告しています。
- プラットフォーム診断(ネットワーク診断)
攻撃者の視点で実際に通信を行うブラックボックステスト方式の脆弱性診断サービスです。オンプレミスなインフラ環境に限らず、AWS、Azure、GCPなどのクラウドサービスを用いて構築されているインフラ環境にも対応可能となっています。リスクレベル高以上の脆弱性については、発見した翌営業日以内に速報でご報告しています。
まとめ
一般的に、脆弱性診断をすると7~8割に脆弱性が検出されるともいわれています。システムに脆弱性があると自社が攻撃されるだけなく、個人情報などの情報漏えいが起きてしまうとWebサービスを利用した顧客が被害にあうというリスクも考えられます。安心してシステムを運用するためにも、脆弱性診断と対策は必須であるといえるでしょう。
脆弱性診断を受けることで具体的な脆弱性を発見し、適切な対策を施すために予算に応じたサービス選びから始めてみてはいかがでしょうか。
文責:GMOインターネットグループ株式会社