JP2020052766A - Determination device and determination method - Google Patents
Determination device and determination method Download PDFInfo
- Publication number
- JP2020052766A JP2020052766A JP2018181907A JP2018181907A JP2020052766A JP 2020052766 A JP2020052766 A JP 2020052766A JP 2018181907 A JP2018181907 A JP 2018181907A JP 2018181907 A JP2018181907 A JP 2018181907A JP 2020052766 A JP2020052766 A JP 2020052766A
- Authority
- JP
- Japan
- Prior art keywords
- url
- determination
- unit
- vectorization
- harmful
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、URLの文字列を用いてURLのサイトが有害か否かを判定する判定装置及び判定方法に関する。 The present invention relates to a determination device and a determination method for determining whether a URL site is harmful using a URL character string.
従来、ネットワークを介して提供されるサービスの種類の増加に伴い、各種サービスを提供するサイトの数も増加している。これにより、例えば、正規のサービスを提供するサイトになりすまし、クレジットカードの番号等のユーザ情報を不正に取得するフィッシングサイト等の有害なサイトの数も増大している。しかしながら、ユーザが、サイトのURL(Uniform Resource Locator)を見て、正規のサービスを提供するサイトか否かを判断することは難しい。 2. Description of the Related Art Conventionally, as the types of services provided via a network increase, the number of sites providing various services has also increased. As a result, for example, the number of harmful sites such as phishing sites for impersonating sites that provide legitimate services and illegally acquiring user information such as credit card numbers is increasing. However, it is difficult for a user to determine whether a site provides a legitimate service by looking at the URL (Uniform Resource Locator) of the site.
例えば、Google(登録商標)社は、日々の調査に基づいて安全でないサイトのデータベースを構築し、ウェブブラウザ等のアプリケーションが当該データベースを利用できるAPI(Application Programming Interface)を提供している(非特許文献1参照)。これにより、ユーザは、ウェブブラウザ等のアプリケーションを用いて、正規のサイトか否かを判断できる。 For example, Google (registered trademark) builds a database of insecure sites based on daily research and provides an API (Application Programming Interface) that allows an application such as a web browser to use the database (non-patented). Reference 1). This allows the user to determine whether the site is a legitimate site using an application such as a web browser.
また、悪性URL群における木構造の共通部分と各URLの状態に基づき、フィルタリングに利用する部分URLの粒度を決定することにより、悪性URLに対応可能なフィルタリング手法が提案されている(非特許文献2参照)。また、類似するURL構造をルール化し類似度を算出することにより、フィッシングの攻撃を検知する手法も提案されている(非特許文献3参照)。 In addition, a filtering method capable of coping with a malicious URL has been proposed by determining the granularity of a partial URL used for filtering based on a common part of a tree structure in a group of malicious URLs and the state of each URL (Non-Patent Document) 2). Further, a method of detecting a phishing attack by making similar URL structures into rules and calculating similarity has been proposed (see Non-Patent Document 3).
しかしながら、有害なサイトは日々増加しているとともに、URLの文字列も変化している。このため、フィルタリングにおけるURLの文字列のルールを一意に決定することが困難である。また、データベースにおいて有害なサイト全てを網羅することが難しい。 However, the number of harmful sites is increasing every day, and the character strings of URLs are also changing. For this reason, it is difficult to uniquely determine the rules of the URL character string in the filtering. Also, it is difficult to cover all harmful sites in the database.
本発明は、サイトのURLから有害なサイトか否かを精度良く判定できる判定装置及び判定方法を提供することを目的とする。 An object of the present invention is to provide a determination device and a determination method that can accurately determine whether a site is harmful from the URL of the site.
(1)本発明に係る判定装置は、URLに含まれる文字列を1つの文章とみなしてベクトル化するためのURLベクトル化モデルを用いて任意のURLの文字列をベクトル化するベクトル化部と、前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列がそれぞれベクトル化されたベクトルと、前記ベクトル化部により判定対象のURLの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する判定部と、を備える。 (1) A determination device according to the present invention includes a vectorization unit that vectorizes a character string of an arbitrary URL using a URL vectorization model for vectorizing a character string included in a URL as one sentence. A vector in which the character strings of the plurality of URLs that have been previously determined to be harmful or not by the vectorization unit are vectorized, and a vector in which the character string of the URL to be determined is vectorized by the vectorization unit, And a determination unit that determines whether or not the site indicated by the URL to be determined is harmful.
(2) (1)に記載の判定装置において、前記複数のURLのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のURLの文字列が前記ベクトル化部によりそれぞれベクトル化されたベクトルと、を教師データとして、機械学習することで、任意のURLが示すサイトが有害か否かを判定する判定モデルを生成する学習部をさらに備え、前記判定部は、前記学習部により生成された前記判定モデルを用いて、前記判定対象のURLが示すサイトが有害か否かを判定しても良い。 (2) In the determination device according to (1), a label indicating a determination result as to whether each of the plurality of URLs is harmful and a character string of the plurality of URLs are vectorized by the vectorization unit. And a learning unit that generates a determination model for determining whether a site indicated by an arbitrary URL is harmful by machine learning using the vector as teacher data, and the determination unit is generated by the learning unit. The determination model may be used to determine whether the site indicated by the URL to be determined is harmful.
(3) (1)に記載の判定装置において、前記複数のURLのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のURLの文字列がそれぞれベクトル化されたベクトルと、を対応付けして対応付けデータを生成する対応付け部をさらに備え、前記判定部は、生成された前記対応付けデータを用いて、前記判定対象のURLが示すサイトが有害か否かを判定しても良い。 (3) In the determination device according to (1), a label indicating a determination result as to whether or not each of the plurality of URLs is harmful corresponds to a vector in which the character string of each of the plurality of URLs is vectorized. A determining unit configured to determine whether a site indicated by the URL to be determined is harmful using the generated mapping data. good.
(4) (1)に記載の判定装置において、前記URLベクトル化モデルは、URLの文字列を少なくともクエリ部、パス部及びホスト名の構造別に分割して生成される短い文字列を1つの文章として文章ベクトル化するための、前記URLの文字列から前記構造別の短い文字列のベクトルを生成するベクトル化モデルであって、前記ベクトル化部は、前記URLベクトル化モデルを用いて任意のURLの文字列を前記構造別にベクトル化し、前記判定部は、前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列から前記構造別に生成されたベクトルと、前記ベクトル化部により前記判定対象のURLの文字列から前記構造別に生成されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定しても良い。 (4) In the determination device according to (1), the URL vectorization model converts a short character string generated by dividing a URL character string into at least a query part, a path part, and a host name structure into one sentence. A vectorization model for generating a vector of a short character string for each structure from the character string of the URL for text vectorization as described above, wherein the vectorization unit uses the URL vectorization model to generate an arbitrary URL. Is vectorized for each of the structures, and the determining unit generates a vector generated for each of the structures from a plurality of URL character strings that are determined in advance as to whether they are harmful by the vectorizing unit, and the vectorizing unit Determining whether the site indicated by the URL to be determined is harmful, using a vector generated for each structure from the character string of the URL to be determined And it may be.
(5) (4)に記載の判定装置において、前記判定部は、有害なサイトの種類に応じて前記URLの構造を選択しても良い。 (5) In the determination device according to (4), the determination unit may select a structure of the URL according to a type of a harmful site.
(6) (4)に記載の判定装置において、前記URLベクトル化モデルは、さらに、
URLの文字列から前記構造別に生成されたベクトルを連結して連結ベクトルを生成するベクトル化モデルであって、前記ベクトル化部は、さらに、前記URLベクトル化モデルを用いて任意のURLの文字列から前記構造別に生成されたベクトルを連結した連結ベクトルを生成し、前記判定部は、さらに、前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列から生成された前記連結ベクトルと、前記ベクトル化部により前記判定対象のURLの文字列から生成された連結ベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定しても良い。
(6) In the determination device according to (4), the URL vectorization model further includes:
A vectorization model for generating a connected vector by connecting vectors generated for each of the structures from a URL character string, wherein the vectorization unit further uses the URL vectorization model to generate an arbitrary URL character string. Generating a connected vector obtained by connecting the vectors generated for each of the structures, and the determining unit further generates the connected vector generated from the character strings of the plurality of URLs that are determined in advance as to whether they are harmful by the vectorizing unit. Whether or not the site indicated by the URL to be determined is harmful may be determined using a vector and a connected vector generated from the character string of the URL to be determined by the vectorization unit.
(7)本発明に係る判定方法は、コンピュータにより実現される判定方法であって、URLに含まれる文字列を1つの文章とみなしてベクトル化するためのURLベクトル化モデルを用いて任意の文字列をベクトル化するベクトル化ステップと、前記ベクトル化ステップにおいて、予め有害か否かが判定された複数のURLの文字列がベクトル化されたベクトルと、判定対象のURLの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する判定ステップと、を備える。 (7) The determination method according to the present invention is a determination method realized by a computer, and uses a URL vectorization model for vectorizing a character string included in a URL by regarding the character string as one sentence. A vectorization step of vectorizing a column, and in the vectorization step, a vector in which character strings of a plurality of URLs that have been determined to be harmful or not are vectorized, and a character string of a URL to be determined is vectorized. A determination step of determining whether the site indicated by the URL to be determined is harmful using the determined vector.
本発明によれば、サイトのURLから有害なサイトか否かを精度良く判定できる。 According to the present invention, it is possible to accurately determine whether or not a site is harmful from the URL of the site.
以下、本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described.
[第1の実施形態]
図1は、第1の実施形態に係る判定装置の一例を示す図である。
[First Embodiment]
FIG. 1 is a diagram illustrating an example of the determination device according to the first embodiment.
第1の実施形態に係る判定装置100は、例えば、プロセッサ等の制御部10と、ハードディスク装置やメモリ等の記憶部20とを有するパーソナルコンピュータ又はサーバ等の情報処理装置(コンピュータ)である。また、判定装置100は、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、判定装置100は、有線又は無線を介して、外部の記憶装置200、記憶装置300及び記憶装置400に接続される。なお、判定装置100は、ネットワークを介して、記憶装置200、記憶装置300及び記憶装置400に接続されても良い。
The
記憶装置200は、ハードディスク装置等を含むデータサーバ等であり、URLデータ210を記憶する。URLデータ210は、複数のサイトのURLの文字列を含むが、アクセスログ、既知の有害サイトのリストや正規のサイトのリスト等を含んでも良い。
The
記憶装置300は、ハードディスク装置等を含むデータサーバ等であり、例えば、悪性度が付与された有害URLデータ310を記憶する。記憶装置300は、例えばGoogle Safe Browsing(登録商標)のURLデータを含んでもよい。なお、Google Safe BrowsingのURLデータに限定されず、任意のサイトが提供する悪性度が付与されたURLデータでも良い。
記憶装置400は、ハードディスク装置等を含むデータサーバ等であり、例えば、任意のサイトが提供する正規なURLを示す正規URLデータ410を記憶する。
The
The
判定装置100は、制御部10が記憶部20に記憶された判定処理のプログラムを実行することにより、モデル生成部30と、ベクトル化部40と、学習部50と、判定部60との機能を有する。
The
モデル生成部30は、例えば、記憶装置200に記憶されるURLデータ210のセットから必要な情報を抽出し、各URLを短い文字列に分割する。ここでは、必要な情報とは、URLの文字列である。なお、URLの文字列を短い文字列に分割する手法としてNgram(N≧2)を適用してもよいが、これに限られない。任意の分割する手法を適用してもよい。
モデル生成部30は、このように分割された文字列となったURLを1つの文章とみなしてベクトル化するための、URLベクトル化モデルVM(以下、「ベクトル化モデルVM」ともいう)を生成する。ここでは、例えば、当業者にとって公知のDoc2vec(登録商標)(Q.Le and T.Mikolov、“Distributed Representations of sentences and documents”、Proceedings of the 31st International Conference on International Conference on Machine Learning、pp.II-1188−II-1196、2014)を用いて、URLベクトル化モデルVMを生成してもよい。こうすることで、任意のURLの文字列を1つの文章とみなしてベクトル化するためのURLベクトル化モデルが生成される。
The
The
なお、Doc2vecは、ディープラーニング等の機械学習に基づいてURLベクトル化モデルVMを生成する。Doc2vecにより生成されるURLベクトル化モデルVMは、URLを文章としてベクトル化することにより他のURLとの類似の度合いを計算でき、類似するURLの探索やグループ化ができる。以上のように、モデル生成部30は、例えばDoc2vecにおける機械学習に基づいて、任意のURLの文字列を1つの文章とみなしてベクトル化するためのURLベクトル化モデルVMを生成する。モデル生成部30は、生成したURLベクトル化モデルVMを記憶部20に記憶する。なお、モデル生成部30は、URLベクトル化モデルVMを生成するに際してDoc2vecを用いたが、これに限られない。文章をベクトル化するための文章ベクトル化モデルを生成することができる他のソフトウェアを用いても良い。
Note that Doc2vec generates the URL vectorized model VM based on machine learning such as deep learning. The URL vectorization model VM generated by Doc2vec can calculate the degree of similarity with another URL by vectorizing the URL as a sentence, and can search and group similar URLs. As described above, the
また、モデル生成部30は、1つの記憶装置200からURLデータ210を取得したが、複数の記憶装置200から様々なURLデータ210を取得するとともに、悪性度が付与された有害URLデータ310、及び正規なURLの正規URLデータ410を取得しても良い。あるいは、モデル生成部30は、記憶装置200からURLデータ210を取得するだけでなく、自ら様々なサイトを検索しURLのデータを取得しても良い。
以下、簡単のため、特に断らない限り、URLベクトル化モデルVMを「ベクトル化モデルVM」ともいう。
In addition, the
Hereinafter, for simplicity, unless otherwise specified, the URL vectorized model VM is also referred to as a “vectorized model VM”.
ベクトル化部40は、記憶部20からベクトル化モデルVMを読み込み、ベクトル化モデルVMを用いて、例えば、予め有害か否かが判定されているURLデータや、判定対象のURL等の任意のURLの文字列をベクトル化する。
より具体的には、ベクトル化部40は、例えば、記憶装置300から、悪性度が付与された有害URLデータ310を入力し、当該URLの文字列データをベクトル化したURLベクトルと、当該URLの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。
また、ベクトル化部40は、例えば、記憶装置400から、正規URLデータ410を入力し、当該URLの文字列データをベクトル化したURLベクトルと、当該URLが正規なURLであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。なお、ベクトル化部40は、記憶装置200から取得したURLデータ210の複数のURLのうち、有害URLデータ310に含まれないURLの各々を、正規のURLとしてベクトル化したURLベクトルと、当該URLが正規なURLであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶しても良い。
また、ベクトル化部40は、判定対象のURLの文字列をベクトル化する。
The
More specifically, the
In addition, the
Further, the
学習部50は、記憶部20に記憶された教師データを入力することで、例えば、教師あり機械学習を実行する。そうすることで、学習部50は、判定対象のURLのサイトが有害か否かを判定するための判定モデルMLを生成する。学習部50は、生成した判定モデルMLを記憶部20に記憶する。ここで、判定モデルとしては、当該URLの悪性度を示すラベルの内容に応じて、判定対象のURLのサイトが有害か否かを判定する2値モデルとしてもよい。また、判定対象のURLのサイトが、マルウェア配布サイト、アダルトサイト、フィッシングサイト、詐欺サイト等の悪性の種類を判定する多値モデルとしてもよい。
The learning unit 50 executes, for example, supervised machine learning by inputting the teacher data stored in the
判定部60は、ベクトル化部40によりベクトル化された判定対象のURLのベクトルを判定モデルMLに入力し、判定対象のURLが示すサイトが有害か否かを判定する。判定部60は、例えば、判定装置100に含まれるLCD(Liquid Crystal Display)等のディスプレイに判定結果を表示する。また、学習部50は、判定対象のURLのベクトル及び判定結果を追加して機械学習を実行し、判定モデルMLを更新しても良い。これにより、判定装置100は、有害なURLの判定精度を向上させることができる。
The
図2Aは、第1の実施形態に係る判定装置100における生成処理を例示する図である。図2Aに示した処理は、例えば、判定装置100の管理者等が判定装置100に含まれるキーボードやマウス等の入力装置を操作することにより実行される。
FIG. 2A is a diagram illustrating a generation process in the
ステップS1において、モデル生成部30は、記憶装置200に記憶されるURLデータ210のセットから必要な情報を抽出し、各URLを短い文字列に分割し、このように分割された文字列となったURLを1つの文章とみなして、URLベクトル化モデルVM(ベクトル化モデルVM)を生成する。モデル生成部30は、生成したURLベクトル化モデルVMを記憶部20に記憶する。
In step S1, the
ステップS2において、ベクトル化部40は、例えば、記憶装置300から、悪性度が付与された有害URLデータ310を入力し、当該URLの文字列データをベクトル化したURLベクトルと、当該URLの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。また、ベクトル化部40は、記憶装置400から、正規URLデータ410を入力し、当該URLの文字列データをベクトル化したURLベクトルと、当該URLが正規なURLであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。
In step S2, for example, the
ステップS3において、学習部50は、記憶部20に記憶した教師データを入力し、教師あり機械学習を実行する。そうすることで、学習部50は、判定対象のURLのサイトが有害か否かを判定するための判定モデルMLを生成する。学習部50は、生成した判定モデルMLを記憶部20に記憶する。
なお、ステップS1のURLベクトル化モデルVMの生成処理と、ステップS2の教師データ及びステップS3の判定モデルMLの生成処理とは、別々に実行されても良い。
In step S3, the learning unit 50 inputs the teacher data stored in the
The process of generating the URL vectorized model VM in step S1 and the process of generating the teacher data in step S2 and the determination model ML in step S3 may be executed separately.
図2Bは、第1の実施形態に係る判定装置100における判定処理を例示する図である。図2Bに示した処理は、例えば、判定装置100の管理者等が判定装置100の入力装置を操作することにより実行される。
ステップS4において、判定部60は、記憶装置200のURLデータ210等から、判定対象のURLを取得する。
ステップS5において、ベクトル化部40は、記憶部20からURLベクトル化モデルVMを読み込み、URLベクトル化モデルVMを用いて、ステップS4で取得した判定対象のURLの文字列をベクトル化する。
FIG. 2B is a diagram illustrating a determination process in the
In step S4, the
In step S5, the
ステップS6において、判定部60は、ベクトル化部40によりベクトル化された判定対象のURLのベクトルを、判定モデルMLに入力し、判定対象のURLのサイトが有害か否かを判定する。判定部60は、判定装置100のディスプレイに判定結果を表示する。
In step S6, the
以上説明したように、第1の実施形態では、判定装置100は、有害URLデータ310及び正規URLデータ410のURLの文字列データを1つの文章とみなしてベクトル化したURLベクトルと、各URLベクトルに付与されたラベルとを用いて機械学習を実行し、判定モデルMLを生成する。そして、判定装置100は、ベクトル化モデルVMを用いて判定対象のURLの文字列データを1つの文章とみなしてベクトル化し、ベクトル化した判定対象のURLベクトルを判定モデルMLに入力することにより、判定対象のURLのサイトが有害か否かを判定する。
As described above, in the first embodiment, the
すなわち、判定装置100は、URLデータ210、有害URLデータ310及び正規URLデータ410のURLベクトルと、各URLベクトルに付与されたラベルとを教師データとして機械学習を実行することにより、有害性が高いURLの構造を自動学習する。これにより、判定装置100は、任意のフィルタリングルール(シグネチャ等)を利用しなくても、判定対象のURLのサイトが有害か否かの判定の精度良く判定できる。また、判定装置100は、常に学習と検証を繰り返すことにより、日々変化する攻撃者のURLの自動的な追従が可能となり、即応性の向上を図ることができる。
In other words, the
また、判定装置100は、記憶装置200のURLデータ210、記憶装置300の有害URLデータ310及び記憶装置400の正規URLデータ410を取得した後、判定装置100内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置100は、判定装置100内で判定処理を実行するため、外部との通信コスト(時間的、金銭的)も低減することができる。
After acquiring the
[第2の実施形態]
次に第2の実施形態について説明する。第2の実施形態は、URLの文字列をURLの文脈的特徴(例えばクエリ構造、パス構造、ホスト名の構造等)に基づいて抽出される文字列を1つの文章とみなしてベクトル化する。すなわち、URLの文脈的特徴別に抽出される文字列別にベクトル化する。この文脈的特徴別に生成されるベクトルを、第1の実施形態におけるURLベクトルと区別するために、構造別URLベクトルという。
このように、第2の実施形態は、構造別URLベクトルに基づいて、(構造別に)ベクトル化生成モデルを作成し、(構造別に)機械学習を行い、(構造別に)判定モデルを生成する点に特長がある。
例えば、マルウェア配布サイト等の有害サイトのURLには、URLのクエリ構造に特徴があり、アダルトサイト等の有害サイトのURLには、パス構造に特徴があると考えられることから、構造別URLベクトルに基づいて構造別判定モデルを作成することで、例えば、判定対象のURLのクエリ構造に係る文字列をベクトル化した構造別URLベクトルを、構造別判定モデルに基づいて、当該URLがマルウェア配布サイトか否かを判定することができる。
図3は、第2の実施形態に係る判定装置の一例を示す図である。なお、図3では、第1の実施形態に係る判定装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
[Second embodiment]
Next, a second embodiment will be described. In the second embodiment, a character string extracted based on context features of a URL (for example, a query structure, a path structure, a structure of a host name, and the like) is converted into a single sentence and vectorized. That is, vectorization is performed for each character string extracted for each contextual feature of the URL. In order to distinguish the vector generated for each contextual feature from the URL vector in the first embodiment, it is referred to as a structure-specific URL vector.
As described above, according to the second embodiment, a vectorization generation model (for each structure) is created based on the URL vector for each structure, machine learning (for each structure) is performed, and a judgment model (for each structure) is generated. There are features.
For example, a URL of a harmful site such as a malware distribution site has a characteristic in a URL query structure, and a URL of a harmful site such as an adult site has a characteristic in a path structure. By creating a structure-based determination model based on a URL, for example, a structure-based URL vector obtained by converting a character string relating to a query structure of a URL to be determined into a vector is converted to a malware distribution site based on the structure-based determination model. Can be determined.
FIG. 3 is a diagram illustrating an example of the determination device according to the second embodiment. In FIG. 3, elements having the same functions as the elements of the
第2の実施形態に係る判定装置100Aは、制御部10が記憶部20に記憶された判定処理のプログラムを実行することにより、モデル生成部30aと、ベクトル化部40aと、学習部50aと、判定部60aとの機能を有する。
The
モデル生成部30aは、URLの文脈的特徴(例えばクエリ構造、パス構造、ホスト名の構造等)別に、URLベクトル化モデル(「構造別URLベクトル化モデル」ともいう)を生成する。
より具体的には、モデル生成部30aは、例えば、記憶装置200に記憶されるURLデータ210のセットからURLの文脈的特徴(例えばクエリ構造、パス構造、ホスト名の構造等)に基づいて抽出されるURLの文字列(「URLの構造別文字列」という)を、第1の実施形態と同様に例えばNgram(N≧2)を適用して短い文字列に分割する。
モデル生成部30aは、このように分割された文字列となったURLの構造別文字列を1つの文章とみなしてベクトル化するための、構造別URLベクトル化モデルVMを生成する。ここでは、第1の実施形態と同様に例えば、当業者にとって公知のDoc2vecを用いて、構造別ベクトル化モデルを生成してもよい。こうすることで、任意のURLの構造別文字列を1つの文章とみなしてベクトル化するための、構造別URLベクトル化モデルが生成される。ここで、KをURLの文脈的特徴を示す構造の種類の数とした場合、構造別URLベクトル化モデルVM(1)−VM(K)が生成される。そして、モデル生成部30aは、生成した構造別URLベクトル化モデルVM(1)−VM(K)を記憶部20に記憶する。
The
More specifically, the
The
ベクトル化部40aは、構造別URLベクトル化モデルVM(i)(1≦i≦K)に基づいて、例えば、予めマルウェア配布サイト、アダルトサイト等が判定されているURLデータや、判定対象のURL等の任意のURLの文字列からURLの文脈的特徴(例えばクエリ構造、パス構造、ホスト名の構造等)に基づいて抽出されるURLの構造別文字列を1つの文章とみなしてベクトル化する。
クエリ構造に係る場合を例として説明する。
ベクトル化部40aは、指定された構造に基づいて、構造別URLベクトル化モデルVM(i)を選択し、当該構造別URLベクトル化モデルVM(i)を利用して、記憶装置300から、例えばマルウェア配布サイトと判定された有害URLデータ310を入力し、当該URLの文字列データから抽出されるクエリ構造に含まれる文字列をベクトル化した構造別URLベクトルと、当該URLがマルウェア配布サイトであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。
同様に、ベクトル化部40aは、構造別URLベクトル化モデルVM(i)を利用して、記憶装置400から、正規URLデータ410を入力し、当該URLの文字列データから抽出されるクエリ構造に含まれる文字列をベクトル化した構造別URLベクトルと、当該URLが正規なURLであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。
また、ベクトル化部40aは、構造別URLベクトル化モデルVM(i)を利用して、判定対象のURLから抽出されるクエリ構造に含まれる文字列をベクトル化する。
このように、ベクトル化部40aは、指定された構造に基づいて、構造別URLベクトル化モデルVM(i)を選択し、当該構造別URLベクトル化モデルVM(i)を利用して、URLの構造別文字列を1つの文章とみなしてベクトル化する。
The vectorization unit 40a, for example, based on the structure-specific URL vectorization model VM (i) (1 ≦ i ≦ K), for example, URL data in which a malware distribution site, an adult site, or the like is determined in advance, or a URL to be determined A character string by URL structure extracted from a character string of an arbitrary URL such as a URL based on a contextual characteristic of the URL (eg, a query structure, a path structure, a structure of a host name, etc.) is regarded as one sentence and vectorized. .
A case related to the query structure will be described as an example.
The vectorization unit 40a selects a structure-specific URL vectorization model VM (i) based on the specified structure, and uses the structure-specific URL vectorization model VM (i) to read from the
Similarly, the vectorization unit 40a inputs the
Further, the vectorization unit 40a uses the structure-specific URL vectorization model VM (i) to vectorize a character string included in the query structure extracted from the URL to be determined.
As described above, the vectorization unit 40a selects the structure-specific URL vectorization model VM (i) based on the specified structure, and uses the structure-specific URL vectorization model VM (i) to convert the URL. The character string for each structure is regarded as one sentence and vectorized.
学習部50aは、記憶部20に記憶されたURLの構造別(構造(i):1≦i≦K)に生成された教師データを入力することで、例えば、教師あり機械学習を実行する。そうすることで、学習部50aは、判定対象のURLのサイトが有害か否かを構造(i)に係るURLの構造別文字列から判定するための構造別判定モデルML(i)を生成する。学習部50は、生成した構造別判定モデルML(i)を記憶部20に記憶する。ここで、判定モデルとしては、判定対象のURLのサイトが、マルウェア配布サイト、アダルトサイト、フィッシングサイト、詐欺サイト等の悪性の種類を判定する構造別の判定モデルML(i)としてもよい。
The learning unit 50a executes, for example, supervised machine learning by inputting teacher data generated for each URL structure stored in the storage unit 20 (structure (i): 1 ≦ i ≦ K). By doing so, the learning unit 50a generates the structure-based determination model ML (i) for determining whether the site of the URL to be determined is harmful from the structure-based character string of the URL according to the structure (i). . The learning unit 50 stores the generated structure-based determination model ML (i) in the
判定部60aは、例えば、判定装置100Aの入力装置を介して入力された管理者等の指示に基づいて、有害なサイトとして判定するマルウェア配布サイトやアダルトサイト等の種類を決定する。判定部60aは、決定したサイトの種類に応じた構造(i)の構造別ベクトル化モデルVM(i)及び構造別判定モデルML(i)を選択する(1≦i≦K)。判定部60aは、選択した構造(i)の構造別ベクトル化モデルVM(i)及び構造別判定モデルML(i)を記憶部20から読み込む。ベクトル化部40aは、構造別ベクトル化モデルVM(i)を用いて判定対象のURLの構造(i)の文字列をベクトル化する。判定部60aは、判定対象のURLの構造(i)のベクトルを構造別判定モデルML(i)に入力し、判定対象のURLのサイトが有害か否かを判定する。すなわち、判定部60aは、有害なサイトの種類に応じて、判定対象のURLのサイトが有害か否かを判定できる。そして、判定部60aは、例えば、判定装置100Aのディスプレイに判定結果を表示する。
The
なお、学習部50aは、判定対象のURLの構造(i)のベクトル及び判定結果を追加して機械学習を実行し、構造別判定モデルML(i)を更新しても良い。これにより、判定装置100Aは、有害なURLの判定精度を向上させることができる。
The learning unit 50a may execute the machine learning by adding the vector of the structure (i) of the URL to be determined and the determination result, and may update the structure-based determination model ML (i). Thereby, the
図4Aは、第2の実施形態に係る判定装置100Aにおける生成処理を例示する図である。図4Aに示した処理は、例えば、判定装置100Aの管理者等が判定装置100Aの入力装置を操作することにより実行される。
FIG. 4A is a diagram illustrating a generation process in the
ステップS11において、モデル生成部30aは、記憶装置200に記憶されるURLデータ210のセットから必要な情報(URLの構造別文字列)を抽出し、URLの構造別文字列を短い文字列に分割し、このように分割された文字列となったURLの構造別文字列を1つの文章とみなして、構造別URLベクトル化モデルVM(i)を生成する。モデル生成部30は、生成した構造別URLベクトル化モデルVM(i)を記憶部20に記憶する。
In step S11, the
ステップS12において、ベクトル化部40aは、URLの構造別に教師データを生成する。例えば、記憶装置300から、悪性度が付与された有害URLデータ310を入力し、当該URLの構造別文字列をベクトル化したURLベクトルと、当該URLの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。また、ベクトル化部40aは、記憶装置400から、正規URLデータ410を入力し、当該URLの構造別文字列をベクトル化したURLベクトルと、当該URLが正規なURLであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部20に記憶する。
In step S12, the vectorization unit 40a generates teacher data for each URL structure. For example,
ステップS13において、学習部50aは、記憶部20に記憶したURLの構造別に生成された教師データを入力し、教師あり機械学習を実行する。そうすることで、学習部50aは、判定対象のURLのサイトが有害か否かを判定するための構造別判定モデルML(i)を生成する。学習部50は、URLの構造別に生成した構造別判定モデルML(i)を記憶部20に記憶する。
なお、ステップS11の構造別URLベクトル化モデルVMの生成処理と、ステップS12の教師データ及びステップS13の構造別判定モデルMLの生成処理とは、別々に実行されても良い。
In step S13, the learning unit 50a inputs the teacher data generated for each URL structure stored in the
Note that the process of generating the structure-specific URL vectorization model VM in step S11 and the process of generating the teacher data in step S12 and the structure-based determination model ML in step S13 may be executed separately.
図4Bは、第2の実施形態に係る判定装置100Aにおける判定処理を例示する図である。図4Bに示した処理は、例えば、判定装置100Aの管理者等が判定装置100Aの入力装置を操作することにより実行される。
ステップS14において、判定部60aは、記憶装置200のURLデータ210等から、判定対象のURLを取得する。
ステップS15において、判定部60aは、判定装置100Aの入力装置を介して入力された管理者等の指示に基づいて、有害なサイトとして判定するマルウェア配布サイトやアダルトサイト等の種類を決定する。判定部60aは、決定したサイトの種類に応じた構造(i)の構造別ベクトル化モデルVM(i)及び構造別判定モデルML(i)を選択する。
FIG. 4B is a diagram illustrating a determination process in the
In step S14, the
In step S15, the
ステップS16において、ベクトル化部40aは、ステップS15で選択された構造別URLベクトル化モデルVM(i)を記憶部20から読み込み、構造別URLベクトル化モデルVM(i)を用いて、判定対象のURLの構造(i)に係る文字列をベクトル化する。
ステップS17において、判定部60aは、判定対象のURLの構造(i)のベクトルを構造別判定モデルML(i)に入力し、判定対象のURLのサイトが有害か否かを判定する。判定部60aは、判定装置100Aのディスプレイに判定結果を表示する。
In step S16, the vectorization unit 40a reads the structure-specific URL vectorization model VM (i) selected in step S15 from the
In step S17, the
以上説明したように、第2の実施形態では、判定装置100Aは、URLの文字列をURLの文脈的特徴(例えばクエリ構造、パス構造、ホスト名の構造等)に基づいて抽出されるURLの構造別文字列をベクトル化した構造別URLベクトルと、各構造別URLベクトルに付与されたラベルとを用いて機械学習を実行し、構造別判定モデルML(i)を生成する。そして、判定装置100Aは、構造別ベクトル化モデルVM(i)を用いて判定対象のURLの構造別文字列を1つの文章とみなしてベクトル化し、判定対象の構造別URLベクトルを構造別判定モデルML(i)に入力することにより、例えば、判定対象のURLのサイトがマルウェア配布サイトか否かを判定することができる。
As described above, in the second embodiment, the
第2の実施形態では、判定装置100Aは、URLの文脈的特徴を示す構造毎に、URLデータ210、有害URLデータ310及び正規URLデータ410のURLのベクトルと、各ベクトルに付与されたラベルとを学習データとして機械学習を実行することにより、有害性が高いURLの構造を自動学習する。これにより、判定装置100Aは、任意のフィルタリングルール(シグネチャ等)を利用しなくても、判定対象のURLのサイトが有害か否かの判定の精度良く判定できる。また、判定装置100Aは、常に学習と検証を繰り返すことにより、日々変化する攻撃者のURLの自動的な追従が可能となり、即応性の向上を図れる。
In the second embodiment, the
また、判定装置100Aは、記憶装置200のURLデータ210、記憶装置300の有害URLデータ310及び記憶装置400の正規URLデータ410を取得した後、判定装置100A内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置100Aは、判定装置100A内で判定処理を実行するため、外部との通信コスト(時間的、金銭的)も低減できる。
After acquiring the
[第2の実施形態の変形例]
第2の実施形態に係る判定装置100Aは、判定装置100Aの入力装置を介して入力された管理者等の指示に基づいて、1つの構造(i)の構造別ベクトル化モデルVM(i)及び構造別判定モデルML(i)を選択したが、これに限られない。例えば、第2の実施形態の変形例として、判定装置100Aは、判定装置100Aの入力装置を介して入力された管理者等の指示に基づいて、2つ以上の構造(i)の構造別ベクトル化モデルVM(i)及び構造別判定モデルML(i)を選択しても良い。
[Modification of Second Embodiment]
The
この場合、制御部10は、例えば、有害URL、正規のURL及び判定対象のURLの各々において、選択した2以上の構造それぞれのベクトルを結合するベクトル結合部(図示せず)としての機能を有することが好ましい。
In this case, the
学習部50aは、有害URLの各々のラベル及び結合されたベクトルと、正規のURLの各々のラベル及び結合されたベクトルとを用いて、教師あり機械学習を実行し、2以上の構造が結合した判定モデルを生成する。そして、判定部60aは、判定対象のURLの結合されたベクトルを2以上の構造が結合した判定モデルに入力し、判定対象のURLのサイトが有害か否かを判定する。これにより、判定装置100Aは、複数の種類の有害なサイトを判断できる。
The learning unit 50a performs supervised machine learning using each label and the combined vector of the harmful URL and each label and the combined vector of the regular URL, and two or more structures are combined. Generate a judgment model. Then, the
[第3の実施形態]
次に第3の実施形態について説明する。第3の実施形態は、機械学習を実行する学習部が省略され、有害URL又は正規のURLのベクトルと、判定対象のURLのベクトルとの類似の度合いに基づいて、判定対象のURLのサイトが有害か否かを判定する。
なお、以下の第3の実施形態の説明においては、URLを1つの文章としてベクトル化するURLベクトル化モデルVMを利用するケースを例示するが、これに限られない。URLの文脈的特徴に基づいた構造毎にURLをベクトル化する複数の構造別ベクトル化モデル(i)を利用しても良い。
[Third Embodiment]
Next, a third embodiment will be described. In the third embodiment, the learning unit that executes the machine learning is omitted, and the site of the URL to be determined is determined based on the degree of similarity between the vector of the harmful URL or the regular URL and the vector of the URL to be determined. Determine whether it is harmful.
In the following description of the third embodiment, a case is described in which a URL vectorization model VM that vectorizes a URL as one sentence is used, but the present invention is not limited to this. A plurality of structure-based vectorization models (i) that vectorize the URL for each structure based on the contextual features of the URL may be used.
図5は、第3の実施形態に係る判定装置の一例を示す図である。なお、図5では、第1の実施形態に係る判定装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
FIG. 5 is a diagram illustrating an example of the determination device according to the third embodiment. In FIG. 5, elements having the same functions as the elements of the
第3の実施形態に係る判定装置100Bは、制御部10が記憶部20に記憶された判定処理のプログラムを実行することにより、モデル生成部30と、ベクトル化部40と、判定部60bと、対応付け部70との機能を有する。
The
対応付け部70は、例えば、記憶装置300から有害URLデータ310を取得する。ベクトル化部40は、取得した有害URLデータ310の有害URLの各々を、URLベクトル化モデルVMを用いてベクトル化する。そして、対応付け部70は、有害URLのベクトルの各々に、有害を示すラベルを付与する。
また、対応付け部70は、記憶装置400から正規URLデータ410を取得する。ベクトル化部40は、取得した正規URLデータ410の正規URLの各々を、URLベクトル化モデルVMを用いてベクトル化する。そして、対応付け部70は、正規URLのベクトルの各々に、正規を示すラベルを付与する。なお、対応付け部70は、記憶装置200から取得したURLデータ210の複数のURLのうち、有害URLデータ310に含まれないURLの各々を、正規のURLとしても良い。
対応付け部70は、複数の有害URLにおいて対応付けしたベクトル及びラベルと、複数の正規のURLにおいて対応付けしたベクトル及びラベルとを、対応付けデータTDとして記憶部20に記憶する。
The association unit 70 acquires the
The associating unit 70 acquires the
The associating unit 70 stores, in the
判定部60bは、対応付けデータTDを記憶部20より読み込み、複数の有害URLのベクトル及びラベルと、複数の正規のURLのベクトル及びラベルとを取得する。そして、判定部60bは、ベクトル化部40によりベクトル化された判定対象のURLのベクトルと、有害URL及び正規のURLそれぞれのベクトルとのコサイン類似度やユークリッド距離等を算出する。判定部60bは、算出したコサイン類似度やユークリッド距離等と所定の閾値とを比較し、判定対象のURLのサイトが有害か否かを判定する。判定部60bは、判定装置100Bのディスプレイに判定結果を表示する。
The
なお、判定部60bは、コサイン類似度やユークリッド距離等を算出するにあたり、ラベルが最も高い有害性を示す有害URLのベクトルから順に、判定対象のURLのベクトルとのコサイン類似度やユークリッド距離等を算出しても良い。
In calculating the cosine similarity, the Euclidean distance, and the like, the
また、判定部60bは、判定対象のURLのベクトルに判定結果に対応したラベルを付与し、対応付けデータTDを更新しても良い。これにより、判定装置100Bは、有害なURLの判定精度を向上させることができる。
The
図6Aは、第3の実施形態に係る判定装置100Bにおける生成処理を例示する図である。図6Aに示した処理は、例えば、判定装置100Bの管理者等が判定装置100Bの入力装置を操作することにより実行される。
FIG. 6A is a diagram illustrating a generation process in the
ステップS21において、モデル生成部30は、記憶装置200に記憶されるURLデータ210のセットから必要な情報を抽出し、各URLを短い文字列に分割し、このように分割された文字列となったURLを1つの文章とみなして、URLベクトル化モデルVM(ベクトル化モデルVM)を生成する。モデル生成部30は、生成したURLベクトル化モデルVMを記憶部20に記憶する。
In step S21, the
ステップS22において、ベクトル化部40は、記憶装置300から有害URLデータ310を取得する。ベクトル化部40は、取得した有害URLデータ310の有害URLの各々を、ステップS21で生成されたURLベクトル化モデルVMを用いてベクトル化する。また、ベクトル化部40は、記憶装置400から正規URLデータ410を取得する。ベクトル化部40は、取得した正規URLデータ410の正規URLの各々を、URLベクトル化モデルVMを用いてベクトル化する。
In step S22, the
ステップS23において、対応付け部70は、有害URLのベクトルの各々に有害を示すラベルを付与する。また、対応付け部70は、正規URLのベクトルの各々に正規を示すラベルを付与する。そして、対応付け部70は、複数の有害URLのベクトル及びラベルと、複数の正規のURLのベクトル及びラベルとを、対応付けデータTDとして記憶部20に記憶する。
なお、ステップS21のURLベクトル化モデルVMの生成処理と、ステップS22及びステップS23の対応付けデータTDの生成処理とは、別々に実行されても良い。
In step S23, the associating unit 70 assigns a label indicating harm to each of the harmful URL vectors. In addition, the associating unit 70 assigns a label indicating normal to each of the normal URL vectors. Then, the association unit 70 stores the plurality of harmful URL vectors and labels and the plurality of regular URL vectors and labels in the
The process of generating the URL vector model VM in step S21 and the process of generating the association data TD in steps S22 and S23 may be executed separately.
図6Bは、第3の実施形態に係る判定装置100Bにおける判定処理を例示する図である。図6Bに示した処理は、例えば、判定装置100Bの管理者等が判定装置100Bの入力装置を操作することにより実行される。
ステップS24において、判定部60bは、記憶装置200のURLデータ210等から、判定対象のURLを取得する。
ステップS25において、ベクトル化部40は、記憶部20からURLベクトル化モデルVMを読み込み、URLベクトル化モデルVMを用いて、ステップS24で取得した判定対象のURLの文字列をベクトル化する。
ステップS26において、判定部60bは、対応付けデータTDを記憶部20より読み込み、複数の有害URLのベクトル及びラベルと、複数の正規URLのベクトル及びラベルとを取得する。そして、判定部60bは、ステップS25でベクトル化された判定対象のURLのベクトルと、有害URL及び正規のURLそれぞれのベクトルとのコサイン類似度やユークリッド距離等を算出する。
FIG. 6B is a diagram illustrating a determination process in the
In step S24, the
In step S25, the
In step S26, the
例えば、判定部60bは、コサイン類似度が閾値以上で類似する有害URLのベクトルがある場合、判定対象のURLのサイトを有害と判定する。一方、判定部60bは、コサイン類似度が閾値以上で類似する有害URLのベクトルがない場合、判定対象のURLのサイトを正規と判定する。あるいは、判定部60bは、ユークリッド距離が閾値以下で類似する有害URLのベクトルがある場合、判定対象のURLのサイトを有害と判定する。一方、判定部60bは、ユークリッド距離が閾値以下で類似する有害URLのベクトルがない場合、判定対象のURLのサイトを正規と判定する。そして、判定部60bは、判定結果を判定装置100Bのディスプレイに表示する。
For example, when there is a vector of a harmful URL whose cosine similarity is equal to or greater than a threshold value, the
また、判定部60bは、判定対象のURLのベクトルに判定結果に対応したラベルを付与し、対応付けデータTDを更新しても良い。これにより、判定装置100Bは、有害なURLの判定精度を向上させることができる。
The
以上説明したように、第3の実施形態では、判定装置100Bは、有害URL及び正規のURLそれぞれのベクトルと、判定対象のURLのベクトルとの類似の度合いを算出し、判定対象のURLのサイトが有害か否かを判定する。これにより、判定装置100Bは、任意のフィルタリングルール(シグネチャ等)を利用しなくても、判定対象のURLのサイトが有害か否かの判定の精度良く判定できる。また、判定装置100Bは、判定結果に基づいてURLベクトル化モデルVM及び対応付けデータTDを常に更新することにより、日々変化する攻撃者のURLの自動的な追従が可能となり、即応性の向上を図れる。
As described above, in the third embodiment, the
また、判定装置100Bは、記憶装置200のURLデータ210、記憶装置300の有害URLデータ310及び記憶装置400の正規URLデータ410を取得した後、判定装置100B内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置100Bは、判定装置100B内で判定処理を実行するため、外部との通信コスト(時間的、金銭的)も低減できる。
In addition, after acquiring the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 The embodiments of the present invention have been described above, but the present invention is not limited to the above-described embodiments. In addition, the effects described in the above-described embodiments merely enumerate the most preferable effects resulting from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.
[実施形態の変形例1]
第1の実施形態に係る判定装置100は、ベクトル化部40、学習部50及び判定部60を、判定装置100内に配置したが、例えばクラウドを含む外部装置に分散して配置されても良い。また、第2の実施形態に係る判定装置100Aは、ベクトル化部40a、学習部50a及び判定部60aを、クラウドを含む外部装置に分散して配置されても良い。また、第3の実施形態に係る判定装置100Bは、ベクトル化部40、判定部60b及び対応付け部70を、クラウドを含む外部装置に分散して配置されても良い。
例えば、クラウド等の別のモデル生成装置に対して、判定装置100は、モデル生成装置にアクセスすることで、URLベクトル化モデルVMを生成するようにしてもよい。
[
In the
For example, with respect to another model generation device such as a cloud, the
[実施形態の変形例2]
第1の実施形態に係る判定装置100及び第3の実施形態に係る判定装置100Bは、記憶装置200のURLデータ210を用いてURLベクトル化モデルVMを生成したが、例えば、URLベクトル化モデルVMは、予め外部のコンピュータにより生成され、記憶装置200等に記憶されても良い。この場合、判定装置100及び判定装置100Bは、記憶装置200からURLベクトル化モデルVMを取得し、記憶部20に記憶する。
同様に、第2の実施形態において、構造別URLベクトル化モデルVM(1)−VM(K)は、予め外部のコンピュータにより生成され、記憶装置200等に記憶されても良い。そうすることで、判定装置100Aは、記憶装置200から構造別URLベクトル化モデルVM(1)−VM(K)を取得しても良い。
[Modification 2 of Embodiment]
Although the
Similarly, in the second embodiment, the structure-specific URL vectorization models VM (1) to VM (K) may be generated in advance by an external computer and stored in the
10 制御部
20 記憶部
30 モデル生成部
40 ベクトル化部
50 学習部
60 判定部
100 判定装置
Claims (7)
前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列がそれぞれベクトル化されたベクトルと、前記ベクトル化部により判定対象のURLの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する判定部と、
を備える判定装置。 A vectorization unit that vectorizes a character string of an arbitrary URL using a URL vectorization model for vectorizing a character string included in the URL as one sentence;
A vector in which a plurality of URL character strings that have been previously determined to be harmful or not by the vectorization unit are vectorized, and a vector in which the character string of the URL to be determined is vectorized by the vectorization unit is: A determining unit that determines whether the site indicated by the URL to be determined is harmful;
A determination device comprising:
前記判定部は、前記学習部により生成された前記判定モデルを用いて、前記判定対象のURLが示すサイトが有害か否かを判定する請求項1に記載の判定装置。 By performing machine learning using, as teacher data, a label indicating a determination result as to whether or not each of the plurality of URLs is harmful and a vector in which the character string of the plurality of URLs is vectorized by the vectorization unit. A learning unit that generates a determination model for determining whether a site indicated by an arbitrary URL is harmful,
The determination device according to claim 1, wherein the determination unit determines whether a site indicated by the URL to be determined is harmful using the determination model generated by the learning unit.
前記判定部は、生成された前記対応付けデータを用いて、前記判定対象のURLが示すサイトが有害か否かを判定する請求項1に記載の判定装置。 A mapping unit that generates a mapping data by associating a label indicating a determination result as to whether or not each of the plurality of URLs is harmful with a vector in which the character strings of the plurality of URLs are vectorized. In addition,
The determination device according to claim 1, wherein the determination unit determines whether a site indicated by the determination target URL is harmful using the generated association data.
前記ベクトル化部は、前記URLベクトル化モデルを用いて任意のURLの文字列を前記構造別にベクトル化し、
前記判定部は、
前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列から前記構造別に生成されたベクトルと、前記ベクトル化部により前記判定対象のURLの文字列から前記構造別に生成されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する請求項1に記載の判定装置。 The URL vectorization model converts the URL character string into at least a query part, a path part, and a structure of a host name, and converts the short character string generated into a single sentence into a sentence vector. A vectorization model for generating a short string vector for each structure from
The vectorization unit vectorizes a character string of an arbitrary URL by the structure using the URL vectorization model,
The determination unit includes:
A vector generated for each structure from the character strings of a plurality of URLs that are determined in advance as harmful or not by the vectorization unit, and a vector generated for each structure from the character string of the URL to be determined by the vectorization unit. The determination apparatus according to claim 1, wherein the determination unit determines whether the site indicated by the URL to be determined is harmful using a vector and the vector.
URLの文字列から前記構造別に生成されたベクトルを連結して連結ベクトルを生成するベクトル化モデルであって、
前記ベクトル化部は、さらに、
前記URLベクトル化モデルを用いて任意のURLの文字列から前記構造別に生成されたベクトルを連結した連結ベクトルを生成し、
前記判定部は、さらに、
前記ベクトル化部により予め有害か否かが判定された複数のURLの文字列から生成された前記連結ベクトルと、前記ベクトル化部により前記判定対象のURLの文字列から生成された連結ベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する請求項4に記載の判定装置。 The URL vectorization model further comprises:
A vectorization model for generating a connected vector by connecting vectors generated for each structure from a URL character string,
The vectorization unit further includes:
Using the URL vectorization model to generate a connected vector obtained by connecting the vectors generated for each structure from a character string of an arbitrary URL,
The determination unit further includes:
The connected vector generated from the character strings of the plurality of URLs that have been previously determined to be harmful or not by the vectorizing unit, and the connected vector generated from the character string of the URL to be determined by the vectorizing unit, The determination device according to claim 4, wherein the determination unit determines whether the site indicated by the URL to be determined is harmful.
URLに含まれる文字列を1つの文章とみなしてベクトル化するためのURLベクトル化モデルを用いて任意の文字列をベクトル化するベクトル化ステップと、
前記ベクトル化ステップにおいて、予め有害か否かが判定された複数のURLの文字列がベクトル化されたベクトルと、判定対象のURLの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のURLが示すサイトが有害か否かを判定する判定ステップと、
を備える判定方法。 A determination method implemented by a computer,
A vectorization step of vectorizing an arbitrary character string using a URL vectorization model for vectorizing the character string included in the URL as one sentence,
In the vectorization step, the determination is performed by using a vector obtained by vectorizing a plurality of URL character strings that have been determined to be harmful or not and a vector obtained by vectorizing the URL character string to be determined. A determining step of determining whether the site indicated by the target URL is harmful;
A determination method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018181907A JP7175148B2 (en) | 2018-09-27 | 2018-09-27 | Judgment device and judgment method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018181907A JP7175148B2 (en) | 2018-09-27 | 2018-09-27 | Judgment device and judgment method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020052766A true JP2020052766A (en) | 2020-04-02 |
JP7175148B2 JP7175148B2 (en) | 2022-11-18 |
Family
ID=69997276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018181907A Active JP7175148B2 (en) | 2018-09-27 | 2018-09-27 | Judgment device and judgment method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7175148B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102313843B1 (en) * | 2020-10-29 | 2021-10-15 | 한국인터넷진흥원 | Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012175296A (en) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | Communication classification device and method |
US9690938B1 (en) * | 2015-08-05 | 2017-06-27 | Invincea, Inc. | Methods and apparatus for machine learning based malware detection |
US20170372071A1 (en) * | 2016-06-22 | 2017-12-28 | Invincea, Inc. | Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426759A (en) | 2015-10-30 | 2016-03-23 | 百度在线网络技术(北京)有限公司 | URL legality determining method and apparatus |
-
2018
- 2018-09-27 JP JP2018181907A patent/JP7175148B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012175296A (en) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | Communication classification device and method |
US9690938B1 (en) * | 2015-08-05 | 2017-06-27 | Invincea, Inc. | Methods and apparatus for machine learning based malware detection |
US20170372071A1 (en) * | 2016-06-22 | 2017-12-28 | Invincea, Inc. | Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning |
Non-Patent Citations (7)
Title |
---|
JUSTIN MA ET AL.,: "Learning to Detect Malicious URLs", [ONLINE], vol. 2, no. 3, JPN7021005620, April 2011 (2011-04-01), US, ISSN: 0004677554 * |
三村 守、外1名: "パラグラフベクトルへのプロキシサーバーログの丸投げ方式", CSS2017 コンピュータセキュリティシンポジウム2017 論文集 合同開催 マルウェア対策研究人, vol. 第2017巻,第2号, JPN6021019665, 16 October 2017 (2017-10-16), JP, pages 1418 - 1425, ISSN: 0004511692 * |
佐藤 祐磨、外2名: "エクスプロイトキットで利用される文字列特徴を用いた悪性URL検出手法の提案", 情報処理学会 研究報告 マルチメディア通信と分散処理(DPS), JPN6021019656, 25 February 2016 (2016-02-25), JP, pages 1 - 6, ISSN: 0004677551 * |
孫 博、外3名: "既知の悪性URL群と類似した特徴を持つURLの検索", CSS2014 コンピュータセキュリティシンポジウム2014 論文集 合同開催 マルウェア対策研究人, vol. 第2014巻,第2号, JPN6021019667, 15 October 2014 (2014-10-15), JP, pages 1 - 8, ISSN: 0004511693 * |
小倉 光貴、外4名: "悪性ドメインへのDNSクエリとの類似性に着目した未知悪性ドメイン検出手法", 電子情報通信学会2018年通信ソサイエティ大会講演論文集2, JPN6021019657, 28 August 2018 (2018-08-28), JP, pages 268 - 268, ISSN: 0004677553 * |
尾崎 幸也、外5名: "悪性URLの強調表示によるDrive−by Download攻撃解析支援手法の提案", CSS2017 コンピュータセキュリティシンポジウム2017 論文集 合同開催 マルウェア対策研究人, vol. 第2017巻,第2号, JPN6021019661, 16 October 2017 (2017-10-16), JP, pages 817 - 822, ISSN: 0004511691 * |
岡野 靖、外2名: "データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定", コンピュータセキュリティシンポジウム2016論文集(情報処理学会シンポジウムシリーズ), vol. 第2016巻,第2号, JPN6017035154, October 2016 (2016-10-01), JP, pages 640 - 646, ISSN: 0004677552 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102313843B1 (en) * | 2020-10-29 | 2021-10-15 | 한국인터넷진흥원 | Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method |
Also Published As
Publication number | Publication date |
---|---|
JP7175148B2 (en) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837550B (en) | Knowledge graph-based question answering method and device, electronic equipment and storage medium | |
JP6530786B2 (en) | System and method for detecting malicious elements of web pages | |
WO2021096649A1 (en) | Detecting unknown malicious content in computer systems | |
CN108090351B (en) | Method and apparatus for processing request message | |
KR102058966B1 (en) | Method for detecting malicious application and apparatus thereof | |
US20210157983A1 (en) | Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents | |
CN111931935B (en) | Network security knowledge extraction method and device based on One-shot learning | |
Chai et al. | An explainable multi-modal hierarchical attention model for developing phishing threat intelligence | |
CN104067273A (en) | Grouping search results into a profile page | |
US11783034B2 (en) | Apparatus and method for detecting malicious script | |
Abawajy et al. | Hybrid consensus pruning of ensemble classifiers for big data malware detection | |
EP4302215A1 (en) | Phishing url detection using transformers | |
Huang et al. | Open source intelligence for malicious behavior discovery and interpretation | |
Qiu et al. | Predicting the impact of android malicious samples via machine learning | |
CN111198967A (en) | User grouping method and device based on relational graph and electronic equipment | |
JP6563350B2 (en) | Data classification apparatus, data classification method, and program | |
Wassan et al. | A Smart Comparative Analysis for Secure Electronic Websites. | |
US11625630B2 (en) | Identifying intent in dialog data through variant assessment | |
JP7175148B2 (en) | Judgment device and judgment method | |
US11163761B2 (en) | Vector embedding models for relational tables with null or equivalent values | |
JP6883561B2 (en) | Vulnerability estimation device and vulnerability estimation method | |
CN116560661A (en) | Code optimization method, device, equipment and storage medium | |
JP2024507029A (en) | Web page identification methods, devices, electronic devices, media and computer programs | |
CN108664792A (en) | A kind of source tracing method of Android malware | |
CN110262906B (en) | Interface label recommendation method and device, storage medium and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210716 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220309 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220309 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220323 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220329 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20220527 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20220531 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220802 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20220913 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20221018 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20221018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7175148 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |