(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】学習装置、判定装置、学習方法、判定方法、学習プログラムおよび判定プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20221122BHJP
G06N 20/00 20190101ALI20221122BHJP
G06T 7/00 20170101ALI20221122BHJP
G06F 40/30 20200101ALI20221122BHJP
G06F 40/216 20200101ALI20221122BHJP
【FI】
G06F21/55
G06N20/00 130
G06T7/00 350B
G06F40/30
G06F40/216
(21)【出願番号】P 2021521570
(86)(22)【出願日】2019-05-24
(86)【国際出願番号】 JP2019020778
(87)【国際公開番号】W WO2020240637
(87)【国際公開日】2020-12-03
【審査請求日】2021-09-17
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小出 駿
(72)【発明者】
【氏名】千葉 大紀
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2012-043285(JP,A)
【文献】八木 毅 ほか5名,実践サイバーセキュリティモニタリング,第1版,株式会社コロナ社,2016年04月18日,p.54-70,特にp.68-70の「(4)Thugによる巡回で得られる情報」
【文献】小出 駿 ほか5名,ユーザ操作が起点となるWeb上の攻撃の収集,情報処理学会 研究報告 セキュリティ心理学とトラスト(SPT),日本,情報処理学会,2018年02月28日,2018-SPT-027
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06N 20/00
G06T 7/00
G06F 40/30
G06F 40/216
(57)【特許請求の範囲】
【請求項1】
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力部と、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出部と、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する学習部と
を有することを特徴とする学習装置。
【請求項2】
前記Webページの特徴量として、前記Webページに記載された文字列情報を抽出し、該文字列情報を文書の意味やトピックと単語構成に基づく文書情報に変換する文書的特徴量抽出部をさらに有することを特徴とする請求項1に記載の学習装置。
【請求項3】
前記Webページの特徴量として、前記Webページのソースコードファイルを抽出し、該ソースコードファイルを構造と統計情報に基づくHTML構造情報に変換する構造的特徴量抽出部をさらに有することを特徴とする請求項1に記載の学習装置。
【請求項4】
前記操作に関する特徴量として、前記起点のWebページから前記終点のWebページに到達するまでの経路において前記Webブラウザ上で行われた操作内容の情報と、操作を行った対象のWebページ箇所の情報を抽出するWebブラウザ操作特徴量抽出部をさらに有することを特徴とする請求項1に記載の学習装置。
【請求項5】
前記イベントに関する特徴量として、前記起点のWebページから前記終点のWebページに到達するまでの経路において前記Webブラウザ上で発生したイベントを抽出するWebブラウザイベント特徴量抽出部をさらに有することを特徴とする請求項1に記載の学習装置。
【請求項6】
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力部と、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出部と、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、前記訓練モデルの出力結果に応じて前記終点のWebページが悪性であるか判定する判定部と
を有することを特徴とする判定装置。
【請求項7】
学習装置によって実行される学習方法であって、
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力工程と、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出工程と、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する学習工程と
を含むことを特徴とする学習方法。
【請求項8】
判定装置によって実行される判定方法であって、
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力工程と、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出工程と、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、前記訓練モデルの出力結果に応じて前記終点のWebページが悪性であるか判定する判定工程と
を含むことを特徴とする判定方法。
【請求項9】
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力ステップと、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出ステップと、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する学習ステップと
をコンピュータに実行させることを特徴とする学習プログラム。
【請求項10】
Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力ステップと、
前記ログ情報に含まれる各Webページの特徴量として、前記Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する画像的特徴量抽出ステップと、
前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、前記訓練モデルの出力結果に応じて前記終点のWebページが悪性であるか判定する判定ステップと
をコンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、判定装置、学習方法、判定方法、学習プログラムおよび判定プログラムに関する。
【背景技術】
【0002】
従来、悪意のあるソフトウェアの総称であるマルウェアの配布や個人情報の窃取のためにサイバー攻撃者はWebページを用意する。そのWebページでは、Webブラウザやプラグインの脆弱性を狙った攻撃であるドライブ・バイ・ダウンロード(Drive-By Download:DBD)攻撃が行われる。また、アクセスしたユーザを心理的に誘導して自らマルウェアをダウンロードさせたり、個人情報を入力させたりするソーシャルエンジニアリング(Social Engineering:SE)攻撃が発生することもある。
【0003】
DBD攻撃を発生するWebページを分析するために脆弱性を内包するおとりのシステムであるWebクライアント型ハニーポットを使用する方法がある。Webクライアント型ハニーポットは、WebページにアクセスしてDBD攻撃の発生を判定し、そのWebページのURL(Uniform Resource Locator)、ドメイン名、IPアドレスを代表とする通信先情報をブラックリストとして設定する。ファイアウォールや侵入検知システムを代表とするセキュリティ装置はそのブラックリストに対するWebアクセスを遮断することでユーザのマルウェア感染を防ぐ。
【0004】
SE攻撃は、ユーザに偽のマルウェア感染や偽の懸賞当選を代表とする虚偽の情報を与え、心理的にWebページへのアクセスを誘導することで攻撃を成功させる。SE攻撃を発生するWebページを判定する方法として、Webページの視覚的情報やWebページが読み込む外部の通信リクエストの情報を抽出し、既知のSE攻撃に利用されたWebページの情報と比較する方法がある。SE攻撃を発生するWebページと判定された場合、DBD攻撃の対策と同様に、通信先情報をブラックリストとしてユーザのWebアクセスを遮断する方法が存在する。
【0005】
SE攻撃を判定する既存の方法として、例えば、Webブラウザを自動操作してWebページを巡回し、判定対象の単一のWebページから特徴量を抽出して悪性判定を行う方法が知られている(例えば、非特許文献1、2参照)。それらの方法は、SE攻撃に含まれる攻撃種別であるテクニカルサポート詐欺やサーベイ詐欺を対象として巡回と検出を行うことに特化している。つまり、各攻撃種別に固有の特徴を用いて巡回先の決定と攻撃検出を行っている。
【先行技術文献】
【非特許文献】
【0006】
【文献】A. Kharraz, W. Robertson, and E. Kirda, “Surveylance: Automatically Detecting Online Survey Scams,” Proc. - IEEE Symp. Secur. Priv., vol.2018-May, pp.70-86, 2018.
【文献】B. Srinivasan, A. Kountouras, N. Miramirkhani, M. Alam, N. Nikiforakis, M. Antonakakis, and M. Ahamad, “Exposing Search and Advertisement Abuse Tactics and Infrastructure of Technical Support Scammers,” Proceedings of the 2018 World Wide Web Conference on World Wide Web - WWW ’18, pp.319-328, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したSE攻撃を判定する既存の方法では、Webブラウザを用いてWebページを巡回し、判定対象の単一のWebページから特徴量を抽出して悪性判定を行う。しかし、それらの方法は2つの問題がある。1つ目の問題は、既存の方法は、SE攻撃の1種であるテクニカルサポート詐欺やサーベイ詐欺など特定の攻撃種別に固有の特徴を用いて判定を行うため、判定対象の攻撃種別が限定されるということである。2つ目の問題は、既存の方法は、判定対象の単一のWebページから抽出される情報のみを使用しており、そのWebページに到達するまでに経由したWebページの情報や、経路上のユーザのブラウザ操作やWebブラウザで発生したイベントなどSE攻撃に特有の情報を考慮していないため、誤検知が発生する場合があるということである。
【0008】
本発明は、上記に鑑みてなされたものであって、Webブラウザを用いてWebページのログ情報を用いて、攻撃種別に限定されないSE攻撃の判定を行い、さらに誤検知を削減することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明の学習装置は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力部と、前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する学習部とを有することを特徴とする。
【0010】
また、本発明の判定装置は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける入力部と、前記ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、前記訓練モデルの出力結果に応じて前記終点のWebページが悪性であるか判定する判定部とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、本発明によれば、Webブラウザを用いてWebページを巡回したときのログ情報を用いて、SE攻撃の個々の攻撃種別に限定されずにSE攻撃が発生するWebページを精度良く判定することができるという効果を奏する。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態における判定システムの構成の一例を示す図である。
【
図2】
図2は、
図1に示す学習装置の構成の一例を示す図である。
【
図3】
図3は、
図1に示す判定装置の構成の一例を示す図である。
【
図4】
図4は、Webブラウザを用いてWebページにアクセスした際に発生するWebページ遷移の一例を示す図である。
【
図5】
図5は、ログ情報の構成の一例を示す図である。
【
図6】
図6は、
図5に示すログ情報の構成要素の一つである通信ログの構成の一例を示す図である。
【
図7】
図7は、
図5に示すログ情報の構成要素の一つであるWebブラウザ操作ログの構成の一例を示す図である。
【
図8】
図8は、
図5に示すログ情報の構成要素の一つであるWebブラウザイベントログの構成の一例を示す図である。
【
図9】
図9は、画像的特徴量の一例を示す図である。
【
図12】
図12は、ブラウザ操作特徴量の一例を示す図である。
【
図13】
図13は、ブラウザイベント特徴量の一例を示す図である。
【
図16】
図16は、訓練モデル生成処理のフローチャートを示す図である。
【
図17】
図17は、判定処理のフローチャートを示す図である。
【
図18】
図18は、プログラムが実行されることにより、学習装置または判定装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0014】
[実施の形態]
本発明の実施の形態について説明する。
図1は、実施の形態における判定システムの構成の一例を示す図である。
【0015】
図1に示すように、実施の形態に係る判定システム1は、学習装置10と、判定装置20とを有する。学習装置10と判定装置20とは、ネットワークNを介して互いに接続する。また、学習装置10および判定装置20は、ネットワークNを介して、外部装置(不図示)と接続してもよい。
【0016】
学習装置10は、Webページが悪性であるか判定するための訓練モデルを生成する。具体的には、学習装置10は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。そして、学習装置10は、ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する。
【0017】
判定装置20は、学習装置10によって生成された訓練モデルを受信し、訓練モデルを用いて、Webページが悪性であるか判定する。具体的には、判定装置20は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。そして、判定装置20は、ログ情報に含まれる各Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、訓練モデルの出力結果に応じて終点のWebページが悪性であるか判定する。
【0018】
[学習装置および判定装置の構成]
次に、学習装置10の構成について説明する。
図2は、
図1に示す学習装置10の構成の一例を示す図である。
図2に示す学習装置10は、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、学習装置10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行うことも可能である。
【0019】
学習装置10は、ログ情報入力部11、画像的特徴量抽出部12、文書的特徴量抽出部13、構造的特徴量抽出部14、Webブラウザ操作特徴量抽出部15、Webブラウザイベント特徴量抽出部16、学習部17および記憶部18を有する。
【0020】
次に、判定装置20の構成について説明する。
図3は、
図1に示す判定装置20の構成の一例を示す図である。
図3に示す判定装置20は、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、判定装置20は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行うことも可能である。
【0021】
判定装置20は、ログ情報入力部21、画像的特徴量抽出部22、文書的特徴量抽出部23、構造的特徴量抽出部24、Webブラウザ操作特徴量抽出部25、Webブラウザイベント特徴量抽出部26、判定部27、出力部28および記憶部29を有する。
【0022】
以下に学習装置10の各部について説明する。ログ情報入力部11は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。
【0023】
例えば、ログ情報入力部11は、既知の良性データと既知の悪性データとを入力する。既知の悪性のデータとは、最後に到達したWebページからマルウェアがダウンロードされたり個人情報窃取などの攻撃が行われた既知の悪性のログ情報から抽出されたデータである。また、既知の良性のデータとは、遷移したWebページのすべてで攻撃が行われなかった既知の良性のログ情報から抽出されたデータである。
【0024】
ログ情報とは、WebブラウザによってWebページにアクセスした際にWebブラウザから取得できるログである。
図4に示すように、Webページにアクセスし、ブラウザ操作を行った結果、新たなWebページに遷移する場合がある。
【0025】
ログ情報入力部11が取得するログ情報は、1つ以上のWebページと、そのWebページの遷移の順序を保持し、
図5に示す項目を構成する。
図5は、ログ情報を構成する項目の一例を示す。ログ情報の項目の例は、Webページのスクリーンショット画像、HTMLソースコード、Webページに対してブラウザ操作を行いWebページが遷移したときの通信ログや、ブラウザ操作ログ、ブラウザイベントログである。
【0026】
図6では通信ログの例を示す。通信ログは、Webページの読み込み時やWebページ遷移時に発生した通信である。あるWebページからWebページが遷移する際に、Webサーバの命令によりWebページが瞬時に転送される場合がある(Webページリダイレクト)。Webページリダイレクトが発生したときに、その発生回数と通信先を取得する。
【0027】
図7ではブラウザ操作ログの例を示す。ブラウザ操作ログは、Webページの遷移の原因となったブラウザ操作である。マウス左/右ボタンのクリック、ブラウザの戻るボタンのクリック、クリックしたときのマウス座標(X、Y)、クリックした対象のHTMLエレメントのサイズ(高さ、幅)やHTMLタグの種類を抽出する。
【0028】
図8ではブラウザイベントログの例を示す。ブラウザイベントとは、ブラウザ操作によって発生したブラウザのイベントである。ファイルダウンロードの発生、アラートダイアログの出現、ブラウザ拡張機能インストール画面の出現、ポップアップウィンドウの出現などをブラウザのイベントとして扱い、それらの発生の有無と通信内容やメッセージ内容を抽出する。
【0029】
ログ情報について、ユーザがWebブラウザを手動で操作したときに記録される場合と、ブラウザ操作自動ツールなどによって自動制御されたときに記録される場合がある。ログ情報は、Webブラウザに導入したブラウザ拡張機能や、Webブラウザの開発者用デバッグツールなどを用いることで取得できる。
【0030】
画像的特徴量抽出部12は、ログ情報に含まれる各Webページの特徴量として、Webブラウザによって描画されたWebページの画面の画像データを抽出し、該画像データを特徴点と色の分布に基づく画像情報に変換する。例えば、画像的特徴量抽出部12は、ログ情報に含まれるWebページのスクリーンショット画像から画像的特徴量を抽出する。
図9は画像的特徴の例を示す。なお、画像的特徴の抽出方法は下記の方法に限らず、画像データをベクトル情報に変換できる任意の方法を用いることができる。また、
図9に示すデータの次元数は、出力するデータの次元数が任意に設定できる手法の場合、任意に設定できる。
【0031】
対象の画像のなかに、ある画素値(明暗)の画素が出現する数(度数)を画素値ごとに計測した分布データをヒストグラムという。画像的特徴量抽出部12は、画像色ヒストグラムは入力された画像の赤、緑、青ごとに、256種類の画素値の度数のヒストグラムを計測し、色ごとの256次元のデータを抽出する。
【0032】
画像的特徴量抽出部12は、ORB、KAZE、AKAZEを代表とする局所特徴量抽出アルゴリズムを利用して画像を分析する。局所特徴量抽出アルゴリズムは、画像内の物体を認識する方法として知られ、ある画像に存在する特徴点を検出することで、画像データを任意の次元(特徴点の数)のベクトル情報に変換することができる。
【0033】
また、画像的特徴量抽出部12は、局所特徴量抽出アルゴリズムを用いて画像をベクトルに変換する場合、検出に用いる複数の特徴点を事前に設定しておく必要がある。例えば、複数のWebページのスクリーンショット画像を予め収集しておき、それらの画像に共通する特徴点を抽出しておく。
【0034】
文書的特徴量抽出部13は、Webページの特徴量として、Webページに記載された文字列情報を抽出し、該文字列情報を文書の意味やトピックと単語構成に基づく文書情報に変換する。
【0035】
例えば、文書的特徴量抽出部13は、ログ情報に含まれるWebページのHTMLソースコードから実際にWebページ内に表示される文字列を文書データとして抽出し、文書データをベクトル情報に変換する。
図10は文書的特徴の例を示す。なお、文書的特徴の抽出方法は下記の方法に限らず、文書データをベクトル情報に変換できる任意の方法を用いることができる。また、
図10に示すデータの次元数は、出力するデータの次元数が任意に設定できる手法の場合、任意に設定できる。
【0036】
例えば、文書的特徴量抽出部13は、Webページ内に表示される文字列を抽出するために、HTMLソースコードからHTMLタグ部分を除去し、残りの文字列を文書データとして抽出する。なお、Webページ内に表示される文字列を抽出する方法は、HTMLタグ部分の除去に限らず、任意の方法を用いることができる。文書データをベクトル情報に変換する方法として、既存のトピックモデル手法と統計的文書処理方法を用いる。
【0037】
トピックモデル手法とは、Doc2VecやLatent Dirichlet Allocation(LDA)に代表される、文字列データを文書の潜在的意味を推定してベクトル情報に変換する手法である。統計的文書処理方法とは、Bag-of-wordsやtf-idfに代表される、単語の出現頻度を計測して文書をベクトル情報に変換する手法である。
【0038】
文書的特徴量抽出部13が、トピックモデル手法を用いてWebページから抽出した文書データをベクトル情報に変換する場合、事前に変換のための学習モデルの作成が必要である。例えば、文書的特徴量抽出部13が、予め複数のWebページから抽出した文書データを収集しておき、その文書データを用いて学習モデルを作成する。
【0039】
また、文書的特徴量抽出部13が、統計的文書処理方法を用いてWebページから抽出した文書データをベクトル情報に変換する場合、予め変換のための単語設定が必要である。
【0040】
例えば、文書的特徴量抽出部13が、予め複数のWebページから抽出した文書データを収集しておき、その文書データから単語を抽出して、変換のための単語として設定する。
【0041】
構造的特徴量抽出部14は、各Webページの特徴量として、Webページのソースコードファイルを抽出し、該ソースコードファイルを構造と統計情報に基づくHTML構造情報に変換する。例えば、構造的特徴量抽出部14は、ログ情報に含まれるWebページのHTMLソースコードをベクトル情報に変換する。
【0042】
図11は構造的特徴の例を示す。なお、構造的特徴の抽出方法は下記に限らず、HTMLソースコードをベクトル情報に変換できる任意の方法を用いることができる。構造的特徴量抽出部14は、HTMLタグ出現数として、対象のHTMLソースコードから、予め設定したHTMLタグごとに出現数を計測する。例えば、構造的特徴量抽出部14は、予め複数のWebページからHTMLソースコードを抽出しておき、それらのHTMLソースコードに頻出するHTMLタグを事前に抽出して計測のためのHTMLタグとして設定する。また、構造的特徴量抽出部14は、HTMLソースコードデータサイズとして、HTMLソースコードファイルのデータサイズを抽出する。
【0043】
Webブラウザ操作特徴量抽出部15は、操作に関する特徴量として、起点のWebページから終点のWebページに到達するまでの経路においてWebブラウザ上で行われた操作内容の情報と、操作を行った対象のWebページ箇所の情報を抽出する。
【0044】
例えば、Webブラウザ操作特徴量抽出部15は、Webブラウザ操作ログをベクトル情報として抽出する。
図12の例は、ブラウザ操作特徴量の例である。例えば、Webブラウザ操作特徴量抽出部15は、数値データ以外のブラウザ操作ログの項目はOne hot表現を用いて、数値データに変換する。例えば、Webブラウザ操作特徴量抽出部15は、クリック対象のHTMLとして、aタグ、divタグ、iframeタグの3種類が存在するとき、実際にクリックされたのがaタグだった場合、aタグに1を設定し、残りのタグに0を設定する。
【0045】
Webブラウザイベント特徴量抽出部16は、イベントに関する特徴量として、起点のWebページから終点のWebページに到達するまでの経路においてWebブラウザ上で発生したイベントを抽出する。Webブラウザイベント特徴量抽出部16は、Webブラウザイベントログや通信ログをベクトル情報として抽出する。
図11の例は、Webブラウザイベントグ特徴量の例である。各ブラウザイベントログと通信ログの項目における発生回数や出現回数を計測する。
【0046】
学習部17は、Webページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する。具体的には、学習部17は、画像的特徴量抽出部12、文書的特徴量抽出部13、構造的特徴量抽出部14、Webブラウザ操作特徴量抽出部15およびWebブラウザイベント特徴量抽出部16が抽出した特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する。
【0047】
例えば、学習部17は、画像的特徴量抽出部12、文書的特徴量抽出部13、構造的特徴量抽出部14、Webブラウザ操作特徴量抽出部15およびWebブラウザイベント特徴量抽出部16が抽出した特徴量のベクトル情報を統合して学習対象データを生成し、二値分類を実施可能な教師あり機械学習手法を用いて訓練モデルの生成を行い、記憶部18に訓練モデルを記録する。
【0048】
図14では、学習対象データとして、Webページ1~3の画像的特徴量と、Webページ1~3の文書的特徴量と、Webページ1~3の構造的特徴量と、Webページ1-2間のWebブラウザ操作特徴量と、Webページ2-3間のWebブラウザ操作特徴量と、Webページ1-2間のWebブラウザイベント特徴量と、Webページ2-3間のWebブラウザイベント特徴量とを統合した例を示す。なお、特徴量の組み合わせはこれに限らず、入力したログ情報のWebページの遷移の回数や適用する教師あり機械学習手法に応じて任意の組み合わせを設定することができる。
【0049】
図15は、学習部17によって生成された訓練モデルによる判定結果の例を示す。この例では、3つのWebページによる2回のWebページ遷移で構成されるログ情報から抽出した判定対象データを訓練モデルに入力し、悪性または良性の二値に分類する。
【0050】
また、学習部17は、二値分類を実施可能な教師あり機械学習手法の例としてサポートベクターマシンやランダムフォレストがあるが、これらに限るものではない。このように、学習装置10は、既知の良性と悪性のログ情報から特徴量を抽出して訓練データを作成し、教師あり機械学習手法を用いて訓練モデルを生成する。
【0051】
記憶部18は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部18は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部18は、学習部17によって生成された訓練モデルを記憶する。
【0052】
以下に判定装置20の各部について説明する。ログ情報入力部21は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。例えば、ログ情報入力部21は、WebブラウザによってWebページにアクセスした際に記録した、Webブラウザ操作によってWebページが遷移したときのログ情報を入力する。ログ情報とは、WebブラウザによってWebページにアクセスした際にWebブラウザから取得できるログである。
【0053】
また、判定装置20における画像的特徴量抽出部22、文書的特徴量抽出部23、構造的特徴量抽出部24、Webブラウザ操作特徴量抽出部25およびWebブラウザイベント特徴量抽出部26は、学習装置10における画像的特徴量抽出部12、文書的特徴量抽出部13、構造的特徴量抽出部14、Webブラウザ操作特徴量抽出部15およびWebブラウザイベント特徴量抽出部16とそれぞれ同様の処理を行うので、ここでは説明を省略する。
【0054】
判定部27は、巡回したWebページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、訓練モデルの出力結果に応じて終点のWebページが悪性であるか判定する。
【0055】
例えば、判定部27は、画像的特徴量抽出部22、文書的特徴量抽出部23、構造的特徴量抽出部24、Webブラウザ操作特徴量抽出部25およびWebブラウザイベント特徴量抽出部26が抽出した特徴量のベクトル情報を統合して判定対象データを生成し、記憶部29の訓練モデルを利用して悪性判定を行う。
【0056】
図14は、判定対象データとして、Webページ1~3の画像的特徴量と、Webページ1~3の文書的特徴量と、Webページ1~3の構造的特徴量と、Webページ1-2間のWebブラウザ操作特徴量と、Webページ2-3間のWebブラウザ操作特徴量と、Webページ1-2間のWebブラウザイベント特徴量と、Webページ2-3間のWebブラウザイベント特徴量とを統合した例を示す。なお、特徴量の組み合わせはこれに限らず、入力したログ情報のWebページの遷移の回数や適用する教師あり機械学習手法に応じて任意の組み合わせを設定することができる。
【0057】
図15は、訓練モデルによる判定結果の例を示す。この例では、判定部27は、3つのWebページによる2回のWebページ遷移で構成されるログ情報から抽出した判定対象データを訓練モデルに入力し、悪性または良性の判定結果を出力し、終点のWebページが悪性であるか判定する。このように、判定装置20は、判定対象のログ情報から特徴量を抽出してテストデータを作成し、学習済みの訓練モデルを用いて判定を行う。
【0058】
出力部28は、判定部27によって判定された判定結果を出力する。記憶部29は、HDD、SSD、光ディスク等の記憶装置である。なお、記憶部29は、RAM、フラッシュメモリ、NVSRAM等のデータを書き換え可能な半導体メモリであってもよい。記憶部29は、学習装置10によって生成された訓練モデルを記憶する。
【0059】
[学習処理および判定処理の処理手順]
次に、実施の形態に係る学習処理および判定処理の処理手順について説明する。
図16は、訓練モデル生成処理のフローチャートを示す図である。
図17は、判定処理のフローチャートを示す図である。
【0060】
図16に例示するように、学習装置10のログ情報入力部11は、既知の悪性/良性のログ情報を入力する(ステップS101)。そして、画像的特徴量抽出部12は、ログ情報に含まれるWebページのスクリーンショット画像から画像的特徴量の抽出する(ステップS102)。
【0061】
続いて、文書的特徴量抽出部13は、Webページに記載された文字列から文書の意味や構造を文書的特徴量として抽出する(ステップS103)。そして、構造的特徴量抽出部14は、Webページのソースコードから構造的特徴量を抽出する(ステップS104)。
【0062】
続いて、Webブラウザ操作特徴量抽出部15は、終点のWebページに到達するまでにWebブラウザに対して行った操作情報の特徴量であるWebブラウザ操作特徴量を抽出する(ステップS105)。そして、Webブラウザイベント特徴量抽出部16は、Webページに到達するまでに発生したWebブラウザイベント情報の特徴量であるWebブラウザイベント特徴量を抽出する(ステップS106)。
【0063】
そして、学習部17は、画像的特徴量抽出部12、文書的特徴量抽出部13、構造的特徴量抽出部14、Webブラウザ操作特徴量抽出部15およびWebブラウザイベント特徴量抽出部16が抽出した特徴量を統合する(ステップS107)。そして、学習部17は、教師あり機械学習アルゴリズムにより訓練モデルを生成する(ステップS108)。
【0064】
また、
図17に例示するように、判定装置20のログ情報入力部21は、判定対象のログ情報を入力する(ステップS201)。そして、画像的特徴量抽出部22は、ログ情報に含まれるWebページのスクリーンショット画像から画像的特徴量の抽出する(ステップS202)。
【0065】
続いて、文書的特徴量抽出部23は、Webページに記載された文字列から文書の意味や構造を文書的特徴量として抽出する(ステップS203)。そして、構造的特徴量抽出部24は、Webページのソースコードから構造的特徴量を抽出する(ステップS204)。
【0066】
続いて、Webブラウザ操作特徴量抽出部25は、終点のWebページに到達するまでにWebブラウザに対して行った操作情報の特徴量であるWebブラウザ操作特徴量を抽出する(ステップS205)。そして、Webブラウザイベント特徴量抽出部26は、Webページに到達するまでに発生したWebブラウザイベント情報の特徴量であるWebブラウザイベント特徴量を抽出する(ステップS206)。
【0067】
そして、判定部27は、画像的特徴量抽出部22、文書的特徴量抽出部23、構造的特徴量抽出部24、Webブラウザ操作特徴量抽出部25およびWebブラウザイベント特徴量抽出部26が抽出した特徴量を統合する(ステップS207)。そして、判定部27は、統合したデータを学習済の訓練モデルに入力することで、訓練モデルよる終点のWebページが悪性であるか否かを判定する処理を行う(ステップS208)。
【0068】
[実施の形態の効果]
このように、実施形態に係る学習装置10は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。そして、学習装置10は、巡回したWebページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を訓練データとして用いて、訓練モデルを生成する。
【0069】
また、実施形態に係る判定装置20は、Webブラウザを用いて、起点のWebページから一つ以上のWebページを巡回し、終点のWebページに到達するまでにWebブラウザから取得したログ情報の入力を受け付ける。判定装置20は、巡回したWebページの特徴量、終点のWebページに到達するまでの経路上においてWebブラウザで行われた操作に関する特徴量、および、終点のWebページに到達するまでの経路上で発生したイベントに関する特徴量のうち、いずれか一つまたは複数の特徴量を入力データとして、予め学習された訓練モデルに入力し、訓練モデルの出力結果に応じて終点のWebページが悪性であるか判定する。
【0070】
このため、実施形態に係る判定システム1では、Webブラウザを用いてWebページを巡回したときのログ情報を用いて、SE攻撃の個々の攻撃種別に限定されずにSE攻撃が発生するWebページを精度良く判定することが可能である。
【0071】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0072】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0073】
[プログラム]
図18は、プログラムが実行されることにより、学習装置10または判定装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0074】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0075】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10または判定装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10または判定装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0076】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0077】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0078】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0079】
1 判定システム
10 学習装置
11、21 ログ情報入力部
12、22 画像的特徴量抽出部
13、23 文書的特徴量抽出部
14、24 構造的特徴量抽出部
15、25 Webブラウザ操作特徴量抽出部
16、26 Webブラウザイベント特徴量抽出部
17 学習部
18、29 記憶部
20 判定装置
27 判定部
28 出力部