(57)【要約】      （修正有）【課題】ラベル付与の手間を削減しつつ、高精度な分類器を作成して新種のマルウェアを検知する分類装置を提供する。【解決手段】分類装置１０において、統合部１５ｂが、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する。作成部１５ｄが、統合された良性な通信ログと悪性な通信ログといずれでもない通信ログとを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器１４ａを作成する。分類部１５ｇが、作成された分類器１４ａを用いて、未知の通信ログを良性または悪性のいずれかに分類する。【選択図】図１
2019057016.tif 000002
【特許請求の範囲】
【請求項１】
正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する統合部と、
統合された前記全通信ログを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器を作成する作成部と、
作成された前記分類器を用いて、未知の通信ログを良性または悪性のいずれかに分類する分類部と、
を備えることを特徴とする分類装置。
【請求項２】
前記分類部は、前記分類器が出力する良性または悪性の程度を示すスコアが所定の閾値より高い場合に、良性または悪性と判定することを特徴とする請求項１に記載の分類装置。
【請求項３】
前記作成部は、良性であることを示すラベルまたは悪性であることを示すラベルのいずれかが付与された通信ログと、前記ラベルが付与されていない通信ログとを用いて、前記分類器による前記ラベルの付与を学習することを特徴とする請求項１に記載の分類装置。
【請求項４】
前記統合部が統合する良性な通信ログ、悪性な通信ログ、いずれでもない通信ログのそれぞれあるいは一部が、互いに異なる形式の通信ログであることを特徴とする請求項１に記載の分類装置。
【請求項５】
前記分類部は、前記作成部が用いた良性または悪性のいずれでもない通信ログを、良性または悪性のいずれかに分類することを特徴とする請求項１に記載の分類装置。
【請求項６】
前記分類部は、通信ログを発する端末ごとに、正常な通信を行う正常端末またはマルウェアに感染した感染端末のいずれかに分類することを特徴とする請求項１に記載の分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置に関する。
【背景技術】
【０００２】
近年、サイバー攻撃が巧妙化し、ウィルス対策ソフト等による事前対策のみでは、マルウェア感染を完全に防ぐことが困難になっている。そこで、ネットワーク機器の通信ログを解析し、マルウェア感染を早期に検知して通信を遮断する手法の重要性が増している。
【０００３】
具体的には、セキュリティベンダの多くが、通信ログを監視／分析してインシデント情報を顧客に提供するＭＳＳ（Managed  Security  Service）と呼ばれるサービスを提供している。ＭＳＳ事業者は、ＳＯＣ（Security  Operation  Center）と呼ばれる組織に専門のオペレータやアナリストを常駐させ、顧客のログを監視／分析している。
【０００４】
その際、顧客のネットワーク内の全てのログを手動で分析することは、コストの観点から困難である。そのため、あらかじめ「マルウェア感染の疑いのある通信ログ」と「正常な通信ログ」とを機械的に分類器で分類し、マルウェア感染の疑いのある通信ログのみをアナリストが分析している。新種のマルウェアを検知できるか否かがＭＳＳの競争力の源泉となっているため、分類器による分類では、マルウェア感染の疑いのある通信ログの誤検知を減らし、新種のマルウェアを見逃さないことが重要である。
【０００５】
従来、このような分類器は、オペレータやアナリストが様々な情報ソースを用いて手動で作成し、主にマルウェアに関連したシグネチャやホワイトリストのシグネチャを追加し更新しながら運用している。新種のマルウェアが登場するたびにシグネチャの追加が必要となるため、オペレータやアナリストの負担となっている。
【０００６】
そこで、機械学習を用いて分類器を作成する技術が注目されている。日々大量に作成されている新種のマルウェアの多くは、完全に新しいものではなく、ソースコードが再利用され一部だけが変更されているものや、リパッケージして作成された亜種である場合が多い。したがって、既知のマルウェアと全体の特徴そのものはあまり変わらず、通信のパターンが類似している場合が多い。そのため、通信ログに対して機械学習を適用し分析し、既知のマルウェアと類似する通信の特徴をとらえることにより、新種のマルウェアを検知することが可能となる（非特許文献１〜４参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Jastin  Ma  et  al.、“Beyond  Blacklists:  Learning  to  Detect  Malicious  Web  Sites  from  Suspicious  URLs”、KDD'09、2009年
【非特許文献２】水野  翔、他３名、「マルウェア感染ホストが生成する通信の弁別手法」、信学技報、一般社団法人  電子情報通信学会、2016年、ICSS2015-66、pp.117-122
【非特許文献３】Florian  Tegeler  et  al.、“BotFinder:  Finding  Bots  in  Network  Traffic  Without  Deep  Packet  Inspection”、The  8th  ACM  International  Conference  on  emerging  Networking  Experiments  and  Technologies(CoNEXT  2012)、Association  for  Computing  Machinery、2012年、pp.349-360
【非特許文献４】Leyla  Bilge  et  al.、“Disclosure：Detecting  Botnet  Command  and  Control  Servers  Through  Large-Scale  NetFlow  Analysis”、The  28th  Annual  Computer  Security  Applications  Conference(ACSAC’12)、Association  for  Computing  Machinery、2012年、pp.129-138
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術では、高精度な分類器を作成して新種のマルウェアを検知することが困難であった。例えば、教師なし学習により作成される分類器（非特許文献３参照）は、一般に精度が低いという問題がある。
【０００９】
また、教師あり学習により分類器を作成する場合（非特許文献１，２，４参照）には、学習用データのラベル付与が困難という問題がある。具体的には、マルウェアの進化に合わせて、学習用データとして正解を示すラベルが付与された通信ログを定期的に更新して分類器を更新する必要がある。そのため、機械学習を用いて分類器を作成するためには、ＳＯＣのアナリスト等の専門家が通信ログを分析し、正常な通信を行う端末が発する通信ログである良性ログか、マルウェアに感染した端末が発する通信ログである悪性ログかを分別して手動でラベルを付与する必要がある。しかし、現状では、人件費や分析にかかる稼働等のコストの負担から、一般には機械学習を用いずにシグネチャを手動で更新することで分類器を作成することが主流となっている。
【００１０】
また、ラベルを付与するために必要となる詳細な解析には、多くの場合、Ｐｒｏｘｙログ等の詳細な情報を含む通信ログが用いられる（非特許文献１，２参照）。しかしながら、詳細な情報を含む通信ログは、情報量が大きいため、また、対応の機器を設置する必要があるため、マルウェアが活動する世界規模の様々な通信環境から取得することは困難である。一方、ｘＦｌｏｗ等の情報量の少ない通信ログ（非特許文献３，４参照）は、世界規模の様々な通信環境から取得が可能であるが、情報量が少ないため、それだけを用いてラベルを付与することは困難である。
【００１１】
本発明は、上記に鑑みてなされたものであって、ラベル付与の手間を削減しつつ、高精度な分類器を作成して新種のマルウェアを検知することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る分類装置は、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する統合部と、統合された前記全通信ログを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器を作成する作成部と、作成された前記分類器を用いて、未知の通信ログを良性または悪性のいずれかに分類する分類部と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ラベル付与の手間を削減しつつ、高精度な分類器を作成して新種のマルウェアを検知することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施形態に係る分類装置の概略構成を例示する模式図である。
【図２】図２は、学習用データのデータ構成を例示する図である。
【図３】図３は、学習用データのデータ構成を例示する図である。
【図４】図４は、統合された学習用データを例示する図である。
【図５】図５は、変換部の処理を説明するための説明図である。
【図６】図６は、変換部の処理を説明するための説明図である。
【図７】図７は、変換部の処理を説明するための説明図である。
【図８】図８は、作成処理手順を示すフローチャートである。
【図９】図９は、判定処理手順を示すフローチャートである。
【図１０】図１０は、分類装置による分類処理の効果を説明するための説明図である。
【図１１】図１１は、分類プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１６】
［分類装置の構成］
図１は、分類装置の概略構成を例示する模式図である。図１に例示するように、分類装置１０は、パソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００１７】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介したネットワーク機器や管理サーバ等の外部の装置と制御部１５との通信を制御する。
【００１８】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、後述する分類処理により作成される分類器１４ａ等が記憶される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００１９】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図１に例示するように、学習データ取得部１５ａ、統合部１５ｂ、変換部１５ｃ、作成部１５ｄ、テストデータ取得部１５ｅ、変換部１５ｆおよび分類部１５ｇとして機能する。
【００２０】
なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、分類装置１０を、学習データ取得部１５ａ、統合部１５ｂ、変換部１５ｃ、および作成部１５ｄを実装した作成装置と、テストデータ取得部１５ｅ、変換部１５ｆおよび分類部１５ｇを実装した判定装置とに分離してもよい。
【００２１】
学習データ取得部１５ａは、Ｐｒｏｘｙサーバ等のネットワーク機器や管理サーバ等から、後述する分類器１４ａの学習に用いる学習用データを取得する。ここで、学習用データは、良性挙動データ、悪性挙動データ、および判定なしデータを含む。良性挙動データとは、良性な通信ログ、すなわち正常な通信を行う端末が発する通信ログを意味する。悪性挙動データとは、悪性な通信ログ、すなわちマルウェアに感染した端末が発する通信ログを意味する。判定なしデータとは、良性挙動データまたは悪性挙動データのいずれでもなく、良性または悪性のいずれでもない通信ログを意味する。
【００２２】
なお、良性挙動データ／悪性挙動データ／判定なしデータの取得方法は特に限定されない。例えば、良性挙動データは、マルウェアに感染していないことが明らかな実網内の端末から取得できる。また、悪性挙動データは、既知のマルウェアの検体を仮想環境下で動作させる動的解析により取得できる。あるいは、悪性挙動データは、既知のブラックリストを活用して取得できる。
【００２３】
また、判定なしデータには、良性挙動データ／悪性挙動データの両者が混在している可能性がある実網のログを用いればよい。新種のマルウェアを検知可能とするために、判定なしデータには、新種のマルウェアを含みうる通信ログ、あるいは新種のマルウェアと類似点がある通信ログが含まれることが望ましい。ただし、両者が混在しないログを用いてもよい。
【００２４】
また、通信ログとしては、例えば、Ｐｒｏｘｙログ、ｘＦｌｏｗ、Ｆｉｒｅｗａｌｌログ等の様々な形式の通信ログが用いられる。ここで、Ｐｒｏｘｙログは、Ｐｒｏｘｙサーバから取得される通信ログであり、送信元ＩＰアドレス、ＨＴＴＰメソッド、ＵＲＬ、ＵｓｅｒＡｇｅｎｔ等の情報を含む。
【００２５】
また、ｘＦｌｏｗ（ＮｅｔＦｌｏｗ）は、ネットワークのフロー情報である。ｘＦｌｗｏｗは、業界のフロー計測の標準として、多くのベンダーのネットワーク機器でサポートされている。ｘＦｌｏｗは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、プロトコル等を含む。ｘＦｌｏｗは、Ｐｒｏｘｙログ等に比較して情報量が少ないため、ＩＳＰ相当の大規模なネットワークから取得することも可能だが、詳細な分析ができない。
【００２６】
また、Ｆｉｒｅｗａｌｌログは、Ｆｉｒｅｗａｌｌから取得される通信ログであり、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、プロトコル、日時、パケットサイズ等の情報を含む。
【００２７】
良性挙動データ、悪性挙動データ、判定なしデータのそれぞれあるいは一部は、互いに異なる形式の通信ログでもよい。ラベル付与の手間を削減しつつ、様々な環境に対応した分類器を得るために、例えば、良性挙動データおよび悪性挙動データには、詳細な情報を含むＰｒｏｘｙログ等の通信ログを用い、判定なしデータには、ラベルは付いていないが広域の情報を含むｘＦｌｏｗ等の通信ログを用いることが望ましい。なお、良性挙動データ、悪性挙動データ、判定なしデータの全てが同一の形式のＰｒｏｘｙログ等の詳細な情報を含む通信ログでもよい。本実施形態では、良性挙動データおよび悪性挙動データとしてＰｒｏｘｙログを用い、判定なしデータとしてｘＦｌｏｗを用いる。
【００２８】
図２および図３は、学習用データのデータ構成を例示する図である。図２には、Ｐｒｏｘｙログを用いた良性挙動データまたは悪性挙動データが例示されている。図２には、Ｌｏｇ１〜Ｌｏｇ３の３つの良性挙動データと、Ｌｏｇ４の１つの悪性挙動データとが例示されている。また、図２に示す学習用データには、取得されたＰｒｏｘｙログに良性または悪性を示すラベルが付与されている。例えば、Ｌｏｇ４の悪性挙動データは、「悪性」ラベルが付与され、送信元ＩＰアドレスが「３０．３０．３０．３０」、ＨＴＴＰメソッドが「ＧＥＴ」、ＵＲＬが「http://malware.co.jp/」、ＨＴＴＰ  Ｕｓｅｒ  Ａｇｅｎｔが「<wellknown>」であること等が示されている。
【００２９】
また、図３には、ｘＦｌｏｗを用いた判定なしデータが例示されている。図３には、例えば、ＬｏｇＡの判定なしデータは、送信元ＩＰアドレスが「２０．２０．２０．２０」、宛先ＩＰアドレスが「４．４．４．４」、宛先ポート番号が「８０」、プロトコルが「ＴＣＰ」であること等が示されている。
【００３０】
統合部１５ｂは、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する。具体的には、統合部１５ｂは、良性挙動データと、悪性挙動データと、判定なしデータとの各データに含まれる項目を結合することにより、全学習用データの形式を統一化して全学習用データを統合する。
【００３１】
図４は、統合された学習用データを例示する図である。図４に示すように、統合部１５ｂは、良性挙動データ、悪性挙動データ、および判定なしデータに含まれる全項目を結合する。図４に示す例では、各データに該当する値が含まれない項目は「−」で示されている。例えば、ＬｏｇＡは、ｘＦｌｏｗを用いた判定なしデータであり、ＵＲＬ、ＨＴＴＰメソッド、ＨＴＴＰ  Ｕｓｅｒ  Ａｇｅｎｔ、ＨＴＴＰ  Ｓｔａｔｕｓ  Ｃｏｄｅおよびラベルに該当する値が存在しないため、各項目の値が「−」で示されている。
【００３２】
図１の説明に戻る。変換部１５ｃは、統合された学習用データを、後述する作成部１５ｄの処理に用いるための準備として、統合された学習用データの特徴量を抽出し、特徴ベクトルへ変換する。まず、変換部１５ｃは、統合された学習用データから、学習の着眼点の組み合わせである特徴量を抽出する。なお、特徴量の抽出の手法は特に限定されない。人手によってもよいし、ディープラーニング等のように自動的に特徴を抽出して機械学習を行う手法を適用してもよい。
【００３３】
ここで、機械学習とは、抽出された特徴量のパターンを学習し、目的の分類を行うモデルを作成することである。本実施形態の分類装置１０においては、良性／悪性を分類するため、例えば、ＵＲＬのホスト名、宛先ポート番号、パスの長さ、ドメイン名がＩＰアドレスか否か、Ｃｏｕｎｔｒｙ  Ｃｏｄｅ、通信時間間隔等が特徴量として抽出される。
【００３４】
次に、変換部１５ｃは、抽出した特徴量を特徴ベクトルに変換する。具体的には、変換部１５ｃは、Ｂａｇ−ｏｆ−ＷｏｒｄｓやＮ−ｇｒａｍ等の手法を用いて、特徴量を特徴ベクトルに変換する。本実施形態では、変換部１５ｃが、Ｂａｇ−ｏｆ−Ｗｏｒｄｓの手法を用いて、各特徴量において存在する全てのパターンを１つの要素とみなし、各要素が通信ログに出現したかどうかを０／１で表すことにより、特徴量を特徴ベクトルに変換する。
【００３５】
ここで、図５〜図７は、変換部１５ｃの処理を説明するための説明図である。図５は、図４に例示した学習用データから抽出された特徴量を例示している。図５に示す例では、特徴量として、送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号、ドメイン名、およびドメイン名内の数字の数等が抽出されている。
【００３６】
また、図６は、特徴量から変換された特徴ベクトルの各要素を例示している。図６に示す例では、図５に例示した特徴量のうち、例えば、宛先ＩＰアドレスについて、存在する６つのパターン「１．１．１．１」〜「６．６．６．６」のそれぞれを特徴ベクトルの１つの要素とみなしている。そして、各通信ログに各要素が出現した場合を１、出現していない場合を０で表している。同様に、宛先ポート番号の存在する３つのパターン「８０」「２３２３」「８０８０」のそれぞれを特徴ベクトルの１つの要素とみなし、各通信ログに出現した要素を１、出現していない場合を０で表している。このように、変換部１５ｃは、該当するデータがない特徴量を０とする。これにより、該当するデータがない特徴量は、特徴量やその組み合わせに対して重み付けして行う分類に影響を及ぼさない。
【００３７】
また、変換部１５ｃは、学習用データの良性または悪性を示すラベルを数値ラベルに変換する。例えば、良性を示すラベルを０、悪性を示すラベルを１として、ラベルを数値化して表す。図７は、特徴量から変換された特徴ベクトルおよびラベルから変換された数値ラベルを例示している。図７において、例えば、Ｌｏｇ１の特徴ベクトルについて、宛先ＩＰアドレスが「１．１．１．１」に対応する要素に１が割り当てられている。また、このＬｏｇ１において、ラベルが良性を示す０とされている。なお、図７において、ラベルが付与されていない判定なしデータについては、ラベルは「−」で表されている。
【００３８】
図１の説明に戻る。作成部１５ｄは、統合された全通信ログを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器１４ａを作成する。具体的には、作成部１５ｄは、良性であることを示すラベルまたは悪性であることを示すラベルのいずれかが付与された通信ログと、ラベルが付与されていない通信ログとを用いて、分類器１４ａによるラベルの付与を学習する。
【００３９】
すなわち、作成部１５ｄは、変換部１５ｃが変換した特徴ベクトルおよび数値ラベルを用いて半教師あり学習を行って、通信ログの良性または悪性の程度を示すモデルを分類器１４ａとして作成する。また、作成部１５ｄは、作成した分類器１４ａを記憶部１４に格納する。
【００４０】
ここで、半教師あり学習のアルゴリズムは特に限定されない。例えば、ＴＳＶＭ（Transductive  Support  Vector  Machine）、半教師Ｌｏｇｉｓｔｉｃ  Ｒｅｇｒｅｓｓｉｏｎ、Ｌａｂｅｌ  Ｐｒｏｐａｇａｔｉｏｎ、半教師ＧＭＭ（Gaussian  Mixture  Model）、Ｓｅｌｆ−ｔｒａｉｎｉｎｇ等が適用される。
【００４１】
テストデータ取得部１５ｅは、学習データ取得部１５ａと同様に、Ｐｒｏｘｙサーバ等のネットワーク機器や管理サーバ等から、後述する分類部１５ｇの処理対象となるテスト用データを取得する。テスト用データには、良性な通信ログか悪性な通信ログかを判定したい通信ログを用いる。ここで用いる通信ログは、良性挙動データ、悪性挙動データ、および判定なしデータと同一の形式の通信ログを用いてもよいし、異なる形式の通信ログを用いてもよい。なお、判定なしデータと全く同じ通信ログをテスト用データとして用いることも可能である。また、テストデータ取得部１５ｅは、学習データ取得部１５ａと同一の機能部としてもよい。
【００４２】
変換部１５ｆは、前述の変換部１５ｃと同様に、後述する分類部１５ｇの処理に用いるための準備として、テスト用データの特徴量を抽出し、特徴ベクトルへ変換する。変換部１５ｆは、変換部１５ｃと同一の機能部としてもよい。
【００４３】
分類部１５ｇは、作成された分類器１４ａを用いて、未知の通信ログを良性または悪性のいずれかに分類する。具体的には、分類部１５ｇは、変換部１５ｆが変換した特徴ベクトルを分類器１４ａに代入し、分類器１４ａが出力する通信ログの良性または悪性の程度を示すスコアが所定の閾値より高い場合に、良性または悪性と判定する。
【００４４】
［分類処理］
次に、図８および図９を参照して、本実施形態に係る分類装置１０による分類処理について説明する。分類処理は、作成処理と判定処理とを含む。図８は、作成処理手順を示すフローチャートである。図８のフローチャートは、例えば、作成処理の開始を指示する操作入力があったタイミングで開始される。
【００４５】
まず、学習データ取得部１５ａが、入力部１１あるいは通信制御部１３を介して、学習用データの入力を受け付ける（ステップＳ１）。次に、統合部１５ｂが、入力された学習用データである良性挙動データと、悪性挙動データと、判定なしデータとの項目を結合することにより、全データの形式を統一化してデータを統合する（ステップＳ２）。
【００４６】
次に、変換部１５ｃが、形式が統合された学習用データの特徴量を抽出する（ステップＳ３）。また、変換部１５ｃが、抽出した特徴量を特徴ベクトルへ変換する（ステップＳ４）。
【００４７】
また、作成部１５ｄが、変換部１５ｃが変換した特徴ベクトルを用いて学習を行って、通信ログの良性または悪性の程度を示すモデルを分類器１４ａとして作成する（ステップＳ５）。これにより、一連の作成処理が終了する。
【００４８】
図９は、判定処理手順を示すフローチャートである。図９のフローチャートは、例えば、判定処理の開始を指示する操作入力があったタイミングで開始される。
【００４９】
まず、テストデータ取得部１５ｅが、入力部１１あるいは通信制御部１３を介して、処理対象のテスト用データの入力を受け付ける（ステップＳ１１）。次に、変換部１５ｆが、テスト用データの特徴量を抽出する（ステップＳ１２）。また、変換部１５ｆが、抽出した特徴量を特徴ベクトルへ変換する（ステップＳ１３）。
【００５０】
次に、分類部１５ｇが、変換部１５ｆが変換した特徴ベクトルを分類器１４ａに代入する（ステップＳ１４）。分類器１４ａは、通信ログの良性または悪性の程度を示すスコアを算出して出力する（ステップＳ１５）。そして、分類部１５ｇが、分類器１４ａが出力したスコアが所定の閾値より高い場合に、良性または悪性と判定する(ステップＳ１６)。これにより、一連の判定処理が終了する。
【００５１】
以上、説明したように、本実施形態の分類装置１０において、統合部１５ｂが、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する。また、作成部１５ｄが、統合された良性な通信ログと悪性な通信ログといずれでもない通信ログとを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器１４ａを作成する。また、分類部１５ｇが、作成された分類器１４ａを用いて、未知の通信ログを良性または悪性のいずれかに分類する。
【００５２】
これにより、分類装置１０は、既知の良性挙動データ、悪性挙動データに加え、判定なしデータを学習用データとして用いて分類器１４ａを作成することができる。従来、精度の高い分類器を作成するために、ラベルが付与された大量の通信ログを用意して分類器を更新する必要があった。これに対し、本実施形態の分類装置１０によれば、分類器の更新に用いる通信ログとして、少量のラベルが付与された通信ログ（良性挙動データおよび悪性挙動データ）と、大量のラベルが付与されていない通信ログ（判定なしデータ）とを用いて同時に学習させることができるので、ラベル付与の手間を削減しつつ容易に学習データを用意して高精度な分類器１４ａを作成することが可能となる。
【００５３】
ここで、図１０は、分類装置１０による分類処理の効果を説明するための説明図である。図１０（ａ）に示すように、学習用データとして、良性挙動データおよび悪性挙動データを用い、判定なしデータを用いない場合には、良性挙動データまたは悪性挙動データが疎な領域において、良性と悪性との境界となる閾値を推定することが難しい。したがって、分類対象のテスト用データの良性／悪性の判定が難しい。
【００５４】
これに対し、本実施形態の分類装置１０では、良性挙動データおよび悪性挙動データに加え、判定なしデータを学習用データとして用いる。これにより、図１０（ｂ）に示すように、良性挙動データまたは悪性挙動データが疎な領域において、データの分布等の特徴に関する情報を判定なしデータから得ることができる。したがって、分類の精度を向上させることができる。
【００５５】
なお、分類対象のテスト用データを、学習用データとして用いてもよい。この場合に、図１０（ｃ）に示すように、テスト用データを図１０（ｂ）に示した判定なしデータとして扱うことにより、良性挙動データまたは悪性挙動データが疎な領域において、データの分布等の特徴に関する情報をテスト用データから得ることができる。
【００５６】
また、本実施形態の分類装置１０は、通信ログの形式を問わず、異なる形式の通信ログを学習データとして用いて学習することができる。ネットワークの環境によりネットワーク機器の設置状況が異なり、実網から取得できる通信ログの形式は様々である。各形式の通信ログに含まれる情報は異なるため、サイバー攻撃の痕跡を発見するためには、複数の形式の通信ログを多面から相関的に分析する必要がある。従来の機械学習では、学習データの形式が同一でなければ分類器を作成できなかった。これに対し、本実施形態の分類装置１０は、異なる形式の通信ログを用いて分類器を作成することができる。
【００５７】
このように、分類装置１０は、ラベルが付与された通信ログだけでは得られなかった新種のマルウェアに関連した情報を、ラベルが付与されていない通信ログから得ることができる。そのため、新種のマルウェアに対応した分類処理を行える。
【００５８】
また、新たに追加する学習用データとして、ラベルが付与されていない通信ログを用いることができるため、ＳＯＣのアナリスト等の専門家が分析してラベルを付与する手間を省略することができる。そのため、分類器１４ａの更新にかかる負荷を軽減することができる。
【００５９】
したがって、本実施形態の分類装置１０によれば、学習用データのラベル付与の負担を軽減し、形式の異なる通信ログを学習用データとして用いて、高精度な分類器を作成して新種のマルウェアを検知することができる。
【００６０】
［プログラム］
上記実施形態に係る分類装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、分類装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の分類処理を実行する分類プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分類プログラムを情報処理装置に実行させることにより、情報処理装置を分類装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。
【００６１】
また、分類装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分類処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、分類装置１０は、学習用データおよび未知のデータを入力とし、未知のデータの良性／悪性の判定結果を出力する分類処理サービスを提供するサーバ装置として実装される。この場合、分類装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の分類処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、分類装置１０と同様の機能を実現する分類プログラムを実行するコンピュータの一例を説明する。
【００６２】
図１１は、分類プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６４】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した分類器１４ａ等の各種情報テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６５】
また、分類プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した分類装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６６】
また、分類プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６７】
なお、分類プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、分類プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６８】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６９】
１０  分類装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  分類器
１５  制御部
１５ａ  学習データ取得部
１５ｂ  統合部
１５ｃ  変換部
１５ｄ  作成部
１５ｅ  テストデータ取得部
１５ｆ  変換部
１５ｇ  分類部
【図１】
2019057016.tif 000003
【図２】
2019057016.tif 000004
【図３】
2019057016.tif 000005
【図４】
2019057016.tif 000006
【図５】
2019057016.tif 000007
【図６】
2019057016.tif 000008
【図７】
2019057016.tif 000009
【図８】
2019057016.tif 000010
【図９】
2019057016.tif 000011
【図１０】
2019057016.tif 000012
【図１１】
2019057016.tif 000013