(57)【特許請求の範囲】
【請求項１】
疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセス部と、
前記アクセス部によってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理部と、
前記登録処理部によって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析部と
を備えることを特徴とする解析装置。
【請求項２】
前記クライアント環境が有する既知の脆弱性に関する情報を取得し、該脆弱性に関する情報を用いて、脆弱性を有するクライアント環境のリストを作成し、該リストのクライアント環境をそれぞれ設定する環境構成部をさらに備え、
前記アクセス部は、前記環境構成部によって設定されたクライアント環境で、ウェブサイトへのアクセスを実行することを特徴とする請求項１に記載の解析装置。
【請求項３】
前記環境構成部は、前記脆弱性に関する情報を用いて、同じ脆弱性を有するクライアント環境同士を集約して前記リストを作成し、該リストのクライアント環境をそれぞれ設定することを特徴とする請求項２に記載の解析装置。
【請求項４】
前記解析部は、前記登録処理部によって登録されたアクセス先のＵＲＬが互いに同一である複数のレコードを前記記憶部から取得し、該複数のレコードのなかから悪性なウェブサイトのＵＲＬを転送先のＵＲＬに含むレコードを特定し、該レコードに対応付けられたクライアント環境の情報と他のレコードのクライアント環境の情報とを比較し、該複数のクライアント環境の情報の差異から前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析することを特徴とする請求項１に記載の解析装置。
【請求項５】
前記アクセス部によってアクセスされたウェブサイトに含まれるスクリプトを監視してクライアント環境を特定するブラウザフィンガープリンティングを検知し、該ブラウザフィンガープリンティングにより取得されたクライアント環境の情報の種別を特定するスクリプト動的解析部をさらに備え、
前記解析部は、前記スクリプト動的解析部により前記ブラウザフィンガープリンティングにより取得されたクライアント環境の情報の種別が特定された場合に、該クライアント環境の情報の種別について、前記悪性なウェブサイトのＵＲＬを転送先のＵＲＬに含むレコードに対応付けられたクライアント環境と他のレコードのクライアント環境とを比較し、該複数のクライアント環境の情報の差異から前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析することを特徴とする請求項４に記載の解析装置。
【請求項６】
解析装置で実行される解析方法であって、
疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセス工程と、
前記アクセス工程によってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理工程と、
前記登録処理工程によって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析工程と
を含んだことを特徴とする解析方法。
【請求項７】
疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセスステップと、
前記アクセスステップによってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理ステップと、
前記登録処理ステップによって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析ステップと
をコンピュータに実行させることを特徴とする解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析装置、解析方法および解析プログラムに関する。
【背景技術】
【０００２】
従来、インシデント対応組織（例えば、ＣＥＲＴ、ＣＳＩＲＴ等）は、監視対象の組織内で発生したセキュリティインシデントに対して、その全容を解明することで、発生原因や被害影響範囲を特定するとともに、再発防止に向けて関係各所へ情報共有する取り組みを実施している。インシデント対応組織が扱うインシデントの中でも、特にウェブを通じてクライアントをマルウェアに感染させるドライブバイダウンロード攻撃（Ｄｒｉｖｅ−Ｂｙ  Ｄｏｗｎｌｏａｄ攻撃）は多くの組織で観測されており、主要な脅威の一つとなっている（非特許文献１参照）。
【０００３】
ドライブバイダウンロード攻撃は、攻撃の起点となるウェブサイト（以下、入口ＵＲＬと呼ぶ。）にアクセスしたクライアントを、主にＨＴＭＬタグやＪａｖａＳｃｒｉｐｔ（登録商標）を用いて複数のウェブサイト（以下、踏台ＵＲＬと呼ぶ。）へ転送した後、攻撃コードを実行する悪性なウェブサイト（以下、攻撃ＵＲＬと呼ぶ。）へ転送する。クライアントが攻撃ＵＲＬにアクセスすると、ブラウザやブラウザのプラグイン（以下、プラグインと呼ぶ。）の脆弱性を悪用する攻撃コードが実行され、クライアントは特定のウェブサイト（以下、マルウェア配布ＵＲＬと呼ぶ。）からコンピュータウィルスなどの悪性プログラム（マルウェア）をダウンロードや、インストールしてしまう。
【０００４】
攻撃ＵＲＬで使用される攻撃コードは、幅広いアプリケーション（例えば、ブラウザはＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｆｉｒｅｆｏｘ、Ｏｐｅｒａなど、プラグインはＡｄｏｂｅ  Ａｃｒｏｂａｔ、Ａｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒ、Ｏｒａｃｌｅ  Ｊａｖａ（登録商標）  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔなど）の脆弱性を悪用する。悪用される脆弱性の種類は、ＯＳやブラウザ、プラグインの種類やバージョン（以下、クライアント環境と呼ぶ。）ごとに細分化しており、多岐にわたる。そのため攻撃者は、主に踏台ＵＲＬにおいてアクセスしてきたクライアント環境の構成を特定するブラウザフィンガープリンティング（Ｂｒｏｗｓｅｒ  Ｆｉｎｇｅｒｐｒｉｎｔｉｎｇ）を用いることで、攻撃対象となるクライアント環境のみを攻撃ＵＲＬへ転送する攻撃（以下、環境依存攻撃と呼ぶ。）を行うことで、攻撃の成功率を向上させている（非特許文献２参照）。
【０００５】
ドライブバイダウンロード攻撃を検知する手法は、マルウェア配布ＵＲＬからマルウェアをダウンロードすることにより生じるファイルシステムの変化を検知する手法（例えば、非特許文献３）やＪａｖａＳｃｒｉｐｔをブラウザのエミュレータ（以下、ブラウザエミュレータと呼ぶ。）で実行し、実行結果を解析することで悪性なＪａｖａＳｃｒｉｐｔを検知する手法（例えば、非特許文献４）等が知られている。
【０００６】
また、環境依存攻撃を解析する手法は、ブラウザフィンガープリンティングで取得した環境情報がプログラム中の条件分岐文に使用されたことを検知し、転送先ＵＲＬとなり得るＵＲＬを網羅的に抽出する手法が知られている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】IBM,“2015年下半期  Tokyo  SOC  情報分析レポート  公開”[平成28年3月14日検索],インターネット＜https://www-304.ibm.com/connections/blogs/tokyo-soc/entry/tokyo_soc_report2015_h2?lang=ja＞
【非特許文献２】C.  Kolbitsch,  B.  Livshits,  B.  Zorn,  and  C.  Seifert,“Rozzle:  De-Cloaking  Internet  Malware,”IEEE  S&P,  2012.
【非特許文献３】L.  Lu,  V.  Yegneswaran,  P.  Porras,  and  W.  Lee,  “BLADE:  An  Attack-Agnostic  Approach  for  Preventing  Drive-By  Malware  Infections,”ACM  CCS,  2010.[平成28年3月14日検索],インターネット＜http://www.csl.sri.com/users/vinod/papers/blade.pdf＞
【非特許文献４】M.  Cova,  C.  Krugel,  and  G.  Vigna,  “Detection  and  Analysis  of  Drive-by-Download  Attacks  and  Malicious  JavaScript  Code,”WWW  2010.[平成28年3月14日検索],インターネット＜http://www.cs.ucsb.edu/~vigna/publications/2010_cova_kruegel_vigna_Wepawet.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した従来の技術では、悪性ＵＲＬの検知や悪性ＵＲＬの抽出はできるものの、悪性ＵＲＬへの転送対象となるクライアント環境を特定できないという課題があった。つまり、従来の技術では、どのようなクライアント環境でアクセスすると、どのようなＵＲＬへ転送され、攻撃が実行されるかを特定することができなかった。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の解析装置は、疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセス部と、前記アクセス部によってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理部と、前記登録処理部によって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析部とを備えることを特徴とする。
【００１０】
また、本発明の解析方法は、解析装置で実行される解析方法であって、疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセス工程と、前記アクセス工程によってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理工程と、前記登録処理工程によって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析工程とを含んだことを特徴とする。
【００１１】
また、本発明の解析プログラムは、疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行するアクセスステップと、前記アクセスステップによってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて記憶部に登録する登録処理ステップと、前記登録処理ステップによって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、前記悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する解析ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、悪性ＵＲＬへの転送対象となるクライアント環境を適切に特定できるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施形態のシステム構成例を示すブロック図である。
【図２】図２は、ブラウザエミュレータマネージャの構成例を示すブロック図である。
【図３】図３は、ブラウザエミュレータが模擬するクライアント環境の構成関係を説明する図である。
【図４】図４は、クライアント環境に応じて転送先ＵＲＬを変更するコードの例を示す図である。
【図５】図５は、ブラウザエミュレータが模擬するクライアント環境の構成関係を説明する図である。
【図６】図６は、集約前の脆弱性情報の一例を示す図である。
【図７】図７は、集約した後の脆弱性情報の一例を示す図である。
【図８】図８は、脆弱性情報データベースに記憶された脆弱性情報の一例を示す図である。
【図９】図９は、脆弱性情報データベースに記憶されたＯＳ情報の一例を示す図である。
【図１０】図１０は、脆弱性情報データベースに記憶されたブラウザ情報の一例を示す図である。
【図１１】図１１は、脆弱性情報データベースに記憶されたプラグイン情報の一例を示す図である。
【図１２】図１２は、解析情報データベースに記憶されたアクセスログの一例を示す図である。
【図１３】図１３は、解析情報データベースに記憶された転送情報の一例を示す図である。
【図１４】図１４は、ブラウザエミュレータによるウェブサイト解析の処理手順の例を示すフローチャートである。
【図１５】図１５は、クライアント環境情報作成の処理手順の例を示すフローチャートである。
【図１６】図１６は、ウェブサイト挙動解析の処理手順の例を示すフローチャートである。
【図１７】図１７は、解析情報を用いた差異検知の処理手順の例を示すフローチャートである。
【図１８】図１８は、解析プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願に係る解析装置、解析方法および解析プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る解析装置、解析方法および解析プログラムが限定されるものではない。
【００１５】
まず、図１を用いて本実施形態のシステム構成例を説明する。図１は、本実施形態のシステム構成例を示すブロック図である。システムは、例えば、図１に示すようにネットワーク１とネットワーク２とを備える。ネットワーク１とネットワーク２とはパケット転送装置５０により接続される。
【００１６】
ネットワーク１は、解析対象ウェブサイト６０および脆弱性情報掲載ウェブサイト７０を備える。ネットワーク１は、インターネットのように広域なネットワークであってもよいし、法人ネットワークのように中小規模なネットワークである場合やクラウド環境やホスティング環境のネットワークであってもよい。
【００１７】
解析対象ウェブサイト６０は、ブラウザエミュレータマネージャ（解析装置）１０による解析対象ウェブサイトである。この解析対象ウェブサイト６０は、例えば、公開されている悪性ウェブサイトのブラックリストに掲載されているウェブサイトや検索エンジンから収集できるウェブサイト等である。
【００１８】
脆弱性情報掲載ウェブサイト７０は、脆弱性情報を収集し、掲載しているウェブサイトである。この脆弱性情報掲載ウェブサイト７０は、例えば、共通脆弱性識別子ＣＶＥを採番しているウェブサイトや独自に脆弱性情報を収集して掲載しているウェブサイトが適用できるが、これらに限るものではない。
【００１９】
また、ネットワーク２は、ブラウザエミュレータマネージャ１０と、脆弱性情報収集装置２０と、脆弱性情報データベース３０と、解析情報データベース４０とを備える。ネットワーク２は、ローカルエリアネットワークのように小規模なネットワークであってもよいし、法人ネットワークのように中小規模なネットワークである場合やクラウド環境やホスティング環境のネットワークであってもよい。
【００２０】
ブラウザエミュレータマネージャ１０は、１以上のブラウザエミュレータ１１を管理し、このブラウザエミュレータ１１に所定のウェブサイト（解析対象ウェブサイト６０）へアクセスさせる。そして、ブラウザエミュレータマネージャ１０は、ブラウザエミュレータ１１がアクセスしたウェブサイトのＵＲＬや、当該ウェブサイトから取得したコンテンツやスクリプトの解析により得られた情報を解析情報データベース４０へ蓄積する。
【００２１】
ブラウザエミュレータ１１は、ブラウザの動作を模擬する装置である。このブラウザエミュレータ１１は、例えば、ハニーネットプロジェクトが提供しているブラウザエミュレータや、オープンソースとして開発されたＨｔｍｌＵｎｉｔやＰｈａｎｔｏｍ  ＪＳが適用できるが、これらに限るものではない。このブラウザエミュレータ１１の詳細は後記する。なお、図１においてブラウザエミュレータ１１は、ブラウザエミュレータマネージャ１０内に構築されるように描かれているが、ブラウザエミュレータマネージャ１０外に構築されてもよい。
【００２２】
脆弱性情報収集装置２０は、パケット転送装置５０を通じて、脆弱性情報掲載ウェブサイト７０から脆弱性情報を収集し、収集した脆弱性情報を脆弱性情報データベース３０に記憶させる。脆弱性情報収集装置２０は、例えば、脆弱性情報掲載ウェブサイト７０がＨＴＭＬで記述されたウェブサイトであれば、例えばオープンソースとして開発されたＨＴＭＬパーサやＸＭＬパーサが適用できる。
【００２３】
脆弱性情報データベース３０は、脆弱性情報収集装置２０がパケット転送装置５０を通じて、脆弱性情報掲載ウェブサイト７０から取得した脆弱性情報を蓄積する。この脆弱性情報データベース３０における情報の保存は、ＲＤＢＭＳ（Relational  DataBase  Management  System）を用いてもよいし、テキスト形式で保存してもよい。この脆弱性情報データベース３０の詳細は後記する。
【００２４】
解析情報データベース４０は、ブラウザエミュレータ１１がアクセスしたウェブサイトのＵＲＬや、当該ウェブサイトから取得したコンテンツの解釈により発生した転送に関する情報等を蓄積する。この解析情報データベース４０における情報の保存は、ＲＤＢＭＳを用いてもよいし、テキスト形式で保存してもよい。この解析情報データベース４０の詳細は後記する。
【００２５】
なお、本実施形態では、ブラウザエミュレータマネージャ１０、ブラウザエミュレータ１１および解析情報データベース４０を同じネットワークに配置しているが、それぞれ別のネットワークに配置してもよい。また、各構成をセキュアに接続するため、既存の暗号技術を適用して通信情報を暗号化したり、各機能が配置されたネットワーク間または各機能間をＶＰＮ（Virtual  Private  Network）で接続したりしてもよい。
【００２６】
次に、図２を用いてブラウザエミュレータマネージャ１０およびブラウザエミュレータ１１を詳細に説明する。図２は、ブラウザエミュレータマネージャの構成例を示すブロック図である。ブラウザエミュレータマネージャ１０は、ブラウザエミュレータ１１、制御部１３を備える。制御部１３は、ブラウザエミュレータマネージャ１０の備えるホストシステム１２上でブラウザエミュレータ１１を動作させる。このホストシステム１２は、例えば、ブラウザエミュレータマネージャ１０が備えるＯＳを用いる。制御部１３の詳細は後記する。
【００２７】
（ブラウザエミュレータ）
次に、ブラウザエミュレータ１１を説明する。ブラウザエミュレータ１１は、クライアント環境模擬部１１ａと、アクセス部１１ｂと、スクリプト動的解析部１１ｃとを備える。
【００２８】
クライアント環境模擬部１１ａは、後述のクライアント環境構成部１３ｄから取得したクライアント環境情報（例えば、ＯＳ、ブラウザ、プラグイン等）を基に、ブラウザエミュレータ１１で模擬するクライアント環境を設定する。
【００２９】
例えば、図３に示すように、ＯＳおよびブラウザの模擬は、ＨＴＴＰヘッダのＵｓｅｒ−Ａｇｅｎｔフィールドに構成したいＯＳ情報、ブラウザ情報を設定し、プラグイン模擬は、ＪａｖａＳｃｒｉｐｔのｎａｖｉｇａｔｏｒオブジェクトに構成したいプラグイン情報を設定することでクライアント環境を模擬する。図３は、ブラウザエミュレータが模擬するクライアント環境の構成関係を説明する図である。
【００３０】
図３の例の場合、クライアント環境としてＷｉｎｄｏｗｓ７（登録商標）のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ  ９．０を使用しており、ブラウザにＡｄｏｂｅ  Ａｃｒｏｂａｔ９．１とＡｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒ  １０．０がインストールされていることを意味する。ただし、クライアント環境は、図３に示す種類、バージョンに限るものではない。
【００３１】
アクセス部１１ｂは、疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行する。例えば、アクセス部１１ｂは、解析対象ウェブサイト６０と、ＨＴＴＰ（Hypertext  Transfer  Protocol）またはＨＴＴＰＳ（Hypertext  Transfer  Protocol  Secure）による通信を行い、当該ＨＴＴＰ通信時にＨＴＴＰヘッダ情報およびＨＴＴＰボディ情報（コンテンツ）を取得する。また取得したコンテンツを解釈する過程で、異なるウェブサイトへ転送された場合に、再帰的に当該転送先ＵＲＬのコンテンツを同様に取得する。このアクセス部１１ｂには、例えば、フリーソフトウェアとして開発されたｃＵＲＬを用いる。
【００３２】
また、アクセス部１１ｂは、ウェブサイトのアクセス結果をアクセスログに記録する。例えば、アクセス部１１ｂは、アクセスしたウェブサイトのＵＲＬや、アクセスした日時をアクセスログに記録する。
【００３３】
スクリプト動的解析部１１ｃは、アクセス部１１ｂによってアクセスされたウェブサイトに含まれるスクリプトを監視してクライアント環境を特定するブラウザフィンガープリンティングを検知し、該ブラウザフィンガープリンティングにより取得されたクライアント環境の情報の種別を特定する。具体的には、スクリプト動的解析部１１ｃは、アクセス部１１ｂが取得したウェブサイトに含まれるスクリプト（ＪａｖａＳｃｒｉｐｔ）を実行する際に、スクリプトの関数呼び出しやプロパティ代入を監視する。この時、関数の引数やプロパティへの代入変数にクライアント環境模擬部１１ａが設定したブラウザやプラグインの種類、バージョンの値が使用されたかどうかを検知する。
【００３４】
例えば、図４に示すコード（ウェブサイトに含まれるスクリプト）は、アクセスするクライアント環境に応じて転送先ＵＲＬを変更する。図４は、クライアント環境に応じて転送先ＵＲＬを変更するコードの例を示す図である。図４のコードは、図３に示した「Adobe  Flash  Player  10.0.0.589」をインストールしたクライアント環境であれば、「http://malicious.example/」へ転送するが、それ以外のクライアント環境は「http://benign.example/」へ転送する。
【００３５】
この時、図４内４行目では、クライアント環境模擬部１１ａが設定した値を参照しており、８行目では、その値に基づき条件分岐する。環境依存攻撃では、ブラウザフィンガープリンティングで取得した情報を何らかの関数を用いて文字列分割したり、文字列判定したりする。
【００３６】
例えば、図４の場合、スクリプト動的解析部１１ｃは、Ｓｔｒｉｎｇオブジェクトのｉｎｃｌｕｄｅ関数を監視することで、ブラウザフィンガープリンティングにより、クライアント環境の情報の種別として「Adobe  Flash」に関する情報が取得されたことを特定する。具体的には、３行目で「navigator.plugins」にAdobe  Flash  Playerがプラグインとしてインストールされていることを確認し、４行目でAdobe  Flash  Playerの情報を変数「flash_description」に格納する。そして、８行目で変数「flash_description」にAdobe  Flash  Playerのバージョン「10.0  r0」が含まれているかどうかをＳｔｒｉｎｇオブジェクトのｉｎｃｌｕｄｅ関数で監視している。
【００３７】
また、スクリプト動的解析部１１ｃは、ブラウザフィンガープリンティングを検知すると同時に、その結果をアクセスログに記録する。例えば、スクリプト動的解析部１１ｃは、ブラウザフィンガープリンティングを取得するウェブサイトのＵＲＬや、取得された情報のクライアント環境情報をアクセスログに記録する。
【００３８】
（制御部）
次に、制御部１３を説明する。制御部１３は、ＵＲＬリスト作成部１３ａと、アクセス指示部１３ｂと、登録処理部１３ｃと、クライアント環境構成部１３ｄと、ログ解析部１３ｅとを備える。
【００３９】
ＵＲＬリスト作成部１３ａは、各ブラウザエミュレータが巡回するウェブサイト（解析対象ウェブサイト６０）のＵＲＬリストである巡回対象ＵＲＬリストを作成する。例えば、ＵＲＬリスト作成部１３ａは、公開されている悪性ウェブサイトのブラックリストに掲載されているウェブサイトのＵＲＬをもとに巡回対象ＵＲＬリストを作成する。
【００４０】
アクセス指示部１３ｂは、各ブラウザエミュレータ１１のアクセス部１１ｂへ巡回対象ＵＲＬリスト（ＵＲＬリスト）に示されるＵＲＬへのアクセスを指示する。
【００４１】
登録処理部１３ｃは、アクセス部１１ｂによってアクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて解析情報データベース４０に登録する。例えば、登録処理部１３ｃは、各ブラウザエミュレータ１１のアクセスログを取得し、解析情報データベース４０に登録する。
【００４２】
クライアント環境構成部１３ｄは、ブラウザエミュレータ１１が模擬するクライアント環境を決定する。例えば、クライアント環境構成部１３ｄは、クライアント環境が有する既知の脆弱性に関する情報を取得し、該脆弱性に関する情報を用いて、脆弱性を有するクライアント環境のリストを作成し、該リストのクライアント環境をそれぞれ設定する。クライアント環境は、図５に示すとおり、単一種類、単一バージョンのＯＳ、単一種類、単一バージョンのブラウザを選択でき、ブラウザのプラグインは複数種類もしくは０種類で、それぞれ単一のバージョンを選択できる。図５は、ブラウザエミュレータが模擬するクライアント環境の構成関係を説明する図である。ただし、ＯＳやブラウザ、プラグインは、図５に示す種類に限るものではない。
【００４３】
クライアント環境構成部１３ｄは、悪性ウェブサイトからの攻撃によるクライアント環境の影響範囲を特定するため、複数のクライアント環境を構成する。しかし、単純にすべての組み合わせを構成すると膨大な数になってしまう。そこで、既知の脆弱性情報や攻撃対象情報を活用し、ウェブサイト解析の試行回数をより少なくするようクライアント環境を構成する。例えば、クライアント環境構成部１３ｄは、脆弱性に関する情報を用いて、同じ脆弱性を有するクライアント環境同士を集約してリストを作成し、該リストのクライアント環境をそれぞれ設定する。
【００４４】
図６に脆弱性情報の例を示す。図６は、集約前の脆弱性情報の一例を示す図である。当該情報は、脆弱性情報データベース３０から取得した脆弱性情報であり、脆弱性情報掲載ウェブサイトから収集した情報である。この脆弱性情報データベース３０については後記する。例えばバージョン1.0.0は、CVE-2016-AAAAの脆弱性を保有していることがわかる。この時、図６の例では、バージョン1.2.0と1.2.1が影響を受けるＣＶＥ番号は同一であるため、クライアント環境はいずれかのバージョンで解析を行えば、当該バージョンが保有するＣＶＥ番号を網羅したと言える。また、CVE-2016-CCCCとCVE-2016-DDDDは、影響を及ぼすバージョン範囲が同一であるため、脆弱性情報を集約できる。
【００４５】
このように、既知の脆弱性情報を活用し、情報の重複を削除することで、クライアント環境に設定するバージョンを絞ることができる（図６中の列を減らす）。また、調査対象の脆弱性が予め決まっている場合（すなわち、調査したい脆弱性やクライアント環境等目的が決まっている場合）は、活用する脆弱性情報を絞ることでさらにウェブサイト解析の試行回数を減らすことができる（図６中の行を減らす）。
【００４６】
図７に図６の脆弱性情報を集約した結果を例示する。図７は、集約した後の脆弱性情報の一例を示す図である。図７に例示するように、図６の脆弱性情報と比較して、解析に使用するバージョンを６つから４つに減らしている。また、CVE-2016-CCCCとCVE-2016-DDDDとは、影響を及ぼすバージョン範囲が同一であるため、一つの項目に集約されている。
【００４７】
ログ解析部１３ｅは、登録処理部１３ｃによって登録された転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する。例えば、ログ解析部１３ｅは、登録処理部１３ｃによって登録されたアクセス先のＵＲＬ（入口ＵＲＬ）が互いに同一である複数のレコードを解析情報データベースから取得し、該複数のレコードのなかから悪性なウェブサイトのＵＲＬを転送先のＵＲＬに含むレコードを特定し、該レコードに対応付けられたクライアント環境の情報と他のレコードのクライアント環境の情報とを比較し、該複数のクライアント環境の情報の差異から悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する。
【００４８】
また、例えば、ログ解析部１３ｅは、スクリプト動的解析部１１ｃによりブラウザフィンガープリンティングにより取得されたクライアント環境の情報の種別が特定された場合に、該クライアント環境の情報の種別について、悪性なウェブサイトのＵＲＬを転送先のＵＲＬに含むレコードに対応付けられたクライアント環境と他のレコードのクライアント環境とを比較し、該複数のクライアント環境の情報の差異から悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する。
【００４９】
具体的には、ログ解析部１３ｅは、解析情報データベース４０に蓄積されたアクセスログを基に、ウェブサイトの解析により得られた転送情報を結合し、解析対象ウェブサイト６０へのアクセスに起因して発生した転送の差異や既知の悪性ＵＲＬ情報との突合結果（例えば、シグネチャマッチング）を出力する。なお、解析情報データベース４０を用いた突合の具体例は後記する。
【００５０】
（脆弱性情報データベース）
図８に、図１における脆弱性情報データベース３０に登録する項目例を示す。図８は、脆弱性情報データベースに記憶された脆弱性情報の一例を示す図である。図８の情報は、脆弱性情報掲載ウェブサイト７０から取得した脆弱性情報を蓄積する脆弱性情報データベース３０の項目例である。
【００５１】
図９、図１０、図１１は、それぞれＯＳ情報、ブラウザ情報、プラグイン情報の一例を示すものであり、図２中のクライアント環境模擬部１１ａに設定するクライアント環境情報として使用される。図９は、脆弱性情報データベースに記憶されたＯＳ情報の一例を示す図である。図１０は、脆弱性情報データベースに記憶されたブラウザ情報の一例を示す図である。図１１は、脆弱性情報データベースに記憶されたプラグイン情報の一例を示す図である。例えば、図８の脆弱性情報における脆弱性ＩＤ「１０２」の「CVE-2016-EEEE」は、プラグインＩＤとして「１０２」、「１０３」が登録されており、Adobe  Flashのバージョン「19.0.0.226」、「19.0.0.207」に影響する脆弱性であることを示している。
【００５２】
図８の情報は、取得先の脆弱性情報掲載ウェブサイト７０によって異なり、記録される項目は図８に示すものに限るものではない。また、図８の情報は、図１における脆弱性情報掲載ウェブサイト７０からの取得を想定しているが、クライアント環境情報が掲載されているウェブサイトであれば、目的に応じて脆弱性情報掲載ウェブサイト７０以外の任意のウェブサイトから情報を取得できるものとする。
【００５３】
（解析情報データベース）
図１２および図１３に、図１における解析情報データベース４０に登録する項目例を示す。図１２は、解析情報データベースに記憶されたアクセスログの一例を示す図である。図１３は、解析情報データベースに記憶された転送情報の一例を示す図である。図１２に例示するアクセスログは、解析対象のウェブサイトＵＲＬとウェブサイト解析に使用したクライアント環境情報（例えば、脆弱性情報データベース３０におけるＯＳ、ブラウザ、プラグインの情報）、アクセスした際のタイムスタンプである。
【００５４】
図１３に例示する転送情報は、アクセスログに記録された解析対象ウェブサイトＵＲＬにアクセスした際に転送されたＵＲＬと、当該ＵＲＬにアクセスした際に取得されたフィンガープリント情報、アクセスした際のタイムスタンプである。なお、図１２のアクセスログと図１３の転送情報とは、互いにＩＤで対応づけられている。
【００５５】
例えば、図１２のＩＤ「１」の内容は、ＵＲＬ「http://a.example/」にクライアント環境として「Win  7,IE  8,PDF  8.1.0」を用いてアクセスしたことを意味する。そして、同様に図１３のＩＤ「１」を参照すると、ＵＲＬ「http://a.example/」へのアクセスに伴い、ＵＲＬ「http://b.example/red.html」、「http://b.example/fp.js」へアクセスしたことを意味する。この時、ＵＲＬ「http://b.example/fp.js」にて、フィンガープリンティングによりAdobe  Readerの情報を取得されたことを意味する。なお、図１２の例では、フィンガープリンティングの情報として「ＰＤＦ」と記憶されている。
【００５６】
一方、図１２のＩＤ「１１」の内容は、ＵＲＬ「http://a.example/」にクライアント環境として「Win  7,IE  8,PDF  9.0.0」を用いてアクセスしたことを意味する。そして、同様に図１３のＩＤ「１１」を参照すると、ＵＲＬ「http://a.example/」へのアクセスに伴い、ＵＲＬ「http://b.example/red.html」、「http://b.example/fp.js」、「http://c.example/mal」へアクセスしたことを意味する。この時、ＵＲＬ「http://b.example/fp.js」にて、フィンガープリンティングによりAdobe  Readerの情報を取得されたことを意味する。
【００５７】
図１２のアクセスＩＤ「１」と「１１」の図１３の転送情報を突合すると、クライアント環境の差が「Adobe  Readerのバージョン」であり、転送情報の差が「http://c.example/mal」であることがわかる。フィンガープリンティングにより、Adobe  Readerの情報が取得されたことからも、Adobe  Readerのバージョンの差異により、転送先ＵＲＬに変化が生じたと推測できる。このように、クライアント環境の違いによって生じる、ウェブサイト解析時に取得した情報の差異を明らかにする。
【００５８】
この取得情報の差異を用いると、差異が生じる原因となったクライアント環境を特定できるとともに、どのバージョンによって転送先ＵＲＬが変化するか特定できる。また、既知の悪性ＵＲＬ情報を用いてドライブバイダウンロード攻撃を検知することで、例えば、「http://c.example/mal」が悪性ＵＲＬであった場合に、「PDF  8.1.0」は対象ではなく、「PDF  9.0.0」が対象の脆弱性（ＣＶＥ）が悪用されたことを図１２のアクセスログ、図１３の転送情報より推測できる。
【００５９】
このように、悪性ＵＲＬの検知により悪性ＵＲＬを含むレコードを特定し、当該レコードのクライアント環境情報に基づき、環境依存攻撃の対象範囲を特定することができる。なお、図１２および図１３に示した項目例や項目内容は、ウェブサイト解析時に使用したクライアント環境に依存して解析結果の変化を特定する上で必要な情報を取得するものとし、図１２および図１３に示した項目例や項目内容に限るものではない。
【００６０】
（処理手順）
次に、図１４を用いて、ブラウザエミュレータ１１によるウェブサイト解析の処理手順の例を説明する。図１４は、ブラウザエミュレータによるウェブサイト解析の処理手順の例を示すフローチャートである。
【００６１】
まず、ＵＲＬリスト作成部１３ａは、巡回対象ＵＲＬリストを作成する（ステップＳ１）。例えば、ＵＲＬリスト作成部１３ａは、公開されている悪性ウェブサイトのブラックリストや検索エンジンで収集できるウェブサイト等をもとに巡回対象ＵＲＬリストを作成する。
【００６２】
そして、クライアント環境構成部１３ｄは、脆弱性情報データベース３０から取得した脆弱性情報に基づき、使用するＯＳやブラウザ、プラグイン情報を取得し、クライアント環境情報リストを作成する（ステップＳ２）。このクライアント環境情報リストの作成の詳細は後記する。
【００６３】
続いて、クライアント環境模擬部１１ａは、作成したクライアント環境情報リストに従い、ブラウザエミュレータ１１が模擬するクライアント環境情報を設定する（ステップＳ３）。
【００６４】
そして、アクセス指示部１３ｂは、ブラウザエミュレータ１１に巡回対象ＵＲＬリストのＵＲＬを入力、ブラウザエミュレータ１１はアクセス部１１ｂで入力されたＵＲＬにアクセスし、当該入力されたＵＲＬおよびブラウザエミュレータ１１で模擬したクライアント環境情報をアクセスログとして出力する（ステップＳ４）。アクセス部１１ｂは、ブラウザの動作に基づきウェブサイトのコンテンツ（例えば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔ）を解析する（ステップＳ５）。また、巡回対象ＵＲＬへのアクセスにより転送されたウェブサイトについても、同様にコンテンツを取得し、解析を実施する。このウェブサイト挙動解析の詳細は後記する。
【００６５】
なお、ステップＳ４においてアクセス指示部１３ｂは、１つのブラウザエミュレータ１１に複数ＵＲＬへアクセスさせてもよいし、複数のブラウザエミュレータ１１にそれぞれ異なるＵＲＬへアクセスさせるようにしてもよい。ステップＳ５の処理中に出力されたアクセスログおよび転送情報は、登録処理部１３ｃにて整形され、解析情報データベース４０に蓄積される（ステップＳ６）。
【００６６】
この時、ブラウザエミュレータ１１に設定されたクライアント環境情報と出力したログとは一意に関連付けられるよう管理され、入口ＵＲＬとしてアクセスしたＵＲＬとクライアント環境情報を図１２に例示したアクセスログとして、巡回の結果アクセスしたＵＲＬと各ＵＲＬにおけるブラウザフィンガープリンティング情報を図１３に例示した転送情報として、解析情報データベース４０へそれぞれ蓄積する。
【００６７】
そして、巡回対象ＵＲＬリストに次の巡回ＵＲＬが存在すれば（ステップＳ７でＹｅｓ）、ステップＳ４の処理へ戻る。一方、巡回対象ＵＲＬリストに次の巡回ＵＲＬが存在しなければ（ステップＳ７でＮｏ）、ステップＳ８の処理へ進む。
【００６８】
ステップＳ８において、クライアント環境情報リストに次のクライアント環境情報が存在すれば（ステップＳ８でＹｅｓ）、ステップＳ３の処理へ戻る。一方、クライアント環境情報リストに次のクライアント環境情報が存在しなければ（ステップＳ８でＮｏ）、処理を終了する。
【００６９】
上記のようにして、解析情報データベース４０にデータが蓄積されると、ログ解析部１３ｅは、アクセスログおよび転送情報を解析し、例えば、同一ＵＲＬにおける転送情報に差異を検知し、アクセスしたクライアント環境の差異を特定するとともに、悪用された脆弱性や影響のあるクライアント環境を特定する。
【００７０】
次に、図１５を用いて、上記のステップ２におけるクライアント環境情報リストの作成の処理手順の例を説明する。図１５は、クライアント環境情報作成の処理手順の例を示すフローチャートである。
【００７１】
まず、ブラウザエミュレータ１１は、任意のクライアント環境を模擬し（ステップＳ９）、ステップＳ１で取得した巡回対象ＵＲＬリストに含まれるＵＲＬにアクセスする（ステップＳ１０）。
【００７２】
そして、ステップＳ５の処理と同様に、アクセス部１１ｂは、ブラウザの動作に基づきウェブサイトのコンテンツを解析し、アクセスログおよび転送情報を取得する（ステップＳ１１）。
【００７３】
続いて、ステップＳ１２において、巡回対象ＵＲＬリストに次の巡回ＵＲＬが存在すれば（ステップＳ１２でＹｅｓ）、ステップＳ１０の処理へ戻る。一方、巡回対象ＵＲＬリストに次の巡回ＵＲＬが存在しなければ（ステップＳ１２でＮｏ）、ステップＳ１３の処理へ進む。
【００７４】
次に、クライアント環境構成部１３ｄは、予め定めた解析対象情報やステップＳ１１で得たウェブサイト解析結果を基に脆弱性情報を脆弱性情報データベースから取得する（ステップＳ１３）。具体的には、解析したい脆弱性やクライアント環境を予め定めることで、脆弱性情報データベース３０から取得するデータを削減したり、ステップＳ１１で得た転送情報を基にフィンガープリンティング対象となるクライアント環境に絞り、脆弱性情報データベース３０から取得するデータを削減したりする。ただし、解析対象情報やウェブサイト解析結果を基に脆弱性情報を取得せずに、すべての脆弱性情報を対象としてもよい。したがって、この場合、ステップＳ９〜Ｓ１２の処理を省略してもよい。
【００７５】
ステップＳ１３で取得した脆弱性情報を基に、行を脆弱性情報、列をクライアント環境のバージョン値とする図６Ａに示すような行列表（マトリックス）を作成する（ステップＳ１４）。
【００７６】
ステップＳ１４で作成した行列表の内、クライアント環境の情報を示す列の内容に重複が存在した場合、当該重複を集約（削除）する（ステップＳ１５）。なお、ステップＳ１５で作成した行列表の内、脆弱性情報を示す行の内容に重複が存在した場合、当該重複を集約（削除）してもよく、その場合、例えば図７に示すような表となる。
【００７７】
ステップＳ１５で重複を集約した行列表から、クライアント環境のバージョンをそれぞれ列から取得し、集約されたクライアント環境のバージョン値の内、最も古いバージョン値を用いてクライアント環境情報リストを構成する（ステップＳ１６）。例えば、図７の場合、ブラウザのバージョン値「1.0.0、1.1.0、1.2.0、1.3.0」がリストに挙げられ、バージョン値「1.0.0、1.1.0、1.2.0、1.3.0」の値を用いてクライアント環境情報を構成する。
【００７８】
なお、ステップＳ１６において、集約されたクライアント環境のバージョン値の内、最も古いバージョン値を用いてクライアント環境情報リストを構成するとしたが、最も新しいバージョン値等、任意のバージョンを取得してもよい。
【００７９】
次に、図１６を用いて、ウェブサイト挙動解析の処理手順の例を説明する。図１６は、ウェブサイト挙動解析の処理手順の例を示すフローチャートである。
【００８０】
まず、クライアント環境模擬部１１ａは、ステップＳ３またはステップＳ９において設定したクライアント環境情報を文字列（クライアント環境情報文字列）として記録する（ステップＳ１７）。
【００８１】
そして、アクセス部１１ｂは、ブラウザ動作に基づきステップＳ４で指定されたＵＲＬにアクセスし、ウェブコンテンツを取得し（ステップＳ１８）、アクセスしたＵＲＬを転送情報として出力する（ステップＳ１９）。
【００８２】
続いて、取得したウェブコンテンツにＪａｖａＳｃｒｉｐｔが含まれている場合（ステップＳ２０でＹｅｓ）に、スクリプト動的解析部１１ｃでＪａｖａＳｃｒｉｐｔを実行し、含まれていない場合（ステップＳ２０でＮｏ）は、ステップＳ２３の処理へ進む。
【００８３】
スクリプト動的解析部１１ｃは、ＪａｖａＳｃｒｉｐｔの実行を監視し、関数引数やプロパティ代入値等にステップＳ１７で記録したクライアント環境情報文字列（フィンガープリンティング情報）が含まれているか確認する。クライアント環境情報文字列が含まれている場合（ステップＳ２１でＹｅｓ）は、当該文字列がクライアント環境のＯＳ、ブラウザ、プラグインのいずれかであることを特定し、当該ＪａｖａＳｃｒｉｐｔを含むＵＲＬとフィンガープリンティング情報を転送情報として出力し（ステップＳ２２）、含まれていない場合（ステップＳ２１でＮｏ）は、ステップＳ２３の処理へ進む。
【００８４】
ステップＳ２３において、コンテンツ内にアクセスしていないＵＲＬを含む場合（ステップＳ２３でＹｅｓ）、つまり、取得したウェブコンテンツを解釈する過程で、異なるウェブサイトへ転送された場合に、ステップＳ１８の処理に戻って、再帰的に当該転送先ＵＲＬのウェブコンテンツを同様に取得し、解析する。また、コンテンツ内にアクセスしていないＵＲＬを含まない場合（ステップＳ２３でＮｏ）、処理を終了する。
【００８５】
次に、図１７を用いて、解析情報を用いた差異検知の処理手順の例を説明する。図１７は、解析情報を用いた差異検知の処理手順の例を示すフローチャートである。
【００８６】
まず、ログ解析部１３ｅは、解析情報データベース４０から入口ＵＲＬとしてアクセスしたアクセスＵＲＬが同一のアクセスログ（以下、レコードＡとする。）を取得する（ステップＳ２４）。図１２の例を用いて説明すると、例えば、ログ解析部１３ｅは、入口ＵＲＬとしてアクセスしたアクセスＵＲＬが同一のアクセスロとして、ＩＤ「１１」のレコードとＩＤ「１１」のレコードを取得する。
【００８７】
ステップＳ２５において、取得したレコードＡが複数の場合（ステップＳ２５でＹｅｓ）、ステップＳ２６の処理へ進み、単一の場合（ステップＳ２５でＮｏ）、処理を終了する。
【００８８】
続いて、ログ解析部１３ｅは、取得したレコードＡのＩＤを基に転送情報（以下、レコードＢとする。）を取得する（ステップＳ２６）。図１２の例を用いて説明すると、例えば、ログ解析部１３ｅは、ＩＤ「１」に対応する３つのレコードとＩＤ「１１」に対応する４つのレコードを取得する。
【００８９】
そして、ログ解析部１３ｅは、取得したレコードＢのアクセスＵＲＬを参照し、例えばシグネチャマッチングにより悪性ＵＲＬを検知する（ステップＳ２７）。なお、シグネチャマッチングではなく、ハニーポット等の攻撃を検知する技術により別途検知した悪性ＵＲＬ情報を用いてもよい。
【００９０】
例えば、ステップＳ２７において、ＩＤ「１１」の「http://c.example/mal」が悪性検知された場合に、レコードＢのＩＤ「１１」から、環境情報「Win  7,  IE  8,  PDF  9.0.0」を取得し、クライアント環境の影響範囲を特定する（ステップＳ２８）。この場合、「http://a.example/」のウェブサイトにおけるクライアント環境の影響範囲の解析結果として、「PDF  8.1.0」は攻撃対象ではなく、「PDF  9.0.0」は攻撃対象であるという結果が得られる。なお、クライアント環境におけるプラグインに起因した環境依存攻撃の解析処理動作例を示したが、プラグイン以外にＯＳやブラウザ等、クライアント環境を対象とし、本実施形態に適用してもよい。
【００９１】
（本実施形態の効果）
本実施形態に係るブラウザエミュレータマネージャ１０は、疑似的に設定された異なるクライアント環境で、複数のウェブサイトへのアクセスをそれぞれ実行する。そして、ブラウザエミュレータマネージャ１０は、アクセスが実行されたアクセス先のＵＲＬと、該アクセス先のＵＲＬから転送された転送先のＵＲＬと、アクセス時のクライアント環境の情報とを対応付けて解析情報データベース４０に登録する。続いて、ブラウザエミュレータマネージャ１０は、登録した転送先のＵＲＬのうち、悪性なウェブサイトのＵＲＬを特定し、該ＵＲＬに対応付けられたクライアント環境の情報に基づいて、悪性なウェブサイトへの転送対象となるクライアント環境の情報を解析する。これにより、悪性ＵＲＬへの転送対象となるクライアント環境を適切に特定することが可能となる。
【００９２】
つまり、本実施形態に係るブラウザエミュレータマネージャ１０は、ドライブバイダウンロード攻撃を仕掛ける悪性ウェブサイトに複数の異なるクライアント環境でアクセスし、クライアント環境ごとの転送情報の差異を検知することで攻撃対象となるクライアント環境範囲を特定できる。
【００９３】
例えば、インシデント対応組織が、既存のシグネチャマッチング手法やアノマリ検知手法等により悪性ウェブサイトを検知した場合に、または悪性ウェブサイトに関する情報を外部から取得した場合に、当該ウェブサイトとの通信を含むデータを別途取得し、当該データを用いた解析で、攻撃対象となるクライアント環境範囲を特定できる。その結果、インシデント対応組織は監視対象の組織内における当該攻撃による影響範囲を特定できるとともに、影響下にあったクライアントにおけるマルウェア感染を早期発見できる。また、これら結果に基づき組織内のクライアント環境アップデートの注意喚起・促進、外部組織への脅威情報の共有が可能となる。
【００９４】
（システム構成等）
なお、上述したシステムは、ブラウザエミュレータ１１を用いて解析対象ウェブサイト６０にアクセスすることとしたが、ブラウザエミュレータ１１以外（例えば、実際のクライアント環境のブラウザ）を用いて解析対象ウェブサイト６０にアクセスしてもよい。
【００９５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９６】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９７】
（プログラム）
また、上記の実施形態で述べたブラウザエミュレータマネージャ１０は、上記の処理を実行するブラウザエミュレータマネージャ１０を所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のブラウザエミュレータマネージャ１０を情報処理装置に実行させることにより、情報処理装置をブラウザエミュレータマネージャ１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）等のスレート端末等がその範疇に含まれる。また、ブラウザエミュレータマネージャ２３を、Ｗｅｂサーバやクラウドとして実装してもよい。
【００９８】
図１８は、解析プログラムを実行するコンピュータ１０００を示す図である。図１８に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００９９】
メモリ１０１０は、図１８に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１８に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図１８に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図１８に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図１８に例示するように、例えばディスプレイ１１３０に接続される。
【０１００】
ここで、図１８に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の解析プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【０１０１】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【０１０２】
なお、解析プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、解析プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１０３】
なお、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０４】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０５】
１、２  ネットワーク
１０  ブラウザエミュレータマネージャ
１１  ブラウザエミュレータ
１２  ホストシステム
１３  制御部
１３ａ  ＵＲＬリスト作成部
１３ｂ  アクセス指示部
１３ｃ  登録処理部
１３ｄ  クライアント環境構成部
１３ｅ  ログ解析部
２０  脆弱性情報収集装置
３０  脆弱性情報データベース
４０  解析情報データベース
５０  パケット転送装置
６０  解析対象ウェブサイト
７０  脆弱性情報掲載ウェブサイト
【図１】
0006527111.tif 000002
【図２】
0006527111.tif 000003
【図３】
0006527111.tif 000004
【図４】
0006527111.tif 000005
【図５】
0006527111.tif 000006
【図６】
0006527111.tif 000007
【図７】
0006527111.tif 000008
【図８】
0006527111.tif 000009
【図９】
0006527111.tif 000010
【図１０】
0006527111.tif 000011
【図１１】
0006527111.tif 000012
【図１２】
0006527111.tif 000013
【図１３】
0006527111.tif 000014
【図１４】
0006527111.tif 000015
【図１５】
0006527111.tif 000016
【図１６】
0006527111.tif 000017
【図１７】
0006527111.tif 000018
【図１８】
0006527111.tif 000019