(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008280
(43)【公開日】2024-01-19
(54)【発明の名称】誤検知対応システム、誤検知対応方法及び誤検知対応プログラム
(51)【国際特許分類】
G06F 21/56 20130101AFI20240112BHJP
【FI】
G06F21/56 320
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022110017
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】杉本 暁彦
(72)【発明者】
【氏名】重本 倫宏
(72)【発明者】
【氏名】田中 真愉子
(72)【発明者】
【氏名】熊谷 好志朗
(72)【発明者】
【氏名】竹田 光徳
(72)【発明者】
【氏名】穂積 真之介
(57)【要約】
【課題】ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能な誤検知対応システムを提供する。
【解決手段】演算装置及び記憶装置を有する情報処理装置を用いて構成され、複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、複数のクラスタの夫々の範囲を定めるべく代表点からの距離を示す閾値と、を含むホワイトリストを記憶し、ヒューリスティック検知手法によって異常であると検知された検知ファイルの特徴量を抽出し、特徴量空間において、検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された検知ファイルが正常であるか否か判定する処理を実行する誤検知対応システム。
【選択図】
図17
【特許請求の範囲】
【請求項1】
演算装置及び記憶装置を有する情報処理装置を用いて構成され、
複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、前記複数のクラスタの夫々の範囲を定めるべく前記代表点からの距離を示す閾値と、を含むホワイトリストを記憶し、
ヒューリスティック検知手法によって異常であると検知された検知ファイルの前記特徴量を抽出し、
特徴量空間において、前記検知ファイルの前記特徴量を示す点から、前記複数のクラスタの夫々の代表点までの距離と、前記複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された前記検知ファイルが正常であるか否かを判定する処理
を実行する誤検知対応システム。
【請求項2】
請求項1に記載の誤検知対応システムであって、
前記複数のクラスタのうちいずれか一のクラスタの代表点と、前記検知ファイルの特徴量を示す点との前記特徴量空間における距離が、前記いずれか一のクラスタの閾値より小さい場合に、前記検知ファイルは正常であると判定する、
誤検知対応システム。
【請求項3】
請求項2に記載の誤検知対応システムであって、
前記正常ファイルは、ヒューリスティック検知手法によって異常であると検知された後に正常であると判定されたファイルであり、
クラスタに所属する前記複数の正常ファイルのうち、異常であると検知された日時が最新のファイルの前記特徴量を示す点に基づいて、前記代表点を定める、
誤検知対応システム。
【請求項4】
請求項3に記載の誤検知対応システムであって、
クラスタに所属する前記複数の正常ファイルのうち、第1ファイルの前記特徴量を示す第1の点と、前記第1ファイルに続いて異常であると検知された第2ファイルの前記特徴量を示す第2の点と、の前記特徴量空間における距離に基づいて、前記閾値を定める、
誤検知対応システム。
【請求項5】
請求項1~4のいずれか一に記載の誤検知対応システムであって、
異常ファイルの前記特徴量を抽出する処理と、
前記特徴量空間において前記異常ファイルの特徴量を示す点と、クラスタの前記代表点との距離に基づいて、前記閾値を補正する、
誤検知対応システム。
【請求項6】
請求項1~4のいずれか一に記載の誤検知対応システムであって、
正常であると判定されたファイルを前記ホワイトリストに登録する際の処理時間が長いほど、前記正常であると判定されたファイルが所属するクラスタの閾値を大きくする、
誤検知対応システム。
【請求項7】
請求項1~4のいずれか一に記載の誤検知対応システムであって、
所定期間において、ヒューリスティック検知手法によって異常であると検知されたファイルが分類される頻度に基づいて、クラスタの前記閾値を補正する、
誤検知対応システム。
【請求項8】
演算装置及び記憶装置を有する情報処理装置が、
複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、前記複数のクラスタの夫々の範囲を定めるべく前記代表点からの距離を示す閾値と、を含むホワイトリストを記憶するステップと、
ヒューリスティック検知手法によって異常であると検知された検知ファイルの前記特徴量を抽出するステップと、
特徴量空間において、前記検知ファイルの前記特徴量を示す点から、前記複数のクラスタの夫々の代表点までの距離と、前記複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された前記検知ファイルが正常であるか否か判定するステップと、
を実行する誤検知対応方法。
【請求項9】
演算装置及び記憶装置を有する情報処理装置に、
複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、前記複数のクラスタの夫々の範囲を定めるべく前記代表点からの距離を示す閾値と、を含むホワイトリストを記憶する機能と、
ヒューリスティック検知手法によって異常であると検知された検知ファイルの前記特徴量を抽出する機能と、
特徴量空間において、前記検知ファイルの前記特徴量を示す点から、前記複数のクラスタの夫々の代表点までの距離と、前記複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された前記検知ファイルが正常であるか否か判定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、誤検知対応システム、誤検知対応方法及び誤検知対応プログラムに関する。
【背景技術】
【0002】
マルウェアを検知する手法として、ヒューリスティック検知手法が知られている。ヒューリスティック検知手法によれば、マルウェアの亜種等も検知することが可能であるが、マルウェアでないものをマルウェアと誤検知する場合がある。
【0003】
このような誤検知に対処するための技術として、例えば、特許文献1には、ヒューリスティック検知手法を用いた検知の後に、ホワイトリスト手法を用いてヒューリスティック検知手法の検知結果が誤検知であるか否かを判定する技術が開示されている。
【0004】
特許文献1のホワイトリスト手法においては、診断対象ファイルと、正常ファイルとの完全一致性や類似性に基づいて、誤検知であるか否かの判定を行う。なお、ここで、正常ファイルとは、過去にマルウェアであると誤検知され、ホワイトリストに登録されたファイルである。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された技術では、診断対象ファイルと、例えば、正常ファイルとの完全一致制や類似性を判定するために正常ファイルごとに閾値等のパラメータを割り当てる等、判定に用いるパラメータの数が膨大になりやすい。そのため、誤検知であるか否かの判定やホワイトリストの最適化のために多大なコストを要するおそれがある。
【0007】
本発明はこれらのような課題を鑑みてなされたものであり、ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための一の発明は、演算装置及び記憶装置を有する情報処理装置を用いて構成され、複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、複数のクラスタの夫々の範囲を定めるべく代表点からの距離を示す閾値と、を含むホワイトリストを記憶し、ヒューリスティック検知手法によって異常であると検知された検知ファイルの特徴量を抽出し、特徴量空間において、検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された検知ファイルが正常であるか否か判定する処理を実行する誤検知対応システムである。本発明の他の特徴については、本明細書の記載により明らかにする。
【発明の効果】
【0009】
本発明によれば、ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る誤検知対応システムの構成図である。
【
図2】一実施形態に係る監視対象端末の機能構成図である。
【
図3】一実施形態に係る統合管理サーバの機能構成図である。
【
図4】一実施形態に係るマルウェア情報配信サーバの機能構成図である。
【
図5】一実施形態に係るクライアントの機能構成図である。
【
図6】一実施形態に係る誤検知対応システムの各装置を構成するコンピュータのハードウェア構成図である。
【
図7】一実施形態に係るデータベースに格納されるデータテーブルを示す図である。
【
図8】一実施形態に係る検知ファイル情報テーブルの構成を説明する図である。
【
図9】一実施形態に係るホワイトリスト情報テーブルの構成を説明する図である。
【
図10】一実施形態に係る正常ファイル情報テーブルの構成を説明する図である。
【
図11】一実施形態に係るマルウェア情報テーブルの構成を説明する図である。
【
図12】一実施形態に係る対処コスト情報テーブルの構成を説明する図である。
【
図13】一実施形態に係るマルウェア検知処理のフローチャート図である。
【
図14】一実施形態に係るホワイトリスト判定処理のフローチャート図である。
【
図15】一実施形態に係るホワイトリストクラスタの例である。
【
図16】一実施形態に係る誤検知対処処理のフローチャート図である。
【
図17】一実施形態に係るホワイトリストクラスタの例である。
【
図18】一実施形態に係るホワイトリストクラスタ補正処理のフローチャート図である。
【
図19】一実施形態に係るホワイトリストクラスタの例である。
【
図20】一実施形態に係る運用者によるマルウェア対処処理のフローチャート図である。
【
図21】一実施形態に係るマルウェア対処画面の表示例である。
【
図22】一実施形態に係るマルウェア情報収集処理のフローチャート図である。
【
図23】一実施形態に係る正常ファイル収集処理のフローチャート図である。
【発明を実施するための形態】
【0011】
==実施形態==
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
以下の説明では、「記憶部」は、1以上のメモリを含む。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、主に、処理部による処理の際に使用される。
【0013】
また、以下の説明では、「処理部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【0014】
<<誤検知対応システム101>>
誤検知対応システム101は、ソフトウェアやコードがヒューリスティック検知手法によってマルウェアであると検知された後の対処処理を実行するシステムである。誤検知対応システム101は、また、対処処理を実行する際に用いるホワイトリスト(後述)を作
成したり更新したりするシステムである。
【0015】
なお、本明細書において、「マルウェア」とは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称を意味する。以下の説明において、マルウェアを「異常ファイル」と称する場合がある。また、マルウェアではないソフトウェアやコードを「正常ファイル」と称する。また、ソフトウェアやコードをまとめて、「ファイル」と称する。
【0016】
図1は、誤検知対応システム101の構成図である。誤検知対応システム101は、監視対象端末102と、統合管理サーバ103と、マルウェア情報配信サーバ104と、クライアント端末105と、データベース106と、ネットワーク107a及び107bとを備える。
【0017】
本実施形態では、監視対象端末102と、統合管理サーバ103と、クライアント端末105と、データベース106とは、ネットワーク107a(例えば、イントラネットワーク)を介して接続されている。また、統合管理サーバ103と、マルウェア情報配信サーバ104とは、ネットワーク107b(例えば、インターネットワーク)を介して接続されている。
【0018】
なお、誤検知対応システム101は、少なくとも統合管理サーバ103により構成されてもよいし、統合管理サーバ103以外の1以上の装置を適宜含んで構成されてもよい。
【0019】
また、本実施形態では、ネットワーク107a及び107bは異なるネットワークとして例示したが、同一のネットワークであってもよい。また、
図1において符号を付した構成要素は、必要に応じて複数としてもよい。
【0020】
(機能構成)
本実施形態の誤検知対応システム101が備える機能の概要について説明する。誤検知対応システム101が備える機能の更なる詳細な説明については、後述するフローチャートを用いた処理の説明において行う。
【0021】
ここでは、誤検知対応システム101の各構成要素が、その主記憶装置603及び補助記憶装置604(後述する
図6参照)にて記憶する適宜なプログラムを実行することで実現される機能について説明する。
【0022】
<監視対象端末102>
監視対象端末102は、マルウェアの検知を実行する装置である。監視対象端末102は、セキュリティ保護対象とする装置であり、例えば、業務用のクライアントPCである。
【0023】
図2は、本実施形態の監視対象端末102の機能構成図である。監視対象端末102は、送受信部201と、演算装置202とを備える。
【0024】
送受信部201は、ネットワーク107aを介し、統合管理サーバ103と、データベース106との間で情報の送受信を行う。
【0025】
演算装置202は、マルウェア検知部203と、特徴量抽出部204と、ホワイトリスト判定部205と、誤検知対処要求部206と、マルウェア対処要求部207と、正常ファイル出力部208とを備える。
【0026】
マルウェア検知部203は、監視対象端末102に内在する複数のファイルについて、ヒューリスティック検知手法によってマルウェアであるか否かを検知する。
【0027】
なお、以下の説明において、「マルウェアであると検知する」とは、「異常であると検知する」と同義である。また、「マルウェアでないと検知する」とは、「正常であると検知する」と同義である。
【0028】
また、以下の説明において、マルウェア検知部203による検知が実行されたファイルを、検知結果に依らずに「検知ファイル」と称する。つまり、検知ファイルは、マルウェア(異常ファイル)でもあり得るし、正常ファイルでもあり得る。
【0029】
特徴量抽出部204は、マルウェア検知部203によってマルウェアであると検知された検知ファイルの特徴量を抽出する(後述)。
【0030】
ホワイトリスト判定部205は、マルウェア検知部203によってマルウェアであると検知された検知ファイルが正常であるか否かを判定する判定する。このとき、ホワイトリスト判定部205は、詳細は後述するホワイトリストに基づいて判定を行う。
【0031】
つまり、ホワイトリスト判定部205が、検知ファイルを正常であると判定した場合、マルウェア検知部203による検知結果は誤り(誤検知)であることを意味する。また、ホワイトリスト判定部205が、検知ファイルを異常であると判定した場合、マルウェア検知部203による検知結果は正しいことを意味する。
【0032】
誤検知対処要求部206は、ホワイトリスト判定部205が検知ファイルを正常と判定した場合、統合管理サーバ103に誤検知対処を要求する(詳細は後述)。
【0033】
マルウェア対処要求部207は、ホワイトリスト判定部205が検知ファイルを異常と判定した場合、統合管理サーバ103にマルウェア対処を要求する(詳細は後述)。
【0034】
正常ファイル出力部208は、監視対象端末102に内在する正常ファイルのリストを統合管理サーバ103に送信する。
【0035】
ここでの監視対象端末102に内在する正常ファイルとは、マルウェア検知部203によって正常であると検知されたファイルと、マルウェア検知部203によって異常であると検知されたが、ホワイトリスト判定部205によって正常と判定されたファイルとを含む。
【0036】
<統合管理サーバ103>
統合管理サーバ103は、データベース106上の情報に基づき、本実施形態に係る誤検知対処処理における各種処理を主として実行するサーバ装置である。
【0037】
図3は、一実施形態に係る統合管理サーバ103の機能構成図である。統合管理サーバ103は、送受信部301と、演算装置302とを備える。
【0038】
送受信部301は、ネットワーク107aを介し、監視対象端末102と、クライアント端末105と、データベース106との間で情報の送受信を行い、ネットワーク107bを介し、マルウェア情報配信サーバ104との間で情報の送受信を行う。
【0039】
演算装置302は、誤検知対処要求受信部303と、マルウェア対処要求受信部304と、ホワイトリストクラスタ特定部305と、クラスタパラメータ算定部306と、クラ
スタパラメータ補正部307と、マルウェア対処画面生成部308と、マルウェア情報収集部309と、正常ファイル情報受信部310とを備える。
【0040】
誤検知対処要求受信部303は、監視対象端末102から、前述の誤検知対処要求を受信する。
【0041】
マルウェア対処要求受信部304は、監視対象端末102から、前述のマルウェア対処要求を受信する。
【0042】
ホワイトリストクラスタ特定部305は、ホワイトリスト判定部205が正常と判定した検知ファイル(つまり、マルウェア検知部203が異常であると誤検知した検知ファイル)が所属するホワイトリストクラスタを特定する。
【0043】
詳細は後述するが、ホワイトリスト判定部205が処理に用いるホワイトリストには、複数の正常ファイルが所定の特徴量に基づいて複数のクラスタに分類された場合の、複数のクラスタの夫々の情報が格納されている。
【0044】
ホワイトリストクラスタとは、ホワイトリストに情報が格納された複数のクラスタである。なお、以下の説明において、ホワイトリストクラスタを、単に「クラスタ」と称する場合がある。
【0045】
クラスタパラメータ算定部306は、ホワイトリスト判定部205が正常と判定した検知ファイルの情報から、ホワイトリストクラスタのクラスタの代表点と閾値とを算定する。
【0046】
詳細は後述するが、クラスタの代表点とは、ホワイトリストに情報が格納された複数のクラスタの夫々に対して設定される、特徴量空間における所定の点である。
【0047】
また、詳細は後述するが、クラスタの閾値とは、特徴量空間における複数のクラスタの夫々の範囲を定めるべく設定される、代表点からの距離を示す値である。
【0048】
クラスタパラメータ補正部307は、マルウェア情報や誤検知対処コスト情報に基づいて、ホワイトリストクラスタのクラスタの代表点と閾値とをより適切な値に補正する。
【0049】
マルウェア対処画面生成部308は、誤検知対処処理及び、マルウェア対処処理の結果を表示するための画面を生成する。
【0050】
マルウェア情報収集部309は、マルウェア情報配信サーバ104からマルウェア情報のリストを受信し、データベース106に登録する。
【0051】
正常ファイル情報受信部310は、監視対象端末102から正常ファイルのリストを受信し、データベース106に登録する。
【0052】
<マルウェア情報配信サーバ104>
マルウェア情報配信サーバ104は、外部機関のマルウェアに関する分析レポート等の情報を配信する装置であり、例えば、公的なセキュリティリポジトリである。
【0053】
図4は、一実施形態に係るマルウェア情報配信サーバ104の機能構成図である。マルウェア情報配信サーバ104は、送受信部401と、演算装置402とを備える。
【0054】
送受信部401は、ネットワーク107bを介し、統合管理サーバ103との間で情報の送受信を行う。
【0055】
演算装置402は、マルウェア情報配信部403を備える。マルウェア情報配信部403は、既知のマルウェアに関する情報のリストを統合管理サーバ103に配信する。
【0056】
<クライアント端末105>
クライアント端末105は、セキュリティ運用者が直接操作する一般的なコンピュータ端末であり、統合管理サーバ103による処理結果、すなわち誤検知対応処理結果の主たる出力先となる装置である。
【0057】
図5は、一実施形態に係るクライアント端末105の機能構成図である。クライアント端末105は、送受信部501と、入出力部502と、演算装置503とを備える。
【0058】
送受信部501は、ネットワーク107aを介し、統合管理サーバ103との間で情報の送受信を行う。
【0059】
入出力部502は、キーボードなどのインタフェース機器を介してセキュリティ運用者からの入力を実行し、また、モニタなどのインタフェース機器を介してセキュリティ運用者向けの画面出力処理を実行する。
【0060】
演算装置503は、マルウェア対処入出力処理部504を備える。マルウェア対処入出力処理部504は、セキュリティ運用者に対して、統合管理サーバ103が実行した誤検知対処処理及び、マルウェア対処処理の結果を画面に表示し、マルウェア検知部203が検知した検知ファイルに対する対処結果の入力を受け付ける。
【0061】
<データベース106>
データベース106は、監視対象端末102でマルウェアと判定された検知ファイルに関する各情報と、統合管理サーバ103の誤検知対応処理により生成されたホワイトリストに関する各情報と、監視対象端末102から取得した正常ファイルに関する各情報と、マルウェア情報配信サーバ104から取得したマルウェアに関する各情報と、運用者によるマルウェア対処処理の過程で算定された対処コストに関する各情報とを格納する記憶装置である。
【0062】
本実施形態では、データベース106は、ネットワーク107aを介して統合管理サーバ103と通信可能に接続されている。データベース106は、統合管理サーバ103の補助記憶装置604(
図6参照)に構築してもよい。
【0063】
。
(ハードウェア構成)
続いて、本実施形態に係る誤検知対応システム101を構成する装置のハードウェア構成について説明する。
【0064】
図6は、本実施形態に係る誤検知対応システム101の各装置を構成するコンピュータのハードウェア構成図である。誤検知対応システム101を構成する監視対象端末102と、統合管理サーバ103と、マルウェア情報配信サーバ104と、クライアント端末105と、データベース106とは、例えば、それぞれがコンピュータ装置601により構成される。
【0065】
コンピュータ装置601は、プロセッサ602、主記憶装置603、補助記憶装置60
4、送受信装置605、出力装置606、及び入力装置607を備える。
【0066】
プロセッサ602は、例えば、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)チップ等を用いて構成されている。
【0067】
主記憶装置603は、プロセッサ602がプログラムを実行する際に利用する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。誤検知対応システム101において実現される各種の機能は、夫々のプロセッサ602が、補助記憶装置604に格納(記憶)されているプログラムやデータを主記憶装置603に読み出して実行することにより実現される。
【0068】
補助記憶装置604は、プログラムやデータを記憶する装置であり、例えば、SSD(Solid State Drive)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc
)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等で構成することができる。補助記憶装置604には、記録媒体の読取装置や送受信装置605を介して、非一時的な記録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。補助記憶装置604に格納(記憶)されているプログラムやデータは主記憶装置603に随時読み込まれる。
【0069】
送受信装置605は、他の装置との間の通信を実現する装置である。送受信装置605は、ネットワークを介して他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0070】
出力装置606と入力装置607は、ユーザとの間での対話処理(情報の受け付け、情報の提供等)を実現するユーザインタフェースを構成する。
【0071】
出力装置606及び入力装置607については、監視対象端末102と、統合管理サーバ103と、マルウェア情報配信サーバ104と、データベース106とのいずれも備えなくてもよい。
【0072】
図2~
図5に示す各装置の演算装置202、302、402、及び503は、プロセッサ602が補助記憶装置604に記憶された適宜なプログラムを主記憶装置603にロードして実行することで実現される。
【0073】
また、
図2~
図5に示す各装置の送受信部201、301、401、及び501は、送受信装置605により構成される。
【0074】
また、
図5に示すクライアント端末105の入出力部502は、出力装置606及び入力装置607により構成される。
【0075】
(データ構成)
一実施形態に係る誤検知対応システム101において利用するデータについて説明する。誤検知対応システム101において利用するデータは、データベース106に格納されている。
【0076】
図7は、一実施形態に係るデータベース106に格納されるデータテーブルを示す図である。データベース106は、検知ファイル情報テーブル701と、ホワイトリスト情報テーブル702と、正常ファイル情報テーブル703と、マルウェア情報テーブル704と、対処コスト情報テーブル705とを格納する。
【0077】
図8は、一実施形態に係る検知ファイル情報テーブル701の構成を説明する図である。検知ファイル情報テーブル701は、監視対象端末102で検知された検知ファイル毎に1つのレコードを格納する。
【0078】
検知ファイル情報テーブル701のレコードは、検知ファイルID801と、ファイル属性情報802と、特徴量803と、クラスタID804と、検知日時805と、ステータス806と、その他情報807とをデータ項目として有する。
【0079】
検知ファイルID801には、監視対象端末102のマルウェア検知部203による検知処理が実行されたファイルの識別子が格納される。
【0080】
ファイル属性情報802には、検知ファイルのファイル名やファイルパス、付属する電子照明書等のファイル属性情報が格納される。
【0081】
特徴量803には、検知ファイルから抽出された特徴量が格納される。
【0082】
クラスタID804には、ホワイトリストに格納された複数のクラスタのうち、検知ファイルが所属するクラスタの識別子が格納される。
【0083】
検知日時805には、検知ファイルの、監視対象端末102のマルウェア検知部203による検知処理が実行された日時が格納される。
【0084】
ステータス806には、検知ファイルに対する誤検知対応の対処状況(「未対処/誤検知/対処済」の3値)が格納される。
【0085】
その他情報807には、後述するマルウェア対処画面の表示に必要な検知ファイルに関係する各情報が格納される。
【0086】
図9は、一実施形態に係るホワイトリスト情報テーブル702の構成を説明する図である。ホワイトリスト情報テーブル702は、「ホワイトリスト」に相当し、以下の説明においても、単に「ホワイトリスト」と称する場合がある。
【0087】
詳細は後述するが、ホワイトリストは、診断の対象となるファイルが、ヒューリスティック検知手法によって異常であると検知された後の対処処理を実行する際に用いるリストである。
【0088】
ホワイトリスト情報テーブル702は、ホワイトリスト判定に用いるホワイトリストクラスタ毎に1つのレコードを格納する。ホワイトリスト情報テーブル702のレコードは、クラスタID901と、クラスタの代表点902と、クラスタの閾値903とをデータ項目として有する。
【0089】
クラスタID901には、複数のホワイトリストクラスタを識別するための識別子が格納される。
【0090】
クラスタの代表点902には、ホワイトリスト判定を行う際に用いる代表点の値が格納
される。
【0091】
クラスタの閾値903には、ホワイトリスト判定を行う際に用いる閾値が格納される。
【0092】
図10は、一実施形態に係る正常ファイル情報テーブル703の構成を説明する図である。正常ファイル情報テーブル703は、監視対象端末102から取得した正常ファイル毎に1つのレコードを格納する。
【0093】
正常ファイル情報テーブル703のレコードは、正常ファイルID1001と、ファイル属性情報1002と、特徴量1003と、クラスタID1004と、更新日時1005とをデータ項目として有する。
【0094】
正常ファイルID1001には、正常ファイルの識別子が格納される。ファイル属性情報1002には、ファイル名やファイルパス、付属する電子照明書等のファイル属性情報が格納される。特徴量1003には、正常ファイルから抽出された特徴量が格納される。クラスタID1004には、正常ファイルが所属するクラスタの識別子が格納される。更新日時1005には、正常ファイルが監視対象端末102で更新された日時が格納される。
【0095】
なお、正常ファイル情報テーブル703にレコードが格納される正常ファイルは、監視対象端末102のマルウェア検知部203が、正常であると検知したファイルである。
【0096】
図11は、一実施形態に係るマルウェア情報テーブル704の構成を説明する図である。マルウェア情報テーブル704は、マルウェア情報配信サーバ104から取得したマルウェア情報毎に1つのレコードを格納する。マルウェア情報テーブル704のレコードは、マルウェアID1101と、特徴量1102とをデータ項目として有する。
【0097】
マルウェアID1101には、公知なマルウェアの識別子が格納される。特徴量1102には、マルウェアから抽出された特徴量が格納される。
【0098】
図12は、一実施形態に係る対処コスト情報テーブル705の構成を説明する図である。対処コスト情報テーブル705は、運用者が誤検知対処を実施した検知ファイル毎に1つのレコードを格納する。対処コスト情報テーブル705のレコードは、検知ファイルID1201と、対処時間1202とをデータ項目として有する。
【0099】
検知ファイルID1201には、運用者が誤検知対処を実施した検知ファイルの識別子が格納される。対処時間1202には、運用者が検知ファイルの対処に要した時間が格納される。
【0100】
なお、本実施形態においては、検知ファイル情報テーブル701と、ホワイトリスト情報テーブル702と、正常ファイル情報テーブル703と、マルウェア情報テーブル704と、対処コスト情報テーブル705とをデータベース106上に構築しているが、これらテーブルを監視対象端末102と、統合管理サーバ103との補助記憶装置604に格納するようにしてもよい。
【0101】
また、各テーブルの少なくともいずれか複数を結合して1つのテーブルとしてもよく、より正規化されたテーブルとしてもよい。
【0102】
<マルウェア検知処理>
本実施形態における誤検知対処方法の処理動作について、
図13を用いて説明する。図
13は、一実施形態に係るマルウェア検知処理のフローチャート図である。
【0103】
以下で説明する誤検知対処処理における各種動作は、誤検知対応システム101の構成要素、例えば統合管理サーバ103がプログラムを主記憶装置603などに読み出してプロセッサ602が実行することによって実現される。このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【0104】
先ず、ステップ1301において、監視対象端末102のマルウェア検知部203は、監視対象端末102に内在する複数のファイルについて、ヒューリスティック検知手法により正常であるか異常であるかを検知する。
【0105】
ヒューリスティック検知手法とは、既知のマルウェアのバイナリデータを機械学習し、マルウェアの特徴を表すバイナリパターンを生成し、パターンマッチする手法が考えられる。なお、本実施形態では、定期的にプログラムを実行しているが、ユーザが手動で実行してもよいし、ファイルシステムへの読み書きを監視し、ファイル書き込み時に実行してもよい。マルウェア検知部203は、定期的にプログラムを実行し、ステップ1301の処理を実行する。
【0106】
次いで、ステップ1302において、監視対象端末102の特徴量抽出部204は、ステップ1301において異常であると検知された検知ファイルの特徴量を抽出する。
【0107】
特徴量とは、例えばハッシュ値である。ハッシュ値を得る手法としては、ファジーハッシュアルゴリズムを用いる手法や局所性鋭敏型ハッシュを用いる手法を用いることができる。なお、本実施例では、1つの特徴量抽出手法を用いるが、複数の特徴量抽出手法により抽出した複数の特徴量を組み合わせて用いてもよい。
【0108】
次いで、ステップ1303において、監視対象端末102のホワイトリスト判定部205は、ステップ1301において異常であると検知された検知ファイルが正常であるか否かを判定する。
【0109】
つまり、ホワイトリスト判定部205は、ステップ1301における検知結果が、誤検知であるか否かを判定する。なお、ステップ1303の処理の詳細は、
図14のフローチャート図を用いて後に詳細に説明する。
【0110】
ステップ1303において検知ファイルが正常と判定された場合(つまり、ステップ1301の検知結果が誤検知であると判定された場合)、ステップ1304に進み、監視対象端末102の誤検知対処要求部206は、統合管理サーバ103に誤検知対処処理の実行を要求する。
【0111】
ステップ1304において、誤検知対処要求部206は、ここでの要求に際し、検知ファイルの情報を統合管理サーバ103に送信する。ここでの検知ファイルの情報とは、検知ファイルの識別子と、ファイルの属性情報と、ファイルから抽出した特徴量と、マルウェア検知部203が異常であると検知した日時と、ホワイトリスト判定の結果と、ファイル名と、その他情報とを含む情報である。
【0112】
次いで、ステップ1305において、統合管理サーバ103の誤検知対処要求受信部303は、誤検知対処処理の要求を受け付け、統合管理サーバ103は、誤検知対処処理を実行する。なお、ステップ1305の処理の詳細は、
図16のフローチャート図を用いて後に詳細に説明する。
【0113】
一方、ステップ1303において、検知ファイルが異常と判定された場合(つまり、ステップ1301の検知結果が正しいと判定された場合)、ステップ1306に進み、監視対象端末102のマルウェア対処要求部207は、統合管理サーバ103にマルウェア対処処理の実行を要求する。
【0114】
ステップ1304において、マルウェア対処要求部207は、ここでの要求に際し、検知ファイルの情報を統合管理サーバ103に送信する。ここでの検知ファイルの情報とは、検知ファイルの識別子と、検知ファイルの属性情報と、検知ファイルから抽出した特徴量と、マルウェア検知部203が異常であると検知した日時と、ホワイトリスト判定の結果と、ファイル名と、その他情報とを含む情報である。
【0115】
次いで、ステップ1307において、統合管理サーバ103のマルウェア対処要求受信部304がマルウェア対処処理リクエストを受け付け、統合管理サーバ103は、検知ファイルに関する情報を検知ファイル情報テーブル701(
図8)に格納する。
【0116】
ここで、検知ファイルID801と、ファイル属性情報802と、特徴量803と、検知日時805と、その他情報807と各項目に該当する情報は、マルウェア対処処理の要求(ステップ1306)に含まれている。
【0117】
なお、この段階では、検知ファイルをいずれかのホワイトリストクラスタに分類する処理は実行されていないため、検知ファイルがいずれのホワイトリストクラスタに分類されるかは未確定である。
【0118】
この場合、
図8に示したクラスタID804は、どのクラスタにも含まれていないことを意味する「NULL」記号とすればよい。また、ステータス806は、マルウェア対処が完了していないこと意味する「未対処」とすればよい。
【0119】
<ホワイトリスト判定処理>
図13のステップ1303(ホワイトリスト判定)の詳細について、
図14を用いて説明する。
図14は、一実施形態に係るホワイトリスト判定処理のフローチャート図である。
【0120】
まず、ステップ1401において、監視対象端末102は、データベース106上のホワイトリスト情報テーブル702(
図9)からホワイトリストクラスタのリストと各クラスタに関連する情報を取得する。
【0121】
次いで、ステップ1402~1403において、監視対象端末102のホワイトリスト判定部205は、取得したホワイトリストクラスタに対して、反復的に閾値判定処理を実施する。
【0122】
ホワイトリスト判定部205は、ステップ1403において、特徴量空間において一の検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、検知ファイルが正常であるか否かを判定する。
【0123】
具体的には、ホワイトリスト判定部205は、複数のクラスタのうちいずれか一のクラスタの代表点と、検知ファイルの特徴量を示す点との特徴量空間における距離が、いずれか一のクラスタの閾値より小さい場合に、検知ファイルは正常であると判定する。
【0124】
ここで、ホワイトリスト判定部205が、検知ファイルが正常であるか否かを判定する処理を、
図15に示す例を用いて説明する。
図15の例では、2次元投影した特徴量空間
に、2つのクラスタ(クラスタ1及びクラスタ2)が存在する。
【0125】
クラスタ1には、正常ファイルであるファイル1-1~ファイル1-3が所属している。クラスタ2には、正常ファイルであるファイル2-1~ファイル2-3が所属している。
【0126】
ファイル1-1~ファイル1-3及びファイル2-1~ファイル2-3の夫々の特徴量を示す点が黒丸印で示されている。誤検知であるか否かの判定の対象となる検知ファイルの特徴量を示す点が、三角印で示されている。
【0127】
この例では、2つのクラスタのうちクラスタ1の代表点(代表点1)と、検知ファイルの特徴量を示す点との特徴量空間における距離が、クラスタ1の閾値(閾値1)より大きい。一方、2つのクラスタのうちクラスタ2の代表点(代表点2)と、検知ファイルの特徴量を示す点との特徴量空間における距離が、クラスタ2の閾値(閾値2)より小さい。
【0128】
そのため、この例では、ホワイトリスト判定部205は、検知ファイルは正常であると判定する。
【0129】
特徴量空間における距離の測定手法としては、特徴量が数値ベクトルである場合は、ユークリッド距離等を利用することができ、特徴量が文字列の場合はレーベンシュタイン編集距離等を利用することができる。
【0130】
なお、検知ファイルの特徴量は、ステップ1302の特徴量抽出処理において抽出されている。
【0131】
本実施形態では、ステップ1403において、検知ファイルの特徴量を示す点と、クラスタの代表点との間の距離がクラスタの閾値よりも小さい場合、ホワイトリスト判定部205は、検知ファイルは正常と判定し、反復処理を打ち切る。
【0132】
一方、検知ファイルの特徴量を示す点と、クラスタの代表点との間の距離がクラスタの閾値よりも大きい場合は反復処理を続ける。ステップ1403の反復処理の結果、全てのクラスタについて、検知ファイルの特徴量を示す点と、クラスタの代表点との間の距離がクラスタの閾値よりも大きい場合、ホワイトリスト判定部205は、検知ファイルは異常であると判定する。
【0133】
<誤検知対処処理>
図13のステップ1305(誤検知対処)の詳細について、
図16を用いて説明する。
図16は、一実施形態に係る誤検知対処処理のフローチャート図である。
【0134】
先ず、ステップ1501において、統合管理サーバ103は、データベース106上の検知ファイル情報テーブル701(
図8)から検知ファイルのリストと各検知ファイルのレコードを取得する。
【0135】
次いで、ステップ1502~ステップ1503において、統合管理サーバ103のホワイトリストクラスタ特定部305は、取得した検知ファイルに対して、ホワイトリストクラスタ特定処理を実施する。
【0136】
ホワイトリストクラスタ特定処理では、ホワイトリストクラスタ特定部305は、ステップ1301(
図13)において誤って異常であると検知された検知ファイルが所属すべきホワイトリストクラスタを特定する。
【0137】
具体的には、ホワイトリストクラスタ特定部305は、一のホワイトリストクラスタを抽出し、検知ファイルが、抽出されたホワイトリストクラスタに所属するか否かを判定する(ステップ1503)。ホワイトリストクラスタ特定部305は、この処理を他のホワイトリストクラスタについても反復する(ステップ1502)。
【0138】
検知ファイルが、抽出されたホワイトリストクラスタに所属するか否かを判定する方法としては、いくつかの方法が挙げられる。例えば、ファイル属性情報802(
図8)に基づき、ファイルパスやファイル作成者名、ファイルに内在する電子証明書の発行者名等の一致度から評価する方法が挙げられる。
【0139】
なお、本実施形態では、ホワイトリストクラスタを特定する手法として、ファイル属性情報802を用いた方法としているが、ホワイトリスト判定処理の閾値判定処理(
図14のステップ1403)と同様の方法を用い、検知ファイルの特徴量を示す点とクラスタの代表点との距離が最も小さいクラスタを所属すべきクラスタとして特定してもよい。
【0140】
ステップ1503において、所属すべきクラスタが特定できなかった場合、ステップ1504に進み、ホワイトリストクラスタ特定部305は、新規クラスタを生成する。新規クラスタには、既存のクラスタの識別子と重複しない新規クラスタIDを発行し、クラスタの代表点を当該誤検知ファイルの特徴量の値とし、クラスタの閾値を事前に規定した初期値とする。
【0141】
一方、ステップ1503において、所属すべきクラスタが特定された場合、ステップ1505に進み、ホワイトリストクラスタ特定部305は、検知ファイル情報テーブル701から、特定されたクラスタに所属する検知ファイルの各情報を取得する。
【0142】
次いで、ステップ1506において、統合管理サーバ103のクラスタパラメータ算定部306は、クラスタの代表点とクラスタの閾値からなるクラスタパラメータを算定する。
【0143】
ここでクラスタパラメータ算定部306が実行する処理を、
図17に示す例を用いて説明する。
図17の例では、2次元投影した特徴量空間に、2つのクラスタ(クラスタ1及びクラスタ2)が存在する。
【0144】
クラスタ1には、正常ファイルであるファイル1-1~ファイル1-3が所属している。図示のように、ファイル1-1、ファイル1-2及びファイル1-3が、ステップ1301(
図13)においてマルウェア検知部203によって異常であると検知された日時はそれぞれ、2022年3月3日、2022年3月4日及び2022年3月5日である。クラスタ2には、正常ファイルであるファイル2-1~ファイル2-3が所属している。
【0145】
クラスタパラメータ算定部306は、クラスタに所属する複数の検知ファイル(複数の正常ファイル)のうち、ステップ1301(
図13)において異常であると検知された日時が最新のファイルの特徴量を示す点に基づいて、クラスタの代表点を定める。
【0146】
図17の例では、クラスタパラメータ算定部306は、同一のクラスタ(クラスタ1)に所属するファイル1-1~ファイル1-3のうち、最も検知日時が新しいファイル1-3の特徴量を示す点をクラスタ1の代表点としている。
【0147】
また、クラスタパラメータ算定部306は、クラスタに所属するいずれか一の正常ファイルの特徴量を示す点と、この正常ファイルに続いて異常であると検知された正常ファイ
ルの特徴量を示す点と、の特徴量空間における距離に基づいて、閾値を定める。
【0148】
なお、ここでの2つの正常ファイルのうち、先に異常であると検知された正常ファイルは、「第1ファイル」に相当する。第1ファイルの特徴量を示す点は、「第1の点」に相当する。また、後に異常であると検知された正常ファイルは、「第2ファイル」に相当する。第2ファイルの特徴量を示す点は、「第2の点」に相当する。
【0149】
図17の例では、第2ファイルは、クラスタ1に所属する正常ファイルのうち、検知された日時が最新であるファイル1-3(検知された日時は2022年3月6日)に相当する。第1ファイルは、クラスタ1に所属する正常ファイルのうち、検知された日時が2番目に新しいファイル1-2(検知された日時は2022年3月5日)に相当する。
【0150】
本実施形態では、クラスタパラメータ算定部306は、ステップ1301(
図13)において複数の検知ファイルが異常であると検知された日時に基き、クラスタに所属する検知ファイルを時系列順に並べ、特徴量を示す点の時系列的な変化量を算定し、変化量の加重平均をクラスタの閾値とする。
【0151】
図17の例では、クラスタパラメータ算定部306は、ファイル1-1の特徴量を示す点とファイル1-2の特徴量を示す点との間の変化量L1-1と、ファイル1-2の特徴量を示す点とファイル1-3の特徴量を示す点との間の変化量L1-2との加重平均により、クラスタ1の閾値を算定する。
【0152】
次いで、ステップ1507において、統合管理サーバ103のクラスタパラメータ補正部307は、ステップ1504、またはステップ1506の後に、クラスタパラメータの補正を行う。クラスタパラメータの補正処理の詳細は、
図18のフローチャート図を用いて後に説明する。
【0153】
なお、ステップ1507のクラスタパラメータの補正処理は必須ではなく、ステップ1506のクラスタパラメータの算定処理で算定したクラスタパラメータをそのまま利用することとしてもよい。
【0154】
次いで、ステップ1508において、統合管理サーバ103は、ステップ1303(
図13)において正常と判定された(つまり、誤検知であると判定された)検知ファイルに関する情報を検知ファイル情報テーブル701(
図8)に格納する。
【0155】
図8に示した検知ファイルID801と、ファイル属性情報802と、特徴量803と、検知日時805と、その他情報807との各項目に該当する情報は、監視対象端末102から受信したマルウェア対処処理の要求(
図13のステップ1306)に含まれている。
【0156】
クラスタID804は、ステップ1503のホワイトリストクラスタ特定処理により特定されているか、ステップ1504の新規クラスタ生成処理により新規生成されている。ステータス806(
図8)は、誤検知であること意味する「誤検知」とすればよい。
【0157】
次いで、ステップ1509において、統合管理サーバ103は、上記の処理で確定したホワイトリストクラスタに関する情報をホワイトリスト情報テーブル702(
図9)の所定の項目に格納することにより、ホワイトリスト情報テーブル702を更新する。
【0158】
ここで、確定したホワイトリストクラスタに関する情報とは、
図9に示すクラスタID901と、クラスタの代表点902と、クラスタの閾値903とである。
【0159】
クラスタID901は、ステップ1503のホワイトリストクラスタ特定処理により特定されているか、1504の新規クラスタ生成処理により新規生成されている。
【0160】
クラスタの代表点902と、クラスタの閾値903とは、ステップ1506のクラスタパラメータの算定処理、及びステップ1507のクラスタパラメータの補正処理により算定されている。
【0161】
<クラスタパラメータ補正処理の詳細>
ステップ1507(
図16)のクラスタパラメータ補正処理の詳細について
図18及び
図19を用いて説明する。
図18は、一実施形態に係るクラスタパラメータ補正処理のフローチャート図である
【0162】
先ず、ステップ1701において、統合管理サーバ103は、マルウェア情報テーブル704(
図11)からクラスタの代表点に近いマルウェアの情報を取得する。なお、前述のように、マルウェアを「異常ファイル」とも称する。
【0163】
ここで、統合管理サーバ103は、与えられたホワイトリストクラスタのクラスタの代表点とマルウェアの特徴量を示す点との間の距離に基づいて、クラスタの代表点に近いマルウェアの情報を取得する。なお、ここで取得されるマルウェアの情報の数は事前に定めた任意の値でよい。
【0164】
ここで、マルウェアの情報の数とは、例えばホワイトリストクラスタ毎に1(つまり、合計するとホワイトリストクラスタの数)であってもよい。この場合、統合管理サーバ103は、特徴量空間において、複数のホワイトリストクラスタの夫々の代表点について、特徴量を示す点が最も近いマルウェアの情報を取得すればよい。
【0165】
或いは、マルウェアの情報の数とは、例えばホワイトリストクラスタ毎に1限られず、複数であってもよい。この場合、統合管理サーバ103は、特徴量空間において、複数のホワイトリストクラスタの夫々の代表点について、特徴量を示す点が近い順に所定の数のマルウェアの情報を取得すればよい。
【0166】
図19の例では、2次元投影した特徴量空間に、2つのクラスタ(クラスタ1及びクラスタ2)が存在する。
【0167】
クラスタ1には、正常ファイルであり、最新のファイル1が示されている。クラスタ2には、正常ファイルであり、最新のファイル2が示されている。なお、2つのクラスタの夫々について、最新のファイル以外のファイルの図示を省略している。
【0168】
ファイル1及びファイル2の夫々の特徴量を示す点が黒丸印で示されている。更に、マルウェアの特徴量を示す点が、白丸印で示されている。
【0169】
この例では、クラスタ1に対して3個のマルウェア情報が取得され、クラスタ2に対しては1個のマルウェア情報が取得されたことを示している。
【0170】
次いで、ステップ1702において、統合管理サーバ103のクラスタパラメータ補正部307は、マルウェアの特徴量を抽出し、閾値を、特徴量空間においてマルウェアの特徴量を示す点と、クラスタの代表点との距離に基づいて補正する。
【0171】
具体的には、クラスタパラメータ補正部307は、クラスタの代表点と近傍のマルウェ
アの特徴量を示す点との距離から定まる補正値を、クラスタの閾値から減算する。補正値としては、例えばクラスタの代表点と近傍のマルウェアの特徴量との間の特徴量間距離の平均の逆数と事前に定めた定数を乗算した値が考えられる。
【0172】
即ち、補正値は、クラスタの代表点と近傍のマルウェアの特徴量との間の特徴量間距離が小さい程、大きくなる値としてもよい。
【0173】
なお、閾値を補正する方法は、これに限られない。例えば、特徴量空間においてマルウェアの特徴量を示す点と、クラスタの代表点との距離よりも小さくなるよう、閾値を補正してもよい。
【0174】
図19の例では、クラスタの閾値の補正前は、クラスタ1の代表点1から閾値1の範囲内には、3個のマルウェア(マルウェア1~3)の特徴量を示す点が存在している。また、クラスタ2の代表点2から閾値2の範囲内には、1個のマルウェア(マルウェア4)の特徴量を示す点が存在している。
【0175】
これに対し、クラスタの閾値に上記の補正により、クラスタ1の閾値1については補正値1が減算され、クラスタ2の閾値2については補正値2が減算される。これにより、いずれのクラスタについても、閾値の補正後は、クラスタの代表点から閾値の範囲内には、マルウェアの特徴量を示す点が存在しなくなる。
【0176】
次いで、ステップ1703において、統合管理サーバ103は、対処コスト情報テーブル705から検知ファイルに対する対処時間1202のリストを取得し、平均対処時間を算定する。
【0177】
次いで、ステップ1704において、統合管理サーバ103は、検知ファイル情報テーブル701から当該クラスタに所属する検知ファイルの検知日時805のリストを取得し、誤検知頻度を算定する。
【0178】
次いで、ステップ1705において、統合管理サーバ103のクラスタパラメータ補正部307は、ステップ1303(
図13)において正常であると判定されたファイルをホワイトリストに登録する際の処理時間が長いほど、正常であると判定されたファイルが所属するクラスタの閾値を大きく補正する。
【0179】
また、ステップ1705において、クラスタパラメータ補正部307は、所定期間において、ヒューリスティック検知手法によって異常であると検知されたファイルが分類される頻度に基づいて、クラスタの閾値を補正する。
【0180】
本実施形態では、クラスタパラメータ補正部307は、平均対処時間と誤検知頻度から定まる補正値をクラスタの閾値に加算する。補正値としては、例えば平均対処時間と誤検知頻度と事前に定めた定数を乗算した値が考えられる。即ち、補正値は、平均対処時間が長い程、大きくなる値であり、検知頻度が高い程、大きくなる値であればよい。
【0181】
(運用者によるマルウェア対処処理)
図20は、一実施形態に係る運用者によるマルウェア対処処理のフローチャート図である。
図21に運用者に提示されるマルウェア対処画面1901の例である。
【0182】
先ず、ステップ1801において、運用者がクライアント端末105を介して、マルウェア対処画面1901にアクセスする。なお、本実施形態では、運用者の意思決定に基づいた任意のタイミングで開始とするが、例えばメール等の通知システム等を介して運用者
にマルウェア対処処理を促してもよい。
【0183】
なお、
図21に示すマルウェア対処画面1901は、検知ファイル一覧1902と、検知ファイル詳細情報リンク1903と、検知ファイル詳細情報1904と、ホワイトリスト判定結果1905と、対処結果報告ボタン1906とを備えている。
【0184】
検知ファイル一覧1902は、検知ファイル情報テーブル701に格納された検知ファイルに関する各情報を表示したものである。
【0185】
検知ファイル詳細情報リンク1903は、運用者が選択した検知ファイルに関する詳細情報を表示させるためのボタンである。本実施形態では、検知ファイル一覧1902の検知ファイル名をハイパーリンクとすることで、検知ファイルの選択を可能としている。
【0186】
検知ファイル詳細情報1904は、運用者が選択した検知ファイルの詳細情報を表示したものである。本実施形態では、運用者が検知ファイル詳細情報リンク1903を押すことで、動的に表示している。
【0187】
ホワイトリスト判定結果1905は、運用者が選択した検知ファイルの判定結果を表示したものである。本実施形態では、ホワイトリスト判定による正常又は異常の2値の判定結果だけでなく、検知ファイルの特徴量や検知ファイルに最も近いホワイトリストクラスタの情報を2次元の特徴空間に投影することでグラフとしている。
【0188】
対処結果報告ボタン1906は、運用者が選択した検知ファイルに対して実施した対処結果を報告するボタンである。本実施形態では、誤検知であることを報告する誤検知ボタンと対処済であることを報告する対処済ボタンを設置している。
【0189】
次いで、ステップ1802において、運用者はクライアント端末105を介して、マルウェア対処画面1901から検知ファイルを選択する。
【0190】
次いで、ステップ1803において、運用者は選択した検知ファイルに対して、適切なインシデント対処を実施し、マルウェア対処画面1901から対処結果を報告する。インシデント対処としては、発生したインシデントの調査やセキュリティ部門への報告、検知ファイルの解析、対策立案等が含まれる。なお、インシデント対処の結果、当該検知ファイルが誤検知された正常ファイルであると判明する場合もあるし、マルウェアとして処理される場合もある。
【0191】
ステップ1803のインシデント対処処理において、検知ファイルが対処済と報告された場合、統合管理サーバ103は、検知ファイル情報テーブル701(
図8)の検知ファイルに関するステータス806を「対処済」に更新する。
【0192】
一方、ステップ1803のインシデント対処処理において、検知ファイルが誤検知と報告された場合、統合管理サーバ103は、検知ファイルの対処に要した時間を対処コスト情報テーブル705(
図12)に登録する。
【0193】
対処に要した時間は、運用者がマルウェア対処画面1901で検知ファイル詳細情報リンク1903を押してから、対処結果報告ボタン1906を押すまでの時間をクライアント端末105上で計測すればよい。
【0194】
次いで、ステップ1807において、統合管理サーバ103は、検知ファイルに対して、誤検知対処処理を実施する。誤検知対処処理は、前述の誤検知対処処理(
図16)と同
様である。
【0195】
次いで、ステップ1808において、統合管理サーバ103は、検知ファイル情報テーブル701(
図8)の検知ファイルに関するステータス806を、「未対応」から「誤検知」に更新する。
【0196】
<マルウェア情報収集処理>
図22は、一実施形態に係るマルウェア情報収集処理のフローチャート図である。
【0197】
先ず、ステップ2001において、統合管理サーバ103は、マルウェア情報配信サーバ104からマルウェア情報を取得する。統合管理サーバ103は、ステップ2001を定期的に実行する。
【0198】
次いで、ステップ2002において、統合管理サーバ103は、取得したマルウェア情報をマルウェア情報テーブル704(
図11)に格納する。ここで、マルウェアID1101と、特徴量1102とは、マルウェア情報配信サーバ104が配信するマルウェア情報に含まれている。
【0199】
次いで、ステップ2003において、統合管理サーバ103は、ホワイトリスト情報テーブル702(
図9)からホワイトリストクラスタのリストを取得する。
【0200】
次いで、ステップ2004~ステップ2005において、統合管理サーバ103のクラスタパラメータ補正部307は、全てのクラスタに対してクラスタパラメータの補正処理を実施する。この処理は、前述のクラスタパラメータの補正処理(
図18)と同様である。
【0201】
次いで、ステップ2006において、統合管理サーバ103は、ホワイトリスト情報テーブル702のクラスタ情報を更新する。クラスタの閾値903は、ステップ2005のクラスタパラメータの補正処理により更新されている。
【0202】
なお、マルウェア情報収集処理は、ステップ2005のクラスタパラメータの補正処理で利用されるマルウェア情報を収集するためのものである。クラスタパラメータの補正処理を実施しないのであれば、マルウェア情報収集処理も実施しなくてよい。
【0203】
<正常ファイル収集処理>
図23は、一実施形態に係る正常ファイル収集処理のフローチャート図である。
【0204】
先ず、ステップ2101において、監視対象端末102は、統合管理サーバ103に正常ファイルのリストを送信する。監視対象端末102は、ステップ2101の処理を定期的に実行する。
【0205】
次いで、ステップ2102において、統合管理サーバ103は、取得した正常ファイル情報を正常ファイル情報テーブル703(
図10)に格納し、正常ファイル情報テーブル703の正常ファイル情報を全件取得する。
【0206】
図10に示す正常ファイルID1001と、ファイル属性情報1002と、特徴量1003と、更新日時1005とは、監視対象端末102から送信される正常ファイル情報に含まれている。なお、クラスタID1004は、後に更新されるため、この段階では「NULL」記号とすればよい。
【0207】
次いで、ステップ2103において、統合管理サーバ103は、正常ファイルを正常ファイルの属性情報のクラスタに分類する。クラスタに分類する方法としては、前述の誤検知対応処理(
図16)のステップ1503(ホワイトリストクラスタ特定処理)と同様の方法を利用すればよい。
【0208】
次いで、ステップ2104において、統合管理サーバ103は、正常ファイル情報テーブル703(
図10)のクラスタID1004を更新する。クラスタID1004は、ステップ2103のクラスタ分類処理により決定されている。
【0209】
次いで、ステップ2104~ステップ2106において、統合管理サーバ103は、反復的に全てのクラスタに対して、クラスタパラメータの算定処理(ステップ2105)とクラスタパラメータの補正処理(ステップ2106)を実施する。
【0210】
ステップ2105のクラスタパラメータの算定処理では、前述の誤検知対応処理(
図16)のクラスタパラメータ算定処理(ステップ1506)と同様の処理をすればよい。
【0211】
クラスタパラメータの補正処理では、前述のクラスタパラメータ補正処理(
図18)と同様の処理をすればよい。
【0212】
次いで、ステップ2107において、統合管理サーバ103は、ホワイトリスト情報テーブル702のクラスタ情報を格納する。クラスタID1004は、ステップ2103のクラスタ分類処理により決定されている。
【0213】
クラスタの代表点902と、クラスタの閾値903とは、ステップ2105のクラスタパラメータの算定処理と、ステップ2106のクラスタパラメータの補正処理とにより決定されている。
【0214】
この正常ファイル収集処理により、セキュリティ運用開始直後等、ホワイトリスト情報が十分に獲得出来ていない場合でもホワイトリスト判定を実施可能になる。例えばセキュリティ運用前に正常ファイルの観測期間を設けることで、セキュリティ運用開始時からホワイトリスト判定を適切に実施することが出来る。
【0215】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0216】
また、上記の各構成、機能、処理部、処理手段などは、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、ICカード、SDカード、DVDなどの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0217】
==まとめ==
以上、実施形態の誤検知対応システム101は、演算装置及び記憶装置を有する情報処
理装置を用いて構成され、複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、複数のクラスタの夫々の範囲を定めるべく代表点からの距離を示す閾値と、を含むホワイトリストを記憶し、ヒューリスティック検知手法によって異常であると検知された検知ファイルの特徴量を抽出し、特徴量空間において、検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された検知ファイルが正常であるか否かを判定する処理を実行する。
【0218】
このような構成によれば、複数のクラスタの夫々の情報を判定に用いるため、複数の正常ファイルの夫々の情報を用いる場合に比べて必要な情報量は少ない。従って、ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能となる。
【0219】
実施形態の誤検知対応システム101において、複数のクラスタのうちいずれか一のクラスタの代表点と、検知ファイルの特徴量を示す点との特徴量空間における距離が、いずれか一のクラスタの閾値より小さい場合に、検知ファイルは正常であると判定する。このような構成によれば、誤検知であるか否かの判定の精度が向上する。
【0220】
実施形態の誤検知対応システム101において、正常ファイルは、ヒューリスティック検知手法によって異常であると検知された後に正常であると判定されたファイルであり、クラスタに所属する複数の正常ファイルのうち、異常であると検知された日時が最新のファイルの特徴量を示す点に基づいて、代表点を定める。このような構成によれば、マルウェアの進化に合わせて、最適な代表点を算定することができる。
【0221】
実施形態の誤検知対応システム101において、クラスタに所属する複数の正常ファイルのうち、第1ファイルの特徴量を示す第1の点と、第1ファイルに続いて異常であると検知された第2ファイルの特徴量を示す第2の点と、の特徴量空間における距離に基づいて、閾値を定める。このような構成によれば、マルウェアの進化に合わせて、最適な閾値を算定することができる。
【0222】
実施形態の誤検知対応システム101において、異常ファイルの特徴量を抽出する処理と、特徴量空間において異常ファイルの特徴量を示す点と、クラスタの代表点との距離に基づいて、閾値を補正する。このような構成によれば、特徴量空間においてクラスタの近傍にマルウェアの特徴量を示す点が多く存在するような場合、クラスタの閾値を小さくすることができる。即ち、ホワイトリスト判定において、クラスタの近傍に存在するマルウェアの亜種を誤って正常と判定してしまうリスクを低減することが可能になる。
【0223】
実施形態の誤検知対応システム101において、正常であると判定されたファイルをホワイトリストに登録する際の処理時間が長いほど、正常であると判定されたファイルが所属するクラスタの閾値を大きくする。このような構成によれば、運用者によるマルウェアへの対処処理の作業工数が大きい場合に、ホワイトリストへの信頼度を高め、運用者によるマルウェアへの対処コストを低減することが可能になる。
【0224】
実施形態の誤検知対応システム101において、所定期間において、ヒューリスティック検知手法によって異常であると検知されたファイルが分類される頻度に基づいて、クラスタの閾値を補正する。このような構成によれば、誤検知頻度が高い場合に、ホワイトリストへの信頼度を高め、運用者によるマルウェアへの対処コストを低減することが可能になる。
【0225】
実施形態の誤検知対応方法は、演算装置及び記憶装置を有する情報処理装置が、複数の
正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、複数のクラスタの夫々の範囲を定めるべく代表点からの距離を示す閾値と、を含むホワイトリストを記憶するステップと、ヒューリスティック検知手法によって異常であると検知された検知ファイルの特徴量を抽出するステップと、特徴量空間において、検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された検知ファイルが正常であるか否か判定するステップと、を実行する。
【0226】
このような方法によれば、複数のクラスタの夫々の情報を判定に用いるため、複数の正常ファイルの夫々の情報を用いる場合に比べて必要な情報量は少ない。従って、ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能となる。
【0227】
実施形態のプログラムは、演算装置及び記憶装置を有する情報処理装置に、複数の正常ファイルが所定の特徴量に基づいて分類された複数のクラスタの夫々の特徴量空間における代表点と、複数のクラスタの夫々の範囲を定めるべく代表点からの距離を示す閾値と、を含むホワイトリストを記憶する機能と、ヒューリスティック検知手法によって異常であると検知された検知ファイルの特徴量を抽出する機能と、特徴量空間において、検知ファイルの特徴量を示す点から、複数のクラスタの夫々の代表点までの距離と、複数のクラスタの夫々の閾値とに基づいて、ヒューリスティック検知手法によって異常であると検知された検知ファイルが正常であるか否か判定する機能と、を実現させる。
【0228】
このようなプログラムによれば、複数のクラスタの夫々の情報を判定に用いるため、複数の正常ファイルの夫々の情報を用いる場合に比べて必要な情報量は少ない。従って、ヒューリスティック検知手法による検知結果が誤検知であるか否かを容易に判定することが可能となる。
【符号の説明】
【0229】
101:誤検知対応システム
102:監視対象端末
103:統合管理サーバ
104:マルウェア情報配信サーバ
105:クライアント端末
106:データベース
107a:ネットワーク
107b:ネットワーク
201:送受信部
202:演算装置
203:マルウェア検知部
204:特徴量抽出部
205:ホワイトリスト判定部
206:誤検知対処要求部
207:マルウェア対処要求部
208:正常ファイル出力部
301:送受信部
302:演算装置
303:誤検知対処要求受信部
304:マルウェア対処要求受信部
305:ホワイトリストクラスタ特定部
306:クラスタパラメータ算定部
307:クラスタパラメータ補正部
308:マルウェア対処画面生成部
309:マルウェア情報収集部
310:正常ファイル情報受信部
401:送受信部
402:演算装置
403:マルウェア情報配信部
501:送受信部
502:入出力部
503:演算装置
601:コンピュータ装置
602:プロセッサ
603:主記憶装置
604:補助記憶装置
605:送受信装置
606:出力装置
607:入力装置
701:検知ファイル情報テーブル
702:ホワイトリスト情報テーブル
703:正常ファイル情報テーブル
704:マルウェア情報テーブル
705:対処コスト情報テーブル
801:検知ファイルID
802:ファイル属性情報
803:特徴量
804:クラスタID
805:検知日時
806:ステータス
807:その他情報
901:クラスタID
902:クラスタの代表点
903:クラスタの閾値
1001:正常ファイルID
1002:ファイル属性情報
1003:特徴量
1004:クラスタID
1005:更新日時
1101:マルウェアID
1102:特徴量
1201:検知ファイルID
1202:対処時間
1901:マルウェア対処画面
1902:検知ファイル一覧
1903:検知ファイル詳細情報リンク
1904:検知ファイル詳細情報
1905:ホワイトリスト判定結果
1906:対処結果報告ボタン