Vuls と AWS Inspector のご紹介

AWS運用自動化サービス「Cloud Automator」

こんにちは、MS部の高橋(大)です。

みなさん Vuls と AWS Inspector はご存知でしょうか。

ともに脆弱性検知ツールです。Vuls はフューチャー株式会社が提供しているオープンソース(SaaS版 FutureVulsあり。後述)でして、AWS Inspectorは AWSより提供がされています。

本記事では、まず脆弱性検知ツールについての説明を行い、次に Vuls, AWS Inspector 各機能と、違いをご紹介します。

※用語について

脆弱性検知ツール (Vulnerability Scanner) は、脆弱性スキャンツール, 脆弱性スキャナ, 脆弱性検知ツール, 脆弱性検査ツール…等々呼ばれているようです。

本記事では IPAに倣い、「脆弱性検知ツール」というワードを利用したいと思います。
(参考) 脆弱性対策の効果的な進め方(ツール活用編)~ 脆弱性検知ツール Vuls を利用した脆弱性対策 ~

ちなみにAWS は AWS Inspector のことを「セキュリティ評価サービス(security assessment service)」と表しています。

脆弱性検知ツールについて

そもそも脆弱性検知ツールとは何なのか、またなぜ必要とされているのでしょうか。

脆弱性対策の作業フローをIPAがまとめています。

IPA – 脆弱性対策の効果的な進め方(ツール活用編) (図 2-1-1 脆弱性対策のフロー)

まず作業にあたっては、「どのサーバにどのソフトウェアが導入されているか」を調査する 対象ソフトウェアの把握 を行い、次に導入されているソフトウェアに脆弱性が公開されているか、 脆弱性関連情報の収集 (脆弱性情報データベースを参照する)を行います。

IPA – 脆弱性対策の効果的な進め方(ツール活用編) (図 2-2-1:情報収集から分析までのイメージ図)

次に発見した脆弱性について、対策の判断を行います。脆弱性は稼働しているシステム環境によってリスクが異なるため、発見したもの全てを早急に対策する必要はありません。

脆弱性の攻撃コードが公開されているかといった情報や、危険度を把握し、自身のシステム環境と照らし合わせ、リスクに応じた対策が必要となります。適応判断の基準や、対応フローは、検証環境での事前のテストや対応方針の策定等を含め、事前に運用設計を行っておく必要があります。

脆弱性検知ツールは、上記作業フローにおける 対象ソフトウェアの把握 と、脆弱性関連情報の収集 を担当します。

以降は、脆弱性検知ツールとして有名な Vuls と AWS Inspector の仕様と、違いをご紹介します。

Vuls, AWS Inspector 比較

ざっと各種仕様を比較していきます。詳細は後ほど記載します。

  Vuls Amazon Inspector
料金 OSS

SaaS版「FutureVuls」あり(4,000円/台, ボリュームディスカウントあり)

従量課金

  • ネットワークの評価 : 0.15 USD
  • ホストの評価 : 0.3 USD/1回の評価
    (250回を超える場合、ボリュームディスカウントあり)
対象環境 サーバ(クラウド, オンプレミス)、Docker EC2インスタンス
対象OS Amazon Linux, RHEL, CentOS, Ubuntu,Docker, etc…
FutureVuls では Windows対応
Amazon Linux1/2, Ubuntu, Debian, RHEL, CentOS, Windows(2008R2~2016)
対象へのログイン エージェントレス
(一般ユーザのSSH権限+ sudo権限)
エージェントを導入
(AWS Systems Managerからインストール可能)
操作 コマンド
(FutureVuls はGUIあり)
AWSマネジメントコンソール, API
スキャン対象
  • OS 管理下のパッケージ(ディストリビューションのパッケージ)

CPEに登録されているものであれば、ソースから自身でコンパイルしたもの、言語のライブラリ, フレームワークを検知対象にすることが可能(ユーザ自身でCPE名を明記する)

  • 共通脆弱性識別子(CVE)
    OS管理下のパッケージマネージャ(yum, MS Installer等)を使ってインストールしたソフトウェアのみ脆弱性の評価を行う。make installや、Ansible等のオートメーションソフトウェアでコピーしたバイナリファイルは評価しない
  • ネットワーク到達可能性
    VPC外からのEC2へのアクセスについて、VPC, SG等から、ネットワークの構成を分析し、ポートのアクセス可能性を示す
  • Center for Internet Security (CIS) ベンチマーク
    CISのルールパッケージに基づいたOSのセキュリティチェック(例: パスワード長が14字以上であるか)
  • Amazon Inspector のセキュリティのベストプラクティス
    Linuxのみ対応。AWSの用意した推奨設定の確認が行われる。(例: SSH経由のroot ログインを無効化されているか)
  • 実行時の動作の分析
    実行中のインスタンスの動作を分析する。(例: 安全でないログインプロトコルが利用されている)
スキャン内容
  • 脆弱性情報データベース
    • NVD
      JVN(Japanese)
      JPCERT
      USCERT
      Red Hat Security Advisories
      etc…
  • スキャン時間
    • ホストあたり数秒程度
  • 脆弱性情報データベース
    • NVD
      Amazon Linux AMI Security Advisory (ALAS)
  • スキャン時間
    時間は選択式。分析時間が長くなることで、詳細かつ包括的に確認を行う

    • 15分
      1時間(推奨)
      8時間
      12時間
      24時間
アウトプット形式 HTML, text, JSON 等
HTML, API, PDF(エグゼクティブレポートの出力対応)

Vuls について

Vuls はフューチャー社が開発した Linux等を対象にした脆弱性検知ツールです。OSSですので利用自体の費用は発生しませんが、代わりにVulsサーバの保守対応が必要となります。

検知対象は、AWSだけでなく、サーバであればオンプレミスにも対応しています。対象サーバにAgentの導入は不要で、SSH可能かつSudo権限のあるユーザを登録しておくことで、検知が可能になります。

AWS Inspector と比較すると、参照先の脆弱性情報データベースが豊富な点や、自身でコンパイルしたものも検知対象とできる点が挙げられます。ネットワークの驚異分析等は行わず、脆弱性の検知に特化されています。

操作は基本的にコマンドで行いますが、実行結果はブラウザから確認することが可能です。
 →サンプル : http://usiusi360.github.io/vulsrepo/

FutureVuls について

FutureVuls はVulsのSaaS版です。検知対象に Windows が加わっています。

GUI上でのタスクチケット管理から、アップデート用コマンドの表示など、サーバや脆弱性に関するタスクを一括で行うことが可能です。

AWS SSMエージェントとの連携を行うことで、スキャン, アップデートコマンドの実行によるパッケージアップデートを管理画面から行うことが可能になっています。

費用は 2019年8月時点で 4,000円/台 となっています(スキャン台数が100台以上で、ボリュームディスカウントあり)
https://vuls.biz/

設定からスキャン, および検知後の対応までの大まかな流れは、以下の通りです。

  1. 対象サーバにスキャナーをインストール
  2. 脆弱性の「重要な脆弱性の分類分け」のフィルタリング指定
  3. スキャン、脆弱性検出
    ▸発見した脆弱性は「タスク」とする
  4. 脆弱性(タスク)の対応判断
    1.対応が不要と判断したものは、「タスクを非表示」にして無視する
    2.対応が必要と判断したものは、対応する
  5. 対応が必要な脆弱性(タスク)は、ユーザに対応をアサインする
  6. パッチ適用
    ▸ログインして手作業 or 管理画面からSSMでパッチ適用実行
  7. 対応が終わった脆弱性(タスク)は、「対応済み」として処理

AWS Inspector について

AWS Inspector はAWSが提供しているサービスで、検知対象はEC2インスタンスのみとなっています。

Vuls と比較すると対応している脆弱性情報データベースは NVD, ALAS のみとなっていますが、ネットワーク構成やOSのセキュリティチェックや、動作分析がカバーされています。

実行結果はAWS管理コンソールから閲覧可能で、実行結果はユーザ自身で設定が必要ですが、Amazon SNSと連携して Slackに通知するなど、各種連携が可能です。

デフォルトでエグゼクティブレポートの出力に対応しています(現在は英語のみ)。
Amazon Web Services ブログ – Amazon Inspector の更新 – 評価レポート、プロキシサポートなど

AWS Inspector のスキャンについて

スキャンの方法については、以前の記事をご覧ください。
2016年の記事ですが、手順に大きな変更点はありません。

サーバーワークスエンジニアブログ – GA リリースとなった Amazon Inspector の使い方をまとめました

まとめ

Vuls (FutureVuls) と AWS Inspector を比較しますと、それぞれ条件によって使い分けるのがいいかと思います。

  • 脆弱性検知に特化する場合 : Vuls (FutureVuls)
  • 脆弱性検知に特化せず、OSやネットワークのセキュリティチェックも行いたい場合 : AWS Inspector

FutureVuls であれば発見した脆弱性の管理や対処方法が確認でき、AWS SSM との連携を行うことで、管理画面からの操作が可能です。また FutureVuls でしたら Windows に対応がされています。

対象がEC2で 脆弱性検知に特化せず、OSやネットワークのセキュリティチェックも希望されるのであれば、AWS Inspector のご利用をオススメします。

脆弱性の管理

脆弱性の管理面では、 Vuls, AWS Inspector はどちらも検知のみになっています。検知後の対応は、全てユーザ側で対応が必要となります。

検知した脆弱性の優先順位付けやパッチ適用の運用までのサポートをご希望でしたら、より高機能な FutureVuls のご利用をオススメします。

AWS運用自動化サービス「Cloud Automator」