JP6669679B2 - 分類装置、分類方法及び分類プログラム - Google Patents

分類装置、分類方法及び分類プログラム Download PDF

Info

Publication number
JP6669679B2
JP6669679B2 JP2017009753A JP2017009753A JP6669679B2 JP 6669679 B2 JP6669679 B2 JP 6669679B2 JP 2017009753 A JP2017009753 A JP 2017009753A JP 2017009753 A JP2017009753 A JP 2017009753A JP 6669679 B2 JP6669679 B2 JP 6669679B2
Authority
JP
Japan
Prior art keywords
address
domain names
unit
similarity
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017009753A
Other languages
English (en)
Other versions
JP2018120308A (ja
Inventor
俊樹 芝原
俊樹 芝原
毅 八木
毅 八木
満昭 秋山
満昭 秋山
大紀 千葉
大紀 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017009753A priority Critical patent/JP6669679B2/ja
Publication of JP2018120308A publication Critical patent/JP2018120308A/ja
Application granted granted Critical
Publication of JP6669679B2 publication Critical patent/JP6669679B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、分類装置、分類方法及び分類プログラムに関する。
従来、感染端末で構成されたボットネットを使った攻撃が知られている。このような攻撃への対策として、攻撃者によって用いられているものとそうでないものにドメイン名を分類する手法が有効である。例えば、ユーザによってDNS問い合わせが行われたドメイン名が攻撃者によって用いられているドメイン名であった場合、その際の接続先の端末を、ボットネットを構成する感染端末として検知することができる。
ドメイン名を分類する手法として、例えば、ドメイン名が悪性であるか良性であるかを分類する手法が提案されている。具体的には、ユーザによるドメイン名の名前解決パターン(例えば、非特許文献1を参照)、キャッシュDNSサーバから権威DNSサーバへの問い合わせのパターン(例えば、非特許文献2を参照)、トップレベルドメインやセカンドレベルドメインが共通のドメイン名に対応するIPアドレスや、対応するIPアドレスが共通のドメイン名(例えば、非特許文献3を参照)、公開のドメインリストへの登録状況の変化(例えば、非特許文献4を参照)、大量のドメイン名の同時登録(例えば、非特許文献5を参照)等に着目した手法が提案されている。
ボットネットを使った攻撃に使われるドメイン名は、IPアドレスで冗長化が行われている場合がある。そこで、ドメイン名を分類する手法として、例えば、IPアドレスで冗長化を行っているドメイン名とそれ以外を分類する手法も提案されている。具体的に、FluXORという手法では、ドメイン名に対し複数回名前解決を実施し、その結果得られたドメイン名に対応するIPアドレス数、time−to−live、AS(Autonomous System)数、IPアドレスを逆引きした際のホスト数、IPアドレスの運用組織数等の9種類の特徴量を抽出し、単純ベイズを用いてドメイン名を識別している(例えば、非特許文献6を参照)。また、Holzらの手法では、ドメイン名に対応するIPアドレス数やAS番号数、NSサーバ数を特徴量として抽出し識別を行っている(例えば、非特許文献7を参照)。
また、ボットネットを使った攻撃に使われるドメイン名は、ランダムな文字列を含むドメイン名を生成するアルゴリズム(DGA)によって生成される場合がある。そこで、ドメイン名を分類する手法として、例えば、DGAによって生成されたドメイン名を分類する手法も提案されている。例えば、Phoenixでは、まずドメイン名に含まれる意味のある文字列の長さや、連続する複数の文字の出現頻度の傾向が、良性なドメイン名と異なるものをDGAによって生成されたドメイン名として抽出する(例えば、非特許文献8を参照)。Phoenixでは、その後、ドメイン名とIPアドレスの2部グラフにおいて、スペクトラルクラスタリングを適用することで、類似度のIPアドレスに対応するドメイン名の集合を作成する。
また、複数の端末からの通信の共起性(例えば、非特許文献9を参照)や、端末間の通信量と悪性な挙動の類似性(例えば、非特許文献10を参照)に基づいてボットネットを検知する手法も提案されている。
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.
しかしながら、従来の手法には、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することが困難であるという問題があった。従来のドメイン名の分類手法は、ドメイン名を、ボットネットを使った攻撃に使われているものとそうでないものに分類するものであった。そのため、複数のボットネットが存在している場合、ドメイン名の分類により感染端末を検知したとしても、当該感染端末がどのボットネットで運用されているかを知ることができず、当該感染端末によりどのような被害が発生するかを推定することができない場合があった。
例えば、ドメイン名が悪性であるか良性であるかを分類する手法では、ドメイン名が同一のボットネットに属しているか異なるボットネットに属しているかを判定することはできない場合があった。また、例えば、IPアドレスで冗長化を行っているドメイン名とそれ以外を分類する手法では、同じボットネットを使用して冗長化を行っているか、異なるボットネットを使用して冗長化を行っているかを判定することができない場合があった。また、ボットネットで運用されているドメイン名が単語の組み合わせによって生成されたドメイン名である場合、ランダムな文字列が含まれず、正規のドメイン名と傾向が類似するため、DGAによって生成されたドメイン名を分類する手法では分類を行うことができない場合があった。また、従来のボットネットを検知する手法では、大規模なネットワークの通信が必要であるため、一般的に適用が困難である。
本発明の分類装置は、複数のドメイン名のそれぞれについて、対応するIPアドレスに関する情報であるIPアドレス関連情報を取得する取得部と、前記複数のドメイン名のうち、前記取得部によって複数の異なる前記IPアドレス関連情報が取得されたドメイン名同士の、前記IPアドレス関連情報の類似度を計算する計算部と、同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成部と、を有することを特徴とする。
本発明の分類方法は、分類装置で実行される分類方法であって、複数のドメイン名のそれぞれについて、対応するIPアドレスに関する情報であるIPアドレス関連情報を取得する取得工程と、前記複数のドメイン名のうち、前記取得工程によって複数の異なる前記IPアドレス関連情報が取得されたドメイン名同士の、前記IPアドレス関連情報の類似度を計算する計算工程と、同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成工程と、を含んだことを特徴とする。
本発明によれば、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することができる。
図1は、ボットネットについて説明するための図である。 図2は、第1の実施形態に係る分類装置の構成の一例を示す図である。 図3は、第1の実施形態に係るIPアドレス関連情報のデータ構成の一例を示す図である。 図4は、第1の実施形態に係るドメイン名類似度の一例を示す図である。 図5は、第1の実施形態に係るドメイン名をノードとするグラフの一例を示す図である。 図6は、第1の実施形態に係るノード類似度の一例を示す図である。 図7は、第1の実施形態に係る分割グラフの一例を示す図である。 図8は、第1の実施形態に係る集合の統合について説明するための図である。 図9は、第1の実施形態に係る分類装置の処理の流れを示すフローチャートである。 図10は、その他の実施形態に係るIPアドレス関連情報のデータ構成の一例を示す図である。 図11は、プログラムが実行されることにより分類装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係る分類装置、分類方法及び分類プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態]
まず、本実施形態の分類装置について説明する前に、ボットネットについて説明する。ボットネットとは、マルウェア等に感染した端末で構成されるネットワークである。また、ボットネットでは、感染端末のIPアドレスと対応付けられたドメイン名が運用される。例えば、ユーザ端末が、ボットネットで運用されているドメイン名に対して接続要求を行った場合、当該ユーザ端末は、ボットネットを構成する感染端末と接続されることになる。また、1つのボットネットで複数のドメイン名が運用されることがある。
そこで、本実施形態の分類装置は、複数のドメイン名を同一のボットネットで運用されているドメイン名の集合に分類する。同一のボットネットで運用されているドメイン名同士は、接続した際の攻撃による被害が類似していることが考えられる。そのため、ボットネットごとの攻撃による被害の情報を網羅的に収集しておくことで、未知の悪性ドメイン名に接続した際の攻撃による被害を推定することができるようになる。これにより、本実施形態によれば、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することが可能となる。
ここで、ボットネットに属するIPアドレスは、属するASやIPアドレスの地理的情報(緯度、経度、国等)が多様になる傾向にある。また、同一のボットネットで運用されているドメイン名には、同一のボットネットに属する感染端末のIPアドレスが割り当てられる。このため、同一のボットネットで運用されているドメイン名同士の、対応するIPアドレスに関する情報の類似度が高くなる傾向があることが知られている(例えば、非特許文献7を参照)。
つまり、同一のボットネットで運用されているドメイン名は、対応するIPアドレスに関する情報が多様、かつ、運用されているボットネットが同一であればドメイン名同士のIPアドレスに関する情報が類似する傾向にあることがいえる。そこで、本実施形態の分類装置は、このような傾向に基づいてドメイン名の分類を行う。
上記の傾向について、図1に示す具体例を用いて説明する。図1は、ボットネットについて説明するための図である。図1に示すように、ボットネット20は、感染端末21〜25を有する。また、ボットネット30は、感染端末31〜33を有する。なお、感染端末21〜25、及び31〜33は、マルウェア等に感染した端末である。
また、各感染端末は、AS41〜43のいずれかに属している。例えば、感染端末21〜23は、AS41に属している。また、感染端末24、25、31及び32は、AS42に属している。また、感染端末33は、AS43に属している。また、ボットネット20では、ドメイン名「example1.com」及び「example2.com」が運用されている。また、ボットネット30では、ドメイン名「example1.co.jp」が運用されている。
ここで、図1に示すように、例えば、ドメイン名「example1.com」は、感染端末21及び24のIPアドレスに対応付けられている。このとき、ドメイン名「example1.com」に対応するIPアドレスに関する情報として、感染端末21及び24のIPアドレスに関する情報がそれぞれ存在している。このように、同一のボットネットで運用されているドメイン名に対応するIPアドレスに関する情報は多様となる。
また、図1に示すように、ドメイン名「example1.com」に対応するIPアドレスが割り当てられた感染端末21及び24は、それぞれAS41及び42に属している。また、ドメイン名「example2.com」に対応するIPアドレスが割り当てられた感染端末22及び25も同様に、それぞれAS41及び42に属している。一方、ドメイン名「example1.co.jp」に対応するIPアドレスが割り当てられた感染端末31及び33は、それぞれAS42及び43に属している。このように、運用されているボットネットが同一であればドメイン名同士のIPアドレスに関する情報が類似する傾向にある。なお、ここではAS番号をIPアドレスに関する情報の一例としている。
[第1の実施形態の構成]
図2を用いて、第1の実施形態に係る分類装置の構成について説明する。図2は、第1の実施形態に係る分類装置の構成の一例を示す図である。図1に示すように、分類装置10は、入出力部11、記憶部12及び制御部13を有する。
入出力部11は、入力部111及び出力部112を有する。入力部111は、例えば、マウスやキーボード等の入力装置である。出力部112は、画面の表示等により、データを出力する。出力部112は、例えば、ディスプレイ等の表示装置である。
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、分類装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部12は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部12は、IPアドレス関連情報121を記憶する。
記憶部12は、ドメイン名に対応付けられたIPアドレスに関する情報をIPアドレス関連情報121として記憶する。IPアドレス関連情報121は、例えば、ドメイン名と、当該ドメイン名を名前解決した際のAレコード等から収集可能なIPアドレスに関連する情報と、を含む。ここで、名前解決の応答としてドメイン名に対応する複数のIPアドレスが得られる場合や、名前解決の日時ごとに異なるIPアドレスが得られる場合がある。このような場合、IPアドレス関連情報121は、得られた全てのIPアドレスのそれぞれに対応したものであってもよい。
IPアドレス関連情報121としては、AS番号、AS事業者、IPアドレスの所在地の国、都市、経度、緯度、ドメイン名とIPアドレスの対応が初めて観測された日時、ドメイン名とIPアドレスの対応が最後に観測された日時等が考えられる。また、IPアドレス関連情報121は、これらの情報のうちいずれか1つであってもよいし、いくつかを組み合わせたものであってもよい。
また、ドメイン名に対応するIPアドレスは、ISPやクラウドサービスによって動的に変更されることがある。このような動的なIPアドレスの変更においては、変更前のIPアドレスと同一のAS内や地理的に近い場所のIPアドレスが付与されることが多い。このため、本実施形態の分類装置10は、動的なIPアドレスの付け替えの影響を削減するために、ドメイン名とIPアドレスそのものとの関係性ではなく、ドメイン名とIPアドレスに関連する情報との関係性に着目した分類を行う。
また、本実施形態では、IPアドレス関連情報121は、IPアドレスのASに関する情報、及びIPアドレスの地理的情報のうちの少なくとも一方を含む。なお、IPアドレスのASに関する情報は、例えばAS番号及びAS事業者である。また、IPアドレスの地理的情報は、例えばIPアドレスの所在地の国、都市、経度、緯度である。IPアドレス関連情報121は、例えば図3に示すように、ドメイン名とAS番号であってもよい。図3は、第1の実施形態に係るIPアドレス関連情報のデータ構成の一例を示す図である。図3は、例えば、ドメイン名「example1.com」に対応するIPアドレスのAS番号が、AS番号1及びAS番号2であることを示している。なお、AS番号1〜4は、数字で表された番号である。
制御部13は、分類装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、取得部131、計算部132、構築部133、分割部134、作成部135及び統合部136を有する。
取得部131は、複数のドメイン名のそれぞれについて、対応するIPアドレスに関する情報であるIPアドレス関連情報121を取得する。また、取得部131は、IPアドレスのASに関する情報、及びIPアドレスの地理的情報のうちの少なくとも一方を取得するようにしてもよい。
計算部132は、複数のドメイン名のうち、取得部131によって複数の異なるIPアドレス関連情報121が取得されたドメイン名同士の、IPアドレス関連情報121の類似度を計算する。以降、計算部132によって計算される類似度をドメイン名類似度とよぶ。ここで、計算部132は、ドメイン名に対応するIPアドレス関連情報121のうち、2つのドメイン名に共通する情報の数をドメイン名類似度とすることができる。例えば、図4に示すように、計算部132は、2つのドメイン名に共通するAS数をドメイン名類似度とすることができる。図4は、第1の実施形態に係るドメイン名類似度の一例を示す図である。ここで、例えば、図4に示すように、ドメイン名「example1.com」とドメイン名「example2.com」とのドメイン名類似度は2である。また、ドメイン名「example1.com」とドメイン名「example1.co.jp」とのドメイン名類似度は1である。
構築部133は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することでグラフを構築する。図5は、第1の実施形態に係るドメイン名をノードとするグラフの一例を示す図である。構築部133は、ドメイン名類似度が2以上であるドメイン名の組にエッジを作成することで図5のグラフを構築することができる。なお、閾値は、事前に決められた値であってもよいし、ドメイン名類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、ドメイン名類似度の定義によって異なるため、閾値は、ドメイン名類似度の定義を考慮して事前に設定されたものであってもよい。
図4に示すように、ドメイン名「example1.com」とドメイン名「example2.com」とのドメイン名類似度は2以上であるため、図5に示すように、構築部133は、ノード51とノード52との間にエッジを作成する。一方、図4に示すように、ドメイン名「example1.com」とドメイン名「example1.co.jp」とのドメイン名類似度は2以上ではないため、図5に示すように、構築部133は、ノード51とノード54との間にエッジを作成しない。
分割部134は、構築部133によって構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて複数の分割グラフに分割する。具体的には、分割部134は、ノードをドメイン名とする第1のグラフの構造に基づいて、ノードをドメイン名とする新たな第2のグラフを作成することでグラフの分割を実施する。第2のグラフのノード間の類似度を第1のグラフのノードの近傍ノードとの一致度合いに基づいて算出する。以降、分割部134によって計算される類似度をノード類似度とよぶ。
分割部134は、例えば、Jaccard係数等の指標を用いてノード類似度の計算を行う。分割部134は、共通するドメイン名数とドメイン名の総数の比率をJaccard係数として計算する。なお、分割部134は、Adamic/Adar等の指標を用いてノード類似度の計算を行ってもよい。
分割部134は、式(1)を用いて各ノードの近傍ノードとのノード類似度、すなわちJaccard係数の計算を行うことができる。なお、n(i)は、ノードiに隣接するノードの集合である。
Figure 0006669679
分割部134は、計算したノード類似度に基づいて、第2のグラフを作成する。分割部134は、ノード類似度が閾値以上であるノードの組にエッジを作成することで第2のグラフを構築する。なお、閾値は、事前に決められた値であってもよいし、ノード類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、グラフの構造によって異なるため、閾値として計算値を用いることで様々な構造のグラフに対応することが可能となる。
式(2−5)は、分割部134が、式(1)を用いて、図5のグラフを基に、ノード51とノード52とのノード類似度の計算を行った結果を示している。なお、式(2−1)〜(2−4)は計算の途中式である。この場合、ノードi及びノードjは、それぞれノード51及びノード52である。
Figure 0006669679
同様に、図5のグラフの各ノードの組についてノード類似度を計算した結果を図6に示す。図6は、第1の実施形態に係るノード類似度の一例を示す図である。図6に示すように、例えば、ノード51とノード53とのノード類似度は0.2である。また、例えば、ノード54とノード55とのノード類似度は0.33である。
ここで、第2のグラフを作成する際の閾値をノード類似度の平均とすると、図6の10個のノード類似度のうち、6つが0.33、4つが0.2なので、閾値は、(0.33*6+0.2*4)/10=0.28となる。そして、分割部134は、ノード類似度が0.28以上であるノードの組にエッジを作成し、図7に示すようなグラフを構築する。図7は、第1の実施形態に係る分割グラフの一例を示す図である。図6に示すように、ノード51とノード52のノード類似度が閾値以上であるため、分割部134は、ノード51とノード52にエッジを作成する。一方、図6に示すように、ノード53を含む組のノード類似度はいずれも閾値以下であるため、分割部134は、ノード53を含むエッジを作成しない。また、図7に示すように、この場合、第2のグラフは複数の分割グラフとなる。
作成部135は、同一のボットネットで運用されているドメイン名の集合として、IPアドレス関連情報の類似度に基づくドメイン名の集合を作成する。つまり、作成部135は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数のグラフを用いてドメイン名の集合を作成してもよい。例えば、作成部135は、各ドメイン名を分割グラフのそれぞれに対応する集合に分類する。作成部135は、図7の分割グラフより、「example1.com」、「example2.com」、「example1.co.jp」及び「example2.co.jp」を第1の集合に分類し、「example3.com」を第2の集合に分類する。
また、作成部135は、構築部133によって構築されたグラフに基づいて集合を作成してもよい。つまり、作成部135は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いてドメイン名の集合を作成してもよい。例えば、構築部133によって構築されたグラフが複数である場合、作成部135は、分割部134による分割が行われない場合であっても、分割グラフを基に集合を作成する場合と同様の方法で集合を作成することができる。また、作成部135は、構築部133によって構築されたグラフのエッジに、ドメイン名類似度に基づく重みを設定し、当該重みが閾値以上であるノードに対応するドメイン名の集合を作成してもよい。
また、作成部135は、グラフを用いない方法で集合を作成してもよい。例えば、作成部135は、既知のクラスタリング手法を用いて、ドメイン名類似度に基づくドメイン名の集合を作成してもよい。
統合部136は、作成部135によって作成された複数の集合に含まれるドメイン名に関する情報の一致度合いに基づいて、複数の集合を1つの集合に統合する。前述の通り、作成部135は、IPアドレス関連情報121に基づいて集合を作成する。一方、統合部136は、ドメイン名自体に関連する情報に基づいて集合の統合を行う。このため、統合部136による集合の統合を行うことで、ドメイン名自体に関連する情報を反映した集合を作成することが可能となる。
まず、統合部136は、作成部135によって作成された集合間の一致度合いを示す類似度を計算する。以降、統合部136によって計算される類似度を集合類似度とよぶ。統合部136は、集合に含まれるドメイン名のうち、特定の文字列のパターンに一致するドメイン名の数や、ドメイン名を管理するDNSサーバの一致度合い等を集合類似度とすることができる。
そして、統合部136は、それぞれの間の集合類似度が閾値以上である複数の集合を1つの集合に統合する。なお、閾値は、事前に決められた値であってもよいし、集合類似度の平均、中央値等の計算値であってもよい。また、適切な閾値は、集合類似度の定義によって異なるため、閾値は、集合類似度の定義を考慮して事前に設定されたものであってもよい。
図8は、第1の実施形態に係る集合の統合について説明するための図である。図8に示すように、作成部135によって作成された集合61と集合62との間の集合類似度が閾値以上である場合、統合部136は、集合61及び集合62を、集合63に統合する。
[第1の実施形態の処理]
図9を用いて、分類装置10の処理の流れについて説明する。図9は、第1の実施形態に係る分類装置の処理の流れを示すフローチャートである。まず、取得部131は、記憶部12から、IPアドレス関連情報121を取得する(ステップS101)。そして、計算部132は、複数の異なるIPアドレス関連情報121を持つドメイン名同士の、IPアドレス関連情報121の類似度であるドメイン名類似度を計算する(ステップS102)。
そして、構築部133は、計算部132によって計算されたドメイン名類似度に基づいて、ドメイン名をノードとするグラフを構築する(ステップS103)。このとき、構築部133は、ドメイン名類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成する。
分割部134は、構築部133によって構築されたグラフを、複数の分割グラフに分割する(ステップS104)。このとき、分割部134は、グラフの各ノードの近傍ノードとのノード類似度が閾値以下であるノードの組にエッジを作成することで分割グラフを作成する。
作成部135は、ドメイン名の集合を作成する(ステップS105)。作成部135は、分割部134によって作成された分割グラフを基に集合の作成を行ってもよいし、構築部133によって構築されたグラフを基に集合の作成を行ってもよいし、グラフを用いることなく、ドメイン名類似度を用いて集合を作成してもよい。
統合部136は、作成部135によって作成された複数の集合を1つの集合に統合する(ステップS106)。また、出力部112は、作成部135によって作成された集合、又は統合部136によって統合された集合を出力する(ステップS107)。出力部112は、例えば集合ごとのドメイン名のリストを画面表示することや、ファイル等に書き出すことによって出力を行う。
[第1の実施形態の効果]
本実施形態において、取得部131は、複数のドメイン名のそれぞれについて、対応するIPアドレスに関する情報であるIPアドレス関連情報121を取得する。また、計算部132は、複数のドメイン名のうち、取得部131によって複数の異なるIPアドレス関連情報121が取得されたドメイン名同士の、IPアドレス関連情報121の類似度を計算する。また、作成部135は、同一のボットネットで運用されているドメイン名の集合として、IPアドレス関連情報の類似度に基づくドメイン名の集合を作成する。
このように、計算部132は、取得部131によって複数の異なるIPアドレス関連情報121が取得されたドメイン名同士を類似度の計算対象としている。これより、分類装置10は、対応するIPアドレスに関する情報が多様であるドメイン名同士を類似度の計算対象としていることがいえる。
また、作成部135は、IPアドレス関連情報121の類似度に基づきドメイン名が同じ集合となるように集合を作成している。これより、分類装置10は、ドメイン名同士のIPアドレスに関する情報が類似するドメイン名同士を同一の集合に含めていることがいえる。
ここで、前述の通り、同一のボットネットで運用されているドメイン名は、対応するIPアドレスに関する情報が多様、かつ、運用されているボットネットが同一であればドメイン名同士のIPアドレスに関する情報が類似する傾向にあるため、分類装置10によって作成された集合に含まれるドメイン名は、同一のボットネットで運用されているドメイン名と同様の傾向にあることがいえる。
以上より、本実施形態によれば、同一のボットネットで運用されているドメイン名を集合に分類することができ、さらに、分類された集合に基づいて、ドメイン名による被害を推定することができるため、ボットネットを使った攻撃に対し、迅速かつ適切に対策を実施することができるようになる。
また、取得部131は、IPアドレスのASに関する情報、及びIPアドレスの地理的情報のうちの少なくとも一方を取得するようにしてもよい。ASに関する情報は、例えばAS番号又はAS事業者等である。
ドメイン名に対応するIPアドレスは、ISPやクラウドサービスによって動的に変更されることがある。このような動的なIPアドレスの変更においては、変更前のIPアドレスと同一のAS内や地理的に近い場所のIPアドレスが付与されることが多い。このため、IPアドレスのASに関する情報、及びIPアドレスの地理的情報を基に類似度を計算することで、動的なIPアドレスの付け替えの分類結果への影響を削減することができる。
また、作成部135は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いてドメイン名の集合を作成してもよい。
これにより、同一のボットネットで運用されているドメイン名の組に対応するノードの組にはエッジが作成されやすくなるため、エッジに着目した各手法を用いた分類を行うことが可能となる。
また、作成部135は、ドメイン名をノードとし、ノードの組のうち、類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数の分割グラフを用いてドメイン名の集合を作成してもよい。
構築部133によって構築されたグラフにおいては、対応するドメイン名同士が同一のボットネットで運用されている場合、ノード同士は近傍になりやすい。このため、ノードの近傍関係に着目してグラフの分割を行うことで、各ボットネットに対応した分割グラフを作成することができる。
また、統合部136は、作成部135によって作成された複数の集合に含まれるドメイン名に関する情報の一致度合いに基づいて、複数の集合を1つの集合に統合する。作成部135は、ドメイン名に対応するIPアドレスの関する情報を基に集合を作成するのに対し、統合部136は、ドメイン名自体に関する情報を基に統合を行う。
同一のボットネットで運用されているドメイン名は、文字列のパターンが類似していることや、ドメイン名の登録情報が類似していると考えられる。このため、統合部136による集合の統合を行うことで、ドメイン名自体に関連する情報を反映した集合を作成し、分類の精度を向上させることが可能となる。
[その他の実施形態]
第1の実施形態では、図3に示すように、ドメイン名とAS番号がIPアドレス関連情報121である場合について説明した。ここで、IPアドレス関連情報121は、図3に示すものに限られない。例えば、図10に示すように、IPアドレス関連情報121には観測日時、IPアドレス等が含まれていてもよい。観測日時は、ドメイン名に対応するIPアドレスが、DNSサーバ等から収集された日時である。
IPアドレス関連情報121に観測日時及びIPアドレスが含まれる場合、計算部132は、IPアドレスのASに関する情報や地理的情報に加え、観測日時の差、観測日時に基づくASの順序性、AS内で使用されていたIPアドレスの一致度合い等に基づいてドメイン名類似度の計算を行うことができる。さらに、計算部132は、ドメイン名同士の文字列パターンの類似性を考慮してドメイン名類似度の計算を行ってもよい。
これにより、IPアドレスのASに関する情報や地理的情報のみに基づいてドメイン名類似度を計算する場合に比べ、分類の根拠となる情報をより多く反映させたうえでドメイン名の集合の作成を行うことが可能となり、分類の精度が向上する。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、分類装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分類を実行する分類プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分類プログラムを情報処理装置に実行させることにより、情報処理装置を分類装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、分類装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分類に関するサービスを提供する分類サーバ装置として実装することもできる。例えば、分類サーバ装置は、複数のドメイン名のIPアドレスに関する情報を入力とし、各集合に含まれるドメイン名のリストを出力とする分類サービスを提供するサーバ装置として実装される。この場合、分類サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分類に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図11は、プログラムが実行されることにより分類装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分類装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分類装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 分類装置
11 入出力部
12 記憶部
13 制御部
111 入力部
112 出力部
121 IPアドレス関連情報
131 取得部
132 計算部
133 構築部
134 分割部
135 作成部
136 統合部

Claims (6)

  1. 複数のドメイン名のそれぞれについて、対応するIPアドレスのAS(Autonomous System)に関する情報、及び前記IPアドレスの地理的情報のうちの少なくとも一方に関する情報であるIPアドレス関連情報を取得する取得部と、
    前記複数のドメイン名のうち、前記取得部によって複数の異なる前記IPアドレス関連情報が取得されたドメイン名同士の、前記IPアドレス関連情報の類似度を計算する計算部と、
    同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成部と、
    を有することを特徴とする分類装置。
  2. 前記作成部は、前記ドメイン名をノードとし、前記ノードの組のうち、前記類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを用いて前記ドメイン名の集合を作成することを特徴とする請求項1に記載の分類装置。
  3. 前記作成部は、前記ドメイン名をノードとし、前記ノードの組のうち、前記類似度が閾値以上であるドメイン名の組に対応するノードの組にエッジを作成することで構築されたグラフを、各ノードの近傍ノードとの一致度合いに基づいて分割した複数の分割グラフを用いて前記ドメイン名の集合を作成することを特徴とする請求項に記載の分類装置。
  4. 前記作成部によって作成された複数の集合に含まれる前記ドメイン名に関する情報の一致度合いに基づいて、前記複数の集合を1つの集合に統合する統合部をさらに有することを特徴とする請求項1からのいずれか1項に記載の分類装置。
  5. 分類装置で実行される分類方法であって、
    複数のドメイン名のそれぞれについて、対応するIPアドレスのAS(Autonomous System)に関する情報、及び前記IPアドレスの地理的情報のうちの少なくとも一方に関する情報であるIPアドレス関連情報を取得する取得工程と、
    前記複数のドメイン名のうち、前記取得工程によって複数の異なる前記IPアドレス関連情報が取得されたドメイン名同士の、前記IPアドレス関連情報の類似度を計算する計算工程と、
    同一のボットネットで運用されているドメイン名の集合として、前記類似度に基づくドメイン名の集合を作成する作成工程と、
    を含んだことを特徴とする分類方法。
  6. コンピュータを、請求項1からのいずれか1項に記載の分類装置として機能させるための分類プログラム。
JP2017009753A 2017-01-23 2017-01-23 分類装置、分類方法及び分類プログラム Active JP6669679B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017009753A JP6669679B2 (ja) 2017-01-23 2017-01-23 分類装置、分類方法及び分類プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017009753A JP6669679B2 (ja) 2017-01-23 2017-01-23 分類装置、分類方法及び分類プログラム

Publications (2)

Publication Number Publication Date
JP2018120308A JP2018120308A (ja) 2018-08-02
JP6669679B2 true JP6669679B2 (ja) 2020-03-18

Family

ID=63043908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017009753A Active JP6669679B2 (ja) 2017-01-23 2017-01-23 分類装置、分類方法及び分類プログラム

Country Status (1)

Country Link
JP (1) JP6669679B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021111802A (ja) 2020-01-06 2021-08-02 富士通株式会社 検知プログラム、検知方法および情報処理装置
CN116708369B (zh) * 2023-08-02 2023-10-27 闪捷信息科技有限公司 网络应用信息合并方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP2018120308A (ja) 2018-08-02

Similar Documents

Publication Publication Date Title
Khalil et al. Discovering malicious domains through passive DNS data graph analysis
US10757101B2 (en) Using hash signatures of DOM objects to identify website similarity
US10681070B2 (en) Method to identify malicious web domain names thanks to their dynamics
US9998484B1 (en) Classifying potentially malicious and benign software modules through similarity analysis
US9686283B2 (en) Using hash signatures of DOM objects to identify website similarity
US10574681B2 (en) Detection of known and unknown malicious domains
CN111355697B (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
US9032527B2 (en) Inferring a state of behavior through marginal probability estimation
JP6285390B2 (ja) サイバー攻撃分析装置及びサイバー攻撃分析方法
US11270001B2 (en) Classification apparatus, classification method, and classification program
Zou et al. Detecting malware based on DNS graph mining
US20220191173A1 (en) Systems and methods for performing dynamic firewall rule evaluation
Nguyen et al. DGA botnet detection using collaborative filtering and density-based clustering
Hong et al. Ctracer: uncover C&C in advanced persistent threats based on scalable framework for enterprise log data
WO2019123757A1 (ja) 分類装置、分類方法、および、分類プログラム
JP6669679B2 (ja) 分類装置、分類方法及び分類プログラム
JP6915305B2 (ja) 検知装置、検知方法および検知プログラム
Schiavoni et al. Tracking and characterizing botnets using automatically generated domains
Yu et al. Semi-supervised time series modeling for real-time flux domain detection on passive DNS traffic
JP7052602B2 (ja) 生成装置、生成方法及び生成プログラム
Leita et al. HARMUR: Storing and analyzing historic data on malicious domains
Baumann et al. Vulnerability against internet disruptions–a graph-based perspective
JP7006805B2 (ja) 算出装置、算出方法及び算出プログラム
RU2587424C1 (ru) Способ контроля приложений
Najafi et al. Guilt-by-association: detecting malicious entities via graph mining

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200227

R150 Certificate of patent or registration of utility model

Ref document number: 6669679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150