脆弱性診断を分類してみた

アイキャッチ AWS EC2

はじめに

こんにちは。
くコ:彡がトレードマークの阿部です。

脆弱性診断について、2つの視点から分類してみました。

対象別に分類しよう

脆弱性診断は、その対象に応じて2種類に分けることができます。

プラットフォーム診断

プラットフォーム診断では、ネットワークやOS、ミドルウェアに脆弱性がないか、設定に問題がないかを診断します。
診断を行う企業やツールによって内容は異なりますが、代表的な一部の診断項目をあげてみます。

ポートスキャン

外部から接続可能なポートをチェックし、不要なポートがオープンになっていない事を確認します。

OS、ミドルウェアのバージョン

脆弱性のあるバージョンを利用していないことを確認します。

OS、ミドルウェアの設定

OSやミドルウェアが適切に設定されていることを確認します。
よくあるチェック項目をあげてみます。

  • 外部からソフトウェアのバージョンを確認出来ないこと
  • SSHのパスワード認証を利用していないこと
  • デフォルトの認証情報を利用するなどして、サービスが悪用されないこと

アプリケーション診断

アプリケーション診断では、アプリケーションに脆弱性がないかを診断します。
診断を行う企業やツールによって内容は異なりますが、代表的な一部の診断項目をあげてみます。

  • OSコマンドインジェクション
  • SQLインジェクション
  • クロスサイトスクリプティング
  • パストラバーサル
  • パラメータ改ざん
  • セッション・フィクセーション

診断方法で分類しよう

診断方法で考えると、3種類に分類することができます。

外部ネットワーク型

インターネットからシステムに接続し、悪意のあるユーザからの外部攻撃に対応出来るか確認します。
最もポピュラーな診断方法ではないでしょうか。

内部ネットワーク型

VPC内など内部ネットワークから診断を行います。
内部不正やマルウェアに感染したインスタンスといった内部起因の脆弱性を確認します。

ホスト型

診断対象にエージェントをインストールし診断します。
セキュリティパッチの適用状況やOS設定を確認します。

AWS Inspectorはホスト型のプラットフォーム診断を行う

AWSでの脆弱性診断といえば、AWS Inspectorです。
AWS Inspectorは、ホスト型のプラットフォーム診断を行います。
セキュリティパッチの適用状況を確認したり、OS設定に問題がないことを確認することが出来ます。

いつ何の診断をするか

攻撃を防ぐためにはプラットフォームレイヤとアプリケーションレイヤ両方の対策が必要です。
オンプレミスでも、サービスイン前に脆弱性診断を行いその後定期的に診断を行うかと思います。
基本的な考え方はAWSでもオンプレミスでも同じです。

AWS InspectorはAWSのサービスらしくCLIやSDKで実行する事が出来ます。
AWS Black Belt Online Seminarでは、継続的なデプロイとセキュリティ評価について紹介がありました。
設計段階でAWS Inspectorを取り入れることで、脆弱性診断を自動化することが可能です。

AWSへの申請

AWSの適正利用規約では、許可のないシステム脆弱性の調査、スキャン等が禁止されています。
診断を行う場合は、事前に侵入テスト申請が必要です。
AWS Inspectorの場合は、申請は不要です。

おわりに

脆弱性診断を分類してみました。
脆弱性診断はプラットフォームを対象にしたものとアプリケーションを対象にしたものがあります。
また、診断方法には3種類あります。
AWSへの申請が必要な点は注意が必要ですが、基本的な考え方はオンプレミスと同様です。

AWS Inspectorはホスト型でプラットフォームを診断します。また、AWSへの申請は不要です。
Inspectorの例のように、セキュリティも自動化が進んでいくと思いますのでキャッチアップしていきたいです。

参考