WIPO logo
Mobile | Deutsch | English | Español | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Recherche dans les collections de brevets nationales et internationales
World Intellectual Property Organization
PATENTSCOPE sera indisponible quelques heures pour des raisons de maintenance le samedi 18.08.2018 à 09:00 CEST
Recherche
 
Options de navigation
 
Traduction
 
Options
 
Quoi de neuf
 
Connexion
 
Aide
 
maximize
Traduction automatique
1. (WO2017217163) DISPOSITIF DE CLASSIFICATION D’ACCÈS, PROCÉDÉ DE CLASSIFICATION D’ACCÈS, ET PROGRAMME DE CLASSIFICATION D’ACCÈS
Document

明 細 書

発明の名称 アクセス分類装置、アクセス分類方法及びアクセス分類プログラム

技術分野

0001  

背景技術

0002   0003   0004   0005   0006   0007   0008   0009   0010  

先行技術文献

非特許文献

0011  

発明の概要

発明が解決しようとする課題

0012   0013   0014   0015   0016   0017  

課題を解決するための手段

0018  

発明の効果

0019  

図面の簡単な説明

0020  

発明を実施するための形態

0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129  

符号の説明

0130  

請求の範囲

1   2   3   4   5   6   7  

図面

1   2A   2B   3A   3B   4   5   6   7   8   9   10   11   12   13   14   15   16   17  

明 細 書

発明の名称 : アクセス分類装置、アクセス分類方法及びアクセス分類プログラム

技術分野

[0001]
 本発明は、アクセス分類装置、アクセス分類方法及びアクセス分類プログラムに関する。

背景技術

[0002]
 従来、ユーザ端末がアクセスするwebサイトの中から、マルウェアを感染させる悪性webサイトを識別する手法である悪性webサイト識別手法が存在する。この様な悪性webサイト識別手法は、ホスト上の挙動に基づく手法とコンテンツの特徴に基づく手法とに分類される。
[0003]
 ホスト上の挙動に基づく手法は、webサーバ等のサーバから取得されたHTML(HyperText Markup Language)やJavaScript(登録商標)等のコンテンツを実行し、その時のホスト上での挙動から脆弱性に対する攻撃を検知することにより、悪性webサイトを識別する手法である。
[0004]
 これに対し、コンテンツの特徴に基づく手法は、サーバからコンテンツの取得を行い、該コンテンツのコード解析を行い、悪性なコードに特徴的に出現する関数や文字列等の特徴、ドメインやURL(Uniform Resource Locator)に関連する情報、及び、リダイレクト(転送)の情報をもとに、機械学習を適用して、悪性webサイトを識別する手法である。
[0005]
 以下、コンテンツの特徴に基づく手法による悪性webサイトの識別に係る従来技術について説明する。コンテンツの特徴に基づく手法による悪性webサイト識別手法には、単一ページから取得されたコンテンツの特徴を用いて識別する手法と、webサイトのリダイレクトによって発生した複数ページへのアクセスから特徴を抽出して識別する手法とがある。
[0006]
 前者の識別手法では、コンテンツ中のJavaScriptを解析して識別する手法が多く提案されている。これらの手法の中には、例えば、スクリプトの行数や文字数、スクリプト中のキーワードの出現回数を用いて特徴ベクトルを記述し、機械学習の手法を用いて識別する手法(非特許文献1)がある。或いは、for文やwhile文中での処理を抽出し、特徴ベクトルを作成して識別する手法(非特許文献2)がある。さらに、JavaScriptから作成された抽象構文木のノードタイプから構成される系列を作成し、該系列の類似度によって識別する手法(非特許文献3)等がある。
[0007]
 また、JavaScript以外にも、HTMLやURL及びホストの情報を利用する手法も存在する。例えば、HTMLを利用する手法には、iframeやscriptタグの出現回数、タグのサイズ特徴量を抽出して識別する手法(非特許文献4)がある。また、URL及びホストの情報を利用する手法には、URLに含まれるキーワード、DNS(Domain Name System)問合せの結果、IP(Internet Protocol)アドレスに紐付く地理的情報を用いて、URLの悪性判定を行う手法(非特許文献5)がある。
[0008]
 そして、JavaScript、HTML、URL及びホストの各情報から悪性判定を行う識別器をそれぞれ構築し、複数の識別器の判定を総合してwebサイトの悪性判定を行う手法(非特許文献6)も存在する。あるいは、同一のページに異なる時刻にアクセスした際に取得されるコンテンツから差分を抽出し、該差分を基に悪性判定を行う手法(非特許文献7)も提案されている。
[0009]
 上記以外にも、転送により発生した複数回のwebサイトへのアクセスを基に識別を行う手法では、さまざまな観点から特徴量を抽出して悪性webサイトの識別を行っている。例えば、Matsunakaらの手法(非特許文献8)では、実行ファイルのダウンロード時におけるHTTP(HyperText Transfer Protocol)ヘッダや、ダウンロード以前に取得されたコンテンツにダウンロードを示す情報がないこと等を根拠として、脆弱性への攻撃によって発生した転送が検知される。
[0010]
 また、Stringhiniらの手法(非特許文献9)では、各ユーザが自動転送によってアクセスした一連のページの時系列から、最終ページが同一のアクセス群を作成した後、それらのアクセス群から、IPアドレス数やリダイレクト数等の特徴ベクトルを作成し、悪性webサイトを識別する。さらに、Rafiqueらの手法(非特許文献10)では、リダイレクトによってアクセスしたページの系列からマルウェアのダウンロードに必須な部分を、系列中の複数のページへ個別にアクセスすることによって抽出し、シグネチャを作成することで、悪性webサイトの識別を行っている。

先行技術文献

非特許文献

[0011]
非特許文献1 : Peter Likarish, Eunjin Jung, and Insoon Jo., “Obfuscated Malicious Javascript Detection using Classification Techniques.”, IEEE 4th International Conference on Malicious and Unwanted Software (MALWARE), 2009.
非特許文献2 : Charlie Curtsinger, et al., “ZOZZLE: Fast and Precise In-Browser JavaScript Malware Detection.”, USENIX Security Symposium, 2011.
非特許文献3 : Alexandros Kapravelos, et al., “Revolver: An Automated Approach to the Detection of Evasive Web-based Malware.”, USENIX Security, 2013.
非特許文献4 : Christian Seifert, Ian Welch, and Peter Komisarczuk., “Identification of Malicious Web Pages with Static Heuristics.”, IEEE Telecommunication Networks and Applications Conference, 2008.
非特許文献5 : Justin Ma, et al., “Beyond Blacklists: Learning to Detect Malicious Web Sites from Suspicious URLs.”, Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, 2009.
非特許文献6 : Davide Canali, et al., “Prophiler: A Fast Filter for the Large-Scale Detection of Malicious Web Pages.”, Proceedings of the 20th international conference on World wide web, 2011.
非特許文献7 : Kevin Borgolte, Christopher Kruegel, and Giovanni Vigna., “Delta: Automatic Identification of Unknown Web-based Infection Campaigns.” Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 2013.
非特許文献8 : Takashi Matsunaka, Ayumu Kubota, and Takahiro Kasama., “An Approach to Detect Drive-by Download by Observing the Web Page Transition Behaviors.”, Ninth Asia Joint Conference on Information Security, 2014.
非特許文献9 : Gianluca Stringhini, Christopher Kruegel, and Giovanni Vigna., “Shady Paths: Leveraging Surfing Crowds to Detect Malicious Web Pages.”, Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 2013.
非特許文献10 : M. Zubair Rafique, et al., “Network Dialog Minimization and Network Dialog Diffing: Two Novel Primitives for Network Security Applications.”, Proceedings of the 30th Annual Computer Security Applications Conference, 2014.

発明の概要

発明が解決しようとする課題

[0012]
 悪性webサイトによる被害を削減するためには、網羅的に悪性webサイトの情報を収集することが重要である。一方、攻撃者は、悪性webサイトが検知されるのを防ぐために、解析システムによるアクセスを検知して攻撃コードを隠蔽する回避策を実施している。このため、被害削減のためには、このような悪性ページも検知することが重要である。しかしながら、従来の手法では、攻撃者の隠ぺい等により攻撃コードが得られない悪性webサイトについては、検知できない、または、検知精度が低いという問題があった。
[0013]
 例えば、コンテンツの特徴に基づく手法では、攻撃コードが得られない悪性webサイトについては、ページから悪性なコンテンツが取得されず、特徴量がほぼ0となり、良性と判定されるため、悪性であることを検知できないという問題があった。
[0014]
 また、複数のページの関係性に着目した手法は、攻撃コードへのリダイレクトに着目している手法と、リダイレクトをもとに形成されたグラフの形に着目する手法とに大別できる。この複数のページの関係性に着目した手法のうち、攻撃コードへのリダイレクトに着目する手法では、攻撃コードが得られないと着目しているリダイレクトが発生しないため、攻撃コードが得られない悪性webサイトを検知できないという問題があった。
[0015]
 一方、複数のページの関係性に着目した手法のうち、リダイレクトグラフの形に着目する手法では、攻撃コードが得られない場合、良性サイトのグラフ形状との判別が困難であり、悪性webサイトに対する検知精度が低いという問題がある。一般的に、リダイレクトグラフの形は、リダイレクトの段数等に基づき、悪性webサイトのリダイレクトでは段数が長く、良性サイトのリダイレクトでは段数が短い傾向がある。このことから、リダイレクトグラフの形に着目する手法では、攻撃コードが得られない場合、悪性webサイトであった場合でも、リダイレクトの段数が短くなり、グラフの形が良性サイトに近くなるため、悪性webサイトであることの検知が困難となる。この結果、悪性webサイトをブラックリストに記載することができず、ユーザの悪性webサイトへのアクセスを許可してしまうという問題があった。
[0016]
 このように、従来の技術では、攻撃者の隠ぺい等により攻撃コードが得られない悪性webサイトについては、検知できない、または、検知精度が低いという問題があった。
[0017]
 本発明は、上記に鑑みてなされたものであって、攻撃コードが取得できない悪性webサイトを精度よく検知することができるアクセス分類装置、アクセス分類方法及びアクセス分類プログラムを提供することを目的とする。

課題を解決するための手段

[0018]
 上述した課題を解決し、目的を達成するために、本発明に係るアクセス分類装置は、少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、第1の宛先から第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築部と、木構築部によって構築された複数の木について、木の各々の局所的な構造の類似性を基に複数の木のノード同士を対応付けるノード対応付け部と、複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した対応付けられたノード同士の類似度を用いて複数の木の類似度を算出する類似度算出部と、類似度算出部によって算出された類似度に基づいて、アクセスを、特徴が類似する集合に分類する分類部と、を有する。

発明の効果

[0019]
 本発明によれば、攻撃コードが取得できない悪性webサイトを精度よく検知することができる。

図面の簡単な説明

[0020]
[図1] 図1は、実施の形態1に係るアクセス分類装置の概略構成を示す模式図である。
[図2A] 図2Aは、図1に示すアクセス分類装置に入力される解析対象アクセスの例を示す図である。
[図2B] 図2Bは、図1に示すアクセス分類装置に入力される解析対象アクセスの例を示す図である。
[図3A] 図3Aは、図1に示すアクセス分類装置に入力される既知アクセスの例を示す図である。
[図3B] 図3Bは、図1に示すアクセス分類装置に入力される既知アクセスの例を示す図である。
[図4] 図4は、図1に示す木構築部による木の構築処理を説明する図である。
[図5] 図5は、木から部分木が抽出される過程を示す図である。
[図6] 図6は、複数の木の間におけるノードの対応付けの一例について説明する図である。
[図7] 図7は、複数の木の間におけるノードの対応付けの他の例について説明する図である。
[図8] 図8は、複数の木の間におけるノードの対応付けの他の例について説明する図である。
[図9] 図9は、図1に示す類似度算出部による木の類似度算出処理を説明する図である。
[図10] 図10は、類似度を内積値として用いる場合の識別モデル作成処理を説明するためのフローチャートである。
[図11] 図11は、類似度を内積値として用いる場合のアクセス識別処理の処理手順を示すフローチャートである。
[図12] 図12は、実施の形態2に係るアクセス分類装置の概略構成を示す模式図である。
[図13] 図13は、複数の木を、複数の集合へ分類する方法を示す図である。
[図14] 図14は、木の集合から代表木を作成する方法を示す図である。
[図15] 図15は、代表木との類似度を用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。
[図16] 図16は、代表木との類似度を用いる場合のアクセス識別処理を説明するためのフローチャートである。
[図17] 図17は、プログラムが実行されることにより、アクセス分類装置が実現されるコンピュータの一例を示す図である。

発明を実施するための形態

[0021]
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[0022]
[実施の形態1]
 まず、実施の形態1に係るアクセス分類装置について、概略構成、アクセス分類処理の流れ及び具体例を説明する。
[0023]
 図1は、実施の形態1に係るアクセス分類装置の概略構成を示す模式図である。図1に示すように、実施の形態1に係るアクセス分類装置10は、対象アクセス入力部11、既知アクセス入力部12、木構築部13、ノード対応付け部14、類似度算出部15及び分類部16を有する。これら各構成部分は、一方向又は双方向に、各種信号やデータの入出力が可能な様に接続されている。
[0024]
 対象アクセス入力部11は、解析対象の宛先へのアクセスを入力として許容する。対象アクセス入力部11は、解析対象の宛先へのアクセスとして、リダイレクトに関する情報とコンテンツに関する情報とを入力として許容する。
[0025]
 既知アクセス入力部12は、悪性webサイトを提供する宛先へのアクセスであることが既知である既知悪性アクセスと、これとは反対に良性webサイトを提供する宛先へのアクセスであることが既知である既知良性アクセスとを入力として許容する。既知アクセス入力部12は、既知のアクセスとして、リダイレクトに関する情報とコンテンツに関する情報とを入力として許容する。
[0026]
 木構築部13は、対象アクセス入力部11と既知アクセス入力部12とにより入力された各アクセスから、少なくとも解析対象の宛先(第1の宛先)へのアクセス元(自動転送元)及びアクセス先(自動転送先)の宛先(第2の宛先)を「ノード」とし、自動転送命令を「エッジ」とする木を構築する。また、木構築部13は、各ノードに対し、各ノードに対するコンテンツの情報をそれぞれ付加する。
[0027]
 ノード対応付け部14は、木構築部13によって作成された複数の木について、該複数の木を構成する各ノードの対応関係を決定する。このノード対応付け部14は、複数の木の各々の局所的な構造の類似性を基に、複数の木のノード同士を対応付ける。
[0028]
 類似度算出部15は、複数の木の間において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した対応付けられたノード同士の類似度を用いて複数の木の類似度を算出する。
[0029]
 分類部16は、類似度算出部15によって算出された類似度に基づいて、アクセスを、特徴が類似する集合に分類する。例えば、分類部16は、類似度算出部15によって算出された類似度を用いて、対象アクセス入力部11により入力されたアクセスが、悪性webサイトへのアクセスであるか否かの判定を行う。
[0030]
[解析対象アクセスの例]
 図2A及び図2Bは、アクセス分類装置10に入力される解析対象アクセスの例を示す図である。図2A及び図2Bに示すように、解析対象アクセスは、リダイレクトに関する情報(図2A参照)と、コンテンツに関する情報(図2B参照)とである。
[0031]
 まず、図2Aを参照し、リダイレクトに関する情報について説明する。図2Aに示すように、リダイレクトに関する情報は、通番、転送先、転送元、及び、転送命令の情報を有する。なお、HTTPのステータスコード300番代のリダイレクトだけではなく、HTMLタグで指定されたコンテンツの取得によって発生する自動転送も、リダイレクトと呼ぶ。
[0032]
 通番として、図2Aに示すように、同一の一連のアクセスに含まれるリダイレクトに同一の番号が与えられる。また、転送先、転送元としてはURLがあるが、これに限るものではなく、FQDN(Fully Qualified Domain Name)、ドメイン、ホスト名、IPアドレス等であってもよい。また、宛先を明示しなくても、宛先を他の文字列等に置き換えてもよい。ただし、この場合には、文字列と宛先とが一対一で対応している必要がある。
[0033]
 そして、転送命令としては、HTMLタグのiframeタグによるリンクを表す「SRC-IFRAME」やHTMLタグのScriptタグによるリンクを表す「SRC-SCRIPT-SRC」などがあるが、これに限るものではない。例えば、HTMLタグのAppletタグによるリンクを表す「SRC-APPLET-ARCHIVE」、HTTPによる転送を表す「HTTP302Redirect」、HTMLタグのObjectタグによるリンクを表す「SRC-OBJECT-CODEBASE」等であってもよい。また、転送命令を明示せずに他の文字列等に置き換えてもよい。ただし、この場合には、文字列と転送命令とが一対一で対応している必要がある。
[0034]
 また、リダイレクトに関する情報は、図2Aに示す例に限らず、転送が発生した時刻等を含んでいてもよい。これは、リダイレクトが発生した時刻とコンテンツが取得された時刻とを組み合わせて使うことを想定した場合、これらから、URLにアクセスしてからリダイレクトが発生するまでの時間が計測できるためである。ここで、悪性なJavaScriptは、難読化されているため処理に時間がかかることが知られているため、処理に必要な時間を考慮することが可能になる。なお、リダイレクトに関する情報に含めるかは、良性webサイトと悪性webサイトとで傾向が異なるかという点で検討を行えばよい。
[0035]
 次に、図2Bを参照し、コンテンツに関する情報について説明する。図2Bに示すように、コンテンツに関する情報は、通番、宛先、及び、コンテンツの情報を有する。
[0036]
 図2Bに示すように、通番は、図2Aに示すリダイレクトに関する情報と同一のものを用いる。ただし、異なるアクセスで同一宛先から取得されたコンテンツが同一の場合には、通番はなくてもよい。そして、宛先としては、図2Bに示すように、URLがあるがこれに限るものではなく、リダイレクトに関する情報と同様に、FQDN(Fully Qualified Domain Name)、ドメイン、ホスト名、IPアドレス等であってもよい。
[0037]
 また、図2Bに示すように、コンテンツとしては、HTML、JavaScriptがあるが、これに限るものではなくPHP(Hypertext Preprocessor)、CSS(Cascading Style Sheets)或いは画像等でもよい。また、コンテンツに関する情報は、図2Bに示す例に限らず、コンテンツが取得された時刻や、取得にかかった時間等の情報を含んでいてもよい。リダイレクトに関する情報と同様に、リダイレクトが発生した時刻とコンテンツが取得された時刻とを組み合わせて使うことを想定した場合、これらから、URLにアクセスしてからリダイレクトが発生するまでの時間が計測できるためである。
[0038]
[既知アクセスの例]
 図3A及び図3Bは、アクセス分類装置10に入力される既知アクセスの例を示す図である。図3A及び図3Bに示すように、既知アクセスは、リダイレクトに関する情報(図3A参照)と、コンテンツに関する情報(図3B参照)とである。
[0039]
 図3Aに示すように、リダイレクトに関する情報は、通番、ラベル、転送先、転送元及び転送命令が含まれる。図3Aに示すように、通番は、図2Aの例と同様に、同一の一連のアクセスに含まれるリダイレクトに同一の番号が与えられる。そして、図3Aに示すように、転送先或いは転送元としては、図2Aの例と同様に、URLが考えられるが、もちろん、これに限るものではない。また、宛先を明示しなくても、宛先を他の文字列等に置き換えてもよい。ただし、文字列と宛先とが一対一で対応している必要がある。
[0040]
 また、図3Aに示すように、転送命令としては、図2Aの例と同様に、「SRC-IFRAME」や「SRC-SCRIPT-SRC」などが考えられるが、これに限るものではない。また、転送命令を文字列等に置き換えてもよく、この場合には、対象アクセスと同じ方法で置き換える必要がある。
[0041]
 また、図3Aに示すように、通信先の性質を識別するラベルを各アクセスに付与する。このラベルは、図3Aに示す「良性」や「悪性」に限るものではなく、「広告」、「Drive-by-Download」、「Phishing」等であってもよい。なお、リダイレクトに関する情報は、図3Aに示す例に限るものではない。
[0042]
 そして、図3Bに示すように、コンテンツに関する情報は、通番、宛先及びコンテンツの情報を有する。図3Bに示すように、通番は、図3Aに示すリダイレクトに関する情報と同一のものを用いる。ただし、異なるアクセスで同一宛先から取得されたコンテンツが同一の場合には通番はなくてもよい。図3Bに示すように、宛先としては、URLが考えられるがこれに限るものではない。
[0043]
 コンテンツは、HTML、JavaScriptがあるが、これに限るものではない。なお、コンテンツに関する情報は、既知アクセス入力部12からの入力のうちコンテンツに関するものであり、コンテンツは、HTML、JavaScriptのコード等であり、コンテンツの情報は、コンテンツを数値化したものとして、以降の説明を行う。また、コンテンツに関する情報としては、図3Bに示す例に限るものではない。
[0044]
[木の構築]
 次に、図1に示す木構築部13による木の構築について説明する。図4は、木構築部13による木の構築処理を説明する図である。図4に示すように、木構築部13は、図2及び図3に示したアクセスの転送情報を基に、転送元及び転送先を「ノード」とし、転送命令を「エッジ」とする木T1を構築する。そして、木構築部13は、各ノードに対し、ノードに対するコンテンツの情報をノードに付加する。
[0045]
 例えば、木構築部13は、webサイトのURLをノードN1~N4とし、該URL間の転送命令に対応するエッジE1~E3を、転送元URLと転送先URLとの間に作成する。
[0046]
 そして、各ノードN1~N4に、ノードN1~N4のURLに対するコンテンツの情報を付加する。本実施の形態1では、コンテンツの情報として、ノードに対応するコンテンツやURLから、悪性判定に有効な複数の情報を数値化し、ベクトルとして表現している。
[0047]
 具体的には、図4に示すように、ノードNnに対応するコンテンツの情報x を、x =[e ,i ,p ]とし、コンテンツの情報を数値化する。ここで、e は、eval数である。i は、ifame数である。p は、ドメインに対応するIPアドレス数である。例えば、ノードN1については、コンテンツの情報x は、x =[0,1,2]である。なお、後述の図6~図9においては、説明のため、表示した二つの木のうち、一方の木のコンテンツの情報x を、x =[e ,i ,p ]とし、他方の木のコンテンツの情報を、y =[e ,i ,p ]として表す。
[0048]
 また、コンテンツの情報は、eval数、ifame数、ドメインに対応するIPアドレス数に限らず、HTMLのタグの出現回数、JavaScript関数の出現回数、URLにおける悪性なパターンの出現回数などでもよい。これら全てを、コンテンツの情報として用いてもよいし、一部のみを用いてもよい。ただし、コンテンツの情報は、複数の種別を含むことが望ましい。
[0049]
 このように、ノードに付加するコンテンツの情報として、コンテンツを数値化し、悪性なコンテンツの情報のみ抽出したものを生成する。これによって、悪性なコンテンツに意味のないコードが追加されたり、攻撃に関係ないコードが削除されたりしていた場合も、数値化されたベクトルの変化は少ないため、悪性webサイトを検知することができ、攻撃者による回避を困難にすることができる。
[0050]
 そして、木構築部13は、コンテンツの情報の付加が完了すると、各ノードN1~N4に付されているURLの情報を除去する。これにより、URLに依存しないリダイレクト構造に着目した、webサイトの識別が可能となる。
[0051]
 なお、図4では、ノードN1~N4に一旦付されたURLが除去された例を示したが、URLは、除去されなくてもよい。また、コンテンツの情報として、数値化を行わず、コンテンツそのものやURLそのものを用いてもよいし、これらから一部(コードの一部やドメイン等)を抽出して用いてもよい。このように、悪性webサイトで固定的に使われるURLの一部等を数値化しないことによって、誤検知を削減することができる。
[0052]
[部分木の抽出]
 次に、木構築部13が構築した木から部分木を抽出する処理について説明する。図5は、木から部分木が抽出される過程を示す図である。図5に示すように、木構築部13は、構築された木(図4参照)から、該木を構成する部分木を抽出する。
[0053]
 例えば、木構築部13は、図5(a)に示すように、木T1から、一連のアクセスの中で最初にアクセスした宛先に対応するノードN1から、他の末端ノードN3、N4までのパスを抽出する。次に、木構築部13は、図5(b)に示すように、パス中に含まれる全ての部分パス(例えば、T1-1,T1-2参照)を抽出する。そして、木構築部13は、図5(c)に示す様に、抽出された部分パスを部分木T1-1,T1-3,T1-4,T1-2に分解する。
[0054]
 このとき、重複する部分木がある場合には、木構築部13は、重複する部分木の一方を削除することが望ましい。ここで、改ざんページから複数の画像の取得等が発生すると、重複する部分木が抽出される。これらの部分木が多数存在すると、類似度を算出する際に、悪性な部分木の影響が小さくなってしまう。このため、木構築部13は、重複する部分木を削除することが望ましい。
[0055]
 また、悪性webサイトは、改ざんサイトにアクセスしたユーザを攻撃コードにリダイレクトさせるため、パスの構造に悪性な特徴が現れる。例えば、悪性webサイトは、改ざんサイト、踏み台サイト、ブラウザのバージョン等の識別を行うサイト、攻撃コードが置かれているサイトへの多段のリダイレクトが発生する。このため、例示したように、パスに着目して部分木を抽出することで、悪性な特徴を表現する部分木を抽出し、全体の部分木の数を減らすことで、計算量を削減できるものと考えられる。なお、重複する部分木を削除したが、削除しなくとも、検知処理は可能である。また、部分木の抽出方法は一例であり、これに限るものではなく、分岐をもつ部分木を抽出してもよい。
[0056]
[ノードの対応付け例1]
 次に、図6を参照して、複数の木の間におけるノードの対応付けの一例について説明する。図6は、複数の木の間におけるノードの対応付け例の一つについて説明する図である。ノード対応付け部14は、図5で抽出した部分木をもとにノードの対応付けを行う。例えば、ノードの情報を無視した場合、図6に示すように、部分木のエッジのつながり方が一致する部分木が木構築部13によって抽出される。そして、ノード対応付け部14は、複数の木について木構築部13が抽出した部分木のうち、エッジが一致する複数の部分木を特定し、該特定した複数の部分木におけるノードの対応関係によって、複数の木におけるノードの対応関係を決定する。
[0057]
 図6の例では、木T2の部分木のうち部分木T2-1と、木T3のうち部分木T3-1とが、エッジのつながり方が一致する。言い換えると、部分木T2-1と部分木T3-1とは、リダイレクトが共通な部分木である(図6の(1)参照)。そこで、ノード対応付け部14は、これらの部分木T2-1,T3-1において、ノードの対応関係を決定する。なお、ノード対応付け部14は、木T2の部分木のうちのノードN7からノードN8のパスを有する部分木と、木T3のうちノードN11からノードN12のパスを有する部分木とは、リダイレクトが一致しないため、この二つの部分木については、ノードの対応付けを行わない。
[0058]
 具体的には、ノード対応付け部14は、部分木T2-1の転送元に対応するノードN5と部分木T3-1の転送元に対応するノードN9とを対応付ける(図6の(2-1)参照)。また、ノード対応付け部14は、部分木T2-1の転送先に対応するノードN6と部分木T3-1の転送元に対応するノードN10とを対応付ける(図6の(2-2)参照)。
[0059]
 なお、図6で説明したノードの対応付けの方法は、一例であり、これに限るものではない。例えば、ノード対応付け部14は、エッジが一致する部分木ではなく、エッジの一致数が閾値以上の部分木を抽出してもよい。
[0060]
[ノードの対応付け例2]
 また、ノード対応付け部14は、複数の木について、ノードに接続するエッジの一致度が高い組み合わせのノードを対応付けてもよい。この場合、ノード対応付け部14は、二つの木におけるノードの組み合わせごとに、ノード同士のリダイレクトの一致度を数値化したコストを算出し、コストが最小となる組み合わせのノードを対応付ける。
[0061]
 例えば、ノード対応付け部14は、ノード同士を対応付けた場合のコストを、対象のノードがリダイレクト先となるリダイレクトの異なるエッジ数と、対象のノードがリダイレクト元となるリダイレクトの異なるエッジ数と、の和と定義する。そして、ノード対応付け部14は、考えられるノードの組み合わせの中で、各ノードの組み合わせにおけるコストのうち、コストが最小となる組み合わせのノードを対応付ける。
[0062]
 そこで、図7及び図8を参照して、詳細に説明する。図7及び図8は、複数の木の間におけるノードの対応付け例の他の例について説明する図である。例えば、図7の木T1のノードN2と、木T4のノードN24とのコストの算出について説明する。
[0063]
 まず、ノード対応付け部14は、ノードN2とノードN24との場合、対象のノードN2とノードN24とがそれぞれリダイレクト先となるリダイレクトの比較を行う。この場合、ノードN2がリダイレクト先となるリダイレクトのエッジが「SRC-IFRAME」であり、ノードN24がリダイレクト先となるリダイレクトのエッジが「HTTP302Redirect」であるため、異なる。したがって、ノード対応付け部14は、ノードN2とノードN24との場合、対象のノードN2とノードN24とがリダイレクト先となるリダイレクトの異なるエッジ数が「1」であることを求める(図7の(1)参照)。
[0064]
 続いて、ノード対応付け部14は、対象のノードN2とノードN24とがそれぞれリダイレクト元となるリダイレクトの比較を行う。この場合、ノードN2がリダイレクト元となるリダイレクトのエッジが「SRC-APPLET-ARCHIVE」であり、ノードN24がリダイレクト元となるリダイレクトのエッジがない。このように、ノード対応付け部14は、対応するエッジがない場合も、「1」と計算する(図7の(2)参照)。
[0065]
 したがって、ノードN2とノードN24とを対応付けた場合のコストは、対象のノードがリダイレクト先となるリダイレクトの異なるエッジ数「1」と、対象のノードがリダイレクト元となるリダイレクトの異なるエッジ数「1」と、の和であるため、「2」となる(図7の(3)参照)。
[0066]
 このように、ノード対応付け部14は、木T1と木T4とにおけるノードの組み合わせごとに、コストを計算する。この結果、ノード対応付け部14は、図8に例示すように、木T1のノードN2と木T4のノードN24との組み合わせについては、上述したように、コスト「2」を取得できる(図8の(1)参照)。また、ノード対応付け部14は、ノードN2とノードN21との組み合わせについては、コスト「3」を取得できる(図8の(2)参照)。また、ノード対応付け部14は、ノードN2とノードN22との組み合わせについては、コスト「0」を取得できる(図8の(3)参照)。また、ノード対応付け部14は、ノードN2とノードN23との組み合わせについては、コスト「2」を取得できる(図8の(4)参照)。このように、すべての木T1のノードと木T4のノードとの組み合わせにおけるコストを取得する。
[0067]
 そして、ノード対応付け部14は、木T1のノードと木T4のノードとの対応付け方のうち、対応づいたノードのコストの総和が最小となる組み合わせを求める。例えば、ノード数が小さい木の全てのノードをもう一方のノードに対応付けたときのコストの総和を可能な対応付け方全てで算出し、コストの総和が最小となる対応付けを求める。このとき、複数のノードが一つのノードに対応づくことは許さない。ノードの対応付け方は一例であり、接続するエッジが類似するノードの対応付けが可能であればよい。
[0068]
 なお、ノード対応付け部14は、全てのノードの対応付けを出力してもよいし、接続するエッジがすべて同一のノードの組み合わせ、または、接続するエッジ数に対する同一なエッジ数の割合が閾値以上となるノードの組み合わせのみを出力してもよい。また、コストの定義は一例であり、これに限るものではなく、同一なエッジが多い場合にコストが小さくなるように、コストを定義すれば足りる。
[0069]
 また、以上で説明したノードの対応付け例1及びノードの対応付け例2のうち、ノードの対応付け例1に示す部分木に基づく手法は、長いリダイレクトの影響が大きくなるように設計してある。このため、長いリダイレクトが発生することが確認できている場合は、ノードの対応付け例1に示す部分木に基づく手法が有効である。一方、長いリダイレクトが仮定できない場合であっても、ノードの対応付け例2に示す隣接するエッジに基づく方法は適用可能である。
[0070]
 また、ノードの対応付け例1及びノードの対応付け例2のいずれも、対応付け方法は、局所的な構造に基づくため、攻撃コードが隠蔽されても問題なくノードの対応付けが可能となる。このため、ノードの対応付けを行った上で木の類似性を求めることによって、対象アクセスが悪性webサイトであるか否かを検知することが可能になる。そこで、次に、木の類似度の算出処理について説明する。
[0071]
[木の類似度の算出]
 次に、図1に示す類似度算出部15による木の類似度の算出について説明する。類似度算出部15は、図6または図7,8に示す手法を用いてノード対応付け部14によって決定された複数の木のノードの対応付け結果を基に、類似度を算出する。図9は、類似度算出部15による木の類似度算出処理を説明する図である。
[0072]
 図9では、木T1と木T4との類似度を算出する例を示す。木T1と木T4とにおいては、各ノードのうち、木T1のノードN2と木T4のノードN22とが対応関係にあり、木T1のノードN3と木T4のノードN23とが対応関係にある。
[0073]
 類似度算出部15は、まず、対応関係にあるノード同士の類似度を、各ノードのコンテンツの情報を用いて算出する。この場合、類似度算出部15は、対応関係にあるノード同士の類似度を特徴ベクトルのユークリッド距離で定義する。すなわち、類似度算出部15は、一方の木の、コンテンツの情報x が付加されたノードNkと、他方の木の、コンテンツの情報y が付加されたノードNhについては、(1)式を用いて演算したユークリッド距離s k,hを、対応するノードNkとノードNhとの類似度とする。なお、対応関係にあるノード同士の類似度は、特徴ベクトルのユークリッド距離に限るものではなく、L1ノルム(各次元の差分の絶対値の和)等を用いてもよい。
[0074]
[数1]


[0075]
 例えば、類似度算出部15は、木T1のノードN2と木T4のノードN22との類似度s 2,22を、ノードN2に付加されたコンテンツの情報x と、ノードN22に付加されたコンテンツの情報y を(1)式に適用した(2)式を用いて、算出する。
[0076]
[数2]


[0077]
 また、類似度算出部15は、木T1のノードN3と木T4のノードN23との類似度s 3,23を、ノードN3に付加されたコンテンツの情報x と、ノードN23に付加されたコンテンツの情報y を(1)式に適用することによって、算出する。このように、類似度算出部15は、類似度算出対象の二つの木について対応関係にあるノードの組み合わせごとに、対応関係にあるノードに付加されたコンテンツの情報を用いて、類似度を算出する。
[0078]
 そして、類似度算出部15は、二つの木の類似度を、「2×「対応づけられたノードの類似度の総和」÷「ノード数の和」」で定義する。例えば、図9に示す木T1と木T4との類似度を求める場合、類似度算出部15は、対応関係にあるノードN2とノードN22との類似度s 、及び、対応関係にあるノードN3とノードN23との類似度s をこの定義に適用する。そして、類似度算出部15は、ノード数の和として、木T1のノード数「4」と木T4のノード数「4」をこの定義に適用する。したがって、類似度算出部15は、この定義に、対応づけられたノードの類似度の総和である(s +s )とノード数の和である(4+4)を適用した、(2×(s +s )/(4+4))(枠M1参照)を算出することによって、木T1と木T4との類似度を求める。
[0079]
 なお、図9では、2つの木T1,T4の類似度算出方法を例示したが、比較する木の数は、2以上であればよい。また、図9を用いて算出した類似度の算出方法は、一例であり、対応付けられたノードの類似度に基づくものであれば、これに限るものではない。
[0080]
[分類部の処理]
 次に、分類部16による分類対象の木に対する分類方法を説明する。類似度算出部15によって算出された、アクセス同士の類似度を用いて機械学習アルゴリズムを適用し、識別モデルや識別結果を出力する。
[0081]
[識別モデル作成処理の処理手順]
 次に、図10及び図11を参照しながら、アクセス分類装置10の動作について、より詳細に説明する。
[0082]
 まず、類似度算出部15が算出した複数の木の類似度を、特徴量空間上のベクトルへ変換した後の内積値として利用する場合の識別モデル作成例を示す。なお、識別モデルとは、入力データ(各データの数値ベクトル、または、データ同士の内積値)を入力したときに、識別結果(良性の識別、悪性の識別等)を出力するものである。図10は、類似度を内積値として用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。
[0083]
 まず、既知アクセス入力部12は、既知悪性アクセス及び既知良性アクセス(図3参照)を入力する(ステップS1)。続いて、木構築部13は、入力されたアクセスから木を構築し(図4参照)、構築された木から部分木を抽出する(図5参照)(ステップS2)。
[0084]
 そして、ノード対応付け部14は、複数の木の間におけるノードの対応付けを行う(ステップS3)。この場合、ノード対応付け部14は、図6または図7,8に示す手法を用いて、複数の木の間でノードの対応付けを行い、複数の木の間におけるノードの対応関係を決定する。
[0085]
 続いて、類似度算出部15は、ノード対応付け部14によって決定された複数の木のノードの対応付け結果を基に、図9で説明した手法を用いて、各ノードに付加されたコンテンツの情報を用いて、複数の木の類似度を算出する(ステップS4)。
[0086]
 そして、分類部16は、入力の高次元空間への変換後の内積値を利用する既存の教師あり機械学習を、木の類似度を内積値として用い、既知悪性アクセスと既知良性アクセスを教師データとして適用し(ステップS5)、識別モデルを出力する(ステップS6)。言い換えると、分類部16は、ステップS1にて入力されたアクセスとステップS4にて算出された類似度とを、入力の高次元空間への変換後の内積値を利用する教師あり機械学習に適用する。すなわち、分類部16は、ステップS1において入力された既知良性アクセスと既知悪性アクセスとを「教師データ」とし、ステップS4にて算出された類似度を、教師データを特徴量空間上のベクトルへ変換した後の「内積値」とした教師あり機械学習により、識別モデルを作成する。分類部16は、例えば、識別モデルとして、既知悪性アクセスおよび既知良性アクセスと識別対象のアクセスとの内積値の重み付け和の正負で識別結果を決定する手法を用いる場合は、各既知アクセスに対応する重みをモデルパラメータとして出力する。なお、教師あり機械学習の手法は、例えば、サポートベクターマシン等であるが、これに限らない。
[0087]
 また、分類部16は、作成された識別モデルを、後述するハードディスクドライブ1090に出力する。出力された識別モデルは、ハードディスクドライブ1090内にデータとして保存される。
[0088]
[アクセス識別処理]
 続いて、類似度算出部15が算出した複数の木の間における類似度を、特徴量空間上のベクトルへ変換した後の内積値として利用する場合のアクセス識別例を示す。図11は、類似度を内積値として用いる場合のアクセス識別処理の処理手順を示すフローチャートである。
[0089]
 まず、対象アクセス入力部11は、解析対象アクセス(図2参照)を入力する(ステップS11)。続いて、木構築部13は、入力されたアクセスから木を構築し(図4参照)、構築された木から部分木を抽出する(図5参照)(ステップS12)。
[0090]
 そして、ノード対応付け部14は、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との間におけるノードの対応付けを行う(ステップS13)。この場合、ノード対応付け部14は、図6または図7,8に示す手法を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との間でノードの対応付けを行い、この二つの木の間におけるノードの対応関係を決定する。
[0091]
 そして、類似度算出部15は、各ノードに付加されたコンテンツの情報を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との類似度を算出する(ステップS14)。この場合、類似度算出部15は、ノード対応付け部14によって決定された解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木とのノードの対応付け結果を基に、図9で説明した手法を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木の類似度を算出する。
[0092]
 続いて、分類部16は、事前に学習した識別モデルを読み込み、入力の高次元空間への変換後の内積値を利用する既存の教師あり機械学習を、木の類似度を内積値として用い、解析対象アクセスをテストデータとすることで適用し(ステップS15)、識別結果を出力する(ステップS16)。言い換えると、分類部16は、ステップS11にて入力されたアクセスとステップS14にて算出された類似度とを、入力の高次元空間への変換後の内積値を利用する教師あり機械学習に適用する。すなわち、分類部16は、ステップS11にて入力された解析対象アクセスを「テストデータ」とし、ステップS14にて算出された類似度を、テストデータを特徴量空間上のベクトルへ変換した後の「内積値」とした教師あり機械学習により、識別結果を作成する。
[0093]
 例えば、分類部16は、識別結果として、解析対象アクセスが、比較対象の既知アクセスと特徴が類似するものであるか否かを分類する。例えば、比較対象の既知アクセスが悪性の既知アクセスであって、解析対象アクセスが比較対象の既知アクセスと特徴が類似するものであると分類した場合には、悪性webサイトへのアクセスであると判定した識別結果を出力する。
[0094]
 なお、教師あり機械学習の手法は、例えば、サポートベクターマシン等であるが、上述した識別モデル作成処理に用いた手法と同一の手法であれば、これに限らない。ステップS16では、分類部16は、作成された識別結果を、後述するディスプレイ1130等の表示装置に出力する。また、図11に示す処理は、比較対象として設定された既知アクセスごとに実行する。
[0095]
[実施の形態1の効果]
 このように、本実施の形態1に係るアクセス分類装置10は、入力されたアクセスから木を構築する際に、木のノードにコンテンツの情報を付加する。そして、アクセス分類装置10は、複数の木を構成する各ノードの対応関係を決定し、木同士において対応付けられたノード同士の類似度を用いて木同士の類似度を算出した後、算出した類似度を用いて、自動転送を含む宛先への一連のアクセスを分類している。
[0096]
 これによって、本実施の形態1では、ユーザ端末からwebサーバへのアクセスを自動転送し、転送先のwebサイトでブラウザやプラグインの脆弱性を攻撃することでマルウェアをダウンロードさせる悪性webサイトがあっても、アクセス分類装置10は、類似したリダイレクト関係にあるコンテンツの類似度をもとに検知することができる。したがって、アクセス分類装置10は、悪性と判定されたwebサイトへのユーザ端末のアクセスを遮断することで、ユーザ端末のマルウェアへの感染を未然に防ぐことができる。このため、本実施の形態1によれば、自動転送を含むwebサイトの構造とコンテンツの特徴から悪性webサイトを識別することができる。また、実施の形態1によれば、1回のアクセスにより識別可能な悪性webサイト識別手法の構築が可能となる。
[0097]
 そして、アクセス分類装置10は、木のノードに付加するコンテンツの情報として、コンテンツを数値化し、悪性なコンテンツの情報のみ抽出したものを生成する。この結果、本実施の形態1では、悪性なコンテンツに意味のないコードが追加されたり、攻撃に関係ないコードが削除されたりしていた場合も、数値化されたベクトルの変化は少ないため、悪性webサイトを検知することができ、攻撃者による回避を困難にすることができる。
[0098]
 そして、アクセス分類装置10は、部分木を抽出する処理において、パスに着目して部分木を抽出している。言い換えると、アクセス分類装置10は、悪性な特徴を表現する部分木を抽出して、以降の処理のノード対応付け対象となる部分木の数を減らすことで、計算量を削減できるものと考えられる。
[0099]
 また、アクセス分類装置10は、木の局所的な構造に基づいてノードの対応付けを行うため、攻撃コードが隠蔽されてもノードの対応付けが可能となる。アクセス分類装置10は、このノードの対応付けを行った上で、コンテンツの情報を基に木の類似性を求めることによって、解析対象アクセスと悪性webサイト或いは良性サイトとの類似度を精度よく算出することができる。すなわち、本実施の形態1では、攻撃コードが隠蔽されていた場合であっても、解析対象アクセスの分類を精度よく行うことができる。
[0100]
 以上のように、本実施の形態1では、リダイレクトグラフの形への着目に加えて、複数のコンテンツのリダイレクトによる関連性も考慮することによって、悪性の特徴、良性の特徴のいずれに近いかの識別精度を向上させている。したがって、本実施の形態1によれば、攻撃者によって回避されにくいweb検索が可能であり、また、攻撃コードが取得できずグラフが小さくなった悪性webサイトについても、高い検知精度での検知を実現することができる。
[0101]
[実施の形態2]
 次に、実施の形態2に係るアクセス分類装置について、概略構成、アクセス分類処理の流れ及び具体例を説明する。
[0102]
 図12は、実施の形態2に係るアクセス分類装置の概略構成を示す模式図である。図12に示すように、実施の形態2に係るアクセス分類装置210は、図1に示すノード対応付け部14、類似度算出部15及び分類部16に代えて、ノード対応付け部214、類似度算出部215及び分類部216を有する。そして、アクセス分類装置210は、図1のアクセス分類装置10と比して、代表木作成部217をさらに有する。
[0103]
 ノード対応付け部214は、ノード対応付け部14と同様の機能を有するとともに、既知アクセスに対応する木、或いは、解析対象の宛先へのアクセスに対応する木と、代表木(後述)とのノード同士を対応付ける。類似度算出部215は、類似度算出部15と同様の機能を有するとともに、アクセスに対応する木と、代表木(後述)との類似度を、これらの木同士において対応付けられたノード同士の類似度を用いて算出する。
[0104]
 分類部216は、代表木(後述)とアクセスに対応する木との類似度に基づき、アクセスを分類する。
[0105]
 代表木作成部217は、類似度算出部215によって算出された類似度に基づき、複数の木を、類似度の高い木から構成される複数の集合に分類する。そして、各集合の特徴を表す部分木を、代表木として作成する。代表木作成部217は、既知アクセス入力部12により入力されたアクセスを、類似度算出部215により算出された類似度を基に複数の集合に分割し、各集合内の木に共通する部分木を代表木として作成する。
[0106]
[代表木の作成]
 代表木の作成では、複数の木を複数の集合に分割し、各集合から代表木を作成する。図13は、複数の木を、複数の集合へ分類する方法を示す図である。
[0107]
 図13に示すように、代表木作成部217は、図4に示した複数の木(アクセス)を、類似度の高い木で構成される複数の集合へ分割する。代表木作成部217は、各集合がそれぞれ1つずつの木のみで構成されている状態から、各集合に属する木同士の上記類似度の最大値が閾値以上の場合に集合を結合する。代表木作成部217は、この結合処理を、結合させる集合がなくなるまで繰り返し実行する。
[0108]
 例えば、図13(a)に示す例では、各集合C1~C5が、それぞれ1つずつの木(木T11~T15)のみにより構成されている。分類部16は、複数の木T11~T15を、類似度の高い木で構成される複数の集合C1’~C3’へ分類する。図13(b)に示す例では、類似度の最大値が閾値以上の木T11と木T12とがそれぞれ属する集合C1と集合C2とが結合され、同一の集合C1’に分類される。同様に、類似度の最大値が閾値以上の木T13と木T15とがそれぞれ属する集合C3と集合C5とが結合され、同一の集合C2’に分類される。
[0109]
 この結合処理は繰り返し実行されるため、図13(c)に示す様に、集合C1”に属する全ての木T11,T12において、同じ集合C1”に属する他の木との類似度の最大値が閾値以上となる。同様に、集合C2”に属する全ての木T13~T15において、同じ集合C2”に属する他の木との類似度の最大値が閾値以上となる。これにより、類似度が高い木(木T11,T12と木T13~T15)で構成される複数の集合(集合C1”と集合C2”)への分類が可能となる。
[0110]
 なお、集合を結合させる基準として、分類部216は、類似度の最大値を用いたが、これに限らず、類似度の最小値や平均値を用いてもよい。類似度の最大値を用いた場合、複数の木に共通して含まれる一部の部分木が共通な木の集合が作成されるが、最大値の代わりに類似度の最小値を用いた場合、分類部16は、多くの部分木が共通な木の集合を作成することができる。また、平均値を用いた場合、分類部16は、それらの中間の木の集合を作成することができる。また、集合を結合させる基準として閾値を設定したが、分類部16は、閾値を設定することなく、類似度が最大となる集合同士から優先的に結合させ、該結合処理を、全体が1つの集合になるまで繰り返し、その後、各集合を結合させた過程の内、何れの段階を採用するかを決定するものとしてもよい。さらに、結合対象の集合の数は、2に限らず、2以上であればよい。
[0111]
 図14は、木の集合から代表木を作成する方法を示す図である。図14に示すように、アクセス分類装置210は、代表木作成部217により、木構築部13の抽出した部分木(図5参照)を基に、代表木作成部217の作成した木の集合(図13参照)から、代表木を作成する。例えば、代表木作成部217は、集合中の全ての木に共通する部分木を代表木とする。図14に示す例では、代表木作成部217は、同一集合中の木T1,T5に共通する部分木(N1-E3-N4)を、この集合の特徴を表す代表木T9とする。また、代表木としては、コンテンツを無視して共通な部分木を抽出し、コンテンツの情報として各ノードの特徴ベクトルの平均を用いてもよい。
[0112]
 なお、代表木作成部217は、集合中の全ての木に共通する部分木を代表木としたが、これに限らず、集合中の所定割合以上の木に含まれる部分木の集合を代表木としてもよい。また、ノードN1~N4,N55~N58に付されたURL情報を除去しない態様の場合には、代表木作成部217は、転送命令だけでなくURL情報も含めて、代表木T9の作成のための一致・不一致の判定を行うものとしてもよい。さらに、比較対象の木の数は、2に限らず、2以上であればよい。
[0113]
[識別モデル作成処理の処理手順]
 次に、図15及び図16を参照しながら、アクセス分類装置210の動作について、より詳細に説明する。
[0114]
 図15は、代表木との類似度を用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。なお、図15は、図10と同様のステップを複数含むので、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図15のステップS21~S24,S29の各処理は、図10に示したステップS1~S4,S6の各処理にそれぞれ対応する。
[0115]
 代表木作成部217は、ステップS24にて算出された類似度に基づき、ステップS22にて構築された複数の木を、類似度の高い木から構成される複数の集合に分類し(図13参照)、集合ごとに、各集合の特徴を表す部分木(例えば、同一集合内の共通部分木)を、代表木として作成する(図14参照)(ステップS25)。
[0116]
 続いて、ノード対応付け部214は、図6または図7,8に示す手法を用いて、代表木と既知アクセスの木とのノードの対応付けを行う(ステップS26)。そして、類似度算出部215は、各ノードに付加されたコンテンツの情報を用いて、代表木と既知アクセスの木の類似度を算出する(図9参照)(ステップS27)。なお、アクセス分類装置210は、ステップS26,S27は、入力された既知アクセスごとに処理を行い、全ての既知アクセスについてステップS26,S27を行った後に次のステップS28の処理に進む。
[0117]
 そして、分類部216は、代表木との類似度を並べたベクトルをアクセスの特徴ベクトルとして用いた教師あり機械学習を適用し(ステップS28)、識別モデルを作成する。なお、教師あり機械学習の手法は、線形判別分析、サポートベクターマシン、ランダムフォレスト等であるが、これらの手法に限らない。
[0118]
[アクセス識別処理]
 図16は、代表木との類似度を用いる場合のアクセス識別処理の処理手順を示すフローチャートである。図16は、図11と同様のステップを複数含むので、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図16のステップS31,S32,S36の各処理は、図11に示したステップS11,S12,S16の各処理にそれぞれ対応する。
[0119]
 ノード対応付け部214は、代表木と対象アクセスの木とのノードの対応付けを行う(ステップS33)。そして、類似度算出部215は、対象アクセスの木と、代表木作成部217により作成された代表木との類似度を、これらの木同士において対応付けられたノード同士の類似度を用いて算出する(ステップS34)。
[0120]
 続いて、代表木との類似度を並べたベクトルをアクセスの特徴ベクトルとして用い、教師あり機械学習を適用し(ステップS35)、識別結果を出力する(ステップS36)。
なお、教師あり機械学習の手法は、例えば、線形判別分析、サポートベクターマシン、ランダムフォレスト等であるが、図15における識別モデル作成処理に用いた手法と同一の手法であれば、これらの手法に限らない。
[0121]
[実施の形態2の効果]
 このように、実施の形態2に係るアクセス分類装置210では、代表木とアクセスとの類似度を、この代表木とアクセスに対応する木との間で対応付けられたノードのコンテンツの類似度を用いて算出し、アクセスを分類する。したがって、実施の形態2に示す代表木とアクセスとを比較する構成においても、この代表木とアクセスに対応する木との間で対応付けられたノードのコンテンツの類似度も考慮することによって、識別精度を向上させることが可能になる。
[0122]
[他の実施の形態]
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[0123]
 また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[0124]
[プログラム]
 図17は、プログラムが実行されることにより、アクセス分類装置10,210が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[0125]
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
[0126]
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、アクセス分類装置10,210の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、アクセス分類装置10,210における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
[0127]
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
[0128]
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
[0129]
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。

符号の説明

[0130]
 10,210 アクセス分類装置
 11 対象アクセス入力部
 12 既知アクセス入力部
 13 木構築部
 14,214 ノード対応付け部
 15,215 類似度算出部
 16,216 分類部
 217 代表木作成部
 C1~C5,C1’~C3’,C1”,C2” 集合
 E1~E7,E21~E23,E54~E56 エッジ
 N1~N12,N21~N24,N55~N58 ノード
 T1,T2,T3,T4,T5,T11~T15 木
 T1-1,T1-2,T1-3,T1-4,T2-1,T3-1 部分木
 T9 代表木

請求の範囲

[請求項1]
 少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築部と、
 前記木構築部によって構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付け部と、
 前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出部と、
 前記類似度算出部によって算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類部と、
 を有することを特徴とするアクセス分類装置。
[請求項2]
 前記木構築部は、構築した前記複数の木から部分木をそれぞれ抽出し、
 前記ノード対応付け部は、前記複数の木について前記木構築部が抽出した部分木のうち、前記エッジが一致する複数の部分木を特定し、該特定した前記複数の部分木における前記ノードの対応関係によって、前記複数の木におけるノードの対応関係を決定することを特徴とする請求項1に記載のアクセス分類装置。
[請求項3]
 前記ノード対応付け部は、前記複数の木について、前記ノードに接続する前記エッジの一致度が高い組み合わせのノードを対応付けることを特徴とする請求項1に記載のアクセス分類装置。
[請求項4]
 前記分類部は、前記類似度算出部によって算出された前記類似度を用いて、前記複数の木の特徴量の空間での内積値を算出し、前記アクセスを分類することを特徴とする請求項1~3のいずれか一つに記載のアクセス分類装置。
[請求項5]
 前記類似度算出部によって算出された前記類似度に基づき、前記複数の木を、類似度の高い複数の木により構成される複数の集合に分類し、各集合の特徴を表す部分木を、代表木として作成する代表木作成部と、
 をさらに有し、
 前記ノード対応付け部は、前記木構築部によって構築された宛先へのアクセスに対応する木と、前記代表木とのノード同士を対応付け、
 前記類似度算出部は、前記宛先へのアクセスに対応する木と、前記代表木との類似度を算出し、
 前記分類部は、前記代表木と前記宛先へのアクセスに対応する木との類似度に基づき、前記アクセスを分類することを特徴とする請求項1または2に記載のアクセス分類装置。
[請求項6]
 入力されたアクセスを、特徴が類似する集合に分類するアクセス分類装置が実行するアクセス分類方法であって、
 少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築工程と、
 前記木構築工程において構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付け工程と、
 前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出工程と、
 前記類似度算出工程において算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類工程と、
 を含んだことを特徴とするアクセス分類方法。
[請求項7]
 少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築ステップと、
 前記木構築ステップにおいて構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付けステップと、
 前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出ステップと、
 前記類似度算出ステップにおいて算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類ステップと、
 をコンピュータに実行させるためのアクセス分類プログラム。

図面

[ 図 1]

[ 図 2A]

[ 図 2B]

[ 図 3A]

[ 図 3B]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]