BLOG
2023 年 11 月 10 日
MIRACLE Vul Hammer V5 で脆弱性管理をしてみよう Part2 ~CPE スキャン編
本ブログでは、MIRACLE Vul Hammer V5 を用いた脆弱性管理について記載します。
はじめに
前回の「MIRACLE Vul Hammer V5 で脆弱性管理をしてみよう Part1 ~OVAL スキャン編」では、実際に脆弱性スキャンとタスク機能の使い方をご紹介しました。今回は、OVAL にはないパッケージの脆弱性スキャンとタスク管理についてご紹介します。
MIRACLE Vul Hammer を使ってみよう
それでは、以下の手順で実際に Vul Hammer を使ってみましょう。
- MIRACLE Vul Hammer の Web 画面にログイン
- スキャン対象を MIRACLE Vul Hammer に登録
- SBOM インポート(CPE の登録)
- タスクポリシーを作成
- 脆弱性スキャンを実施
- 脆弱性スキャンの結果を確認
- タスクの生成
- 脆弱性対策を実施
MIRACLE Vul Hammer の Web 画面にログイン
WebFrontendURL に Web ブラウザからアクセスします。
URL はデフォルトでは以下になります。
URL | http://<Vul Hammer Frontend が動作するサーバの IP アドレス >:8888/ |
---|
正常にアクセスできた場合、ログイン画面が表示されます。
<図 1. MIRACLE Vul Hammer のログイン画面>
メールアドレスとパスワードを入力してログインしてください。
構築直後の初期設定の場合、メールアドレスとパスワードは以下になります。
メールアドレス | admin@example.com |
---|---|
パスワード | password |
スキャン対象を MIRACLE Vul Hammer に登録
Vul Hammer は脆弱性管理を行いたいホストに対し、SSH や WinRM で接続を行ったうえで、スキャンの処理を実行します。
今回はスキャン対象である MIRACLE LINUX8.4 のサーバに SSH 接続の設定を事前に行っています。
SSH 接続の設定方法は割愛しますが、前回の「MIRACLE Vul Hammer V5 を構築してみよう」で SSH 接続設定方法の例を紹介しているため、気になる方はご参照ください。
Vul Hammer の Web 画面左側にあるサイドバーから「ホスト」を選択します。
ホスト画面では、Vul Hammer がスキャン対象とするホストの一覧が表示されます。
ここで表示されている「Vul Hammer Manager Host」は、Vul Hammer Manager が動いているサーバを表します。
<図 2. MIRACLE Vul Hammer のホスト画面>
ホスト画面右上にある「操作」メニューから「作成」をクリックします。
<図 3. MIRACLE Vul Hammer の操作メニュー>
各フォームに必要事項を入力します。以下は、脆弱性スキャンを実施するサーバを「app-server-cpe」という名前で登録する例です。
今回は CPE のみの脆弱性を確認したいため、「プラットフォーム」で「RHEL_Dummy」を選択します。RHEL_Dummy は OVAL が設定されていないため、OS に標準でインストールされたパッケージ等の脆弱性スキャンを行わず、CPE で登録したパッケージの脆弱性スキャンのみを行います。
入力が完了したら「送信」をクリックします。
<図 4. MIRACLE Vul Hammer のホスト作成画面>
正しく追加された場合は、ホストの一覧に「app-server-cpe」が追加されます。
<図 5. MIRACLE Vul Hammer のホスト画面>
注意
タイミングによってはエラー詳細に「Not synced yet.」と表示される場合があります。
Vul Hammer は Proxy ⇒ Manager 間で同期処理が1時間に1回行われており、Manager 側にはホストの情報が登録されているものの、Proxy 側にはホストの情報がまだ同期されていない状態です。
最大1時間経過すれば次の同期処理で Proxy 側に情報が渡りますが、ホスト登録後に即時同期させたい場合は、Proxy を再起動(systemctl restart vulhammer-proxy)する事で即時同期処理が実行されます。
SBOM インポート(CPE の登録)
CPE スキャンでは、OVAL ファイルには設定されていないソフトウェアの脆弱性を検出します。今回のスキャン対象サーバは Tomcat がインストールされているため、SBOM をインポートし、Tomcat の CPE ルールを登録します。
Vul Hammer の Web 画面左側にあるサイドバーから「ホスト」をクリックし、SBOM をインポートするホストを選択します。
すると、右側にホストの詳細が表示されるため、「CPE ルール」タブを選択し、「操作」メニューから「SBOM インポート」をクリックします。
<図 6. MIRACLE Vul Hammer のホスト画面>
SBOM インポート画面で、「追加」をクリックし、SBOM ファイルを選択後、「送信」をクリックする事で SBOM ファイルをインポートできます。
SBOM ファイルの作成方法はここでは割愛しますが、Vul Hammer では、SPDX 2.0 のフォーマットに準拠した JSON 形式のファイルがインポートできます。
<図 7. MIRACLE Vul Hammer の SBOM インポート画面>
正常にインポートが完了後、再度「CPE ルール」タブを選択すると、Tomcat が登録されているのが分かります。
<図 8. MIRACLE Vul Hammer のホスト画面>
また、CPE ルールの詳細の各項目は以下となります。
スクリプト | スキャン対象のソフトウェアのバージョンを出力するシェルコマンドやスクリプト (SBOM インポートでは標準で echo コマンドが入ります。これは SBOM 内に記載されているバージョンを明示的に返すようにするためです) |
---|---|
プロセス | スキャン対象のソフトウェアのプロセス名 (SBOM インポートでは標準で N/A が入ります) |
製品 | スキャン対象のソフトウェアの CPE におけるプロダクト名 |
ベンダー | スキャン対象となるソフトウェアの CPE におけるベンダ名 (SBOM インポートでは標準で N/A が入ります) |
ソフトウェア | スキャン対象のソフトウェアの CPE におけるソフトウェア名 (SBOM インポートでは標準で N/A が入ります) |
なお、SBOM インポートではなく、上記、CPE ルールを手入力で作成する場合は、登録したい製品名の CPE 情報を NVD 等から調べる必要があります。
また、必須ではありませんが、スキャン精度を上げるために以下も合わせて実施します。
上記でインポートした Tomcat の「CPE ルール」を選択し、 Web 画面右下の「編集」をクリックします。
<図 9. MIRACLE Vul Hammer のホスト画面>
表示された編集画面で「ベンダー」に「apache」と入力し、「送信」をクリックします。
<図 10. MIRACLE Vul Hammer の CPE ルール編集画面>
再度、CPE ルールを確認すると「ベンダー」の項目が「N/A」だったものが、「apache」になっています。
通常、SBOM の SPDX 2.0 フォーマットにはベンダーに該当する項目がないため、N/A となってしまいますが、ベンダー名を追加する事で脆弱性情報と突合する際の条件が増えるため、脆弱性の検出精度が高まります。
<図 11. MIRACLE Vul Hammer の CPE ルール画面>
タスクポリシーを作成
タスクポリシーを作成する事で、脆弱性スキャンを実施した際、ポリシーで設定した条件に一致する脆弱性を自動的にタスク化します。
Vul Hammer の Web 画面左側にあるサイドバーから「タスクポリシー」をクリックし、「操作」メニューから「作成」をクリックします。
<図 12. MIRACLE Vul Hammer の タスクポリシー画面>
作成画面で、「+」をクリックし、タスクを生成する際の条件を入力します。
今回は Tomcat の脆弱性を検出した際に自動でタスクを生成したいため、「条件式」の項目で
「CPE プロダクト正規表現 = tomcat」を設定し、タスクの優先度は「HIGH」とします。
<図 13. MIRACLE Vul Hammer の タスクポリシー作成画面>
正しく追加された場合は、タスクポリシーの一覧に作成したタスクポリシーが追加されます。
<図 14. MIRACLE Vul Hammer の タスクポリシー画面>
脆弱性スキャンを実施
Vul Hammer の Web 画面左側にあるサイドバーから「ホスト」を選択します。
表示されたホストから、上記手順で SBOM をインポートしたホストにチェックマークを付けます。
その後、画面中央の「操作」⇒「スキャン開始」をクリックします。
<図 15. MIRACLE Vul Hammer のホスト画面>
正常にスキャンが開始されると、スキャン対象の「状態」が「OVAL スキャンキューに追加されています」⇒「配信済み (OVAL スキャン ) 」⇒「スキャン中」へ遷移します。
<図 16. MIRACLE Vul Hammer のホスト画面>
脆弱性スキャンの結果を確認
スキャンの結果、検出された脆弱性は Vul Hammer の Web 画面左側にあるサイドバーから「CVE」をクリックすることで確認できます。
<図 17. MIRACLE Vul Hammer の脆弱性画面>
上記ではシステム全体の脆弱性が表示されるため、対象サーバのみの脆弱性を確認したい場合は、Vul Hammer の Web 画面左側にあるサイドバーから「ホスト」をクリックし、ホスト一覧から対象サーバを選択後、画面右側の「脆弱性(CVE)」タブをクリックすることで確認できます。
<図 18. MIRACLE Vul Hammer のホスト画面>
タスクの生成
対策すべき脆弱性をタスクとして登録することが出来ます。
また、タスク機能には Linux 系 OS を対象としたアップデートワークフローという機能もあります。
MIRACLE Vul Hammer Update Agent をスキャン対象にインストールすることで、dnf コマンド等でパッケージのアップデートするのではなく、Vul Hammer の Web 画面からパッケージのアップデートを行うことが可能です。
タスク機能の中のひとつではありますが、タスク機能とアップデートワークフロー機能はそれぞれ分離しており、別軸で考えます。タスクとアップデートワークフローの主なステータスの関連は以下のようになります。
Linux の場合
<図 19. タスク・アップデートワークフロー関連図>
Windows / NW 機器の場合
※ CPE で登録したソフトウェアの脆弱性をタスク生成する際もこちらに該当
<図 20. タスク・アップデートワークフロー関連図>
今回はタスクポリシーを事前に作成しているため、ポリシーで設定した条件に一致する脆弱性は自動的にタスク化されます。
Vul Hammer の Web 画面左側のサイドメニューから「タスク」をクリックします。
以下のように登録されたタスクが一覧で表示されます。
<図 21. MIRACLE Vul Hammer のタスク画面>
脆弱性対策の実施
今回は<図 19. タスク・アップデートワークフロー関連図>にある、「▼パターン D(アップデートしない場合)」を例に緩和策実施のワーフクローを試してみましょう。
緩和策を実施したい対象タスクをクリックし、タスク詳細画面を開きます。
その後、画面右側にある「編集」をクリックします。
<図 22. MIRACLE Vul Hammer のタスク画面>
表示された編集画面の「コメント」に対応内容を記載して記録を残しておきましょう。
なお、<図 19. タスク・アップデートワークフロー関連図>に記載の通り、CPE で登録したソフトウェアで検知された脆弱性のタスクは、アップデートワークフローが存在しないため、「アップデートワークフロー状態」は「未承認」から変更できません。
<図 23. MIRACLE Vul Hammer のタスク編集画面>
再度、Vul Hammer の Web 画面左側にあるサイドバーから「タスク」をクリックします。
緩和策を実施したタスクにチェックマークを付けた後に、「操作」⇒「緩和策実施完了」をクリックし、タスクのステータスを変更しましょう。
<図 24. MIRACLE Vul Hammer のタスク画面>
タスクの「状態」が「緩和策実施済み」に遷移し、緩和策で実施した対応内容は詳細画面のコメント欄に残りました。
<図 25. MIRACLE Vul Hammer のタスク画面>
おわりに
今回は、MIRACLE Vul Hammer を利用して、CPE で登録したソフトウェアの脆弱性を調べてみました。
本記事でも紹介したように、MIRACLE Vul Hammer では脆弱性スキャンや検知された脆弱性に対し、タスク管理をすることが出来ます。
気になった方は、是非評価版をお試しください!
MIRACLE Vul Hammer 評価版
実際の導入の前に、脆弱性管理ツール「MIRACLE Vul Hammer」をトライアルでご利用いただけます。導入検証や技術評価に是非ご活用ください。
本記事に関連するリンク
- MIRACLE Vul Hammer 製品紹介はこちら
脆弱性管理ツール MIRACLE Vul Hammer - MIRACLE Vul Hammer リリースノートはこちら
MIRACLE Vul Hammer サポート関連情報