IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズの特許一覧

特許7526137セキュリティ情報調査システム、およびセキュリティ情報調査方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-23
(45)【発行日】2024-07-31
(54)【発明の名称】セキュリティ情報調査システム、およびセキュリティ情報調査方法
(51)【国際特許分類】
   G06F 21/56 20130101AFI20240724BHJP
   G06N 20/00 20190101ALI20240724BHJP
   G06N 3/08 20230101ALI20240724BHJP
【FI】
G06F21/56 340
G06N20/00 160
G06N3/08
【請求項の数】 15
(21)【出願番号】P 2021094538
(22)【出願日】2021-06-04
(65)【公開番号】P2022186363
(43)【公開日】2022-12-15
【審査請求日】2024-01-31
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】杉本 暁彦
(72)【発明者】
【氏名】重本 倫宏
(72)【発明者】
【氏名】磯部 義明
(72)【発明者】
【氏名】川口 信隆
【審査官】辻 勇貴
(56)【参考文献】
【文献】特開2015-011626(JP,A)
【文献】国際公開第2018/159010(WO,A1)
【文献】Nitin Naik et al.,"Cyberthreat Hunting - Part2: Tracking Ransomware Threat Actors using Fuzzy Hashing and Fuzzy C-Means Clustering",2019 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE),2019年,pp.1-6,doi: 10.1109/FUZZ-IEEE.2019.8858825.
【文献】Donghoon Kim et al.,"Scalable and Multifaceted Search and Its Application for Binary Malware Files",IEEE Access,2021年,Vol.9,pp.112770-112779,doi: 10.1109/ACCESS.2021.3102157.
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
G06N 20/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
セキュリティ公開情報、ファジーハッシュ情報、およびマルウェアクラス情報を取得する情報収集部と、
調査対象のマルウェアのファジーハッシュ値とマルウェアクラスとに基づき当該マルウェアの特徴量を算出するマルウェア特徴量算出部と、
前記セキュリティ公開情報に記載されているマルウェアの特徴量に基づきセキュリティ公開情報の特徴量を算出するセキュリティ公開情報特徴量算出部と、
前記調査対象のマルウェアの特徴量と前記セキュリティ公開情報の特徴量との間の類似度を算出し、前記類似度に基づき前記調査対象のマルウェアに関連する前記セキュリティ公開情報を検索する類似検索部と、
を備えるセキュリティ情報調査システム。
【請求項2】
請求項1に記載のセキュリティ情報調査システムであって、
一種以上のファジーハッシュ値とマルウェアクラスとを入力層の値とするニューラルネットワークを用いた特徴量算出モデルを学習する特徴量算出モデル学習部を更に備え、
前記マルウェア特徴量算出部は、前記特徴量算出モデルを用いてマルウェアの特徴量を算出する、
セキュリティ情報調査システム。
【請求項3】
請求項2に記載のセキュリティ情報調査システムであって、
前記特徴量算出モデル学習部は、一種以上のファジーハッシュ値とマルウェアクラスとを入力層の値とし、特徴量を中間層の値とし、一種以上の前記ファジーハッシュ値と前記マルウェアクラスとを出力層の値とする前記特徴量算出モデルを教師なし学習する、
セキュリティ情報調査システム。
【請求項4】
請求項1に記載のセキュリティ情報調査システムであって、
前記情報収集部は、マルウェアの表層解析情報を更に取得し、
前記マルウェア特徴量算出部は、マルウェアに対応する一種以上のファジーハッシュ値、マルウェアクラス、およびマルウェア表層解析情報に基づきマルウェアの特徴量を算出する、
セキュリティ情報調査システム。
【請求項5】
請求項4に記載のセキュリティ情報調査システムであって、
一種以上のファジーハッシュ値、マルウェアクラス、およびマルウェア表層解析情報を入力層の値とするニューラルネットワークを用いて特徴量算出モデルを学習する特徴量算出モデル学習部を更に備え、
前記マルウェア特徴量算出部は、前記特徴量算出モデルを用いてマルウェアの特徴量を算出する、
セキュリティ情報調査システム。
【請求項6】
請求項5に記載のセキュリティ情報調査システムであって、
前記特徴量算出モデル学習部は、一種以上のファジーハッシュ値、マルウェアクラス、およびマルウェア表層解析情報を入力層の値とし、特徴量を中間層の値とし、一種類以上の前記ファジーハッシュ値、前記マルウェアクラス、および前記マルウェア表層解析情報を出力層とするニューラルネットワークを用いて特徴量算出モデルを教師なし学習する、
セキュリティ情報調査システム。
【請求項7】
請求項1に記載のセキュリティ情報調査システムであって、
一種以上のファジーハッシュ値、あるいはマルウェアクラスを入力層の値とし、入力層
の値としなかった一種類以上のファジーハッシュ値、あるいはマルウェアクラスを出力層の値とするニューラルネットワークを用いて欠落データ補填モデルを学習する欠落データ補填モデル算出モデル学習部と、
調査対象のマルウェアについての一種類以上のファジーハッシュ値、あるいはマルウェアクラスのうち、いずれか一つ以上が前記情報収集部が収集した情報に存在しない場合、調査対象のマルウェアについての、存在する一種類以上のファジーハッシュ値、あるいはマルウェアクラスを入力層の値とし、調査対象のマルウェアについての、存在しない一種類以上のファジーハッシュ値、あるいはマルウェアクラスを出力層の値とする前記欠落データ補填モデルを用いて、調査対象のマルウェアについての、存在しない一種類以上のファジーハッシュ値、あるいはマルウェアクラスの近似値を算出して補填する欠落データ補填部と、
を更に備えるセキュリティ情報調査システム。
【請求項8】
請求項1に記載のセキュリティ情報調査システムであって、
前記類似検索部は、前記調査対象のマルウェアの特徴量と検索した前記セキュリティ公開情報の特徴量との間の類似度を記載した画面を生成して出力する、
セキュリティ情報調査システム。
【請求項9】
請求項1に記載のセキュリティ情報調査システムであって、
前記類似検索部は、前記調査対象のマルウェアの特徴量と検索した前記セキュリティ公開情報の特徴量とを重ねて表示したグラフを記載した画面を生成して出力する、
セキュリティ情報調査システム。
【請求項10】
請求項1に記載のセキュリティ情報調査システムであって、
インターネットに接続するための通信装置を更に備え、
前記情報収集部は、前記セキュリティ公開情報、前記ファジーハッシュ情報、および前記マルウェアクラス情報をインターネット上で情報公開を行うサーバ装置から取得する、
セキュリティ情報調査システム。
【請求項11】
プロセッサおよびメモリを有する情報処理装置を用いて構成されるセキュリティ情報調査システムが、
セキュリティ公開情報、ファジーハッシュ情報、およびマルウェアクラス情報を取得するステップと、
調査対象のマルウェアのファジーハッシュ値とマルウェアクラスとに基づき当該マルウェアの特徴量を算出するステップと、
前記セキュリティ公開情報に記載されているマルウェアの特徴量に基づきセキュリティ公開情報の特徴量を算出するステップと、
前記調査対象のマルウェアの特徴量と前記セキュリティ公開情報の特徴量との間の類似度を算出し、前記類似度に基づき前記調査対象のマルウェアに関連する前記セキュリティ公開情報を検索するステップと、
を実行する、セキュリティ情報調査方法。
【請求項12】
請求項11に記載のセキュリティ情報調査方法であって、
前記セキュリティ情報調査システムが、
一種以上のファジーハッシュ値とマルウェアクラスとを入力層の値とするニューラルネットワークを用いた特徴量算出モデルを学習するステップと、
前記特徴量算出モデルを用いてマルウェアの特徴量を算出するステップと、
を更に実行する、セキュリティ情報調査方法。
【請求項13】
請求項12に記載のセキュリティ情報調査方法であって、
前記セキュリティ情報調査システムが、一種以上のファジーハッシュ値とマルウェアクラスとを入力層の値とし、特徴量を中間層の値とし、一種以上の前記ファジーハッシュ値と前記マルウェアクラスとを出力層の値とする前記特徴量算出モデルを教師なし学習するステップ
を更に実行する、セキュリティ情報調査方法。
【請求項14】
請求項11に記載のセキュリティ情報調査方法であって、
前記セキュリティ情報調査システムが、
一種以上のファジーハッシュ値、あるいはマルウェアクラスを入力層の値とし、入力層の値としなかった一種類以上のファジーハッシュ値、あるいはマルウェアクラスを出力層の値とするニューラルネットワークを用いて欠落データ補填モデルを学習するステップと、
調査対象のマルウェアについての一種類以上のファジーハッシュ値、あるいはマルウェアクラスのうち、いずれか一つ以上が取得した情報に存在しない場合、調査対象のマルウェアについての、存在する一種類以上のファジーハッシュ値、あるいはマルウェアクラスを入力層の値とし、調査対象のマルウェアについての、存在しない一種類以上のファジーハッシュ値、あるいはマルウェアクラスを出力層の値とする前記欠落データ補填モデルを用いて、調査対象のマルウェアについての、存在しない一種類以上のファジーハッシュ値、あるいはマルウェアクラスの近似値を算出して補填するステップと、
を更に実行する、セキュリティ情報調査方法。
【請求項15】
請求項11に記載のセキュリティ情報調査方法であって、
前記セキュリティ情報調査システムが、前記調査対象のマルウェアの特徴量と検索した前記セキュリティ公開情報の特徴量との間の類似度、または、前記調査対象のマルウェアの特徴量と検索した前記セキュリティ公開情報の特徴量とを重ねて表示したグラフを記載した画面を生成して出力するステップ、
を更に実行する、セキュリティ情報調査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュリティ情報調査システム、およびセキュリティ情報調査方法に関する。
【背景技術】
【0002】
特許文献1には、セキュリティに関する有用な情報を容易に取得可能な技術を提供することを目的として構成された、セキュリティ情報分析装置について記載されている。セキュリティ情報分析装置は、あるセキュリティ事象に関する情報を表すセキュリティ情報を情報提供元から取得する一つ以上のセキュリティ情報収集部と、入力として受け付けたセキュリティ情報に応じて一つ以上のセキュリティ情報収集部に関する重みを算出する分析モデルを作成する学習部と、を備える。学習部は、あるセキュリティ事象について予め収集された複数のセキュリティ情報を含む訓練データを用いて、ある一つの訓練データに含まれるセキュリティ情報に応じて、その訓練データに含まれる他のセキュリティ情報を情報提供元から取得することができるセキュリティ情報収集部の重みが大きくなるように、分析モデルを学習する。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2018/139458号
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、サイバー攻撃が急増しており、その攻撃手段も複雑化している。現状では複雑なサイバー攻撃の検知から対処までを完全に機械化することは難しく、人手で対処する必要がある。そのため、セキュリティの専門家が集って企業等の顧客のIT環境のセキュリティ管理を代行するSOC(Security Operation Center)と呼ばれる組織の重要性が高ま
っている。SOCの重要な役割の一つは、顧客のIT環境に設置されているEDR製品(EDR:Endpoint Detection and Response)が検知したマルウェアについて、顧客に適切な対処を促すことである。
【0005】
顧客のIT環境においてマルウェアが検知された場合、SOCの業務担当者は、検知されたマルウェアに関連するセキュリティ公開情報を調査する。しかし、インターネット上では日々大量の情報が発信されており、雑多な情報の中から何の手がかりもない状態で対象のマルウェアについての公開情報を調査することは必ずしも容易ではない。そのため、セキュリティ分野では、IoC(Indicator of Compromise)と呼ばれる検索キーワード
が定義されており、調査等の便宜のためにIoCを記載して情報公開することが一般的となっている。例えば、マルウェアに関する解説記事の場合、IoCの一種であるマルウェアのファイルハッシュ値を公開情報の記事中に記載することが多い。
【0006】
特許文献1では、ファイルハッシュ値等のIoCを検索キーとして、様々な情報源が公開している情報を一斉検索する。また、特許文献1では、ユーザの公開情報の利用実績等を訓練データとして学習することで、公開情報に重みを付け、優先度付けを行い、調査対象のマルウェアから計算したファイルハッシュ値と公開情報に記載されているファイルハッシュ値とが完全一致すれば、関連する公開情報を優先度を付して提示する。
【0007】
しかし、特許文献1の技術では、完全一致となる場合以外は意味を持たないハッシュアルゴリズムに基づき検索を行うため、調査対象のマルウェアと類似するマルウェアに関す
る公開情報については検索することができない。攻撃者は公知のマルウェアを攻撃に利用することが多いが、その場合、攻撃対象に合わせてマルウェアを改変していることが多く、類似するマルウェアに関する公開情報は、マルウェアに対する適切な対策を講じる上で重要な情報となる。
【0008】
尚、マルウェア間の類似性を評価する指標として、ファジーハッシュアルゴリズムが存在する。しかし、セキュリティ分野においては、公開情報にファイルハッシュ値のみを記載するのが一般的であり、ファジーハッシュ値を検索キーとして検索できる公開情報は限定される。
【0009】
本発明は、上記事情に鑑みなされたものであり、マルウェアに関する情報の調査を効率よく行うことが可能な、セキュリティ情報調査システム、およびセキュリティ情報調査方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一様態は、セキュリティ情報調査システムであって、セキュリティ公開情報、ファジーハッシュ情報、およびマルウェアクラス情報を取得する情報収集部と、調査対象のマルウェアのファジーハッシュ値とマルウェアクラスとに基づき当該マルウェアの特徴量を算出するマルウェア特徴量算出部と、前記セキュリティ公開情報に記載されているマルウェアの特徴量に基づきセキュリティ公開情報の特徴量を算出するセキュリティ公開情報特徴量算出部と、前記調査対象のマルウェアの特徴量と前記セキュリティ公開情報の特徴量との間の類似度を算出し、前記類似度に基づき前記調査対象のマルウェアに関連する前記セキュリティ公開情報を検索する類似検索部と、を備える。
【0011】
その他、本願が開示する課題、およびその解決方法は、発明を実施するための形態の欄、および図面により明らかにされる。
【発明の効果】
【0012】
本発明によれば、マルウェアに関する情報の調査を効率よく行うことができる。
【図面の簡単な説明】
【0013】
図1】セキュリティ情報調査システムの構成図である。
図2】公開情報配信サーバが備える主な機能を示す図である。
図3】ファジーハッシュ情報配信サーバが備える主な機能を示す図である。
図4】マルウェアクラス情報配信サーバが備える主な機能を示す図である。
図5】脅威情報調査サーバが備える主な機能を示す図である。
図6】EDR装置が備える主な機能を示す図である。
図7】SOC業務端末が備える主な機能を示す図である。
図8】顧客業務端末が備える主な機能を示す図である。
図9】セキュリティ情報調査システムの構成に用いる情報処理装置のハードウェア構成例である。
図10】データベースに管理される主なテーブルを示す図である。
図11】公開情報テーブルのレコード構成を説明する図である。
図12】ファジーハッシュ情報テーブルのレコード構成を説明する図である。
図13】マルウェアクラス情報テーブルのレコード構成を説明する図である。
図14】欠落データ補填モデル情報テーブルのレコード構成を説明する図である。
図15】トピック推定モデル情報テーブルのレコード構成を説明する図である。
図16】特徴量算出モデル学習処理のシーケンス図である。
図17】特徴量算出モデル生成処理および特徴量算出モデルを説明する図である。
図18】欠落データ補填モデル生成処理および欠落データ補填モデルを説明する図である。
図19】公開情報特徴量算出処理を説明するシーケンス図である。
図20】マルウェア調査処理のシーケンス図である。
図21】EDR検知結果画面の一例である。
図22】類似検索結果画面の一例である。
図23】マルウェアレポート画面の一例である。
【発明を実施するための形態】
【0014】
以下、一実施形態について図面を参照しつつ説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。
【0015】
以下の説明において、同一のまたは類似する構成について同一の符号を付して重複した説明を省略することがある。以下の説明において、符号の前に付した「S」の文字は処理ステップを意味する。以下の説明において、「テーブル」、「情報」等の表現にて各種情報を説明することがあるが、情報はこれら以外のデータ構造で表現されていてもよい。
【0016】
図1に、本発明の一実施形態として示すセキュリティ情報調査システム1の概略的な構成を示している。セキュリティ情報調査システム1は、インターネットにおいて情報提供を行う、公開情報配信サーバ102、ファジーハッシュ情報配信サーバ103、およびマルウェアクラス情報配信サーバ104と、SOC側に設けられる、脅威情報調査サーバ105、SOC業務端末106、およびデータベース107と、顧客のIT環境に設けられる、EDR装置108および顧客業務端末109と、を含む。
【0017】
同図に示すように、公開情報配信サーバ102、ファジーハッシュ情報配信サーバ103、マルウェアクラス情報配信サーバ104、脅威情報調査サーバ105、EDR装置108、SOC業務端末106、顧客業務端末109、およびデータベース107は、ネットワーク110(110_1~110_n)を介して互いに双方向通信が可能な状態で接続されている。例えば、脅威情報調査サーバ105は、公開情報配信サーバ102、ファジーハッシュ情報配信サーバ103、およびマルウェアクラス情報配信サーバ104と、ネットワーク110_1(例えば、インターネット(Internet))を介して通信可能に接続されている。また例えば、脅威情報調査サーバ105は、SOC業務端末106およびデータベース107と、ネットワーク110_2(例えば、イントラネットワーク(Intranet))を介して通信可能に接続されている。また例えば、SOC業務端末106は、EDR装置108および顧客業務端末109と、ネットワーク110_3(例えば、VPN(Virtual Private Network))を介して通信可能に接続されている。
【0018】
尚、本実施形態においては、ネットワーク110_1、110_2、110_3は異なるネットワークとして示すが、これらの一つ以上は同一のネットワークであってもよい。また、図1に示したセキュリティ情報調査システム1の各構成要素は、必要に応じて複数としてもよい。また、データベース107は、例えば、ネットワークストレージ等の脅威情報調査サーバ105の外部の記憶装置に構築してもよい。
【0019】
公開情報配信サーバ102は、外部機関等により運用され、セキュリティに関する公開情報を配信する情報処理装置であり、例えば、マルウェアに関するニュース記事等の情報(以下、「公開情報」と称する。)をインターネット上で提供するニュースサイトである。
【0020】
ファジーハッシュ情報配信サーバ103は、外部機関等により運用され、マルウェアに
対応するファジーハッシュ値に関する情報(以下、「ファジーハッシュ情報」と称する。)を配信する情報処理装置であり、例えば、マルウェア解析サービスを提供する情報処理装置である。
【0021】
マルウェアクラス情報配信サーバ104は、外部機関等により運用され、マルウェアに対応するマルウェアが分類されるクラスに関する情報(以下、「マルウェアクラス情報」と称する。)を配信する情報処理装置であり、例えば、マルウェア解析サービスを提供する情報処理装置である。
【0022】
脅威情報調査サーバ105は、データベース107に格納されている情報に基づき、主としてセキュリティ情報の調査に関する各種の処理の実行やサービスの提供を行うサーバ装置である。
【0023】
SOC業務端末106は、SOCの業務担当者が操作する情報処理装置(端末装置)である。SOCの業務担当者は、SOC業務端末106を操作して脅威情報調査サーバ105を利用する。また、SOCの業務担当者は、SOC業務端末106を介して、脅威情報調査サーバ105が行った処理の結果、例えば、調査対象のマルウェアや当該マルウェアに類似するマルウェアの公開情報(以下、「類似検索結果」と称する。)を確認する。
【0024】
顧客業務端末109は、SOCを利用する顧客が操作する情報処理装置である。顧客業務端末109は、SOCの業務担当者が類似検索結果に基づき作成したマルウェアレポートの主たる出力先となる装置である。
【0025】
データベース107は、公開情報配信サーバ102から取得したセキュリティ公開情報に関する情報、ファジーハッシュ情報配信サーバ103から取得したファジーハッシュ情報、マルウェアクラス情報配信サーバ104から取得したマルウェアクラス情報、欠落データ(ファジーハッシュ値または後述のマルウェアクラス)の補填に際して用いる機械学習モデルである後述の欠落データ補填モデルに関する情報、マルウェアの特徴量の算出に際して用いる機械学習モデルである後述の特徴量算出モデルに関する情報等を格納する。データベース107は、脅威情報調査サーバ105からのリクエストに応じて、格納している情報を脅威情報調査サーバ105に提供する。
【0026】
EDR装置108(EDR:Endpoint Detection and Response)は、顧客のIT環境において、エンドポイントの操作や動作の監視、サイバー攻撃を受けたことの検知、サイバー攻撃に対する対処等に関する処理を行う情報処理装置である。EDR装置108は、例えば、不審な振る舞いをするプログラム(実行ファイル等)をマルウェアとして検知する。
【0027】
図2に公開情報配信サーバ102が備える主な機能を示す。公開情報配信サーバ102は、送受信部201および制御部202の各機能を備える。送受信部201は、ネットワーク110_1を介して脅威情報調査サーバ105と情報の送受信を行う。制御部202は、公開情報配信部203を有する。公開情報配信部203は、公開情報の識別子や公開情報の本文等の情報を、送受信部201を介して脅威情報調査サーバ105に送信する。
【0028】
図3にファジーハッシュ情報配信サーバ103が備える主な機能を示す。同図に示すように、ファジーハッシュ情報配信サーバ103は、送受信部301および制御部302の各機能を備える。送受信部301は、ネットワーク110_1を介して脅威情報調査サーバ105と情報の送受信を行う。制御部302は、ファジーハッシュ情報配信部303を備える。ファジーハッシュ情報配信部303は、マルウェアに対応するファジーハッシュ値の情報を、送受信部201を介して、脅威情報調査サーバ105に送信する。
【0029】
図4にマルウェアクラス情報配信サーバ104が備える主な機能を示す。同図に示すように、マルウェアクラス情報配信サーバ104は、送受信部401および制御部402の各機能を備える。送受信部401は、ネットワーク110_1を介して脅威情報調査サーバ105と情報の送受信を行う。制御部402は、マルウェアクラス情報配信部403を備える。マルウェアクラス情報配信部403は、マルウェアクラス情報を送受信部201を介して脅威情報調査サーバ105に送信する。
【0030】
図5に脅威情報調査サーバ105が備える主な機能を示す。同図に示すように、脅威情報調査サーバ105は、送受信部501および制御部502の各機能を備える。
【0031】
送受信部501は、ネットワーク110_1を介して、公開情報配信サーバ102、ファジーハッシュ情報配信サーバ103、およびマルウェアクラス情報配信サーバ104と情報の送受信を行う。また、送受信部501は、ネットワーク110_2を介して、SOC業務端末106およびデータベース107と情報の送受信を行う。
【0032】
同図に示すように、制御部502は、公開情報収集部503(情報収集部)、ファイルハッシュ値抽出部504、ファジーハッシュ情報収集部505、マルウェアクラス情報収集部506、欠落データ補填モデル学習部507、欠落データ補填部508、特徴量算出モデル学習部509、マルウェア特徴量算出部510、公開情報特徴量算出部511、および類似検索部512の各機能を含む。
【0033】
このうち公開情報収集部503は、公開情報配信サーバ102から公開情報を受信し、受信した公開情報をデータベース107に格納する。ファイルハッシュ値抽出部504は、公開情報に記載されているファイルハッシュ値を抽出し、抽出したファイルハッシュ値をデータベース107に格納する。
【0034】
ファジーハッシュ情報収集部505は、ファジーハッシュ情報配信サーバ103からファジーハッシュ情報を受信し、受信したファジーハッシュ情報をデータベース107に格納する。マルウェアクラス情報収集部506は、マルウェアクラス情報配信サーバ104からマルウェアクラス情報を受信し、受信したマルウェアクラス情報をデータベース107に格納する。
【0035】
欠落データ補填モデル学習部507は、欠落データが存在するデータを学習データとして学習することにより、欠落データが存在しないデータを補填するための機械学習モデルである欠落データ補填モデルを生成する。尚、本実施形態では、欠落データ補填モデルは、ニューラルネットワーク(NN(Neural Network)、DNN(Deep Neural Network)
)であるものとする。欠落データ補填モデルの詳細については後述する。欠落データ補填部508は、欠落データ補填モデルを利用して欠落のあるデータを補填する。
【0036】
特徴量算出モデル学習部509は、ファジーハッシュ値とマルウェアクラスと対応づけた情報を入力とする教師なし学習を行うことにより、マルウェアの特徴量を算出する機械学習モデルである特徴量算出モデルを生成する。尚、本実施形態では、特徴量算出モデルは、ニューラルネットワーク(NN(Neural Network)、DNN(Deep Neural Network
))であるものとする。
【0037】
マルウェア特徴量算出部510は、特徴量算出モデルを利用してマルウェアの特徴量を算出する。公開情報特徴量算出部511は、公開情報に記載されているマルウェアの特徴量に基づき公開情報の特徴量を算出する。
【0038】
類似検索部512は、調査対象のマルウェアの特徴量と公開情報の特徴量とを対照する
ことにより、調査対象のマルウェアに関する情報を含む公開情報を検索する。
【0039】
図6にEDR装置108が備える主な機能を示す。同図に示すように、EDR装置108は、送受信部601および制御部602の各機能を含む。送受信部601は、ネットワーク110_3を介してSOC業務端末106と情報の送受信を行う。制御部602は、EDR検知結果配信部603を備える。EDR検知結果配信部603は、顧客のIT環境において不審な振る舞いをするプログラム(実行ファイル等)をマルウェアとして検知し、当該マルウェアの検体(以下、「マルウェア検体」と称する。)を含む検知結果を送受信部601を介してSOC業務端末106に送信する。
【0040】
図7にSOC業務端末106が備える主な機能を示す。同図に示すように、SOC業務端末106は、送受信部701、入出力部702、および制御部703を含む。
【0041】
送受信部701は、ネットワーク110_2を介して脅威情報調査サーバ105と情報の送受信を行う。また、送受信部701は、ネットワーク110_3を介してEDR装置108および顧客業務端末109と情報の送受信を行う。入出力部702は、キーボード等のインタフェース機器を介してSOCの業務担当者からの入力を実行する。また、入出力部702は、モニタ等のインタフェース機器を介してSOCの業務担当者向けの出力処理を実行する。
【0042】
同図に示すように、制御部703は、EDR検知結果表示部704、類似検索結果表示部705、およびマルウェアレポート配信部706の各機能を含む。EDR検知結果表示部704は、EDR装置108から受信した検知結果の情報を画面(後述するEDR検知結果画面2101)に表示する。類似検索結果表示部705は、調査対象のマルウェアを入力し、脅威情報調査サーバ105から、調査対象のマルウェアに関連する情報を含む公開情報を受信し、受信した公開情報の内容を記載した画面(後述する類似検索結果画面2201)を生成して表示する。マルウェアレポート配信部706は、マルウェアに関するレポート(後述するマルウェアレポート画面2301)を顧客業務端末109に送信する。
【0043】
図8に顧客業務端末109が備える主な機能を示す。同図に示すように、顧客業務端末109は、送受信部801、入出力部802、および制御部803の各機能を備える。送受信部801は、ネットワーク110_3を介してSOC業務端末106との間で情報の送受信を行う。入出力部702は、キーボード等のインタフェース機器を介して顧客からの入力を受け付ける。また、入出力部702は、ディスプレイ等のインタフェース機器を介して顧客向けの情報提供に関する処理を行う。制御部703は、マルウェアレポート表示部804を備える。マルウェアレポート表示部804は、SOC業務端末106から受信したマルウェアレポートを記載した画面(後述するマルウェアレポート画面2301)を表示する。
【0044】
続いて、本実施形態のセキュリティ情報調査システム1を構成する装置のハードウェア構成について説明する。
【0045】
図9に、セキュリティ情報調査システム1の実現に用いる情報処理装置(コンピュータ)のハードウェア構成の一例を示す。セキュリティ情報調査システム1の構成要素である、公開情報配信サーバ102、ファジーハッシュ情報配信サーバ103、マルウェアクラス情報配信サーバ104、脅威情報調査サーバ105、EDR装置108、SOC業務端末106、および顧客業務端末109は、例えば、同図に示す情報処理装置10を用いて実現される。
【0046】
例示する情報処理装置10は、プロセッサ11、主記憶装置12(メモリ)、補助記憶装置13(外部記憶装置)、入力装置14、出力装置15、および通信装置16を備える。情報処理装置10の例として、パーソナルコンピュータ、サーバ装置、スマートフォン、タブレット、汎用機(メインフレーム)等がある。
【0047】
情報処理装置10は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。
また、情報処理装置10によって提供される機能の全部または一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)等を利用して実現されるものであってもよい。
【0048】
セキュリティ情報調査システム1の構成要素の2つ以上を同じ情報処理装置10(共通のハードウェア)によって実現してもよい。また、セキュリティ情報調査システム1の構成要素の一つを通信可能に接続された複数の情報処理装置10を用いて実現してもよい。
【0049】
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable
Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0050】
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。セキュリティ情報調査システム1の構成要素において実現される機能は、プロセッサ11が、主記憶装置12に格納(記憶)されているプログラムを読み出して実行することにより実現される。
【0051】
補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライ
ブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介して、非一時的な記録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0052】
入力装置14は、外部からの情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0053】
出力装置15は、処理経過や処理結果等の各種情報を外部に出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0054】
入力装置14と出力装置15は、ユーザとの間での対話処理(情報の受け付け、情報の
提示等)を実現するユーザインタフェースを構成する。
【0055】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信媒体5を介して他の装置との間の通信を実現する、有線方式または無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0056】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0057】
続いて、セキュリティ情報調査システム1において管理され、主として脅威情報調査サーバ105が利用する各種の情報(データ)について説明する。
【0058】
図10にデータベース107が管理する主な情報(テーブル)を示す。同図に示すように、データベース107は、公開情報テーブル1001、ファジーハッシュ情報テーブル1002、マルウェアクラス情報テーブル1003、欠落データ補填モデル情報テーブル1004、特徴量算出モデル情報テーブル1005を管理する。以下、各テーブルを構成するレコード構成について説明する。
【0059】
図11に公開情報テーブル1001のレコード構成を示す。公開情報テーブル1001の1つのレコードは1つの公開情報に対応する。同図に示すように、公開情報テーブル1001のレコードは、公開情報ID1101、本文1102、ファイルハッシュ値リスト1103、特徴量1104、およびその他属性情報1105の各項目を有する。このうち公開情報ID1101には、公開情報毎に固有に割り当てられた識別子が格納される。本文1102には、公開情報の本文が格納される。ファイルハッシュ値リスト1103には、公開情報の本文から抽出されたファイルハッシュ値のリストが格納される。特徴量1104には、特徴量算出モデルにより算出された特徴量(多次元の特徴量ベクトル)が格納される。その他属性情報1105には、タイトルやURL(Uniform Resource Locator)等、公開情報の各主属性情報が格納される。
【0060】
図12にファジーハッシュ情報テーブル1002のレコード構成を示す。ファジーハッシュ情報テーブル1002の一つのレコードは、一つのファイルハッシュ値と、当該ファイルハッシュ値に対応づけられる複数のファジーハッシュ値とを含む。同図に示すように、ファジーハッシュ情報テーブル1002のレコードは、ファイルハッシュ値1201、およびファジーハッシュ値1202(1202_1~1202_n)の各項目を有する。このうちファイルハッシュ値1201には、マルウェア検体にハッシュアルゴリズム(SHA256等)を適用することにより算出されたファイルハッシュ値が格納される。ファジーハッシュ値1202には、マルウェア検体にファジーハッシュアルゴリズムを適用することにより算出されたファジーハッシュ値が格納される。尚、例示するレコードは、複数のファジーハッシュ値1202(1202_1~1202_n)を含むが、ファジーハッシュ値毎にファジーハッシュアルゴリズムが事前に決定されているものとする。
【0061】
図13にマルウェアクラス情報テーブル1003のレコード構成を示す。マルウェアクラス情報テーブル1003の一つのレコードは、ファイルハッシュ値とマルウェアクラスリストとを対応づけた情報を含む。同図に示すように、マルウェアクラス情報テーブル1003のレコードは、ファイルハッシュ値1301およびマルウェアクラスリスト1302の各項目を有する。このうちファイルハッシュ値1301には、マルウェア検体にハッシュアルゴリズム(SHA256等)を適用することにより算出されたファイルハッシュ値が格納される。マルウェアクラスリスト1302には、マルウェア検体について評価さ
れるマルウェアクラスのリスト(以下、「マルウェアクラスリスト」と称する。)が格納される。
【0062】
図14に欠落データ補填モデル情報テーブル1004のレコード構成を示す。欠落データ補填モデル情報テーブル1004の一つのレコードは、一つの欠落データ補填モデルの情報を含む。同図に示すように、欠落データ補填モデル情報テーブル1004のレコードは、入力データ1401、出力データ1402、および欠落データ補填モデル1403の各項目を有する。このうち入力データ1401には、欠落データの補填に利用する項目のリストが格納される。出力データ1402には、欠落している項目のリストが格納される。欠落データ補填モデル1403には、欠落データ補填モデルの情報が格納される。
【0063】
図15に特徴量算出モデル情報テーブル1005のレコード構成を示す。特徴量算出モデル情報テーブル1005の一つのレコードは、一つの特徴量算出モデルの情報を含む。同図に示すように、特徴量算出モデル情報テーブル1005のレコードは、特徴量算出モデル1501を項目として有する。特徴量算出モデル1501には、特徴量算出モデルの情報が格納される。
【0064】
尚、本実施形態においては、公開情報テーブル1001、ファジーハッシュ情報テーブル1002、マルウェアクラス情報テーブル1003、欠落データ補填モデル情報テーブル1004、および特徴量算出モデル情報テーブル1005をデータベース107により管理しているが、これらのテーブルを、例えば、脅威情報調査サーバ105上の外部記憶装置904に格納するようにしてもよい。また、各テーブルの少なくともいずれか複数を結合して一つのテーブルとしてもよく、また各テーブルは適宜正規化を行ってもよい。
【0065】
続いて、セキュリティ情報調査システム1において行われる各種の処理について説明する。
【0066】
図16は、脅威情報調査サーバ105が、特徴量算出モデルおよび欠落データ補填モデルを生成する処理(以下、「モデル生成処理S1600」と称する。)を説明するシーケンス図である。以下、同図とともにモデル生成処理S1600について説明する。
【0067】
脅威情報調査サーバ105は、例えば、予め設定された日時が到来したこと(例えば、定期的(毎日1回等)なスケジュールがされている場合に予定日時が到来したこと)、ファジーハッシュ情報配信サーバ103やマルウェアクラス情報配信サーバ104から新規な情報を取得したこと等を契機として、モデル生成処理S1600を開始する(S1601)。
【0068】
続いて、まず脅威情報調査サーバ105のファジーハッシュ情報収集部505が、取得したい日時範囲条件等を指定したリクエスト(ファジーハッシュ情報の配信要求)を生成し、生成したリクエストをファジーハッシュ情報配信サーバ103に送信する。ファジーハッシュ情報配信サーバ103のファジーハッシュ情報配信部303は、上記リクエストを受信すると、受信したリクエストに指定されている日時範囲条件等に基づき配信するファジーハッシュ情報を特定し、特定したファジーハッシュ情報を脅威情報調査サーバ105に送信する(S1602)。
【0069】
続いて、脅威情報調査サーバ105のマルウェアクラス情報収集部506が、取得したい日時範囲条件等を指定したリクエスト(マルウェアクラス情報の配信要求)を生成し、生成したリクエストをマルウェアクラス情報配信サーバ104に送信する。マルウェアクラス情報配信サーバ104のマルウェアクラス情報配信部403は、上記リクエストを受信すると、受信したリクエストに指定されている日時範囲条件等に基づき配信するマルウ
ェアクラス情報を特定し、特定したマルウェアクラス情報を脅威情報調査サーバ105に送信する(S1603)。尚、S1602とS1603の処理の実行順は逆にしてもよいし、双方を並行して実行してもよい。
【0070】
続いて、脅威情報調査サーバ105のファジーハッシュ情報収集部505が、収集したファジーハッシュ情報をデータベース107のファジーハッシュ情報テーブル1002に格納する。また、脅威情報調査サーバ105のマルウェアクラス情報収集部506は、収集したマルウェアクラス情報をデータベース107のマルウェアクラス情報テーブル1003に格納する(S1604)。
【0071】
続いて、脅威情報調査サーバ105の特徴量算出モデル学習部509が、データベース107のファジーハッシュ情報テーブル1002およびマルウェアクラス情報テーブル1003から特徴量算出モデルおよび欠落データ補填モデルの学習に用いる学習データを取得する(S1605)。尚、本実施形態では、ファイルハッシュ値に対応する、全てのファジーハッシュ値およびマルウェアクラスリストを1組としたデータを学習データとして利用する。但し、特定のファジーハッシュアルゴリズムに対応するファジーハッシュ値が存在しない場合も存在し得る。そこで本実施形態では、特定のファイルハッシュ値Xでファジーハッシュ情報テーブル1002を検索した場合に全てのファジーハッシュ値1202(1202_1~1202_n)が存在し、かつ、特定のファイルハッシュ値Xでマルウェアクラス情報テーブル1003に検索した場合にマルウェアクラスリスト1302が存在する場合を、ファイルハッシュ値Xに対して欠落データがない状態と定義する。そして、欠落データがない状態のファイルハッシュ値Xを含むファイルハッシュ値と対応する全てのファジーハッシュ値およびマルウェアクラスリストの組を学習データとして用いるものとする。
【0072】
続いて、脅威情報調査サーバ105の特徴量算出モデル学習部509が、特徴量算出モデルを生成する処理(以下、「特徴量算出モデル生成処理S1606」と称する。)を実行する。特徴量算出モデル学習部509は、ファジーハッシュ値とマルウェアクラスリストを入力としてマルウェアの特徴量ベクトル(確率分布)を出力するトピック推定モデルを特徴量算出モデルとして機械学習する。これにより、例えば、全く尺度の異なるファジーハッシュ値とマルウェアクラスリストを組み合わせた幅広い観点でのマルウェアの亜種の検索が可能になる。
【0073】
図17は、特徴量算出モデル生成処理S1606および特徴量算出モデルを説明する図である。特徴量算出モデル生成処理S1606では、まず特徴量算出モデル学習部509が、学習データのファジーハッシュ値1202(1201_1~1202_n)をトークナイザ1701(1701_1~1701_n)により数値ベクトル1703(1703_1~1703_n)に変換する。尚、トークナイザ1701による数値ベクトル1703の生成は、例えば、ワンホット表現やバックオブワード等の既知のアルゴリズムを用いて行う。尚、ファジーハッシュ値の種別に応じて利用するアルゴリズムを変えてもよい。
【0074】
続いて、特徴量算出モデル学習部509は、学習データのマルウェアクラスリスト1302をトークナイザ1704で数値ベクトル1705に変換する。マルウェアクラスリスト1302のトークナイザ1704は、ファジーハッシュ値1202のトークナイザ1701と同一のものでもよい。
【0075】
続いて、特徴量算出モデル学習部509は、数値ベクトル1703(1703_1~1703_n)、および数値ベクトル1705を入力層とし、特徴量1707を出力層とするニューラルネットワーク1706を構築する。ニューラルネットワークの構築は、例えば、LSTM(Long short-term memory)等の既知のアルゴリズムを利用して行う。尚、
出力される特徴量1707は、学習段階では未知の多次元ベクトルであり、規定する必要はない。但し、入力層や出力層の次元数は事前に規定されている必要がある。本実施形態では、入力層や出力層の次元数はハードコーディングにより事前に定められているものとする。
【0076】
続いて、特徴量算出モデル学習部509は、特徴量1707を入力層とし、数値ベクトル1703(1703_1~1703_n)、および数値ベクトル1705を出力層とするニューラルネットワーク1708を構築する。ニューラルネットワーク1708は、ニューラルネットワーク1706の処理を逆変換するものであり、ニューラルネットワーク1708から一意に定まる。尚、ニューラルネットワーク1706の出力層に与える数値ベクトル1703および数値ベクトル1705は、ニューラルネットワーク1706の入力層に与える数値ベクトル1703、および数値ベクトル1705と同一のものである。
【0077】
以上のようにして特徴量算出モデルを生成し、多数の学習データを利用して、所定のアルゴリズムに基づき、ニューラルネットワーク1706、およびニューラルネットワーク1708を最適化することにより、特徴量算出モデルを生成することができる。これにより、事前に人手で学習データ(教師データ)を作成することなく、マルウェアの特徴を適切に表す特徴量を取得することが可能になる。
【0078】
尚、本実施形態では、ファジーハッシュ値とマルウェアクラスリストを、特徴量算出モデルの入力層および出力層に与えているが、それ以外のマルウェアに関する情報(例えば、マルウェアのファイル名やファイルパス等の表層解析情報)を入力層、および出力層に追加してもよい。
【0079】
図16に戻り、続いて、脅威情報調査サーバ105の欠落データ補填モデル学習部507が、欠落データ補填モデルを生成する処理(以下、「欠落データ補填モデル生成処理S1607」と称する。)を実行する。
【0080】
図18は、欠落データ補填モデル生成処理S1607および欠落データ補填モデルを説明する図である。同図は、ファジーハッシュ値1202_nとマルウェアクラスリスト1302が欠落している場合にそのデータを補填する処理を説明する図である。以下、同図とともに欠落データ補填モデル生成処理S1607について説明する。
【0081】
まず欠落データ補填モデル学習部507は、学習データのファジーハッシュ値1202(1201_1~1202_n)をトークナイザ1801(1801_1~1801_n)で数値ベクトル1803(1803_1~1803_n)に変換する。トークナイザ1801は、特徴量算出モデル生成処理S1606におけるトークナイザ1701と同一のものでもよい。
【0082】
続いて、欠落データ補填モデル学習部507は、学習データのマルウェアクラスリスト1302をトークナイザ1804で数値ベクトル1805に変換する。トークナイザ1804は、特徴量算出モデル生成処理S1606のトークナイザ1704と同一のものでもよい。
【0083】
続いて、欠落データ補填モデル学習部507は、数値ベクトル1803(1803_1~1803_n-1)を入力層とし、数値ベクトル1803_n、および数値ベクトル1805を出力層とするニューラルネットワーク1708を構築する。ニューラルネットワーク1708としては、例えば、特徴量算出モデル生成処理S1606と同様に既知のアルゴリズムを利用する。同図の例は、ファジーハッシュ値1202_nとマルウェアクラスリスト1302が欠落している場合を想定したものであるであるため、ファジーハッシ
ュ値1202_nとマルウェアクラスリスト1302から生成した数値ベクトルを出力層とし、それ以外の数値ベクトルを入力層とするニューラルネットワークを構築している。
【0084】
以上のような欠落データ補填モデルを構築し、多数の学習データを利用して、所定のアルゴリズムに基づき、ニューラルネットワーク1806を最適化することにより、欠落データ補填モデルを生成することができる。尚、欠落データ補填モデル生成処理S1607では、欠落データの全ての組み合わせパターンに対して、欠落データ補填モデルを生成する。これによりファイルハッシュ値やマルウェアクラスリストに欠落データがある場合でもマルウェアの特徴量を算出することが可能になる。尚、特徴量算出モデル生成処理S1606と欠落データ補填モデル生成処理S1607の実行順は逆にしてもよいし、双方を並行して実行してもよい。
【0085】
図16に戻り、続いて、脅威情報調査サーバ105の特徴量算出モデル学習部509が、生成した特徴量算出モデルをデータベース107の特徴量算出モデル情報テーブル1005に格納する。また、脅威情報調査サーバ105の欠落データ補填モデル学習部507が、生成した欠落データ補填モデルをデータベース107の欠落データ補填モデル情報テーブル1004に格納する(S1608)。
【0086】
尚、特徴量算出モデルおよび欠落データ補填モデルの再学習は、必ずしもファジーハッシュ情報またはマルウェアクラス情報を取得するたびに行う必要ない。機械学習モデルの学習処理は負荷が大きいため、特徴量算出モデルおよび欠落データ補填モデルの再学習は、情報処理装置の性能や前回学習時以後の新規データの蓄積量等に基づき適宜必要なタイミングで行うようにしてもよい。
【0087】
図19は、脅威情報調査サーバ105が公開情報の特徴量を算出する処理(以下、「公開情報特徴量算出処理S1900」と称する。)を説明するシーケンス図である。公開情報特徴量算出処理S1900は、公開情報配信サーバ102から公開情報を取得する処理、公開情報からファイルハッシュ値を抽出する処理、欠落データを補填する処理、および公開情報の特徴量を算出する処理を含む。以下、同図とともに公開情報特徴量算出処理S1900について説明する。
【0088】
同図に示すように、脅威情報調査サーバ105は、例えば、予め設定された日時が到来したこと(例えば、定期的(毎日1回等)なスケジュールがされている場合に予定日時が到来したこと)や、ファジーハッシュ情報配信サーバ103やマルウェアクラス情報配信サーバ104から新規な情報を取得したことを契機として、公開情報特徴量算出処理S1900を実行する(S1901)。
【0089】
続いて、脅威情報調査サーバ105の公開情報収集部503が、取得したい日時範囲条件等を指定したリクエスト(公開情報の配信要求)を生成し、生成したリクエストを公開情報配信サーバ102に送信する。公開情報配信サーバ102の公開情報配信部203は、上記リクエストを受信すると、受信したリクエストに指定されている日時範囲条件等に基づき配信する公開情報を特定し、特定した公開情報を脅威情報調査サーバ105に送信する(S1902)。
【0090】
続いて、脅威情報調査サーバ105のファイルハッシュ値抽出部504が、S1902で取得した公開情報からファイルハッシュ値を抽出する(S1903)。抽出されるファイルハッシュ値は複数存在する場合もある。また、公開情報が構造化されてない自然言語で記載されている場合もあるが、その場合は自然言語処理を用いてファイルハッシュ値を抽出する。例えば、ファイルハッシュ値はファイルハッシュアルゴリズム毎に定型の文字列となるため、単純な正規表現によって抽出することができる。また例えば、ファイルハ
ッシュ値の一つであるSHA256は、256ビットの16進数であるため、256ビットの16進数を正規表現で抽出することができる。
【0091】
続いて、脅威情報調査サーバ105は、データベース107から公開情報についての特徴量の算出に用いる情報を取得する。具体的には、脅威情報調査サーバ105は、公開情報から抽出したファイルハッシュ値全てを検索キーとして、ファジーハッシュ情報テーブル1002からファジーハッシュ値1202(1202_1~1202_n)を、マルウェアクラス情報テーブル1003からマルウェアクラスリスト1302を、夫々取得する。尚、公開情報から抽出したファイルハッシュ値に対応するファジーハッシュ値1202やマルウェアクラスリスト1302が存在しない場合、即ち、欠落データが存在してもよい。また、脅威情報調査サーバ105は、欠落データ補填モデル情報テーブル1004および特徴量算出モデル情報テーブル1005から、欠落データ補填モデルおよび特徴量算出モデルの利用に際して必要となる情報を取得する(S1904)。
【0092】
続いて、脅威情報調査サーバ105の欠落データ補填部508が、公開情報から抽出したファイルハッシュ値やマルウェアクラスリストに欠落データがある場合、欠落データ補填モデルを用いて欠落データを補填する処理(以下、「欠落データ補填処理S1905」と称する。)を実行する。欠落データ補填部508は、欠落データ補填処理S1905において、取得した欠落データ補填モデル情報テーブル1004の出力データ1402を参照し、補填が必要な項目に対応する欠落データ補填モデル1403を選択する。続いて、欠落データ補填部508は、欠落していない項目を欠落データ補填モデル1403の入力層に与えることで、欠落している項目の値を表す数値ベクトルを出力層から取得する。そして、欠落データ補填部508は、取得した数値ベクトルをトークナイザにより逆変換して欠落したデータの近似値を算出し、算出した近似値を用いて欠落しているデータを補填する。
【0093】
続いて、脅威情報調査サーバ105の公開情報特徴量算出部511が、公開情報の特徴量を算出する処理(以下、「公開情報特徴量算出処理S1906」と称する。)を実行する。公開情報特徴量算出処理S1906において、公開情報特徴量算出部511は、まず公開情報から抽出したファイルハッシュ値毎に特徴量を算出する。具体的には、公開情報特徴量算出部511は、ファイルハッシュ値に対応するファジーハッシュ値1202(1202_1~1202_n)とマルウェアクラスリスト1302を、特徴量算出モデル情報テーブル1005から取得した特徴量算出モデル1501の入力層に与えることでファイルハッシュ値の特徴量を取得する。特徴量算出モデル1501は、例えば、図17に例示した構造を有するが、特徴量として抽出するのは中間層にある特徴量1707(多次元ベクトル)である。ファイルハッシュ値に対応する各種データに欠落がある場合は、前述する欠落データ補填処理(S1905)で生成した補填用の値を代わりに入力層に与えることとなる。特徴量算出モデル1501は、公開情報から抽出したファイルハッシュ値全ての特徴量(例えば、混合確率分布)の平均値(例えば、合算平均)を算出して公開情報の特徴量とする(S1906)。
【0094】
続いて、脅威情報調査サーバ105の公開情報特徴量算出部511は、取得した公開情報、公開情報から抽出したファイルハッシュ値、および算出した特徴量を、データベース107の公開情報テーブル1001に格納する(S1907)。
【0095】
尚、以上の例では、マルウェアの特徴量として、ニューラルネットワークから生成した特徴量ベクトルを利用しているが、より単純な形態として、ファジーハッシュ値そのものを特徴量として利用してもよい。但し、ファジーハッシュ値は、マルウェアのソースコードが極めて類似している場合にのみ近い値を取る性質があるため、例えば、同類のマルウェアをフルスクラッチ(完全自作)で生成した場合や、マルウェアが複数のファイルに分
割されている場合には近い値を取らない。対して、以上の例のように、ニューラルネットワークから生成した特徴量ベクトルを利用する場合には、マルウェアのクラスについても考慮するので、適切なマルウェアの特徴量を得ることができる。
【0096】
図20は、顧客のIT環境に設けられているEDR装置108によりマルウェアが検知され、SOCにおいて脅威情報調査サーバ105を用いて当該マルウェアの調査が行われる際に、セキュリティ情報調査システム1において行われる処理(以下、「マルウェア調査処理S2000」と称する。)を説明するシーケンス図である。以下、同図とともにマルウェア調査処理S2000について説明する。
【0097】
まず、EDR装置108のEDR検知結果配信部603が、顧客のIT環境において不審な振る舞いをするマルウェア(例えば、ファイル)を検知する(S2001)。EDR装置108によるマルウェアの検知は、例えば、シグネチャを利用して不審なファイルを検知するアルゴリズムやヒューリスティックにより検知するアルゴリズム等、既知のアルゴリズムを利用して行われる。本例では、EDR装置108は、顧客のIT環境をリアルタイムに監視しており、任意のタイミングでマルウェアを検知するものとする。但し、監視の態様は必ずしも限定されず、例えば、顧客が要求したタイミングで検知するようにしてもよい。
【0098】
続いて、EDR装置108のEDR検知結果配信部603が、SOC業務端末106に検知したマルウェアの検体とともにマルウェアを検知した旨の情報(以下、「EDR検知結果情報」と称する。)をSOC業務端末106に送信(通知)する。SOC業務端末106のEDR検知結果表示部704は、EDR検知結果情報を受信すると、受信したEDR検知結果情報を提示する画面(以下、「EDR検知結果画面2101」と称する。)を生成し、生成したEDR検知結果画面2101をSOC業務担当者に提示(表示)する(S2002)。
【0099】
図21にEDR検知結果画面2101の一例を示す。例示するEDR検知結果画面2101は、EDR装置108が検知したマルウェアに関する情報の通知覧2102を有する。通知覧2102には、日時や検知ルール等、検知したマルウェアに関する情報が表示される。また、マルウェア検体2103のアイコンを操作するとEDR装置108から受信したマルウェア検体をダウンロードすることができる。SOC業務の担当者は、EDR検知結果画面2101に任意のタイミングでアクセスして閲覧することができる。また、EDR装置108からEDR検知結果情報が通知された際、SOC業務端末106が、EDR検知結果画面2101をポップアップ等で即座に自動的に表示してSOCの業務担当者に知らせるようにしてもよい。
【0100】
図20に戻り、続いて、SOC業務端末106の類似検索結果表示部705が、SOC業務の担当者からの入力指示に基づき、マルウェア検体に関連する公開情報の検索を依頼するリクエスト(以下、「類似検索要求」と称する。)を当該マルウェア検体とともに脅威情報調査サーバ105に送信する(S2003)。
【0101】
続いて、脅威情報調査サーバ105の類似検索部512が、SOC業務端末106から受信した類似検索要求に含まれるマルウェア検体のファジーハッシュ値を算出する(S2004)。ファジーハッシュ値の算出は、例えば、既知のファジーハッシュアルゴリズムを用いて行う。
【0102】
続いて、類似検索部512は、マルウェア検体のマルウェアクラスを評価する(S2005)。マルウェアクラスの評価は、例えば、既存のアンチウイルスソフトウェア製品を用いてマルウェア検体を解析することにより行う。
【0103】
続いて、類似検索部512は、データベース107の特徴量算出モデル情報テーブル1005から特徴量算出モデル1501を取得する(S2006)。
【0104】
続いて、類似検索部512は、マルウェア特徴量算出部510を起動し、特徴量算出モデル1501、マルウェア検体のファジーハッシュ値、およびマルウェアクラスを用いて特徴量を算出する(S2007)。具体的には、類似検索部512は、マルウェア検体のファジーハッシュ値、およびマルウェアクラスを特徴量算出モデル1501の入力層に与え、中間層から出力される特徴量1707を取得する。
【0105】
続いて、類似検索部512は、データベース107の公開情報テーブル1001から公開情報を取得する(S2008)。
【0106】
続いて、類似検索部512は、処理S2006で算出した調査対象マルウェアの特徴量と、処理S2008で取得した公開情報テーブル1001の特徴量1104との間の類似性を評価(類似度を算出)し、公開情報の中から調査対象マルウェアに類似する(例えば、類似度が予め設定した閾値を超える)公開情報を抽出する(S2009)。尚、上記類似性の評価の方法は必ずしも限定されないが、例えば、K近傍法等の既知のアルゴリズムを利用して行う。
【0107】
続いて、類似検索部512は、上記類似性の評価の結果(以下、「類似検索結果」と称する。)をSOC業務端末106に送信する。SOC業務端末106は、脅威情報調査サーバ105から類似検索結果を受信すると、受信した類似検索結果の内容を提示する画面(以下、「類似検索結果画面2201」と称する。)を生成し、生成した類似検索結果画面2201を提示(表示)する(S2010)。
【0108】
図22に類似検索結果画面2201の一例を示す。同図に示すように、例示する類似検索結果画面2201には、調査対象マルウェアを登録する入力フォーム2202と類似検索結果が表示される領域である類似検索結果一覧2203が設けられている。SOC業務担当者が入力フォーム2202にマルウェア検体を登録(マルウェア検体(データ)のドラッグ&ドロップ等)すると、前述した一連の処理(S2005~S2010)が実行され、その結果(類似検索結果)が類似検索結果一覧2203に表示される。類似検索結果一覧2203には、例えば、調査対象のマルウェアと類似性の高い一つ以上の公開情報から取得される情報、例えば、タイトル等の属性情報、マルウェアの特徴量と公開情報の特徴量との間の類似度2204、調査対象のマルウェアの特徴量と公開情報の特徴量を重ねて表示したグラフ2005等が表示される。
【0109】
図20に戻り、続いて、SOC業務端末106のマルウェアレポート配信部706が、SOC業務担当者の入力指示に基づき、調査対象のマルウェアに関するレポートを顧客業務端末109に送信する。顧客業務端末109は、マルウェアレポートを受信すると、受信したマルウェアレポートの内容に基づくマルウェアレポート画面2301を生成して提示(表示)する(S2011)。
【0110】
図23にマルウェアレポート画面2301の一例を示す。例示するマルウェアレポート画面2301には、EDR装置108が出力した検知機器等の情報や公開情報からSOC業務担当者が調査した調査対象マルウェアの脅威度や対処方法等の情報、および脅威情報調査サーバ105が出力した類似検索結果から得て参考とした公開情報のリスト等が表示されている。尚、マルウェアレポート画面2301に表示される各種の情報は、例えば、SOC業務担当者が入力するが、更に例えば、EDR装置108が出力する情報等を自動的に補完して表示するようにしてもよい。また、マルウェアレポート画面2301を、顧
客が任意のタイミングでアクセスして閲覧できるようにしてもよいし、ポップアップ等で即座に顧客に提示するようにしてもよい。また、顧客業務端末109がマルウェアレポート画面2301をSOC業務端末106に送信し、SOC業務担当者が随時閲覧できるようにしてもよい。
【0111】
以上に説明したように、本実施形態のセキュリティ情報調査システム1によれば、ファイルハッシュ値が記載されている公開情報に基づき、他の公開情報からファジーハッシュ値を取得し、調査対象のマルウェアに類似するマルウェアに関する公開情報を取得してSOC業務担当者や顧客に提供することができる。
【0112】
また、ファジーハッシュ値とマルウェアクラスとの組み合わせを学習データとして学習した特徴量算出モデルを用いて調査対象のマルウェアの特徴量と公開情報の特徴量を算出し両者の類似性を評価するので、ファジーハッシュ値とマルウェアクラスを組み合わせた幅広い観点(例えば、ソースコードの観点だけでなくマルウェアクラスの観点も考慮して)でのマルウェアの亜種の検索が可能になる。
【0113】
また、特徴量算出モデルの学習に用いる学習データ(ファジーハッシュ値、マルウェアクラス)に欠落データがある場合、欠落データがない状態の学習データを用いて学習した欠落データ補填モデルを用いて欠落データを補填するので、学習データとして完全なものが取得できない場合でも特徴量算出モデルの学習を行うことができる。
【0114】
このように、本実施形態のセキュリティ情報調査システム1によれば、マルウェアに関する情報の調査を効率よく行うことができるとともに、マルウェアについての有用な情報をSOC業務担当者や顧客に提供することができる。
【0115】
尚、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0116】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、ま
たは、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0117】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0118】
1 セキュリティ情報調査システム、102 公開情報配信サーバ、103 ファジーハッシュ情報配信サーバ、104 マルウェアクラス情報配信サーバ、105 脅威情報調査サーバ、106 SOC業務端末、107 データベース、108 EDR装置、109 顧客業務端末、503 公開情報収集部、504 ファイルハッシュ値抽出部、505 ファジーハッシュ情報収集部、506 マルウェアクラス情報収集部、507 欠落データ補填モデル学習部、508 欠落データ補填部、509 特徴量算出モデル学習部、510 マルウェア特徴量算出部、511 公開情報特徴量算出部、512 類似検索部、1001 公開情報テーブル、1002 ファジーハッシュ情報テーブル、1003
マルウェアクラス情報テーブル、1004 欠落データ補填モデル情報テーブル、1005 特徴量算出モデル情報テーブル、S1600 モデル生成処理、S1606 特徴量算出モデル生成処理、S1607 欠落データ補填モデル生成処理、S1900 公開情報特徴量算出処理、S2000 マルウェア調査処理、2101 EDR検知結果画面、2201 類似検索結果画面、2301 マルウェアレポート画面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23