(57)【要約】【課題】ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施する。【解決手段】取得部１３１は、複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報１２１を取得する。また、計算部１３２は、複数のドメイン名のうち、取得部１３１によって複数の異なるＩＰアドレス関連情報１２１が取得されたドメイン名同士の、ＩＰアドレス関連情報１２１の類似度を計算する。また、作成部１３５は、同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する。【選択図】図２
2018120308.tif 000002
【特許請求の範囲】
【請求項１】
複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報を取得する取得部と、
前記複数のドメイン名のうち、前記取得部によって複数の異なる前記ＩＰアドレス関連情報が取得されたドメイン名同士の、前記ＩＰアドレス関連情報の類似度を計算する計算部と、
同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成部と、
を有することを特徴とする分類装置。
【請求項２】
前記取得部は、前記ＩＰアドレスのＡＳ（Autonomous  System）に関する情報、及び前記ＩＰアドレスの地理的情報のうちの少なくとも一方を取得することを特徴とする請求項１に記載の分類装置。
【請求項３】
前記作成部は、前記ドメイン名をノードとし、前記ノードの組のうち、前記類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いて前記ドメイン名の集合を作成することを特徴とする請求項１又は２に記載の分類装置。
【請求項４】
前記作成部は、前記ドメイン名をノードとし、前記ノードの組のうち、前記類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数の分割グラフを用いて前記ドメイン名の集合を作成することを特徴とする請求項３に記載の分類装置。
【請求項５】
前記作成部によって作成された複数の集合に含まれる前記ドメイン名に関する情報の一致度合いに基づいて、前記複数の集合を１つの集合に統合する統合部をさらに有することを特徴とする請求項１から４のいずれか１項に記載の分類装置。
【請求項６】
分類装置で実行される分類方法であって、
複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報を取得する取得工程と、
前記複数のドメイン名のうち、前記取得工程によって複数の異なる前記ＩＰアドレス関連情報が取得されたドメイン名同士の、前記ＩＰアドレス関連情報の類似度を計算する計算工程と、
同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成工程と、
を含んだことを特徴とする分類方法。
【請求項７】
コンピュータを、請求項１から５のいずれか１項に記載の分類装置として機能させるための分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法及び分類プログラムに関する。
【背景技術】
【０００２】
従来、感染端末で構成されたボットネットを使った攻撃が知られている。このような攻撃への対策として、攻撃者によって用いられているものとそうでないものにドメイン名を分類する手法が有効である。例えば、ユーザによってＤＮＳ問い合わせが行われたドメイン名が攻撃者によって用いられているドメイン名であった場合、その際の接続先の端末を、ボットネットを構成する感染端末として検知することができる。
【０００３】
ドメイン名を分類する手法として、例えば、ドメイン名が悪性であるか良性であるかを分類する手法が提案されている。具体的には、ユーザによるドメイン名の名前解決パターン（例えば、非特許文献１を参照）、キャッシュＤＮＳサーバから権威ＤＮＳサーバへの問い合わせのパターン（例えば、非特許文献２を参照）、トップレベルドメインやセカンドレベルドメインが共通のドメイン名に対応するＩＰアドレスや、対応するＩＰアドレスが共通のドメイン名（例えば、非特許文献３を参照）、公開のドメインリストへの登録状況の変化（例えば、非特許文献４を参照）、大量のドメイン名の同時登録（例えば、非特許文献５を参照）等に着目した手法が提案されている。
【０００４】
ボットネットを使った攻撃に使われるドメイン名は、ＩＰアドレスで冗長化が行われている場合がある。そこで、ドメイン名を分類する手法として、例えば、ＩＰアドレスで冗長化を行っているドメイン名とそれ以外を分類する手法も提案されている。具体的に、ＦｌｕＸＯＲという手法では、ドメイン名に対し複数回名前解決を実施し、その結果得られたドメイン名に対応するＩＰアドレス数、ｔｉｍｅ−ｔｏ−ｌｉｖｅ、ＡＳ（Autonomous  System）数、ＩＰアドレスを逆引きした際のホスト数、ＩＰアドレスの運用組織数等の９種類の特徴量を抽出し、単純ベイズを用いてドメイン名を識別している（例えば、非特許文献６を参照）。また、Ｈｏｌｚらの手法では、ドメイン名に対応するＩＰアドレス数やＡＳ番号数、ＮＳサーバ数を特徴量として抽出し識別を行っている（例えば、非特許文献７を参照）。
【０００５】
また、ボットネットを使った攻撃に使われるドメイン名は、ランダムな文字列を含むドメイン名を生成するアルゴリズム（ＤＧＡ）によって生成される場合がある。そこで、ドメイン名を分類する手法として、例えば、ＤＧＡによって生成されたドメイン名を分類する手法も提案されている。例えば、Ｐｈｏｅｎｉｘでは、まずドメイン名に含まれる意味のある文字列の長さや、連続する複数の文字の出現頻度の傾向が、良性なドメイン名と異なるものをＤＧＡによって生成されたドメイン名として抽出する（例えば、非特許文献８を参照）。Ｐｈｏｅｎｉｘでは、その後、ドメイン名とＩＰアドレスの２部グラフにおいて、スペクトラルクラスタリングを適用することで、類似度のＩＰアドレスに対応するドメイン名の集合を作成する。
【０００６】
また、複数の端末からの通信の共起性（例えば、非特許文献９を参照）や、端末間の通信量と悪性な挙動の類似性（例えば、非特許文献１０を参照）に基づいてボットネットを検知する手法も提案されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】L.  Bilge  et  al.,  “EXPOSURE:  Finding  Malicious  Domains  Using  Passive  DNS  Analysis.”  In  Proceedings  of  NDSS,  2011.
【非特許文献２】M.  Antonakakis  et  al.,  “Detecting  Malware  Domains  at  the  Upper  DNS  HierarchyManos.”  in  Proceedings  of  NDSS,  2011.
【非特許文献３】M.  Antonakakis,  R.  Perdisci,  D.  Dagon,  W.  Lee,  and  N.  Feamster.  “Building  a  Dynamic  Reputation  System  for  DNS.”  In  Proceedings  of  the  19th  USENIX  Security  Symposium,  pp.  273-290,  2010.
【非特許文献４】D.  Chiba  et  al.,  “DomainProfiler:  Discovering  Domain  Names  Abused  in  Future.”  In  Proceedings  of  DSN,  pp.  491-502,  2016.
【非特許文献５】S.  Hao  et  al.,  “PREDATOR:  Proactive  Recognition  and  Elimination  of  Domain  Abuse  at  Time-Of-Registration.”  In  Proceedings  of  CCS,  pp.  1568-1579,  2016.
【非特許文献６】E.  Passerini  et  al.,  “FluXOR:  Detecting  and  Monitoring  Fast-Flux  Service  Networks.”  In  Proceedings  of  DIMVA,  LNCS  5137,  pp.  186-206,  2008.
【非特許文献７】T.  Holz  et  al.,  “Measuring  and  Detecting  Fast-Flux  Service  Networks.”  In  Proceedings  of  NDSS,  2008.
【非特許文献８】S.  Schiavoni  et  al.,  “Phoenix:  DGA-Based  Botnet  Tracking  and  Intelligence.”  In  Proceedings  of  DIMVA,  LNCS  8550,  pp.  192-211,  2014.
【非特許文献９】G.  Gu  et  al.,  “BotSniffer:  Detecting  Botnet  Command  and  Control  Channels  in  Network  Traffic.”  In  proceedings  of  NDSS,  2008.
【非特許文献１０】G.  Gu  et  al.,  “BotMiner:  Clustering  Analysis  of  Network  Traffic  for  Protocol-  and  Structure-Independent  Botnet  Detection.”  In  Proceedings  of  Usenix  Security  Symposium,  pp.  129-154,  2008.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の手法には、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することが困難であるという問題があった。従来のドメイン名の分類手法は、ドメイン名を、ボットネットを使った攻撃に使われているものとそうでないものに分類するものであった。そのため、複数のボットネットが存在している場合、ドメイン名の分類により感染端末を検知したとしても、当該感染端末がどのボットネットで運用されているかを知ることができず、当該感染端末によりどのような被害が発生するかを推定することができない場合があった。
【０００９】
例えば、ドメイン名が悪性であるか良性であるかを分類する手法では、ドメイン名が同一のボットネットに属しているか異なるボットネットに属しているかを判定することはできない場合があった。また、例えば、ＩＰアドレスで冗長化を行っているドメイン名とそれ以外を分類する手法では、同じボットネットを使用して冗長化を行っているか、異なるボットネットを使用して冗長化を行っているかを判定することができない場合があった。また、ボットネットで運用されているドメイン名が単語の組み合わせによって生成されたドメイン名である場合、ランダムな文字列が含まれず、正規のドメイン名と傾向が類似するため、ＤＧＡによって生成されたドメイン名を分類する手法では分類を行うことができない場合があった。また、従来のボットネットを検知する手法では、大規模なネットワークの通信が必要であるため、一般的に適用が困難である。
【課題を解決するための手段】
【００１０】
本発明の分類装置は、複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報を取得する取得部と、前記複数のドメイン名のうち、前記取得部によって複数の異なる前記ＩＰアドレス関連情報が取得されたドメイン名同士の、前記ＩＰアドレス関連情報の類似度を計算する計算部と、同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成部と、を有することを特徴とする。
【００１１】
本発明の分類方法は、分類装置で実行される分類方法であって、複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報を取得する取得工程と、前記複数のドメイン名のうち、前記取得工程によって複数の異なる前記ＩＰアドレス関連情報が取得されたドメイン名同士の、前記ＩＰアドレス関連情報の類似度を計算する計算工程と、同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成工程と、を含んだことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、ボットネットについて説明するための図である。
【図２】図２は、第１の実施形態に係る分類装置の構成の一例を示す図である。
【図３】図３は、第１の実施形態に係るＩＰアドレス関連情報のデータ構成の一例を示す図である。
【図４】図４は、第１の実施形態に係るドメイン名類似度の一例を示す図である。
【図５】図５は、第１の実施形態に係るドメイン名をノードとするグラフの一例を示す図である。
【図６】図６は、第１の実施形態に係るノード類似度の一例を示す図である。
【図７】図７は、第１の実施形態に係る分割グラフの一例を示す図である。
【図８】図８は、第１の実施形態に係る集合の統合について説明するための図である。
【図９】図９は、第１の実施形態に係る分類装置の処理の流れを示すフローチャートである。
【図１０】図１０は、その他の実施形態に係るＩＰアドレス関連情報のデータ構成の一例を示す図である。
【図１１】図１１は、プログラムが実行されることにより分類装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願に係る分類装置、分類方法及び分類プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１５】
［第１の実施形態］
まず、本実施形態の分類装置について説明する前に、ボットネットについて説明する。ボットネットとは、マルウェア等に感染した端末で構成されるネットワークである。また、ボットネットでは、感染端末のＩＰアドレスと対応付けられたドメイン名が運用される。例えば、ユーザ端末が、ボットネットで運用されているドメイン名に対して接続要求を行った場合、当該ユーザ端末は、ボットネットを構成する感染端末と接続されることになる。また、１つのボットネットで複数のドメイン名が運用されることがある。
【００１６】
そこで、本実施形態の分類装置は、複数のドメイン名を同一のボットネットで運用されているドメイン名の集合に分類する。同一のボットネットで運用されているドメイン名同士は、接続した際の攻撃による被害が類似していることが考えられる。そのため、ボットネットごとの攻撃による被害の情報を網羅的に収集しておくことで、未知の悪性ドメイン名に接続した際の攻撃による被害を推定することができるようになる。これにより、本実施形態によれば、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することが可能となる。
【００１７】
ここで、ボットネットに属するＩＰアドレスは、属するＡＳやＩＰアドレスの地理的情報（緯度、経度、国等）が多様になる傾向にある。また、同一のボットネットで運用されているドメイン名には、同一のボットネットに属する感染端末のＩＰアドレスが割り当てられる。このため、同一のボットネットで運用されているドメイン名同士の、対応するＩＰアドレスに関する情報の類似度が高くなる傾向があることが知られている（例えば、非特許文献７を参照）。
【００１８】
つまり、同一のボットネットで運用されているドメイン名は、対応するＩＰアドレスに関する情報が多様、かつ、運用されているボットネットが同一であればドメイン名同士のＩＰアドレスに関する情報が類似する傾向にあることがいえる。そこで、本実施形態の分類装置は、このような傾向に基づいてドメイン名の分類を行う。
【００１９】
上記の傾向について、図１に示す具体例を用いて説明する。図１は、ボットネットについて説明するための図である。図１に示すように、ボットネット２０は、感染端末２１〜２５を有する。また、ボットネット３０は、感染端末３１〜３３を有する。なお、感染端末２１〜２５、及び３１〜３３は、マルウェア等に感染した端末である。
【００２０】
また、各感染端末は、ＡＳ４１〜４３のいずれかに属している。例えば、感染端末２１〜２３は、ＡＳ４１に属している。また、感染端末２４、２５、３１及び３２は、ＡＳ４２に属している。また、感染端末３３は、ＡＳ４３に属している。また、ボットネット２０では、ドメイン名「example1.com」及び「example2.com」が運用されている。また、ボットネット３０では、ドメイン名「example1.co.jp」が運用されている。
【００２１】
ここで、図１に示すように、例えば、ドメイン名「example1.com」は、感染端末２１及び２４のＩＰアドレスに対応付けられている。このとき、ドメイン名「example1.com」に対応するＩＰアドレスに関する情報として、感染端末２１及び２４のＩＰアドレスに関する情報がそれぞれ存在している。このように、同一のボットネットで運用されているドメイン名に対応するＩＰアドレスに関する情報は多様となる。
【００２２】
また、図１に示すように、ドメイン名「example1.com」に対応するＩＰアドレスが割り当てられた感染端末２１及び２４は、それぞれＡＳ４１及び４２に属している。また、ドメイン名「example2.com」に対応するＩＰアドレスが割り当てられた感染端末２２及び２５も同様に、それぞれＡＳ４１及び４２に属している。一方、ドメイン名「example1.co.jp」に対応するＩＰアドレスが割り当てられた感染端末３１及び３３は、それぞれＡＳ４２及び４３に属している。このように、運用されているボットネットが同一であればドメイン名同士のＩＰアドレスに関する情報が類似する傾向にある。なお、ここではＡＳ番号をＩＰアドレスに関する情報の一例としている。
【００２３】
［第１の実施形態の構成］
図２を用いて、第１の実施形態に係る分類装置の構成について説明する。図２は、第１の実施形態に係る分類装置の構成の一例を示す図である。図１に示すように、分類装置１０は、入出力部１１、記憶部１２及び制御部１３を有する。
【００２４】
入出力部１１は、入力部１１１及び出力部１１２を有する。入力部１１１は、例えば、マウスやキーボード等の入力装置である。出力部１１２は、画面の表示等により、データを出力する。出力部１１２は、例えば、ディスプレイ等の表示装置である。
【００２５】
記憶部１２は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１２は、分類装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１２は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１２は、ＩＰアドレス関連情報１２１を記憶する。
【００２６】
記憶部１２は、ドメイン名に対応付けられたＩＰアドレスに関する情報をＩＰアドレス関連情報１２１として記憶する。ＩＰアドレス関連情報１２１は、例えば、ドメイン名と、当該ドメイン名を名前解決した際のＡレコード等から収集可能なＩＰアドレスに関連する情報と、を含む。ここで、名前解決の応答としてドメイン名に対応する複数のＩＰアドレスが得られる場合や、名前解決の日時ごとに異なるＩＰアドレスが得られる場合がある。このような場合、ＩＰアドレス関連情報１２１は、得られた全てのＩＰアドレスのそれぞれに対応したものであってもよい。
【００２７】
ＩＰアドレス関連情報１２１としては、ＡＳ番号、ＡＳ事業者、ＩＰアドレスの所在地の国、都市、経度、緯度、ドメイン名とＩＰアドレスの対応が初めて観測された日時、ドメイン名とＩＰアドレスの対応が最後に観測された日時等が考えられる。また、ＩＰアドレス関連情報１２１は、これらの情報のうちいずれか１つであってもよいし、いくつかを組み合わせたものであってもよい。
【００２８】
また、ドメイン名に対応するＩＰアドレスは、ＩＳＰやクラウドサービスによって動的に変更されることがある。このような動的なＩＰアドレスの変更においては、変更前のＩＰアドレスと同一のＡＳ内や地理的に近い場所のＩＰアドレスが付与されることが多い。このため、本実施形態の分類装置１０は、動的なＩＰアドレスの付け替えの影響を削減するために、ドメイン名とＩＰアドレスそのものとの関係性ではなく、ドメイン名とＩＰアドレスに関連する情報との関係性に着目した分類を行う。
【００２９】
また、本実施形態では、ＩＰアドレス関連情報１２１は、ＩＰアドレスのＡＳに関する情報、及びＩＰアドレスの地理的情報のうちの少なくとも一方を含む。なお、ＩＰアドレスのＡＳに関する情報は、例えばＡＳ番号及びＡＳ事業者である。また、ＩＰアドレスの地理的情報は、例えばＩＰアドレスの所在地の国、都市、経度、緯度である。ＩＰアドレス関連情報１２１は、例えば図３に示すように、ドメイン名とＡＳ番号であってもよい。図３は、第１の実施形態に係るＩＰアドレス関連情報のデータ構成の一例を示す図である。図３は、例えば、ドメイン名「example1.com」に対応するＩＰアドレスのＡＳ番号が、ＡＳ番号１及びＡＳ番号２であることを示している。なお、ＡＳ番号１〜４は、数字で表された番号である。
【００３０】
制御部１３は、分類装置１０全体を制御する。制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１３は、取得部１３１、計算部１３２、構築部１３３、分割部１３４、作成部１３５及び統合部１３６を有する。
【００３１】
取得部１３１は、複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報１２１を取得する。また、取得部１３１は、ＩＰアドレスのＡＳに関する情報、及びＩＰアドレスの地理的情報のうちの少なくとも一方を取得するようにしてもよい。
【００３２】
計算部１３２は、複数のドメイン名のうち、取得部１３１によって複数の異なるＩＰアドレス関連情報１２１が取得されたドメイン名同士の、ＩＰアドレス関連情報１２１の類似度を計算する。以降、計算部１３２によって計算される類似度をドメイン名類似度とよぶ。ここで、計算部１３２は、ドメイン名に対応するＩＰアドレス関連情報１２１のうち、２つのドメイン名に共通する情報の数をドメイン名類似度とすることができる。例えば、図４に示すように、計算部１３２は、２つのドメイン名に共通するＡＳ数をドメイン名類似度とすることができる。図４は、第１の実施形態に係るドメイン名類似度の一例を示す図である。ここで、例えば、図４に示すように、ドメイン名「example1.com」とドメイン名「example2.com」とのドメイン名類似度は２である。また、ドメイン名「example1.com」とドメイン名「example1.co.jp」とのドメイン名類似度は１である。
【００３３】
構築部１３３は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することでグラフを構築する。図５は、第１の実施形態に係るドメイン名をノードとするグラフの一例を示す図である。構築部１３３は、ドメイン名類似度が２以上であるドメイン名の組にエッジを作成することで図５のグラフを構築することができる。なお、閾値は、事前に決められた値であってもよいし、ドメイン名類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、ドメイン名類似度の定義によって異なるため、閾値は、ドメイン名類似度の定義を考慮して事前に設定されたものであってもよい。
【００３４】
図４に示すように、ドメイン名「example1.com」とドメイン名「example2.com」とのドメイン名類似度は２以上であるため、図５に示すように、構築部１３３は、ノード５１とノード５２との間にエッジを作成する。一方、図４に示すように、ドメイン名「example1.com」とドメイン名「example1.co.jp」とのドメイン名類似度は２以上ではないため、図５に示すように、構築部１３３は、ノード５１とノード５４との間にエッジを作成しない。
【００３５】
分割部１３４は、構築部１３３によって構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて複数の分割グラフに分割する。具体的には、分割部１３４は、ノードをドメイン名とする第１のグラフの構造に基づいて、ノードをドメイン名とする新たな第２のグラフを作成することでグラフの分割を実施する。第２のグラフのノード間の類似度を第１のグラフのノードの近傍ノードとの一致度合いに基づいて算出する。以降、分割部１３４によって計算される類似度をノード類似度とよぶ。
【００３６】
分割部１３４は、例えば、Ｊａｃｃａｒｄ係数等の指標を用いてノード類似度の計算を行う。分割部１３４は、共通するドメイン名数とドメイン名の総数の比率をＪａｃｃａｒｄ係数として計算する。なお、分割部１３４は、Ａｄａｍｉｃ／Ａｄａｒ等の指標を用いてノード類似度の計算を行ってもよい。
【００３７】
分割部１３４は、式（１）を用いて各ノードの近傍ノードとのノード類似度、すなわちＪａｃｃａｒｄ係数の計算を行うことができる。なお、ｎ（ｉ）は、ノードｉに隣接するノードの集合である。
【００３８】
【数１】
2018120308.tif 000003
【００３９】
分割部１３４は、計算したノード類似度に基づいて、第２のグラフを作成する。分割部１３４は、ノード類似度が閾値以上であるノードの組にエッジを作成することで第２のグラフを構築する。なお、閾値は、事前に決められた値であってもよいし、ノード類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、グラフの構造によって異なるため、閾値として計算値を用いることで様々な構造のグラフに対応することが可能となる。
【００４０】
式（２−５）は、分割部１３４が、式（１）を用いて、図５のグラフを基に、ノード５１とノード５２とのノード類似度の計算を行った結果を示している。なお、式（２−１）〜（２−４）は計算の途中式である。この場合、ノードｉ及びノードｊは、それぞれノード５１及びノード５２である。
【００４１】
【数２】
2018120308.tif 000004
【００４２】
同様に、図５のグラフの各ノードの組についてノード類似度を計算した結果を図６に示す。図６は、第１の実施形態に係るノード類似度の一例を示す図である。図６に示すように、例えば、ノード５１とノード５３とのノード類似度は０．２である。また、例えば、ノード５４とノード５５とのノード類似度は０．３３である。
【００４３】
ここで、第２のグラフを作成する際の閾値をノード類似度の平均とすると、図６の１０個のノード類似度のうち、６つが０．３３、４つが０．２なので、閾値は、（０．３３＊６＋０．２＊４）／１０＝０．２８となる。そして、分割部１３４は、ノード類似度が０．２８以上であるノードの組にエッジを作成し、図７に示すようなグラフを構築する。図７は、第１の実施形態に係る分割グラフの一例を示す図である。図６に示すように、ノード５１とノード５２のノード類似度が閾値以上であるため、分割部１３４は、ノード５１とノード５２にエッジを作成する。一方、図６に示すように、ノード５３を含む組のノード類似度はいずれも閾値以下であるため、分割部１３４は、ノード５３を含むエッジを作成しない。また、図７に示すように、この場合、第２のグラフは複数の分割グラフとなる。
【００４４】
作成部１３５は、同一のボットネットで運用されているドメイン名の集合として、ＩＰアドレス関連情報の類似度に基づくドメイン名の集合を作成する。つまり、作成部１３５は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数のグラフを用いてドメイン名の集合を作成してもよい。例えば、作成部１３５は、各ドメイン名を分割グラフのそれぞれに対応する集合に分類する。作成部１３５は、図７の分割グラフより、「example1.com」、「example2.com」、「example1.co.jp」及び「example2.co.jp」を第１の集合に分類し、「example3.com」を第２の集合に分類する。
【００４５】
また、作成部１３５は、構築部１３３によって構築されたグラフに基づいて集合を作成してもよい。つまり、作成部１３５は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いてドメイン名の集合を作成してもよい。例えば、構築部１３３によって構築されたグラフが複数である場合、作成部１３５は、分割部１３４による分割が行われない場合であっても、分割グラフを基に集合を作成する場合と同様の方法で集合を作成することができる。また、作成部１３５は、構築部１３３によって構築されたグラフのエッジに、ドメイン名類似度に基づく重みを設定し、当該重みが閾値以上であるノードに対応するドメイン名の集合を作成してもよい。
【００４６】
また、作成部１３５は、グラフを用いない方法で集合を作成してもよい。例えば、作成部１３５は、既知のクラスタリング手法を用いて、ドメイン名類似度に基づくドメイン名の集合を作成してもよい。
【００４７】
統合部１３６は、作成部１３５によって作成された複数の集合に含まれるドメイン名に関する情報の一致度合いに基づいて、複数の集合を１つの集合に統合する。前述の通り、作成部１３５は、ＩＰアドレス関連情報１２１に基づいて集合を作成する。一方、統合部１３６は、ドメイン名自体に関連する情報に基づいて集合の統合を行う。このため、統合部１３６による集合の統合を行うことで、ドメイン名自体に関連する情報を反映した集合を作成することが可能となる。
【００４８】
まず、統合部１３６は、作成部１３５によって作成された集合間の一致度合いを示す類似度を計算する。以降、統合部１３６によって計算される類似度を集合類似度とよぶ。統合部１３６は、集合に含まれるドメイン名のうち、特定の文字列のパターンに一致するドメイン名の数や、ドメイン名を管理するＤＮＳサーバの一致度合い等を集合類似度とすることができる。
【００４９】
そして、統合部１３６は、それぞれの間の集合類似度が閾値以上である複数の集合を１つの集合に統合する。なお、閾値は、事前に決められた値であってもよいし、集合類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、集合類似度の定義によって異なるため、閾値は、集合類似度の定義を考慮して事前に設定されたものであってもよい。
【００５０】
図８は、第１の実施形態に係る集合の統合について説明するための図である。図８に示すように、作成部１３５によって作成された集合６１と集合６２との間の集合類似度が閾値以上である場合、統合部１３６は、集合６１及び集合６２を、集合６３に統合する。
【００５１】
［第１の実施形態の処理］
図９を用いて、分類装置１０の処理の流れについて説明する。図９は、第１の実施形態に係る分類装置の処理の流れを示すフローチャートである。まず、取得部１３１は、記憶部１２から、ＩＰアドレス関連情報１２１を取得する（ステップＳ１０１）。そして、計算部１３２は、複数の異なるＩＰアドレス関連情報１２１を持つドメイン名同士の、ＩＰアドレス関連情報１２１の類似度であるドメイン名類似度を計算する（ステップＳ１０２）。
【００５２】
そして、構築部１３３は、計算部１３２によって計算されたドメイン名類似度に基づいて、ドメイン名をノードとするグラフを構築する（ステップＳ１０３）。このとき、構築部１３３は、ドメイン名類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成する。
【００５３】
分割部１３４は、構築部１３３によって構築されたグラフを、複数の分割グラフに分割する（ステップＳ１０４）。このとき、分割部１３４は、グラフの各ノードの近傍ノードとのノード類似度が閾値以下であるノードの組にエッジを作成することで分割グラフを作成する。
【００５４】
作成部１３５は、ドメイン名の集合を作成する（ステップＳ１０５）。作成部１３５は、分割部１３４によって作成された分割グラフを基に集合の作成を行ってもよいし、構築部１３３によって構築されたグラフを基に集合の作成を行ってもよいし、グラフを用いることなく、ドメイン名類似度を用いて集合を作成してもよい。
【００５５】
統合部１３６は、作成部１３５によって作成された複数の集合を１つの集合に統合する（ステップＳ１０６）。また、出力部１１２は、作成部１３５によって作成された集合、又は統合部１３６によって統合された集合を出力する（ステップＳ１０７）。出力部１１２は、例えば集合ごとのドメイン名のリストを画面表示することや、ファイル等に書き出すことによって出力を行う。
【００５６】
［第１の実施形態の効果］
本実施形態において、取得部１３１は、複数のドメイン名のそれぞれについて、対応するＩＰアドレスに関する情報であるＩＰアドレス関連情報１２１を取得する。また、計算部１３２は、複数のドメイン名のうち、取得部１３１によって複数の異なるＩＰアドレス関連情報１２１が取得されたドメイン名同士の、ＩＰアドレス関連情報１２１の類似度を計算する。また、作成部１３５は、同一のボットネットで運用されているドメイン名の集合として、ＩＰアドレス関連情報の類似度に基づくドメイン名の集合を作成する。
【００５７】
このように、計算部１３２は、取得部１３１によって複数の異なるＩＰアドレス関連情報１２１が取得されたドメイン名同士を類似度の計算対象としている。これより、分類装置１０は、対応するＩＰアドレスに関する情報が多様であるドメイン名同士を類似度の計算対象としていることがいえる。
【００５８】
また、作成部１３５は、ＩＰアドレス関連情報１２１の類似度に基づきドメイン名が同じ集合となるように集合を作成している。これより、分類装置１０は、ドメイン名同士のＩＰアドレスに関する情報が類似するドメイン名同士を同一の集合に含めていることがいえる。
【００５９】
ここで、前述の通り、同一のボットネットで運用されているドメイン名は、対応するＩＰアドレスに関する情報が多様、かつ、運用されているボットネットが同一であればドメイン名同士のＩＰアドレスに関する情報が類似する傾向にあるため、分類装置１０によって作成された集合に含まれるドメイン名は、同一のボットネットで運用されているドメイン名と同様の傾向にあることがいえる。
【００６０】
以上より、本実施形態によれば、同一のボットネットで運用されているドメイン名を集合に分類することができ、さらに、分類された集合に基づいて、ドメイン名による被害を推定することができるため、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することができるようになる。
【００６１】
また、取得部１３１は、ＩＰアドレスのＡＳに関する情報、及びＩＰアドレスの地理的情報のうちの少なくとも一方を取得するようにしてもよい。ＡＳに関する情報は、例えばＡＳ番号又はＡＳ事業者等である。
【００６２】
ドメイン名に対応するＩＰアドレスは、ＩＳＰやクラウドサービスによって動的に変更されることがある。このような動的なＩＰアドレスの変更においては、変更前のＩＰアドレスと同一のＡＳ内や地理的に近い場所のＩＰアドレスが付与されることが多い。このため、ＩＰアドレスのＡＳに関する情報、及びＩＰアドレスの地理的情報を基に類似度を計算することで、動的なＩＰアドレスの付け替えの分類結果への影響を削減することができる。
【００６３】
また、作成部１３５は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いてドメイン名の集合を作成してもよい。
【００６４】
これにより、同一のボットネットで運用されているドメイン名の組に対応するノードの組にはエッジが作成されやすくなるため、エッジに着目した各手法を用いた分類を行うことが可能となる。
【００６５】
また、作成部１３５は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数の分割グラフを用いてドメイン名の集合を作成してもよい。
【００６６】
構築部１３３によって構築されたグラフにおいては、対応するドメイン名同士が同一のボットネットで運用されている場合、ノード同士は近傍になりやすい。このため、ノードの近傍関係に着目してグラフの分割を行うことで、各ボットネットに対応した分割グラフを作成することができる。
【００６７】
また、統合部１３６は、作成部１３５によって作成された複数の集合に含まれるドメイン名に関する情報の一致度合いに基づいて、複数の集合を１つの集合に統合する。作成部１３５は、ドメイン名に対応するＩＰアドレスの関する情報を基に集合を作成するのに対し、統合部１３６は、ドメイン名自体に関する情報を基に統合を行う。
【００６８】
同一のボットネットで運用されているドメイン名は、文字列のパターンが類似していることや、ドメイン名の登録情報が類似していると考えられる。このため、統合部１３６による集合の統合を行うことで、ドメイン名自体に関連する情報を反映した集合を作成し、分類の精度を向上させることが可能となる。
【００６９】
［その他の実施形態］
第１の実施形態では、図３に示すように、ドメイン名とＡＳ番号がＩＰアドレス関連情報１２１である場合について説明した。ここで、ＩＰアドレス関連情報１２１は、図３に示すものに限られない。例えば、図１０に示すように、ＩＰアドレス関連情報１２１には観測日時、ＩＰアドレス等が含まれていてもよい。観測日時は、ドメイン名に対応するＩＰアドレスが、ＤＮＳサーバ等から収集された日時である。
【００７０】
ＩＰアドレス関連情報１２１に観測日時及びＩＰアドレスが含まれる場合、計算部１３２は、ＩＰアドレスのＡＳに関する情報や地理的情報に加え、観測日時の差、観測日時に基づくＡＳの順序性、ＡＳ内で使用されていたＩＰアドレスの一致度合い等に基づいてドメイン名類似度の計算を行うことができる。さらに、計算部１３２は、ドメイン名同士の文字列パターンの類似性を考慮してドメイン名類似度の計算を行ってもよい。
【００７１】
これにより、ＩＰアドレスのＡＳに関する情報や地理的情報のみに基づいてドメイン名類似度を計算する場合に比べ、分類の根拠となる情報をより多く反映させたうえでドメイン名の集合の作成を行うことが可能となり、分類の精度が向上する。
【００７２】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７４】
［プログラム］
一実施形態として、分類装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の分類を実行する分類プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分類プログラムを情報処理装置に実行させることにより、情報処理装置を分類装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００７５】
また、分類装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分類に関するサービスを提供する分類サーバ装置として実装することもできる。例えば、分類サーバ装置は、複数のドメイン名のＩＰアドレスに関する情報を入力とし、各集合に含まれるドメイン名のリストを出力とする分類サービスを提供するサーバ装置として実装される。この場合、分類サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の分類に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００７６】
図１１は、プログラムが実行されることにより分類装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、分類装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、分類装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００７９】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８１】
１０  分類装置
１１  入出力部
１２  記憶部
１３  制御部
１１１  入力部
１１２  出力部
１２１  ＩＰアドレス関連情報
１３１  取得部
１３２  計算部
１３３  構築部
１３４  分割部
１３５  作成部
１３６  統合部
【図１】
2018120308.tif 000005
【図２】
2018120308.tif 000006
【図３】
2018120308.tif 000007
【図４】
2018120308.tif 000008
【図５】
2018120308.tif 000009
【図６】
2018120308.tif 000010
【図７】
2018120308.tif 000011
【図８】
2018120308.tif 000012
【図９】
2018120308.tif 000013
【図１０】
2018120308.tif 000014
【図１１】
2018120308.tif 000015