AWS Partner Advanced Tier Services

AWSノウハウ

脆弱性診断とは?
AWS環境における必要性と実施方法

  • AWS入門
  • AWS基礎知識

目次

クラウドの業務利用が増えるなか、クラウド環境のセキュリティ強化はビジネスの成功に不可欠な要素です。そのため、多くの企業が社内システムやサービスをAWSで構築しています。しかし、具体的な対策や脆弱性診断の方法がわからず、不安を感じている企業担当者の方もいるかもしれません。

そこでこの記事では、脆弱性診断の基本的な概念からAWS環境における具体的な診断方法について解説します。

脆弱性診断が求められる背景

近年、サイバー攻撃や情報漏洩によるリスクが増大しています。IPAが公開する「コンピュータウイルス・不正アクセスの届出状況」によれば、2023年の不正アクセス届出件数は243件でした。

不正アクセス届出件数の年別推移

出典:IPA コンピュータウイルス・不正アクセスの届出状況

約10年前の2014年の120件と比べ、2倍に増加しており、過去3年間も200件を超える状況が続いています。このデータから、企業が持つ情報が狙われているのがわかるでしょう。また、これはあくまで届出があった件数に過ぎず、実際の攻撃件数はさらに多いと予想されます。

このようなサイバー攻撃による被害の範囲も広がっており、一度インシデントが発生すれば、社会的な信用の失墜や金銭的な被害、業務の停止など、さまざまな影響が考えられます。サイバー攻撃は年々高度化・巧妙化が進んでおり、常に最新の動向をチェックして対策を取り続けなければなりません。しかし、対応可能なセキュリティ人材は不足しており、自社だけで対処するのは難しいケースも多いでしょう。

こうした背景から、セキュリティに知見のある専門家による脆弱性診断の必要性がますます高まっています。

脆弱性診断とは

脆弱性診断は、システムやアプリケーションの脆弱性を特定し、対策を講じるための重要なプロセスです。ここでは、脆弱性診断の基本的な概念と実施方法を簡単に解説します。

脆弱性診断の定義と目的

脆弱性診断とは、IT運用におけるソフトウェアやシステムの不具合、欠陥を特定し、セキュリティ上の弱点を発見するプロセスです。おもな目的は、マルウェア感染や不正侵入、情報漏洩などのセキュリティ被害を未然に防ぐことです。診断を実施することで、潜在的なセキュリティリスクを特定し、適切な対策を講じられます。また、脆弱性診断は、システムの現状を把握し、セキュリティ対策の優先順位を決定するうえで重要な役割を担っています。

脆弱性の種類と影響

脆弱性にはさまざまな種類があり、それぞれ異なる影響をおよぼす可能性があります。脆弱性を悪用した代表的な攻撃例には、次のようなものが挙げられます。

  • SQLインジェクション:データベースに不正なSQLコマンドを挿入し、情報を盗み出す攻撃
  • クロスサイトスクリプティング(XSS):Webサイトに悪意のあるスクリプトを埋め込み、ユーザーの情報を盗む攻撃
  • 認証バイパス:認証プロセスを回避し、不正にアクセスする攻撃
  • 権限昇格:通常のユーザー権限を不正に管理者権限へと引き上げる攻撃

これらの攻撃を受けると、情報漏洩やシステム停止、不正アクセス、情報改ざんなど深刻な問題を引き起こす可能性があるため、適切な対策を行なう必要があります。

脆弱性診断の種類

脆弱性診断はおもに「プラットフォーム診断」と「Webアプリケーション診断」に分けられるのが特徴です。プラットフォーム診断は、ネットワーク機器やOS、サーバーなどのITインフラ全体を対象に行ない、ファイアウォールの設定やOSの脆弱性、ネットワーク構成などを検査します。

一方、Webアプリケーション診断は、WebサイトやWebアプリケーションに特化した診断方法で、SQLインジェクションやXSS、認証の脆弱性などを中心に検査します。

脆弱性診断とペネトレーションテストの違い

脆弱性診断とペネトレーションテストは、どちらもシステムのセキュリティを評価する手法ですが、その目的と方法が異なります。脆弱性診断は、システム全体(Webアプリ)に対して網羅的な検査を行ない、潜在する脆弱性の発見を目的としています。対して、ペネトレーションテストはシステムに実際に侵入し、現実的な攻撃シナリオを用いて問題点を発見し、改善を図るのが目的です。

両者のおもな違いは、脆弱性診断が潜在的な脆弱性を広く特定するのに対し、ペネトレーションテストは実際の攻撃シナリオに基づきセキュリティの実効性を検証する点にあります。

AWSクラウド環境における脆弱性診断の必要性

AWSを利用する企業は多く、AWSのセキュリティ環境はクラウドサービスのなかでも高水準ですが、ユーザー側で注意すべき点も存在します。ここでは、それらの点も含めて、AWSクラウド環境における脆弱性診断の必要性を解説します。

AWSの責任共有モデルによる責任分担

AWSでは「責任共有モデル」が採用されており、AWS側とユーザー側でそれぞれセキュリティの責任範囲が分担されています。AWS側はクラウドインフラストラクチャのセキュリティを担当し、ユーザー側はクラウド内のデータやアプリケーションのセキュリティを管理します。

つまり、ゲストOSやアプリケーション、AWSの各種設定や運用については、ユーザー側が自らセキュリティ対策を実施しなければなりません。これらの対策を適切に行なうためには、脆弱性診断が必要です。脆弱性診断を実施すると、ユーザー側の責任範囲における潜在的なセキュリティリスクを特定し、必要な対策を講じられます。

なお、AWSの責任共有モデルについては、「AWSの責任共有モデルとは?わかりやすく解説」も合わせてご確認ください。

クラウド環境特有のセキュリティリスクの存在

クラウド環境には、従来のオンプレミス環境とは異なるセキュリティリスクが存在します。例えば、クラウドサービスの設定ミスによる情報漏洩や、不適切なアクセス権限の付与による不正アクセスなどが挙げられます。

前述のとおり、これらの問題はユーザー側の責任です。AWS側のセキュリティ水準が高くても、設定ミスなどによるセキュリティ事故は防げません。このような事故を未然に防ぐためには、クラウド環境に適したセキュリティ対策が必要不可欠であり、脆弱性診断がその中核を担っています。

AWSを利用する企業のセキュリティインシデント事例がある

実際に、AWSを利用する企業のセキュリティインシデントが発生した事例があります。2019年、アメリカの大手金融企業であるCapital OneのAWS環境への不正アクセスが発生し、1億人以上の顧客情報が流出する事件が発生しました。

※出典:AWSの元エンジニアが大手金融から1億件以上の個人情報を盗んだ疑い、FBIが逮捕

この事件は、Capital OneがAWSのWAF(Web Application Firewall)の設定を誤っていたのが原因とされています。定期的な脆弱性診断を実施していれば、このような設定ミスを事前に発見し、事件を防げた可能性があります。

脆弱性診断の具体的な実施方法

脆弱性診断と一口でいっても、その内容はさまざまです。ここでは、脆弱性診断の実施方法を具体的に解説します。

脆弱性診断の計画と準備

脆弱性診断を効果的に実施するためには、綿密な計画と準備が不可欠です。まず、診断の範囲や目的を明確にし、必要なリソースを確保するのが重要です。診断対象システムの洗い出しを行ない、スケジュールを設定します。また、関係者に通知し、診断の実施について理解を得るのも大切です。

診断の準備段階では、万が一に備えてシステムのバックアップを作成し、診断時間を調整します。特に、業務への影響を最小限に抑えるため、システムの負荷が低い時間帯を選んで診断を実施するのが推奨されます。加えて、診断に必要な権限や認証情報の準備、ネットワーク構成図の確認などもしっかりと行ないましょう。

スキャンツールの選定と設定

脆弱性診断では、自動化されたスキャンツールを使用するのが一般的です。代表的なツールには、Nmap、Nessus、OpenVASなどがあります。これらのスキャンツールを利用すると、ネットワークやシステムの脆弱性を効率的に検出できます。

ツールの選定後は、適切な設定を行なうことが重要です。診断対象のシステムに合わせてスキャンの範囲や深度を調整し、誤検知を減らすためのチューニングも行ないます。例えば、特定のポートやプロトコルに焦点を当てたスキャンの設定や、スキャン速度の調整などが考えられます。

ネットワークスキャンとポート分析

ネットワークスキャンは、対象システムの開放ポートや稼働中のサービスを特定するために実施するものです。Nmapなどのツールを利用して、IPアドレスの範囲やポート番号を指定してスキャンします。スキャン結果から、不要なポートの開放や脆弱なサービスの稼働などを確認することが可能です。

ポート分析では、開放されているポートごとに稼働しているサービスやアプリケーションを特定します。ポート分析によって不要なポートの開放のチェックや、潜在的な攻撃経路となるサービスの脆弱性を把握できます。例えば、古いバージョンのサービスが稼働している場合や、セキュリティ上問題のあるプロトコルが使用されている場合などを発見することが可能です。

Webアプリケーション脆弱性診断の手法

Webアプリケーション脆弱性診断では、SQLインジェクションやXSS、認証バイパスなどの一般的な脆弱性を狙った攻撃の可否を確認します。OWASP ZAPやBurp Suiteなどの専用ツールを使用すれば、自動化されたテストを実施することも可能です。

ただし、自動化ツールだけでは検出できない脆弱性もあるため、手動でのテストも併せて実施するのが重要です。手動テストでは、アプリケーションの機能や動作を理解したうえで、想定される攻撃シナリオに基づいて入力値やリクエストを操作し、脆弱性の有無を確認します。自動化ツールと手動テストを組み合わせると、より精度の高い診断が可能です。

クラウド設定のセキュリティ評価

クラウド環境を利用している場合、リスク評価型サービスやクラウドプロバイダが提供するセキュリティツールを活用すると、効率的な脆弱性診断が可能です。例えば、AWSではAmazon Inspectorを活用すれば、EC2インスタンスやコンテナの脆弱性をスキャンできます。

クラウド設定のセキュリティ評価では、インスタンスやコンテナの脆弱性だけでなく、設定ミスによる脆弱性もチェックする必要があります。例えば、S3バケットの公開設定や、IAMポリシーの過剰な権限付与などです。クラウドプロバイダが提供するベストプラクティスやセキュリティガイドラインに沿って設定を見直し、適切な対策を講じることが重要です。

診断結果の分析と優先順位付け

脆弱性診断の結果は、詳細なレポートとして提供されます。このレポートには、検出された脆弱性の一覧や各脆弱性の詳細説明、リスクレベルの評価、推奨される対策などが含まれます。この診断結果を分析し、脆弱性の重要度や影響度を評価することが重要です。

脆弱性の優先順位付けでは、深刻度や攻撃の難易度、影響範囲などを考慮します。例えば、リモートから悪用可能な脆弱性や機密情報の漏洩につながる脆弱性は、優先度が高いと判断されます。分析結果をもとに、脆弱性に優先順位を付けて対策を進めていくのが重要です。

脆弱性の修正と再テスト

優先順位に基づいて脆弱性の修正を行ないます。修正方法には、パッチの適用、設定の変更、コードの修正などがあります。修正後は再度脆弱性診断を実施し、問題が解決されたのを確認しましょう。

ただし、脆弱性の修正によって新たな脆弱性が生まれる可能性もあるため、慎重に対応しなければなりません。修正後の再テストでは修正箇所だけでなく、関連する機能やコンポーネントにも注意を払い、修正による影響範囲を確認します。必要に応じて、複数回の修正と再テストを繰り返し、システムの安全性を確保します。

継続的な脆弱性管理プロセスの確立

脆弱性診断は一度きり行なっておわりではなく、継続的に実施することが重要です。新しい脆弱性や攻撃手法が次々に登場するため、定期的な診断を行なうことでシステムのセキュリティを維持できます。

継続的な脆弱性管理プロセスを確立するためには、定期的な診断スケジュールを設定し、診断結果の分析と対応を繰り返し行なう必要があります。また、新しい脆弱性情報や攻撃動向を常にモニタリングし、迅速に対応できる体制を整えるのも重要です。さらに、セキュリティ担当者の育成や脆弱性管理ツールの導入なども検討すべきでしょう。

DevSecOpsにおける脆弱性診断の統合

近年、DevSecOpsの考え方が注目されています。DevSecOpsは、開発(Development)、セキュリティ(Security)、運用(Operations)を一体化し、アプリケーションのライフサイクル全体を通じてセキュリティを確保するアプローチ方法です。

DevSecOpsでは、開発プロセスの早い段階から脆弱性診断を組み込むのが推奨されています。具体的には、CI/CDパイプラインに自動化された脆弱性スキャンを統合し、コードのコミット時やビルド時に自動的にセキュリティチェックを行ないます。これにより、脆弱性の早期発見と修正が可能となり、セキュアなアプリケーション開発を実現できるのが特徴です。

Amazon Inspectorの詳細と活用法

AWS環境における脆弱性診断には、Amazon Inspectorを利用できます。ここでは、Amazon Inspectorの概要とその活用方法について詳しく解説します。

Amazon Inspectorの概要と機能

Amazon Inspectorは、Amazon EC2、AWS Lambda、Amazon ECRなどのAWSサービスの脆弱性を自動的に管理するためのサービスです。50個以上の脆弱性インテリジェンスソースを利用して常にスキャンを行ない、ほぼリアルタイムで脆弱性を検出できます。

Amazon Inspectorは、共通脆弱性識別子(CVE)に基づいてソフトウェアパッケージの脆弱性を特定し、ネットワークの到達可能性の問題も検出することが可能です。また、AWS Lambda関数のアプリケーションコードを分析し、インジェクションの欠陥やデータ漏洩、暗号化の問題なども発見できます。

Amazon Inspectorの設定と実行方法

Amazon Inspectorは、AWSマネジメントコンソールからサービスをアクティブ化すれば簡単に開始できます。アクティブにすると自動的にスキャンが行なわれ、脆弱性の検出が始まります。

ネットワーク接続性のスキャンが実行されるのは24時間ごとです。パッケージの脆弱性スキャンは、新しいEC2インスタンスの起動時やソフトウェアのインストール時、新しいCVE項目の追加時に実行されます。Lambda関数のコードスキャンは、関数の作成や更新時に行なわれます。

Amazon Inspectorのルールパッケージと評価テンプレート

Amazon Inspectorには、「ネットワークの到達可能性」と「ホスト評価」の2種類のルールパッケージがあります。ネットワークの到達可能性は、EC2インスタンスなどへの意図しないネットワークアクセスの可能性を評価します。一方、ホスト評価は、EC2インスタンスなどの脆弱性や設定ミスをチェックするためのものです。

これらのルールパッケージを組み合わせて評価テンプレートを作成すると、スキャンの範囲と深さを調整できます。例えば、特定のポートやプロトコルに焦点を当てたり、スキャンの速度を調整したりできます。

Amazon Inspectorの結果の解釈と活用

Amazon Inspectorのスキャン結果は、AWSマネジメントコンソールのダッシュボードで視覚的に確認することが可能です。ダッシュボードには、検出された脆弱性の詳細、影響を受けるリソース、リスク評価、修復のためのガイダンスなどが表示されます。

検出された脆弱性は、重要度に応じて「低」「中」「高」「重大」の4段階で評価され、この評価をもとに修復の優先順位を決定して適切な対策を講じます。また、検出結果をCSVファイルにエクスポートできるため、ほかのセキュリティツールと連携させることも可能です。

Amazon InspectorとAWS Security Hubの連携

Amazon InspectorはAWS Security Hubと連携すれば、セキュリティ関係のデータを統合的に管理できます。Security Hubは、AWS GuardDutyやAWS Configなど、ほかのAWSセキュリティサービスの結果も一元管理できるサービスです。

Inspectorの検出結果をSecurity Hubに送信すると、ほかのセキュリティサービスの結果と併せて分析し、より包括的なセキュリティ評価を実施できます。また、Security Hubのイベント管理機能を使って、検出された脆弱性への対応を自動化することも可能です。

Amazon Inspectorの制限事項と補完的なツール

Amazon Inspectorは、ソフトウェアとネットワークの脆弱性評価に特化したサービスですが、検出結果に対する自動対処機能はありません。また、オンプレミス環境やAWS以外のクラウドサービスは対象外です。

そのため、Inspectorを効果的に活用するには、AWS Security HubやAWS GuardDutyなど、ほかのセキュリティサービスとの組み合わせが推奨されます。これらのサービスを併用すると、より包括的なセキュリティ監視と対応が実現できます。

脆弱性診断は専門家への依頼がおすすめ

ここまで脆弱性診断について解説してきましたが、難しく感じた方もいるかもしれません。そのため、脆弱性診断は専門家へ依頼するのがおすすめです。以下で、その理由を簡単に解説します。

自社のみで適切な診断をすることは難しい

脆弱性診断を適切に実施するためには、最新のセキュリティ脅威や攻撃手法に関する深い知識が不可欠です。また、診断ツールの選択や使用方法、診断結果の正確な解釈と優先順位付けなど、専門的なスキルと経験も求められます。

自社のみで診断を行なう場合、これらの専門性を持つ人材を確保し、常に最新の知識を維持する必要があります。しかし、セキュリティ分野の技術は急速に進歩しており、そのような人材を社内で確保し、スキルを更新し続けるのは容易ではありません。そのため、自社のみで適切な診断を実施するのは難しいのが現状です。このような理由から、脆弱性診断はセキュリティに知見のある専門家への依頼をおすすめします。

専門家に依頼すればより安全なクラウド環境を構築できる

セキュリティの専門家に脆弱性診断を依頼すると、より包括的で信頼性の高い診断結果を得られます。専門家は、最新の脅威情報や攻撃手法に精通しており、豊富な経験に基づいて適切な診断ツールを選択し、効果的な診断を実施します。

CloudCREWは、AWSやGoogle Cloudに特化した技術者集団です。国内最大規模のホワイトハッカー組織と提携し、セキュリティリスクの解消・低減を目指したシームレスなサポート体制を整えています。また、CloudCREWでは、クラウドのセキュリティリスクを可視化する「クラウド診断」や、Webアプリケーションの脆弱性を診断する「Webアプリケーション診断」サービスを提供しています。

クラウド診断では、Amazon Inspectorを用いたライトなプランから、Orca Securityを用いた高度なプランまでご用意しており、お客様のご要望に合わせてカスタマイズが可能です。アプリケーション内の脆弱性診断だけでなく、クラウド環境における設定ミスによる脆弱性の診断にも対応し、包括的なクラウド環境のセキュリティチェックが行なえます。クラウド環境における脆弱性診断でお悩みの方は、ぜひ一度お問い合わせください。

クラウド診断の詳細を見る

Webアプリケーション診断の詳細を見る

まとめ

クラウドの業務利用が増えるなか、クラウド環境のセキュリティ対策がますます重要になっています。適切なセキュリティ対策を講じるためには、脆弱性診断が欠かせません。しかし、脆弱性診断には多くの時間がかかり、専門的な知識や経験が求められます。

CloudCREWは、AWSとGoogle Cloudの専門家で構成されており、セキュリティの専門家とも提携して脆弱性診断サービスを提供しています。自社での脆弱性診断が難しいと感じた場合は、脆弱性診断サービスのご利用を検討してみてはいかがでしょうか。

CloudCREW
当記事の監修

GMOグローバルサイン・ホールディングス株式会社が運営するCloudCREW byGMOでご紹介する記事は、AWSなど主要クラウドの認定資格を有するエンジニアによって監修されています。

おすすめのAWS活用支援サービス
Preferred service solution

  • AWS請求代行サービス

    AWSのアセスメント支援AWS請求代行サービス

    初期費用、手数料0円で手軽に始められる「アセスメントクラウド」は、AWS利用料の5%割引、円建て請求書対応、クラウド活用に役立つアセスメント支援など手厚いサポートを受けられる請求代行(リセール)サービスです。AWS環境の最適化を図ると同時に、堅実なコスト削減効果を得られます。

  • マネージドクラウド for AWS

    AWS監視・運用代行マネージドクラウド for AWS

    主要クラウド資格認定者による運用設計をベースに、クラウド環境の監視、障害対応、運用・保守まで一貫したサービスをご提供いたします。
    監視体制の立ち上げに最適なエントリー・パッケージから、よりハイレベルな可用性を実現するカスタマイズされたパッケージまでそろえて、お客さまの運用効率化を支援いたします。

  • AWSマネージドパック

    定額&フルマネージドAWSマネージドパック

    定額利用できるAWSのオールインワン・パッケージです。ディザスタリカバリ対策に主眼を置き、高可用性と耐障害性を重視して設計・構築されたAWS環境を最短3営業日でご用意いたします。監視・運用、技術支援、サポートまで網羅するフルマネージドサービス付きだから、導入後の運用・保守も安心。日本円による請求書払いにも対応しています。