こんにちは、MS部の高橋(大)です。
みなさん Vuls と AWS Inspector はご存知でしょうか。
ともに脆弱性検知ツールです。Vuls はフューチャー株式会社が提供しているオープンソース(SaaS版 FutureVulsあり。後述)でして、AWS Inspectorは AWSより提供がされています。
本記事では、まず脆弱性検知ツールについての説明を行い、次に Vuls, AWS Inspector 各機能と、違いをご紹介します。
※用語について
脆弱性検知ツール (Vulnerability Scanner) は、脆弱性スキャンツール, 脆弱性スキャナ, 脆弱性検知ツール, 脆弱性検査ツール...等々呼ばれているようです。
本記事では IPAに倣い、「脆弱性検知ツール」というワードを利用したいと思います。
(参考) 脆弱性対策の効果的な進め方(ツール活用編)~ 脆弱性検知ツール Vuls を利用した脆弱性対策 ~
ちなみにAWS は AWS Inspector のことを「セキュリティ評価サービス(security assessment service)」と表しています。
脆弱性検知ツールについて
そもそも脆弱性検知ツールとは何なのか、またなぜ必要とされているのでしょうか。
脆弱性対策の作業フローをIPAがまとめています。
[caption id="attachment_73168" align="alignnone" width="1014"] IPA - 脆弱性対策の効果的な進め方(ツール活用編) (図 2-1-1 脆弱性対策のフロー)[/caption]
まず作業にあたっては、「どのサーバにどのソフトウェアが導入されているか」を調査する 対象ソフトウェアの把握 を行い、次に導入されているソフトウェアに脆弱性が公開されているか、 脆弱性関連情報の収集 (脆弱性情報データベースを参照する)を行います。
[caption id="attachment_73175" align="alignnone" width="674"] IPA - 脆弱性対策の効果的な進め方(ツール活用編) (図 2-2-1:情報収集から分析までのイメージ図)[/caption]
次に発見した脆弱性について、対策の判断を行います。脆弱性は稼働しているシステム環境によってリスクが異なるため、発見したもの全てを早急に対策する必要はありません。
脆弱性の攻撃コードが公開されているかといった情報や、危険度を把握し、自身のシステム環境と照らし合わせ、リスクに応じた対策が必要となります。適応判断の基準や、対応フローは、検証環境での事前のテストや対応方針の策定等を含め、事前に運用設計を行っておく必要があります。
脆弱性検知ツールは、上記作業フローにおける 対象ソフトウェアの把握 と、脆弱性関連情報の収集 を担当します。
以降は、脆弱性検知ツールとして有名な Vuls と AWS Inspector の仕様と、違いをご紹介します。
Vuls, AWS Inspector 比較
ざっと各種仕様を比較していきます。詳細は後ほど記載します。
Vuls | Amazon Inspector | |
料金 |
OSS SaaS版「FutureVuls」あり(4,000円/台, ボリュームディスカウントあり) |
従量課金
|
対象環境 | サーバ(クラウド, オンプレミス)、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 |
スキャン対象 |
|
|
スキャン内容 |
|
|
アウトプット形式 | 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.対応が必要と判断したものは、対応する
-
対応が必要な脆弱性(タスク)は、ユーザに対応をアサインする
-
パッチ適用▸ログインして手作業 or 管理画面からSSMでパッチ適用実行
- 対応が終わった脆弱性(タスク)は、「対応済み」として処理
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 のご利用をオススメします。