Amazon InspectorでAWS上の脆弱性診断を実現する
目次
脆弱性に関する基礎知識
AWS(Amazon Web Services)などのパブリッククラウドを利用する上で、情報漏洩やサイバー攻撃といった、セキュリティ面に不安があり、なかなか検討が進まない、といったことがあると思います。情報漏洩やサイバー攻撃は、サーバーとして利用しているOSやアプリケーションで利用しているプログラミング言語、アプリケーションフレームワークの脆弱性をつかれて行われることが多いのですが本記事では、脆弱性についての解説と、AWS上でどのように脆弱性をチェックすればいいのか、記載していきます。
脆弱性とは?
脆弱性とはOS・ソフトウェア・プログラミング言語などの、ITシステムを構成している要素におけるセキュリティ上の欠陥を指します。したがって、脆弱性を放置しておくとサイバー攻撃や内部不正に悪用されてしまうおそれがあります。
脆弱性は日々、世界中で報告されており、どのようなシステムに、どのような脆弱性があるのかは、JVN iPedia(https://jvndb.jvn.jp/index.html)等に公開されます。
脆弱性はどのように発見される?
システムベンダーやメーカーは、元々欠陥があるOSやソフトウェアを提供しているわけではありません。出荷の際にきちんと様々な検査や試験を行ったうえで出荷します。
しかしながら、現状、何十万行にもおよぶプログラミングコードを網羅的にチェックし完璧に検査を行うことは、事実上不可能になっています。また、技術の進歩が激しいため、サイバー攻撃の手法も多様化しており、新しい攻撃方法を生み出すペースが速い関係上、脆弱性が発見される件数も増えているのが現実です。
脆弱性のリスク
重大な脆弱性に対して、十分な対策を行わないまま放置すると、サイバー攻撃のターゲットになりうる可能性があります。例えば、2021年12月10日に発見された「Apache log4j」の脆弱性は、警視庁のHP(https://www.npa.go.jp/cyberpolice/important/2021/202112141.html)によると、脆弱性が広く公開されてから1週間~2週間で攻撃の件数が激増していることがわかります。このように、脆弱性が公表されたあとも放置が続くと、サイバー攻撃にさらされます。サイバー攻撃に遭うと、具体的に下記の被害をこうむります。
- 情報漏洩・盗聴
- データの改ざん
- 業務データの暗号化(ランサムウェアの感染)
- 個人情報の悪用・なりすまし
尚、このようなセキュリティ事故は、近年では企業のレピュテーションリスク(企業やブランドに対するネガティブな評判が広まるリスク)や、経営上のリスクに直結することも非常に多い、ということは強く認識しておくべきです。
一般的な脆弱性の対策
一般的な脆弱性の対策は、下記のフローで実施していきます。
- 情報収集を行う
- 影響を分析する
- 対応を行う
どのような方式なのか、具体的に見ていきます。
情報収集を行う
脆弱性が発見されると、インターネット上に脆弱性の種別が公開されます。脆弱性には、公開時にかならず「CVE」と「CVSS」と呼ばれる情報が付加されます。「CVE」とは「共通脆弱性識別子(Common Vulnerabilities and Exposures)」の略です。CVEは脆弱性を一意に識別する番号になります。
「CVSS」とは、共通脆弱性評価システム(Common Vulnerability Scoring System)」の略です。CVSSを確認することで、脆弱性の深刻度がどの程度なのかを判別することができます。
影響を分析する
サイバー攻撃を受けた場合、自社組織のシステムにどれほどの被害が及ぶかの可能性を分析する必要があります。分析については、CVSSの情報をベースに、リスクの発生可能性や影響度の大きさを明確にする必要があります。
対応を行う
脆弱性の影響を分析した後は、影響の大きさに応じて、リスクマネジメントにおける「回避・軽減・移転・許容」を選択して対応することになります。重大なリスクがある場合は、NWの一時的遮断(軽減)→パッチ適用(回避)など、段階的な対応をとることが必要になります。
それほどリスクを受けない場合は対応をしない(リスクの許容)こともあります。また、OSやソフトウェアなどでアップデート機能がある場合は、アップデートを実施するといいでしょう。
AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→
脆弱性診断とは?その目的・必要性
脆弱性診断とは、サーバーやソフトウェアなどのシステムにおける脆弱性を事前に発見する仕組みのことです。脆弱性診断を行うメリットとしては、実際のサーバに疑似的なサイバー攻撃を仕掛けたり、システムが使用しているアプリケーション・プログラムの調査を行うことによって、セキュリティのリスクを発見できる点です。『一般的な脆弱性の対策』で記載した、『情報収集を行う』の1フェーズととらえるといいでしょう。システムリリース前に実施したり、定期的に実施したりすることで、システムのセキュリティにおける安全性を担保することができます。
代表的な脆弱性を突いた攻撃5選
Webサイトやアプリケーションの脆弱性を突いた、代表的な攻撃の例を紹介します。
クロスサイトスクリプティング(CWE-79)
攻撃対象のWebサイトの脆弱性を突き、攻撃者がそこに悪質なサイトへ誘導するスクリプトを仕掛けることで、サイトに訪れるユーザーの個人情報などを詐取する攻撃のことを指します。
SQLインジェクション(CWE-89)
SQLと呼ばれる、データベースを操作する言語をアプリケーションの入力フォームなどに「注入(injection)」することによって、データベースのデータを不正に操作される攻撃 のことです。
不適切な入力確認
外部からの入力値に起因する脆弱性を指します。具体的には、アプリケーションの入力フォームにフォルダを表す値や正規表現などを入力して、アプリケーションに不具合を起こさせる攻撃です。SQLインジェクションなども、こちらの一種です。
バッファオーバーフロー(CWE-119)
バッファと呼ばれるコンピューターの記憶領域に関する脆弱性を利用し、許容量以上のデータを送りつけ、誤作動やアプリケーションの停止を狙う攻撃のことです。
クロスサイト・リクエスト・フォージェリ(CWE-352)
サイト横断的に(Cross Site)リクエストを偽装(Request Forgeries)する攻撃です。具体的には、Webサイトの脆弱性をついて、罠となるサイトを用意し、ユーザーが罠にかかるのを待つかリンクやメールなどで利用者を罠サイトへ誘導し、不正な操作を強要させる攻撃です。
AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→
AWSが提供する脆弱性検出サービスAmazon Inspector
Amazon Inspectorは、AWS上に構築したEC2 インスタンスやコンテナイメージに対して脆弱性診断を自動で行ってくれるサービスです。従来はECRなどのコンテナイメージはECRの機能で脆弱性のスキャンを行う必要がありましたが、2021年11月にAmazon Inspector v2が発表され、統合して利用できるようになりました。
EventBridgeと連携して自動スキャンができたり、脆弱性の情報を統合して確認できるダッシュボードが用意されたりと、大幅に機能が増加して使いやすくなっています。
Amazon Inspector v2の導入の流れ
導入の流れは下記の通りです。
- Amazon Inspectorのコンソール画面にアクセスする
- Get Startedをクリックする
- Enable Inspectorをクリックする(同時に、IAMロールが作成されます)
上記の3. の手順を実行後は、自動的にスキャンが実行されます。たった3クリックで導入が可能です。非常に高速かつ簡単に導入できることがわかります。
Amazon Inspector の利用料金
EC2、ECRともに、スキャンしたサーバー数やコンテナイメージ数、スキャン回数で課金がされます。具体的には
- 1か月にスキャンされたAmazonEC2インスタンスの平均数
- 1か月あたりAmazon ECRに最初にオンプッシュでスキャンされたコンテナイメージの数
- 1か月あたりの継続的なスキャン用に設定されたAmazon ECRのコンテナイメージの自動再スキャンの数
で課金が行われます。尚、初めて使う場合は15日のフリートライアル期間があります。
AWS Inspectorの具体的な設定方法は、スタイルズのオンラインウェビナー「30分でわかる! Amazon Inspectorで脆弱性診断」でわかりやすく解説しています。
こちらのページより「30分でわかる! Amazon Inspectorで脆弱性診断」をお申し込みください。