(57)【要約】【課題】サイバー攻撃に対する脅威や脆弱性の情報を容易に体系的に整理して抽出する。【解決手段】種別分類部１５ａが、系列ラベリング問題として、文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類し、関係分類部１５ｂが、多値分類問題として、分類された文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類し、作成部１５ｃが、分類された文字列の種別および関係を用いて、文字列間の関係を示すグラフを作成する。【選択図】図１
2019049800.tif 000002
【特許請求の範囲】
【請求項１】
文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する種別分類部と、
分類された前記文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する関係分類部と、
分類された前記文字列の前記種別および前記関係を用いて、文字列間の関係を示すグラフを作成する作成部と、
を備えることを特徴とする抽出装置。
【請求項２】
前記種別分類部は、系列ラベリング問題として、前記文字列を前記種別ごとに分類することを特徴とする請求項１に記載の抽出装置。
【請求項３】
前記関係分類部は、多値分類問題として、前記文字列の組み合わせを前記関係ごとに分類することを特徴とする請求項１または２に記載の抽出装置。
【請求項４】
前記作成部は、二値分類問題として、同一の前記種別に分類された同一の前記文字列を識別して結合することにより、前記グラフを作成することを特徴とする請求項１〜３のいずれか１項に記載の抽出装置。
【請求項５】
抽出装置で実行される抽出方法であって、
文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する種別分類工程と、
分類された前記文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する関係分類工程と、
分類された前記文字列の前記種別および前記関係を用いて、文字列間の関係を示すグラフを作成する作成工程と、
を含んだことを特徴とする抽出方法。
【請求項６】
文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する種別分類ステップと、
分類された前記文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する関係分類ステップと、
分類された前記文字列の前記種別および前記関係を用いて、文字列間の関係を示すグラフを作成する作成ステップと、
をコンピュータに実行させるための抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出装置、抽出方法および抽出プログラムに関する。
【背景技術】
【０００２】
近年、サイバー攻撃が複雑化し、日々膨大なサイバーセキュリティ関連の文書がＷＥＢ上に公開されている。そのため、セキュリティ業務従事者らが、サイバー攻撃に対する脅威や脆弱性の情報を体系的に整理して利活用することが困難であり、既に報告されている脅威や脆弱性の情報への対応が遅れている。このような対応の遅れは、セキュリティインシデントが発生する原因となっている。さらに、セキュリティインシデントが発生した後、事象や原因の把握が遅れ、被害が拡大する原因にもなっている。
【０００３】
そこで、サイバー攻撃に対する脅威や脆弱性の情報を体系的に整理して取得する技術が求められている。例えば、文書からサイバーセキュリティに限定されない一般的な事象を認識して抽出する技術が知られている（非特許文献１，２参照）。また、イベント抽出と呼ばれる手法を用いて、文書からサイバーセキュリティに関する事象を認識して抽出することができる（非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Xuezhe  Ma，Eduard  Hovy，“End-to-end  Sequence  Labeling  via  Bi-directional  LSTM-CNNs-CRF”，arXiv  preprint  arXiv:1603.01354，2016年
【非特許文献２】Linlin  Wang，et  al.，“Relation  Classification  via  Multi-Level  Attention  CNNs”，Proceedings  of  the  54th  Annual  Meeting  of  the  Association  for  Computational  Linguistics，2016年，pp.1298-1307
【非特許文献３】Recorded  Future，“Anatomy  of  Cyber  Threats,  Vulnerabilities,  and  Attacks”，[online]，2015年，［２０１７年８月１７日検索]，インターネット＜URL:https://info.recordedfuture.com/Portals/252628/resources/cyber-anatomy-white-paper.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術ではサイバー攻撃に対する脅威や脆弱性の情報を体系的に整理して抽出することが困難である。例えば、イベント抽出の技術では、あらかじめ抽出対象とするサイバーセキュリティイベントをテンプレートとして記述して定義する必要がある。また、イベントの軸となる「攻撃者」以外の「使用マルウェア」、「標的組織」等の引数となる項目について、項目間の関係や、同一項目内の例えば複数の使用マルウェア間の関係等を適切に表現することができない。したがって、複雑な事象の表現力に乏しく、複雑な脅威や脆弱性の情報を抽出することが困難である。
【０００６】
本発明は、上記に鑑みてなされたものであって、サイバー攻撃に対する脅威や脆弱性の情報を容易に体系的に整理して抽出することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る抽出装置は、文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する種別分類部と、分類された前記文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する関係分類部と、分類された前記文字列の前記種別および前記関係を用いて、文字列間の関係を示すグラフを作成する作成部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、サイバー攻撃に対する脅威や脆弱性の情報を容易に体系的に整理して抽出することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、抽出装置の概略構成を例示する模式図である。
【図２】図２は、種別分類部の処理を説明するための説明図である。
【図３】図３は、関係分類部の処理を説明するための説明図である。
【図４】図４は、作成部の処理を説明するための説明図である。
【図５】図５は、抽出処理手順を示すフローチャートである。
【図６】図６は、抽出処理の効果を説明するための説明図である。
【図７】図７は、抽出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［抽出装置の構成］
図１は、抽出装置の概略構成を例示する模式図である。図１に例示するように、抽出装置１０は、パソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００１２】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
【００１３】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した外部の装置と制御部１５との通信を制御する。
【００１４】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、後述する抽出処理により学習されたデータの生成モデルのパラメータ等が記憶される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００１５】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図１に例示するように、種別分類部１５ａ、関係分類部１５ｂおよび作成部１５ｃとして機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。
【００１６】
種別分類部１５ａは、文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する。具体的には、種別分類部１５ａは、系列ラベリング問題として、統計的機械学習、深層学習またはルールベースの手法を適用し、文字列に種別を付与する。すなわち、種別分類部１５ａは、文書を連続する文字列からなる系列データとして、所定の種別を示すラベルを各文字列に付与する。
【００１７】
ここで、サイバーセキュリティに関する固有表現の種別とは、サイバー攻撃に対する脅威と脆弱性を表す固有表現の種別を意味する。具体的には、サイバー攻撃手法名、サイバー攻撃キャンペーン名、サイバー攻撃者または攻撃者グループ名、脆弱性識別子、インターネット上のドメイン名、ハッシュ値、個人または組織の名称、業界・業種・産業名、ＩＰアドレス、マルウェア名、製品またはサービス名、地域の名称、個人の役割または職種名、時間表現、製品またはサービスのバージョン名等が用いられる。
【００１８】
図２は、種別分類部１５ａの処理を説明するための説明図である。図２に例示するように、種別分類部１５ａは、サイバー攻撃に対する脅威と脆弱性の固有表現、すなわち、サイバーセキュリティに関する固有表現の種別を付与した文字列を抽出する。例えば、種別分類部１５ａは、統計的機械学習の手法を用いて、入力された文書のサイバーセキュリティに関する固有表現である文字列を識別して種別を付与する。なお、種別が付与されない文字列は、サイバーセキュリティに関する固有表現ではないことを意味する。
【００１９】
図２において、入力文書の文字列の上部に付与された種別が表示されている。図２には、例えば、種別「攻撃者名」が付与された文字列「攻撃者Ａ」、種別「組織・個人名」が付与された文字列「Ｎ社」、種別「攻撃手法名」が付与された文字列「水飲み場型攻撃」等が抽出されたことが示されている。
【００２０】
関係分類部１５ｂは、分類された文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する。具体的には、関係分類部１５ｂは、種別が付与された文字列の集合の直積集合を生成し、種別が付与された文字列の組み合わせである該直積集合の元を、所定の関係ごとに分類する。その際、関係分類部１５ｂは、多値分類問題として、統計的機械学習、深層学習またはルールベースの手法を適用し、直積集合の元すなわち種別が付与された文字列の組み合わせに、所定の関係を示すラベルを付与する。
【００２１】
ここで、サイバーセキュリティに関して定義された関係として、攻撃者と標的の関係、別名の関係、指示元と指示先の関係、観測時刻と観測対象の関係、帰属元と帰属先の関係、使用者と使用対象の関係等が用いられる。
【００２２】
図３は、関係分類部１５ｂの処理を説明するための説明図である。図３に例示するように、関係分類部１５ｂは、種別分類部１５ａが抽出した固有表現、すなわちサイバーセキュリティに関する固有表現の種別が付与された文字列について、任意の組み合わせからサイバー攻撃に対する脅威と脆弱性の関係があるもの抽出する。例えば、関係分類部１５ｂは、統計的機械学習の手法を用いて、種別が付与された文字列の組み合わせに対して上記の所定の関係を付与する。なお、関係が付与されない文字列の組み合わせは、文字列間に定義された関係が存在しないことを意味する。
【００２３】
図３において、種別が付与された文字列が四角で囲んで示されている。文字列に付与された種別は括弧で囲んで示されている。また、文字列間の関係は、２つの文字列の間の矢印に付記されている。図３には、例えば、種別「攻撃者名」が付与された文字列「攻撃者Ａ」と、種別「攻撃手法名」が付与された文字列「水飲み場型攻撃」との関係が「使用」であることが示されている。なお、図３において、「使用」は「使用者と使用対象の関係」の略記であり、「標的」は「攻撃者と標的の関係」の略記である。
【００２４】
作成部１５ｃは、分類された文字列の種別および関係を用いて、文字列間の関係を示すグラフを作成する。具体的には、作成部１５ｃは、複数の文書について、関係分類部１５ｂが関係を付与した直積集合の元を結合して、グラフ構造データを作成する。
【００２５】
例えば、作成部１５ｃは、種別と文字列とのペアが同一の場合に結合して、グラフを作成する。すなわち、作成部１５ｃは、二値分類問題として、同一の種別に分類された同一の文字列を識別して結合することにより、グラフを作成する。その際、作成部１５ｃは、統計的機械学習、深層学習またはルールベースの手法を適用し、種別と文字列とのペアが同一か否かの分類を行って、同一の場合に結合する。さらに、結合対象の文字列の示す内容の同一性等の結合の条件が付加されてもよい。
【００２６】
図４は、作成部１５ｃの処理を説明するための説明図である。図４に例示するように、作成部１５ｃは、複数の文書から抽出された種別が付与された文字列および関係を結合して、グラフを作成する。図４に示す例では、文書Ａから抽出された文字列および関係と、文書Ｂから抽出された文字列および関係が１つのグラフに結合されている。その際、文書Ａおよび文書Ｂの双方から抽出された、同一の固有表現（種別が付与された文字列）である種別「攻撃者名」の文字列「攻撃者Ａ」を結合することにより、グラフが作成される。
【００２７】
また、作成部１５ｃは、出力部１２あるいは通信制御部１３を介して管理装置等に、作成したグラフ構造データを出力する。これにより、多数の文書から、サイバー攻撃に対する脅威や脆弱性の情報が自動で体系的に整理して抽出される。
【００２８】
［抽出処理］
次に、図５を参照して、本実施形態に係る抽出装置１０による抽出処理について説明する。図５は、抽出処理手順を示すフローチャートである。図５のフローチャートは、例えば、抽出処理の開始を指示する操作入力があったタイミングで開始される。
【００２９】
まず、種別分類部１５ａが、文書を連続する文字列からなる系列データとして、所定のサイバーセキュリティに関する固有表現の種別を示すラベルを各文字列に付与することにより、文書を構成する文字列を所定の種別ごとに分類する（ステップＳ１）。
【００３０】
次に、関係分類部１５ｂが、種別が付与された文字列の組み合わせにサイバーセキュリティに関して定義された所定の関係を示すラベルを付与することにより、種別が付与された文字列の組み合わせを所定の関係ごとに分類する（ステップＳ２）。
【００３１】
そして、作成部１５ｃが、種別が付与された文字列の組み合わせと関係とを用いて、例えば、種別と文字列とのペアが同一の場合に結合することにより、種別が付与された文字列間の関係をグラフ化してグラフ構造データを作成する（ステップＳ３）。また、作成部１５ｃは、作成したグラフ構造データを出力する。これにより、一連の抽出処理が終了する。
【００３２】
以上、説明したように、本実施形態の抽出装置１０において、種別分類部１５ａが、文書を構成する文字列を、所定のサイバーセキュリティに関する固有表現の種別ごとに分類する。また、関係分類部１５ｂが、分類された文字列の組み合わせを、サイバーセキュリティに関して定義された関係ごとに分類する。また、作成部１５ｃが、分類された文字列の種別および関係を用いて、文字列間の関係を示すグラフを作成する。
【００３３】
ここで、図６は、抽出処理の効果を説明するための説明図である。図６に示すように、従来のイベント抽出では、「攻撃者、使用マルウェア、標的組織」というように定義されたマルウェアイベントが抽出される。この場合に、イベントの軸となる「攻撃者」以外の「使用マルウェア」、「標的組織」等の引数となる項目について、項目間の関係や、同一項目内の例えば複数の使用マルウェア間の関係等を適切に表現することができない。したがって、複雑な事象の表現力に乏しく、複雑な脅威と脆弱性の情報を抽出することが困難であった。
【００３４】
これに対し、本実施形態の抽出装置１０による抽出処理では、「攻撃者」「マルウェア」「組織」等のサイバーセキュリティに関する固有表現の種別と、「使用」「標的」等のサイバーセキュリティに関する関係を定義して、文書から抽出する。これにより、本実施形態の抽出処理によれば、複雑な事象を抽出することが可能となる。図６に示す例では、従来のイベント抽出では抽出されなかった、マルウェアＸとマルウェアＹとの関係が抽出されている。
【００３５】
なお、図６において、「攻撃者」は「サイバー攻撃者または攻撃者グループ名」の略記であり、「マルウェア」は「マルウェア名」の略記であり、「組織」は「個人または組織の名称」の略記である。このように、抽出装置１０によれば、膨大な数の文書から、サイバー攻撃に対する脅威や脆弱性の情報を自動で容易に体系的に整理して抽出することが可能となる。
【００３６】
［プログラム］
上記実施形態に係る抽出装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、抽出装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の抽出処理を実行する抽出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の抽出プログラムを情報処理装置に実行させることにより、情報処理装置を抽出装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。
【００３７】
また、抽出装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の抽出処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、抽出装置１０は、多数の文書を入力とし、グラフ構造データを出力する抽出処理サービスを提供するサーバ装置として実装される。この場合、抽出装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の抽出処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、抽出装置１０と同様の機能を実現する抽出プログラムを実行するコンピュータの一例を説明する。
【００３８】
図７は、抽出プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００３９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００４０】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００４１】
また、抽出プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した抽出装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００４２】
また、抽出プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００４３】
なお、抽出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、抽出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００４４】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００４５】
１０  抽出装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１５  制御部
１５ａ  種別分類部
１５ｂ  関係分類部
１５ｃ  作成部
【図１】
2019049800.tif 000003
【図２】
2019049800.tif 000004
【図３】
2019049800.tif 000005
【図４】
2019049800.tif 000006
【図５】
2019049800.tif 000007
【図６】
2019049800.tif 000008
【図７】
2019049800.tif 000009