(57)【要約】      （修正有）【課題】マルウェアが組織の入り口となるコンピュータのセキュリティを侵害し、攻撃者との通信を確立した後に発生するマルウェアもしくは攻撃者による侵入拡大に代表される異常を検知する、検知性能の向上に貢献できるコンピュータプログラム、イベント異常検知方法及びコンピュータを提供する。【解決手段】コンピュータ１は、所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成部（機能）１１と、システム外部から受信したイベント情報をイベントキュー１３に格納するイベント受信部（機能）１２と、イベントキュー１３からイベント情報を取り出して、前記抽象化したネットワーク上のノードと矢線で表した特徴データを生成する特徴データ生成部（機能）１４と、前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知部（機能）１６と、を備える。【選択図】図１
2020149553.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成機能と、
システム外部から受信したイベント情報をイベントキューに格納するイベント受信機能と、
前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成機能と、
前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知機能と、
を実現させるためのコンピュータプログラム。
【請求項２】
前記特徴データ生成機能は、イベント情報に含まれるメタ情報に基づいて、前記監視対象のネットワーク上で動作しているサービスをノードとして表し、該サービスと前記装置間の通信を矢線で表した特徴データを生成する請求項１のコンピュータプログラム。
【請求項３】
前記抽象ネットワーク生成機能は、
特定の装置を中心に、サービスが動作している装置の種別に対応する複数の領域を設定した抽象ネットワーク図を生成し、
前記特徴データ生成機能は、前記抽象ネットワーク図の前記サービスが動作している装置の種別に対応する領域に、前記ノードを配置した抽象ネットワーク図に対応する特徴データを作成する請求項２のコンピュータプログラム。
【請求項４】
さらに、前記イベント情報に教師データが付加されている場合、前記教師データが付加されたイベント情報に基づいて、分類器を生成する分類器生成機能を前記コンピュータに実現させる請求項１から３いずれか一のコンピュータプログラム。
【請求項５】
前記分類器生成機能は、装置毎に、所定の時間間隔で分類器を生成する請求項４のコンピュータプログラム。
【請求項６】
前記コンピュータに、
前記生成した分類器の配布を行わせる請求項４又は５のコンピュータプログラム。
【請求項７】
前記異常検知機能は、複数の分類器の中から、イベント情報のメタ情報に適合する分類器を選択して、異常を検知する請求項１から６いずれか一のコンピュータプログラム。
【請求項８】
前記特徴データとして、前記抽象化したネットワーク図上に機器のふるまいを表した図のビットマップ画像の各ピクセルの画素値を繋げた特徴データ列を用いる請求項１から７いずれか一のコンピュータプログラム。
【請求項９】
コンピュータが、
所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成ステップと、
システム外部から受信したイベント情報をイベントキューに格納するイベント受信ステップと、
前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成ステップと、
前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知ステップと、
を含む異常検知方法。
【請求項１０】
所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成部と、
システム外部から受信したイベント情報をイベントキューに格納するイベント受信部と、
前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成部と、
前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知部と、
を備えたコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム、イベント異常検知方法及びコンピュータに関する。
【背景技術】
【０００２】
近年、標的型攻撃やマルウェアなどのサイバー攻撃被害が脅威となっている。サイバー攻撃被害を防ぐために、一般的なマルウェアのふるまいの検知方法として、攻撃動作のリストと照合し一致した場合に検知するブラックリスト型検知と、許可リストと照合し、不一致の場合に検知するホワイトリスト型検知とが知られている。
【０００３】
特許文献１には、挙動情報の分析結果からＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）を用いて良性、疑わしい、非良性で３種類に分類し、このうち疑わしい又は非良性のものを検出する方法が開示されている。また、特許文献１では、このようにして、疑わしい又は非良性と分類した挙動について、ユーザに確認を促し、その応答に応じてホワイトリストに登録する手順を採用している。
【０００４】
特許文献２には、イベントやアラートを分析し、該当する／許可された／指定された関係者に真のインシデントを転送すること、また、当該真のインシデントに対して、トリアージを行う構成が開示されている。
【０００５】
特許文献３には、悪意のあるソフトウェアを検出することができるという方法が開示されている。具体的には、同文献には、クライエントシステムからの重要な文脈情報、機械学習技術、ジェネリックシグネチャの自動展開、およびこれらの組み合わせを用いて、悪意のあるソフトウェアを検出する構成が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１８−５２２３２１号公報
【特許文献２】特表２０１８−５２１４３０号公報
【特許文献３】特表２０１４−５０４３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。上記したマルウェアが、組織の入り口となるコンピュータのセキュリティを侵害し、攻撃者との通信を確立した後に発生するマルウェアもしくは攻撃者による侵入拡大のステップを「Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔ」と呼ぶ。
【０００８】
一般的なマルウェアのふるまいの検知方法として、攻撃動作のリストと照合し一致した場合に検知するブラックリスト型検知と、許可リストと照合し、不一致の場合に検知するホワイトリスト型検知とがある。Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔでは、攻撃者は、通常、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の標準機能を使って、気づかれないようにネットワーク内を動き回る。このため、コマンド名等の単純なブラックリストではＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔの検知は難しい。換言すると、ブラックリストでは事前に知り得た攻撃以外の検知ができないため、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔを防ぎきれないという問題点がある。
【０００９】
Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔは、更に「偵察」、「資格奪取」、「コンピュータ侵入」のステップに分けられる。まず、攻撃者は、ＯＳに標準搭載されているｎｅｔｓｔａｔコマンドなどのツールやユーティリティを使って偵察し、次の攻撃に必要な情報を収集する。こうしたコマンドは一般的にも用いる可能性が高いコマンドであるため、ホワイトリストを使った検知でも対策が難しい。
【００１０】
また、攻撃者は、実際の通信の流れやネットワークの使用状態をみて、次の攻撃対象を絞り込む。このため、囮サーバに対するアクセスを不正なアクセスと判断する対策でも、囮サーバまで攻撃者のアクセスが到達しないことが多く、検出が難しい。
【００１１】
Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔが次の段階に進み、十分な情報が手に入ると、攻撃者は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）スプーフィングやキーロガーなどの手法により正当なアクセス権のデータを奪取する。そして、攻撃者は、盗んだ権限を用いて、他のコンピュータに入り込み、本来の攻撃目標に近づいていく。この段階に達すると、従来のセキュリティ機能ではほぼ検知できない。結果として、攻撃者がより高度な権限を獲得して標的型攻撃の新たな段階に進むのを許してしまうことになる。
【００１２】
Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔが検知困難な状態になる前に一連の挙動を追跡して検知する方法もいくつか提案されている。しかしながら、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔは、通常の動作と区別しにくく、手口も巧妙化してきていることから、人手でログを調べても判別するのは難しいという問題点がある。
【００１３】
上記に対してＡＩを用いてＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔを検知する方法も出てきているが、組織固有の条件およびリスクを考慮した対策までは難しく、誤検出（過検知および見逃し）が多いのが現状である。また、攻撃対象が異なれば攻撃者の目的も異なるという課題もある。このため、ＡＩ技術を用いて作成した分類器に、組織固有の特徴を含んでしまうケースが多い。これは、他組織に分類器を横展開できないということにもつながり、有効な対策を打つことが困難な一因となっている。
【００１４】
この点、特許文献１では、分析器モジュール（分類器に相当）において、リスク面についても一部考慮することが開示されているが、組織固有の条件や分類器の横展開までは言及されていない。結果として、特許文献１の開示内容では、すぐ他組織に分類器を横展開して、迅速な対策を打つことは不可能である。
【００１５】
特許文献２に記載の発明も、結局のところは、シグネチャ（ブラックリスト、ホワイトリスト）を用いる方法と同じであり、手口が巧妙化し、人手での検出が困難になってきているＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔの対策で使うのは難しいと言える。
【００１６】
特許文献３の方法も、システムに対するイベント履歴、ふるまいに関するメタ情報を基に分析を行い、ＡＩ技術やシグネチャ（ブラックリスト）を用いて判断を行っている点では、特許文献２と同様である。また、特許文献３においても、組織固有の条件や分類器の横展開までは言及されていない。このため、特許文献３においても、すぐ他組織に分類器を横展開して、迅速な対策を打つことは不可能である。
【００１７】
本発明は、上記したＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔに代表される機器の挙動に潜んだ異常の検知性能の向上に貢献できるコンピュータプログラム、イベント異常検知方法及びコンピュータを提供することを目的とする。
【課題を解決するための手段】
【００１８】
第１の視点によれば、コンピュータに、所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成機能と、システム外部から受信したイベント情報をイベントキューに格納するイベント受信機能と、前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成機能と、前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知機能と、を実現させるためのコンピュータプログラムが提供される。このプログラムは、コンピュータ装置に入力装置又は外部から通信インターフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させる。また、このプログラムは、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インターフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによって接続可能なプロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。
【００１９】
第２の視点によれば、コンピュータが、所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成ステップと、システム外部から受信したイベント情報をイベントキューに格納するイベント受信ステップと、前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成ステップと、前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知ステップと、を含む異常検知方法が提供される。本方法は、所定の分類器を用いて、イベント情報に基づいて異常を検知するコンピュータという、特定の機械に結びつけられている。
【００２０】
第３の視点によれば、所定のルールを用いて、監視対象のネットワークの抽象化を行う抽象ネットワーク生成部と、システム外部から受信したイベント情報をイベントキューに格納するイベント受信部と、前記イベントキューからイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する特徴データ生成部と、前記特徴データを格納する予測キューから予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する異常検知部と、を備えたコンピュータが提供される。
【発明の効果】
【００２１】
本発明によれば、上記したＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔに代表される、機器の挙動に潜んだ異常の検知性能を向上させることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態のコンピュータの構成を示す図である。
【図３】本発明の第１の実施形態のコンピュータの動作（ネットワーク抽象化処理）を示す図である。
【図４】本発明の第１の実施形態の動作を説明するための監視対象のネットワークの構成を示す図である。
【図５】本発明の第１の実施形態のコンピュータにより抽象化されたネットワークの初期データの例を示す図である。
【図６】図５の初期データに、サービスをノードとして配置した状態を示す図である。
【図７】図６のデータに、さらに、ノードを配置した状態を示す図である。
【図８】本発明の第１の実施形態のコンピュータの動作（特徴データ列生成処理）を示す図である。
【図９】本発明の第１の実施形態のコンピュータにより生成される特徴データ列の例を示す図である。
【図１０】本発明の第１の実施形態のコンピュータの動作（分類器生成処理）を示す図である。
【図１１】本発明の第１の実施形態のコンピュータの動作（特徴データ分析処理）を示す図である。
【図１２】本発明の第２の実施形態のコンピュータの構成を示す図である。
【図１３】本発明のコンピュータの物理的な構成を示す図である。
【発明を実施するための形態】
【００２３】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。さらに、コンピュータ装置は、通信インターフェースを介して装置内又は外部の機器（コンピュータを含む）と、有線、無線を問わず、交信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インターフェースがあるが図示省略する。また、以下の説明において、「Ａ及び／又はＢ」は、Ａ及びＢの少なくともいずれかという意味で用いる。
【００２４】
本発明は、その一実施形態において、図１に示すように、コンピュータ１に、抽象ネットワーク生成機能１１と、イベント受信機能１２と、特徴データ生成機能１４と、異常検知機能１６と、を実現させるためのコンピュータプログラムにて実現できる。
【００２５】
より具体的には、抽象ネットワーク生成機能１１は、所定のルールを用いて、監視対象のネットワークの抽象化を行う。抽象化されたネットワークは図６に例示される。
【００２６】
イベント受信機能１２は、システム外部から受信したイベント情報をイベントキュー１３に格納する。
【００２７】
特徴データ生成機能１４は、イベントキュー１３からイベント情報を取り出して、前記抽象化したネットワーク上の装置のふるまいを表した特徴データを生成する。特徴データとしては、図８に例示されるイベント情報を抽象化ネットワークの上にマッピングしたものを用いることができる。
【００２８】
そして、異常検知機能１６は、特徴データを格納する予測キュー１５から予測待ち状態の特徴データを取り出し、所定の分類器を用いて、異常を検知する。
【００２９】
上記したコンピュータプログラムにより、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔに代表される異常を精度よく検知することが可能となる。その理由は、監視対象のネットワークの抽象化を行って、イベント情報を、ネットワーク上の装置のふるまいを表した特徴データに変換した上で、分類器を用いて予測を行う構成を採用したことにある。
【００３０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。はじめに、図２を参照して、本実施形態の概要を説明する。本実施形態のコンピュータ１００は、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔ検知に特化したネットワークの抽象化を行う抽象ＮＷ生成部（抽象ネットワーク生成部）１０１を備える。このコンピュータ１００は、さらに、システム外部から発生したイベント情報の通知を受け取り、イベント情報をイベントＱｕｅｕｅ１０４に格納するイベント受信部１０３を備える。このコンピュータ１００は、さらに、イベントＱｕｅｕｅ１０４を参照して特徴データ列を生成し、予測Ｑｕｅｕｅ１０８に格納する特徴データ生成部１０５を備える。このコンピュータ１００は、さらに、分類器格納部１１０から取得した分類器を用いて、予測Ｑｕｅｕｅ１０８から予測待ち状態のイベント情報を分析し、予測結果・検知結果を生成するイベント異常検知部１１１を備える。このコンピュータ１００は、さらに、システム管理者向けに、予測結果・検知結果を表示する検知結果表示部１１２を備える。
【００３１】
なお、図２に示したコンピュータ１００の各部（処理手段）は、コンピュータ１００に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。従って、抽象ＮＷ生成部１０１、イベント受信部１０３、特徴データ生成部１０５及びイベント異常検知部１１１は、それぞれ上記した抽象ネットワーク生成機能１１、イベント受信機能１２、特徴データ生成機能１４及び異常検知機能１６に対応する。
【００３２】
続いて、本実施形態のコンピュータ１００の構成について図面を参照して詳細に説明する。コンピュータ１００は、主に３つの処理（ネットワーク抽象化、予測、学習）を行うことでマルウェア感染拡大検知システムとして機能する。以下、それぞれの処理順に説明する。
【００３３】
［ネットワーク抽象化］
はじめに、ネットワーク抽象化処理に関係のある構成要素について説明する。ネットワーク抽象化処理は、抽象ＮＷ生成部１０１によって行われる。ＮＷデータデータベース（ＮＷデータＤＢ）１０２は、抽象ＮＷ生成部１０１が生成したアウトプットを格納するデータベースである。
【００３４】
抽象ＮＷ生成部１０１には、システム外部から入力された端末のメタ情報、重要度、端末上で動作するサービスに関するメタ情報（以降、これらを総称して「端末情報」と呼ぶ）が入力される。そして、抽象ＮＷ生成部１０１は、この端末情報を入力として、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔ検知に特化したネットワークの抽象化を行ってサービスが動作している装置別に複数の領域を設定した抽象ネットワーク図を生成する。抽象ＮＷ生成部１０１によるネットワークの抽象化の具体例は、後に抽象ＮＷ生成部１０１の動作と合わせて説明する。
【００３５】
［予測］
次にＡＩを用いた予測処理に関係のある構成要素について説明する。予測処理は、イベント受信部１０３と、特徴データ生成部１０５と、イベント異常検知部１１１と、検知結果表示部１１２とによって行われる。
【００３６】
イベント受信部１０３は、システム外部から発生したイベント情報の通知を受け取り、イベント情報をイベントＱｕｅｕｅ１０４に格納する。
【００３７】
ここで、イベント受信部１０３が受け取るイベント情報について説明する。イベント情報は、通信、プロセス生成、ファイル操作など、ＯＳなどから入手した端末等のふるまいに関する情報となる。例えば、システムコールレベルの情報をイベント情報とすることができる。これらのシステムコールレベルの情報は、例えば、Ｗｉｎｄｏｗｓ（登録商標）の場合、Ｅｖｅｎｔ  Ｔｒａｃｉｎｇ  ｆｏｒ  Ｗｉｎｄｏｗｓ（ＥＴＷ）を利用して得ることができる。同様に、Ｌｉｎｕｘ（登録商標）の場合は、ａｕｄｉｔｄ、ＭａｃＯＳの場合は、ＤＴｒａｃｅなどを利用してシステムコールレベルの情報を得ることができる。また、必要に応じて監視対象の端末に、エージェントプログラムをインストールしてイベント情報を収集するようにしてもよい。
【００３８】
特徴データ生成部１０５は、イベントＱｕｅｕｅ１０４を参照して特徴データ列を生成し、予測Ｑｕｅｕｅ１０８に格納する。特徴データ生成部１０５が生成する特徴データは、上記したイベント情報を入力として生成した装置のふるまいを表す整数型の数字列となる。特徴データ生成部１０５による特徴データ列の生成の具体例は、後に特徴データ生成部１０５の動作と合わせて説明する。
【００３９】
イベント異常検知部１１１は、分類器格納部１１０から分類器を取得してメモリ上にロードし、予測Ｑｕｅｕｅ１０８から予測待ち状態のイベント情報を受け取り、メモリ上の分類器を使って予測結果・検知結果を生成する。
【００４０】
イベント異常検知部１１１が分類器格納部１１０から取得する分類器としては、教師あり学習、例えばディープラーニングで生成したクラス分類のための分類器を用いることができる。
【００４１】
検知結果表示部１１２は、予測結果・検知結果をシステム管理者向けに表示するディスプレイ装置等によって構成される。
【００４２】
［学習］
最後にＡＩを用いた学習処理に関係のある構成要素について説明する。学習処理は、特徴データ生成部１０５と、学習データ蓄積部１０６と、分類器生成部１０９とによって行われる。
【００４３】
特徴データ生成部１０５は、システム外部から教師データとイベント情報を受け取った場合、学習用の特徴データ列を生成する。
【００４４】
学習データ蓄積部１０６は、教師データと特徴データ列を組み合わせて学習データを生成し、生成した学習データを学習データＤＢ１０７に格納する。
【００４５】
分類器生成部１０９は、定期的に学習データＤＢ１０７を参照し分類器を生成し、分類器格納部１１０に格納する。
【００４６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、前述のコンピュータ１００の構成と同様に、ネットワーク抽象化、学習、予測の順に各処理の詳細について図を用いて説明する。
【００４７】
［ネットワーク抽象化］
はじめに、ネットワーク抽象化処理の流れを、図３を用いて説明する。図３を参照すると、抽象ＮＷ生成部１０１は、端末情報を受信すると、その情報を基にネットワークの抽象化を行うための初期データ（初期画像）を生成する（ステップ２０１）。
【００４８】
以下の説明では、図４のようなネットワーク構成におけるイベント異常を検出する例を想定して説明する。図４の符号３０１、３０２、３０３は組織内の端末であり、サーバ機能の動作していない端末である。図４の符号３０４、３０５、３０６は異なるネットワークの境界にある装置である。なお、ＧＷはゲートウェイの略である。図４の符号３０７、３０８は、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（ディレクトリサービス）が動作している端末である。図４の符号３０９はＷｅｂサービスが動作している端末（ＷｅｂＳＶ）である。ＳＶはサーバの略である。以下の説明においては、図４の端末３０１、３０２、３０３及びＡＤ３０７、３０８、ＷｅｂＳＶ３０９を以降、総称して「端末」として扱い、それぞれについてネットワークの抽象化を行う。なお、図４のＧＷ１  ３０４からインターネット方向は組織外になるため、処理対象には含めない。
【００４９】
抽象ＮＷ生成部１０１は、端末毎にそれぞれ初期画像を作成する。例えば、図４の端末３  ３０３の場合、抽象ＮＷ生成部１０１は、図５に示すような該当端末を中心として円を描いたベクトル画像（初期画像）を生成する。
【００５０】
次に、抽象ＮＷ生成部１０１は、端末毎、サービス毎に、入力された端末情報を使って、それぞれステップ２０１で生成した画像を更新する処理を行う（ステップ２０２、ステップ２０３）。
【００５１】
抽象ＮＷ生成部１０１は、ステップ２０１で作成した初期画像の上に、端末情報に含まれるサービスのメタ情報（プロトコル番号、ポート番号、重要度）を基に、各サービスをノードとして配置し、画像を更新する（ステップ２０４）。図６は、図５の初期画像の上に、ノードを配置した例を示している。
【００５２】
より具体的には、抽象ＮＷ生成部１０１は、入力値のメタ情報を基に３つのタイプ（種別）に周辺装置を分類し、これら通信の端点となる可能性があるサービスを円弧上にノードとして配置していく。図６の例では、各種サーバ上で動作するサービスを、Ｇｒｏｕｐ２（４０２）の領域に、ノードとして配置している。また、図６の例では、ノードの近傍のｔｃｐ／８０は、プロトコル番号、ポート番号を表している。なお、ｔｃｐは、Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌの略である。
【００５３】
同様に、図６の例では、Ｄｏｍａｉｎ  Ｃｏｎｔｒｏｌｌｅｒ上で動作するサービスを、Ｇｒｏｕｐ３（４０３）の領域に、ノードとして配置している。ノードの近傍のｔｃｐ／１０２５−６５５３５、ｔｃｐ／４４５、ｔｃｐ／１３５は、プロトコル番号、ポート番号を表している。なお、ｔｃｐ／１０２５−６５５３５は、１０２５〜６５５３５の間のポート番号が動的に割り当てられるサービスを示している。
【００５４】
さらに、その他の端末上のサービスがある場合、抽象ＮＷ生成部１０１は、図７に示すように、Ｇｒｏｕｐ１（４０１）の領域に、ノードとして配置する。
【００５５】
抽象ＮＷ生成部１０１は、ＮＷデータＤＢ１０２に、生成した画像（抽象ネットワーク図）を格納する（ステップ２０５）。ここでは、図７のような画像が格納されたものとして説明を続ける。
【００５６】
［学習］
学習処理は、学習データ生成・蓄積と、分類器生成の２つのステップに分かれており、それぞれが独立して動作する。以下、学習データ生成・蓄積、分類器生成の順で、動作の流れを説明する。
【００５７】
［学習−学習データ生成・蓄積］
学習データ生成・蓄積の流れを、図８を用いて説明する。特徴データ生成部１０５は、システム外部から学習データ（イベント情報のみ又は教師データ付きのイベント情報）を受け取ると、特徴データ列を生成する（ステップ５０１）。
【００５８】
例えば、図４の端末３  ３０３の場合、特徴データ列は、次のように生成される。特徴データ生成部１０５は、端末の識別子をキーとして、ＮＷデータＤＢ１０２を検索し、端末３  ３０３のネットワーク抽象化後のベクトル画像（初期画像、図６参照）を取得する。次に、特徴データ生成部１０５は、受け取ったイベント情報の中に含まれる通信に関する情報を取り出して、ネットワーク抽象化後のベクトル画像の上に、サービスと装置間の通信を示す矢印を追加していく。本実施形態の特徴データ生成部１０５は、通信量の大小によって矢印の太さを変更する。例えば、通信量が多い場合、特徴データ生成部１０５は、矢印を太くしていく（図９のｔｃｐ／８０参照）。また、動的に使用されるポート番号（例えばＲＰＣ動的ポート）については、特徴データ生成部１０５は、一つの端点（ノード）にまとめる（図９のｔｃｐ／１０２５−６５５３５参照）。なお、ＲＰＣは、Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌの略である。
【００５９】
また、画像の中にある円弧上にノードが存在しない場合、特徴データ生成部１０５は、新たにノードを追加する。このときのノードの追加ルールは、ネットワーク抽象化処理の際と同様である。即ち、各種サーバ上の通信の端点を、Ｇｒｏｕｐ２（図９−４０２の点線枠（領域）内の円弧上）にノードとして配置する。Ｄｏｍａｉｎ  Ｃｏｎｔｒｏｌｌｅｒ上の通信の端点をＧｒｏｕｐ３（図９−４０３の点線枠内の円弧上）に配置する。その他の端末上の通信の端点をＧｒｏｕｐ１（図９−４０１の点線枠内の円弧上）に配置する。
【００６０】
特徴データ生成部１０５は、受け取ったイベント情報の中に含まれる通信に関する情報を処理し終えるまで、ノードの追加と矢印の追加を繰り返し行う。図９は、特徴データ列生成直前の画像の例を示す。特徴データ生成部１０５は、生成した画像をラスタ画像（ビットマップデータ）に変換し、各ピクセルの画素値を整数に変換して特徴データ列を生成する。特徴データ生成部１０５は、このラスタ画像の各画素値をカンマ区切りでつなげた値を特徴データ列として出力する。
【００６１】
次に、特徴データ生成部１０５は、特徴データ列の生成後に、入力されたイベント情報に教師データが含まれているかどうかを確認する（ステップ５０２）。教師データは、例えば、マルウェア感染拡大の動作に該当する場合は“１”、マルウェア感染拡大の動作に該当しない場合は“０”となる整数値で表すことができる。
【００６２】
前記確認の結果、教師データが含まれている場合、特徴データ生成部１０５は、特徴データ列と教師データにイベントの発生時刻と端末の識別子を付与して学習データ蓄積部１０６に送信する（ステップ５０３）。
【００６３】
一方、教師データが含まれていない場合、特徴データ生成部１０５は、特徴データ列にイベントの発生時刻と端末の識別子を付与して、予測Ｑｕｅｕｅ１０８に格納する（ステップ５０４）。
【００６４】
学習データ蓄積部１０６は、特徴データ生成部１０５から特徴データ列および教師データを受け取ると、教師データ、特徴データ列の順で各値をカンマ区切りでつなげる。そして、学習データ蓄積部１０６は、前記教師データと特徴データ列の組に、特徴データ生成部１０５から受信したイベントの発生時刻と端末の識別子を付与して学習データとし、学習データＤＢ１０７に格納する（ステップ５０５）。
【００６５】
［学習−分類器生成］
続いて、図１０を用いて分類器生成の流れを説明する。分類器生成部１０９は、定期的に学習データＤＢ１０７を参照し、学習データが新たに増加しているか否かを確認する（ステップ６０１）。学習データが増加している場合、分類器生成部１０９は、分類器の生成処理に移行する（ステップ６０１のＹｅｓ）。一方、学習データが増加していない場合、分類器生成部１０９は、分類器の生成を行わず、処理を終了する（ステップ６０１のＮｏ）。
【００６６】
本実施形態の分類器生成部１０９は、端末毎、および指定期間毎（１時間単位、１日単位、１週間単位、１か月単位）に分けて、分類器の生成を行う（ステップ６０２、ステップ６０３）。具体的には、分類器生成部１０９は、学習データＤＢ１０７にアクセスし、端末の識別子、およびイベント発生期間を指定して検索を行い、該当する学習データを取得する（ステップ６０４）。
【００６７】
次に、分類器生成部１０９は、取得した学習データを入力として分類器を生成する（ステップ６０５）。分類器の生成には、ディープラーニングを用いることができる。
【００６８】
最後に、分類器生成部１０９は、生成した分類器を分類器格納部１１０に格納する（ステップ６０６）。
【００６９】
［予測］
続いて、図１１を用いて、上記した分類器を用いた予測処理の流れを説明する。まず、イベント受信部１０３は、イベント情報を受け取ると、イベントの発生時刻と、イベントが発生した端末の識別子を付与して、イベントＱｕｅｕｅ１０４に登録する（ステップ７０１）。
【００７０】
特徴データ生成部１０５は、イベントＱｕｅｕｅ１０４にデータが登録されると、登録されたデータを取得する（ステップ７０２）。
【００７１】
特徴データ生成部１０５は、前述の学習時と同じ方法で特徴データ列を生成する（ステップ７０３）。
【００７２】
次に、特徴データ生成部１０５は、生成した特徴データ列にイベントＱｕｅｕｅ１０４から取得したイベントの発生時刻、端末の識別子を加えて、予測Ｑｕｅｕｅ１０８に登録する（ステップ７０４）。
【００７３】
イベント異常検知部１１１は、予測Ｑｕｅｕｅ１０８に新規データが登録されると、その情報を取得する（ステップ７０５）。
【００７４】
イベント異常検知部１１１は、取得した新規データからイベントの発生時刻および端末の識別子を取り出し、分類器格納部１１０から該当する分類器を取得し、取得した分類器をすべてメモリにロードする。そして、イベント異常検知部１１１は、メモリにロードした各分類器を使い、特徴データ列を入力として、予測処理を行う（ステップ７０６）。イベント異常検知部１１１は、例えば、各分類器の出力（０．０−１．０の間の数字）の平均をとり、予め決めておいた閾値を上回る値となった場合は、異常、閾値以下となった場合は正常と判断する。
【００７５】
イベント異常検知部１１１は、検知結果表示部１１２に予測結果を受け渡す。検知結果表示部１１２は、予測結果を出力する（ステップ７０７）。
【００７６】
本実施形態によれば、異常（マルウェア感染拡大に関連する事象）を精度よく検知することができる。その理由は、資産およびリスクを考慮したグループ分けを行うことで、ユーザ固有の環境情報を除いてネットワークを抽象化したことで、ユーザ環境の違いに関係なくＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔを検知可能な手法を採用したことにある。また、本実施形態では、必要な情報を選択してネットワーク抽象化を行っている。このため、組織が外部に開示したくないような情報を秘匿化することも可能となっている。
【００７７】
また、本実施形態によれば、新種のＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔも検知可能となる。その理由は、上記したようにＬａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔ検出に特化したネットワークの抽象化を行い、かつ、ＡＩを用いて、異常なふるまいを検知する構成を採用したことにある。
【００７８】
また、本実施形態において分類器生成部１０９が生成する分類器は、他の組織でも使用可能な分類器となる。例えば、コンピュータ１００に、生成した分類器の配布を行わせてもよい。これにより、作成した分類器を異なる組織間で横展開可能になり、Ｌａｔｅｒａｌ  Ｍｏｖｅｍｅｎｔに対して迅速な対策を打つことが可能となる。また、本実施形態によれば、ブラックリストを生成するときのような秘匿化の手間は不要となる。
【００７９】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、画像等の表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００８０】
例えば、上記した実施形態では、コンピュータ１００が学習を行うものとして説明したが、分類器自体は、他のコンピュータで作成されたものを用いてもよい。この場合の構成は、図１２に示すようになる（第２の実施形態）。図１２のコンピュータ１００ａは、学習データ蓄積部１０６、学習データ記憶部１０７、分類器生成部１０９を持たない代わりに、分類器受信部１１３を備えている。その他各要素の動作は、第１の実施形態と同様であるので、説明を省略する。
【００８１】
例えば、上記した実施形態では、前記特徴データとして、前記抽象化したネットワーク図上に機器のふるまいを表した図のビットマップ画像の各ピクセルの画素値を繋げた特徴データ列を用いるものとして説明したが、特徴データはこれに限られない。例えば、図９に例示したラスタ画像（ビットマップデータ）から抽出した特徴量を特徴データとして用いて学習・予測を行ってもよいことはもちろんである。
【００８２】
例えば、上記した実施形態では、ディープラーニングを用いて学習を行うものとして説明したが、その他の機械学習アルゴリズムを用いて分類器を作成することも可能である。
【００８３】
また、上記した第１の実施形態に示した手順は、コンピュータ（図１３の９０００）に、上記したネットワーク抽象化、学習、予測の各機能を実現させるプログラムにより実現可能である。このようなコンピュータの物理的構成は、図１３のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１０、通信インターフェース９０２０、メモリ９０３０、補助記憶装置９０４０を備える構成に例示される。すなわち、図１３のＣＰＵ９０１０にて、ネットワーク抽象化プログラムや予測プログラムを実行し、その補助記憶装置９０４０等に保持された各計算パラメーターの更新処理を実施させればよい。
【００８４】
即ち、上記した第１、第２の実施形態に示したコンピュータ１００、１００ａの各部（処理手段、機能）は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。また、上記したコンピュータ１００、１００ａの各部（処理手段、機能）は、それぞれ該当する機能を担うハードウェアとして実現することも可能である。
【００８５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるコンピュータプログラム参照）
［第２の形態］
上記したコンピュータプログラムの特徴データ生成機能は、イベント情報に含まれるメタ情報に基づいて、前記監視対象のネットワーク上で動作しているサービスをノードとして表し、該サービスと前記装置間の通信を矢線で表した特徴データを生成する構成を採ることができる。
［第３の形態］
上記したコンピュータプログラムの抽象ネットワーク生成機能は、特定の装置を中心に、サービスが動作している装置の種別に対応する複数の領域を設定した抽象ネットワーク図を生成し、前記特徴データ生成機能は、前記抽象ネットワーク図の前記サービスが動作している装置の種別に対応する領域に、前記ノードを配置した抽象ネットワーク図に対応する特徴データを作成する構成を採ることができる。
［第４の形態］
上記したコンピュータプログラムは、さらに、前記イベント情報に教師データが付加されている場合、前記教師データが付加されたイベント情報に基づいて、分類器を生成する分類器生成機能を前記コンピュータに実現させるものであってもよい。
［第５の形態］
上記したコンピュータプログラムの前記分類器生成機能は、装置毎に、所定の時間間隔で分類器を生成する構成を採ることができる。
［第６の形態］
上記したコンピュータプログラムは、さらに、前記コンピュータに前記生成した分類器の配布を行わせるものであってもよい。
［第７の形態］
上記したコンピュータプログラムの前記異常検知機能は、複数の分類器の中から、イベント情報のメタ情報に適合する分類器を選択して、異常を検知する構成を採ることができる。
［第８の形態］
上記したコンピュータプログラムは、前記特徴データとして、前記抽象化したネットワーク図上に機器のふるまいを表した図のビットマップ画像の各ピクセルの画素値を繋げた特徴データ列を用いるものであってもよい。
［第９の形態］
（上記第２の視点による異常検知方法参照）
［第１０の形態］
（上記第３の視点によるコンピュータ参照）
なお、上記第９〜第１０の形態は、第１の形態と同様に、第２〜第８の形態に展開することが可能である。
【００８６】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択（部分的削除を含む）が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００８７】
１、１００、１００ａ、９０００  コンピュータ
１１  抽象ネットワーク生成機能
１２  イベント受信機能
１３  イベントキュー
１４  特徴データ生成機能
１５  予測キュー
１６  異常検知機能
１０１  抽象ＮＷ生成部
１０２  ＮＷデータデータベース（ＮＷデータＤＢ）
１０３  イベント受信部
１０４  イベントＱｕｅｕｅ
１０５  特徴データ生成部
１０６  学習データ蓄積部
１０７  学習データＤＢ
１０８  予測Ｑｕｅｕｅ
１０９  分類器生成部
１１０  分類器格納部
１１１  イベント異常検知部
１１２  検知結果表示部
１１３  分類器受信部
３０１〜３０３  端末
３０４、３０５  ＧＷ
３０６  Ｓｗｉｔｃｈ
３０７  ＡＤ  Ｐｒｉｍａｒｙ
３０８  ＡＤ  Ｂａｃｋｕｐ
３０９  Ｗｅｂ  ＳＶ
４０１〜４０３  領域
９０１０  ＣＰＵ
９０２０  通信インターフェース
９０３０  メモリ
９０４０  補助記憶装置
【図１】
2020149553.tif 000003
【図２】
2020149553.tif 000004
【図３】
2020149553.tif 000005
【図４】
2020149553.tif 000006
【図５】
2020149553.tif 000007
【図６】
2020149553.tif 000008
【図７】
2020149553.tif 000009
【図８】
2020149553.tif 000010
【図９】
2020149553.tif 000011
【図１０】
2020149553.tif 000012
【図１１】
2020149553.tif 000013
【図１２】
2020149553.tif 000014
【図１３】
2020149553.tif 000015