頻繁に出るIT製品の脆弱性情報をどう効率よく管理するかが、セキュリティ担当者にとって悩みどころだ。Excelの「XLOOKUP関数」を使えば、脆弱性管理のスピードを高められる。
セキュリティ担当者にとって悩みの一つである脆弱(ぜいじゃく)性管理。攻撃や他のセキュリティインシデントを防ぐために素早い対応が求められる。しかし、情報処理推進機構(IPA)など外部の脆弱性情報を社内のIT資産リストと突き合わせて「どの脆弱性がどのシステムに該当するか」の確認作業が非効率で、対応に時間がかかってしまう――。
実は「Microsoft Excel」の「XLOOKUP関数」を使えば、脆弱性管理の作業の効率性を上げ、対応の迅速化につなげることができる。本稿はその具体的な手順を簡潔に紹介する。
XLOOKUPは、検索する値を指定したセルの範囲で縦方向に検索し、一致したセルの右側のセルにある列の値を返す関数だ。基本構造は以下の通りで、覚えておくと便利だろう。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, 見つからない場合)
では、XLOOKUPを使って、脆弱性情報リストとIT資産リストの突合を高速化させるための手順を見てみよう。
本稿で解説する手順では、以下の2つのシートが同一のExcelファイル内に存在することを前提とする。
ITベンダーなどによって脆弱性情報が公表されたら、脆弱(ぜいじゃく)性識別子「CVE」(Common Vulnerabilities and Exposures)が割り当てられる。ステップ1では、IT資産リストのD2セル(該当CVE)に以下を入れる。
=XLOOKUP(B2&"-"&C2,Vuln!$A:$A&"-"&Vuln!$B:$B,Vuln!$C:$C,"なし")
「B2&"-"&C2」はIT資産リスト側での結合キーを作り、「Vuln!$A:$A&"-"&Vuln!$B:$B」は脆弱性リスト側でも結合キーを作成する。この式は、同じキーをもつ行のCVE-ID(Vuln!$C:$C)を返し、見つからなければ「なし」とする。
この式を使うことによって、「製品名だけ」「バージョンだけ」では一意にならない場合でも情報を突合できる。パッチ(修正プログラム)適用対象の抽出が一瞬で終わることも、この式を利用するメリットだ。
1つの製品に複数の脆弱性が存在するケースがある。その場合、XLOOKUPで最初の1件しか返せない。このときは、XLOOKUPをFILTER関数と組み合わせることで、複数の脆弱性への対応が可能になる。IT資産リストのD2セルに以下を入れる。
=TEXTJOIN(",",TRUE,FILTER(Vuln!$C:$C,(Vuln!$A:$A=B2)*(Vuln!$B:$B=C2),"なし"))
この式のメリットは、特定のIT資産の全CVEを1セルにまとめて表示できることや、「優先度順に並べる」「重大な脆弱性のみ抽出」といった拡張ができることだ。
脆弱性には、その危険度を10段階で示す「CVSSスコア」が付けられる。CVSSは「Common Vulnerability Scoring System」の略だ。セキュリティ担当者はCVSSスコアを見れば、対応の緊急性について判断しやすくなる。このステップでは、IT資産リストにE列(CVSS)を追加し、E列に以下を入れる。
=MAX(FILTER(Vuln!$D:$D,(Vuln!$A:$A=B2)*(Vuln!$B:$B=C2)))
この式によって、該当する全ての脆弱性の中から最も深刻なもの(最大CVSSスコア)を取得する。
Copyright © ITmedia, Inc. All Rights Reserved.
なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか
メインフレームを支える人材の高齢化が進み、企業の基幹IT運用に大きなリスクが迫っている。一方で、メインフレームは再評価の時を迎えている。

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...