JP6078617B2 - 配信情報解析装置、配信情報解析方法、配信情報解析プログラム - Google Patents

配信情報解析装置、配信情報解析方法、配信情報解析プログラム Download PDF

Info

Publication number
JP6078617B2
JP6078617B2 JP2015203556A JP2015203556A JP6078617B2 JP 6078617 B2 JP6078617 B2 JP 6078617B2 JP 2015203556 A JP2015203556 A JP 2015203556A JP 2015203556 A JP2015203556 A JP 2015203556A JP 6078617 B2 JP6078617 B2 JP 6078617B2
Authority
JP
Japan
Prior art keywords
information
uri
distribution information
distribution
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015203556A
Other languages
English (en)
Other versions
JP2016006700A (ja
Inventor
真義 重田
真義 重田
康雅 平井
康雅 平井
和典 萩原
和典 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2015203556A priority Critical patent/JP6078617B2/ja
Publication of JP2016006700A publication Critical patent/JP2016006700A/ja
Application granted granted Critical
Publication of JP6078617B2 publication Critical patent/JP6078617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、配信サーバから配信される配信情報を解析する技術に関する。
インターネット等のネットワークを介して、様々な配信情報が配信されている。例えば、配信サーバに付与されたドメイン(例えば、www.aaa.com)の配下に複数階層のURI(Uniform Resource Identifier)(例えば、「http://www.aa.com/index.html」、「http://www.aa.com/aa/aa.html」等)を持ち、自身のドメイン配下のURIを宛先とする配信要求を受信すると、そのURIに対応する配信情報を配信する。特許文献1には、このような配信情報であるウェブページを配信する配信サーバのサーバ名や配信サーバに近いルータ名が、予め定められた不正なものであるか否かに基づいて、そのウェブページが有害情報等を含むか否かを判定することが記載されている。
特開2011−248500号公報
しかしながら、上述の方法では、例えば、サーバ名やルータ名は不正なものではないが、配信サーバが攻撃を受けて改ざんされた配信情報を配信しているようなことの検知は遅れてしまう可能性がある。そこで、このような改ざんが行われたことを、効率良く検知することが望ましい。
本発明は、このような状況に鑑みてなされたもので、配信情報の改ざんを検知する配信情報解析装置、配信情報解析方法、配信情報解析プログラムを提供する。
上述した課題を解決するために、本発明は、配信要求の宛先を示す複数のURIであって、URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部と、URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部と、URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいてURIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部と、URI情報記憶部に記憶されている複数のURIについて、配信情報更新判定部による判定処理と、ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、判定処理の結果と、判定処理を行わせた回数とに基づいて、URIから配信される配信情報の解析を行うか否かを判定する解析実行可否判定部と、解析実行可否判定部によって解析を行うと判定されると、URIから配信される配信情報を取得し、配信情報が予め定められた不正な配信情報であるか否かを判定する解析部と、を備えることを特徴とする配信情報解析装置である
また、本発明は、ヘッダ情報更新判定部が、ヘッダ情報に含まれる定められた複数項目の情報に基づいて判定処理を行う第1のヘッダ情報更新判定部と、複数項目より少ない項目数の情報に基づいて判定処理を行う第2のヘッダ情報更新判定部とを備えることを特徴とする。
また、本発明は、配信情報更新判定部が、URIから配信される配信情報のハッシュ値が、前回取得した配信情報のハッシュ値と一致するか否かを判定することにより、配信情報に更新があったか否かを判定することを特徴とする。
また、本発明は、解析実行可否判定部が、URIから配信される配信情報がテキスト情報である場合は配信情報更新判定部に判定処理を行わせ、URIから配信される配信情報がテキスト情報でない場合はヘッダ情報更新判定部に判定処理を行わせることを特徴とする。
また、本発明は、上述の配信情報解析装置が、解析対象の配信情報を配信するドメインを示す複数のドメイン情報が記憶されているドメイン情報記憶部と、ドメイン情報記憶部に記憶されているドメイン情報を読み出し、ドメイン情報が示すドメインから配信される配信情報のURIを抽出し、抽出したURIをURI情報記憶部に記憶させるURI抽出部と、を備えることを特徴とする。
また、本発明は、解析実行可否判定部が、ドメインから配信される配信情報のURIの数と、URIの階層とに基づいて、配信情報更新判定部とヘッダ情報更新判定部とに判定処理を行わせる回数の上限値を決定することを特徴とする。
また、本発明は、攻撃によって前記配信情報が改ざんされた場合に、改ざん後の配信情報に含まれている可能性が高い文字列である攻撃情報を記憶する攻撃情報記憶部を備え、解析部は、攻撃情報に示される前記文字列を含むか否かに基づいて判定することを特徴とする。
また、本発明は、攻撃によって前記配信情報が改ざんされた場合に、改ざん後の配信情報に含まれている可能性が高い文字列である攻撃情報を記憶する攻撃情報記憶部を備え、前記解析部は、前記攻撃情報に示される前記文字列を含むか否かに基づいて判定することを特徴とする。
また、本発明は、攻撃によって前記配信情報が改ざんされた場合に、改ざん後の配信情報をブラウザに表示した際に起きる可能性が高い前記ブラウザの振る舞いを示す振る舞い情報を記憶する悪性振る舞い記憶部を備え、前記解析部は、前記配信情報に基づく前記ブラウザの動作が前記振る舞い情報に示される動作であるか否かに基づいて判定することを特徴とする。
また、本発明は、配信要求の宛先を示す複数のURIであって、URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部と、URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部と、URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいてURIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部と、を備える配信情報解析装置が、URI情報記憶部に記憶されている複数のURIについて、前記配信情報更新判定部または前記ヘッダ情報更新判定部による判定処理により更新されていないと判定された回数に応じて、配信情報更新判定部による判定処理と、ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、判定処理の結果と、判定処理を行わせた回数とに基づいて、URIから配信される配信情報の解析を行うか否かを判定するステップと、解析を行うと判定すると、URIから配信される配信情報を取得し、配信情報が予め定められた不正な配信情報であるか否かを判定するステップと、を備えることを特徴とする配信情報解析方法である。
また、本発明は、配信要求の宛先を示す複数のURIであって、URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部を備える配信情報解析装置のコンピュータを、URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部、URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいてURIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部、URI情報記憶部に記憶されている複数のURIについて、前記配信情報更新判定部または前記ヘッダ情報更新判定部による判定処理により更新されていないと判定された回数に応じて、配信情報更新判定部による判定処理と、ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、判定処理の結果と、判定処理を行わせた回数とに基づいて、URIから配信される配信情報の解析を行うか否かを判定する解析実行可否判定部、解析実行可否判定部によって解析を行うと判定されると、URIから配信される配信情報を取得し、配信情報が予め定められた不正な配信情報であるか否かを判定する解析部、として機能させるためのプログラムである。
以上説明したように、本発明によれば、配信情報解析装置が、解析対象のURIから配信される配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部と、URIから配信情報のヘッダ情報のみを取得して配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部とを備え、解析対象の複数のURIについて、上記2つの判定処理のいずれかまたは双方を行わせて配信情報の解析を行うか否かを判定し、解析を行うと判定すると、配信情報に更新がなかった期間の長さを示す未更新期間指標値を算出し、未更新期間指標値に基づいて、解析を行うと判定された複数のURIから配信される配信情報を解析する順番を示す優先順位を決定し、優先順位に基づいて、URIから配信される配信情報を取得し、配信情報が予め定められた不正な配信情報であるか否かを判定するようにしたので、配信情報の改ざんを検知することができる。
本発明の一実施形態による通信システムの構成を示すブロック図である。 本発明の一実施形態によるドメイン情報記憶部に記憶されるドメイン情報のデータ例を示す図である。 本発明の一実施形態によるURI情報記憶部に記憶されるURI情報のデータ例を示す図である。 本発明の一実施形態による解析情報記憶部に記憶される解析情報のデータ例を示す図である。 本発明の一実施形態による解析実行時間記憶部に記憶される解析実行時間のデータ例を示す図である。 本発明の一実施形態による攻撃情報記憶部に記憶される攻撃情報のデータ例を示す図である。 本発明の一実施形態による悪性振る舞い記憶部に記憶される振る舞い情報のデータ例を示す図である。 本発明の一実施形態によるシステム運用者情報記憶部に記憶されるシステム運用者情報のデータ例を示す図である。 本発明の一実施形態によるURI抽出処理の動作例を示すフローチャートである。 本発明の一実施形態による事前巡回処理の動作例を示すフローチャートである。 本発明の一実施形態の配信情報更新判定部による判定処理の動作例を示すフローチャートである。 本発明の一実施形態の第1のヘッダ情報更新判定部による判定処理の動作例を示すフローチャートである。 本発明の一実施形態の第2のヘッダ情報更新判定部による判定処理の動作例を示すフローチャートである。 本発明の一実施形態による本巡回スケジューリング処理の動作例を示すフローチャートである。 本発明の一実施形態による本巡回処理の動作例を示すフローチャートである。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による通信システム1の構成を示すブロック図である。通信システム1は、複数の配信サーバ100(配信サーバ100−1、配信サーバ100−2、配信サーバ100−3、・・・)と、複数の配信サーバ100にネットワークを介して接続された配信情報解析装置200とを備えている。配信サーバ100−1、配信サーバ100−2、配信サーバ100−3は同様の構成であるので、特に区別をしない場合には配信サーバ100として説明する。図には3台の配信サーバ100を示して説明するが、任意の台数の配信サーバ100がネットワークを介して接続されていてもよい。
配信サーバ100は、定められたドメインに対して複数階層のURIを持ち、自身のドメイン配下のURIを宛先とする配信要求を受信すると、そのURIに対応する配信情報を配信するコンピュータ装置である。例えば、配信サーバ100は、ウェブサーバの機能を備えており、定められたURI毎に、HTML(HyperText Markup Language)ファイルやCSS(Cascading Style Sheets)ファイル等のウェブページや、画像ファイル、音声ファイル、動画ファイル等の配信情報を対応付けて記憶している。配信サーバ100は、そのURIを宛先とする配信要求に応じて、対応付けられた配信情報を配信する。
配信情報解析装置200は、配信サーバ100から配信される配信情報を解析し、配信情報の改ざんを検知するコンピュータ装置である。配信情報解析装置200は、記憶部210と、URI抽出部220と、事前巡回処理部230と、本巡回スケジューリング部240と、本巡回処理部250とを備えている。URI抽出部220は、改ざん検知の監視対象であるURIを抽出する。事前巡回処理部230は、URI抽出部220が抽出したURIから配信される配信情報が更新されたか否かを判定する判定処理を行う。本巡回スケジューリング部240は、配信情報が更新されたと事前巡回処理部230によって判定されたURIについて、その更新が不正なものであるか否かを解析する優先順位を決定する。本巡回処理部250は、本巡回スケジューリング部240が決定した優先順位に基づいて、URIから配信情報が不正なものであるか否かを解析する解析処理を行う。以下、このような配信情報解析装置200の構成について詳細に説明する。
記憶部210には、配信情報解析装置200が動作するために参照する情報が記憶されており、ドメイン情報記憶部211と、URI情報記憶部212と、解析情報記憶部213と、解析実行時間記憶部214と、攻撃情報記憶部215と、悪性振る舞い記憶部216と、システム運用者情報記憶部217とを備えている。
ドメイン情報記憶部211には、解析対象の配信情報を配信するドメインを示す複数のドメイン情報が記憶されている。図2は、ドメイン情報記憶部211に記憶されるドメイン情報のデータ例を示す図である。ドメイン情報記憶部211には、識別情報である項番に、ドメイン情報とURI数とが対応付けられて記憶される。ドメイン情報は、予めシステム運用者によって入力される情報であり、監視対象であるドメインを示す。例えば、システム運用者は、監視対象である配信サーバ100のドメインを予め入力してドメイン情報記憶部211に記憶させておく。URI数は、対応するドメイン配下のURIの数であり、URI抽出部220によって記憶される。
URI情報記憶部212には、監視対象であるドメイン配下の配信要求の宛先を示す複数のURIであって、そのURIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されている。図3は、URI情報記憶部212に記憶されるURI情報のデータ例を示す図である。URI情報には、識別情報である項番毎に、ドメイン情報と、URIと、階層情報と、ページ種別と、基本情報と、未更新カウンタAと、未更新カウンタBと、未更新カウンタCと、未更新カウンタA閾値と、未更新カウンタB閾値と、未更新カウンタC閾値と、パターンと、ハッシュ値と、更新有無と、初巡回フラグとの情報が対応付けられる。
ドメイン情報と、URIと、階層情報と、ページ種別との情報は、URI抽出部220によって取得され、記憶される。ドメイン情報は、対応するURIのドメインである。URIは、対応するドメイン配下のURIである。階層情報は、対応するURIのドメイン配下の階層を示す。例えば、階層情報は、ドメイン直下のトップページの階層を1とし、階層が深くなる毎に1の値が加算された値である。このとき、ドメイン「www.aa.com」における直下であるURI「http://www.aa.com/index.html」の階層は1である。ページ種別は、対応するURIから配信される配信情報のページ種別を示す。
基本情報と、未更新カウンタAと、未更新カウンタBと、未更新カウンタCと、未更新カウンタA閾値と、未更新カウンタB閾値と、未更新カウンタC閾値と、パターンと、ハッシュ値と、更新有無との情報は、事前巡回処理部230によって記憶される。
基本情報は、対応するURIから配信される配信情報のヘッダに含まれる情報であり、ここでは、content−typeと、last−modifiedと、content−lengthと、ステータスコードとの情報が含まれる。content−typeは、配信情報の種別を示す。last−modifiedは、配信情報が更新された日時を示す。content−lengthは、配信情報のデータ量を示す。ステータスコードは、対応するURIを宛先とする配信要求(HTTP(Hypertext Transfer Protocol)リクエスト)に応じた配信サーバ100からのレスポンスの意味を示す。
未更新カウンタA、未更新カウンタB、未更新カウンタCは、事前巡回処理部230によって配信情報の更新があったか否かがループして複数回判定される際に、更新がなかった(未更新であった)と判定された回数を示す変数である。未更新カウンタA閾値と、未更新カウンタB閾値と、未更新カウンタC閾値とは、対応する未更新カウンタの閾値(上限値)を示す値である。パターンは、第2のヘッダ情報更新判定部234による更新判定処理において参照される値である。初期値は0であり、第2のヘッダ情報更新判定部234によって選択された値が記憶される。未更新カウンタとパターンとについては、処理の説明とともに後述する。ハッシュ値は、配信情報更新判定部231によって算出され、記憶される配信情報に基づくハッシュ値である。更新有無は、対応するURIから配信される配信情報に更新があったか否かを示す値である。更新有無が0である場合は更新が無いことを示し、更新有無が1である場合は更新が有ったことを示す。対応するURIからの配信情報を一度も取得していない場合は、更新有無に2の値が対応付けられる。初巡回フラグは、対応するURIからの配信情報を一度も取得していないか否か(初巡回であるか否か)を示す。ここでは、対応するURIからの配信情報を一度も取得していない(初巡回である)場合は1が対応付けられ、対応するURIからの配信情報を既に取得している(初巡回でない)場合は0が対応付けられる。初期値は1である。
解析情報記憶部213には、解析対象のURI毎に行う配信情報の解析処理において参照される解析情報が記憶される。図4は、解析情報記憶部213に記憶される解析情報のデータ例を示す図である。解析情報には、識別情報である項番毎に、ドメイン情報と、URIと、未更新期間指標値と、更新有無と、優先順位と、改ざん有無との情報が対応付けられる。ドメイン情報は、解析対象であるURIのドメインである。URIは、解析対象のURIである。未更新期間指標値は、事前巡回処理部230による判定処理の結果と判定処理が行われた回数とに基づいて算出される値であり、対応するURIから配信される配信情報が更新されていない期間の長さを示す。更新有無は、対応するURIから配信される配信情報に更新があったか否かを示す。優先順位は、対応するURIに対する解析処理を行う順番を示す。例えば、優先順位の値が小さいほど、優先して早い順番で解析処理が行われる。改ざん有無は、対応するURIから配信される配信情報の解析処理を行った結果、配信情報の改ざんが検知されたか否かを示す。例えば、改ざん有無が0であれば改ざんが無いと判定されたことを示し、改ざん有無が1であれば改ざんが有ったと判定されたことを示す。
解析実行時間記憶部214には、本巡回処理部250による配信情報の解析処理が行われた時間を示す。図5は、解析実行時間記憶部214に記憶される解析実行時間のデータ例を示す図である。解析実行時間は、例えば、解析処理が行われた時刻を「YYYY/MM/DD hh:mm:ss」の形式で示す情報である。
攻撃情報記憶部215には、本巡回処理部250による解析処理において参照される攻撃情報が記憶される。図6は、攻撃情報記憶部215に記憶される攻撃情報のデータ例を示す図である。ここでは、識別情報である項番毎に、攻撃情報が対応付けられる。攻撃情報は、攻撃によって配信情報が改ざんされた場合に、改ざん後の配信情報に含まれている可能性が高い文字列である。例えば、不正なウェブページのURI(http://www.xx.com/index.html)や、不正な動作を起こすスクリプト(<script>…)や、攻撃を行ったことを示す文字列(Hack)等である。
悪性振る舞い記憶部216には、本巡回処理部250による解析処理において参照される振る舞い情報が記憶される。図7は、悪性振る舞い記憶部216に記憶される振る舞い情報のデータ例を示す図である。ここでは、識別情報である項番毎に、振る舞い情報が対応付けられる。振る舞い情報は、攻撃によって配信情報が改ざんされた場合に、改ざん後の配信情報をブラウザに表示した際に起きる可能性が高いブラウザの振る舞いを示している。例えば、リダイレクト処理が実行されることや、クライアント端末の脆弱性を突く通信が存在すること等である。クライアント端末の脆弱性を突く通信とは、例えば配信情報に応じてクライアント端末において特定のアプリケーションが起動される際に、そのアプリケーションの脆弱性を突いて起こす不正な振る舞いである。
システム運用者情報記憶部217には、システム運用者の情報が記憶される。図8は、システム運用者情報記憶部217に記憶されるシステム運用者情報のデータ例を示す図である。システム運用者情報には、識別情報である項番毎に、システム運用者の氏名と、そのシステム運用者のメールアドレスとが対応付けられる。
図1に戻り、URI抽出部220は、ドメイン情報記憶部211に記憶されているドメイン情報を読み出し、読み出したドメイン情報が示すドメインから配信される配信情報のURIを抽出し、抽出したURIをURI情報記憶部212に記憶させる。
事前巡回処理部230は、URI情報記憶部212に記憶されたURIを判定対象として、判定対象のURIから配信される配信情報に更新があったか否かを判定し、更新があった場合にはそのURIを解析情報記憶部213に記憶させる事前巡回処理を行う。ここで、更新とは、そのURIの正規の管理者による更新と、第三者による不正な変更(改ざん)とを含む。事前巡回処理部230は、配信情報更新判定部231と、ヘッダ情報更新判定部232と、解析実行可否判定部235と、指標値算出部236とを備えている。
配信情報更新判定部231は、URI情報記憶部212に記憶されている判定対象のURIを読み出し、読み出したURIを宛先として配信要求を送信し、送信した配信要求に応じて宛先から配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う。例えば、配信情報更新判定部231は、判定対象のURIから配信される配信情報のハッシュ値をURI情報記憶部212に記憶させておき、新たに判定対象のURIから取得した配信情報に基づいてハッシュ値を算出し、前回取得した配信情報のハッシュ値と新たに算出したハッシュ値とが一致するか否かを判定することにより、配信情報に更新があったか否かを判定する。配信情報が変更されればハッシュ値も変更するため、このような判定処理により、配信情報に変更があったか否かを精度良く判定できる。ここで、配信情報更新判定部231は、ブラウザを用いることなく、判定対象のURIが示す配信サーバ100と通信を行う。また、配信情報更新判定部231は、予め定められたハッシュアルゴリズムを自身の記憶領域に記憶しているものとする。
ヘッダ情報更新判定部232は、URI情報記憶部212に記憶されている判定対象のURIを読み出し、読み出したURIを宛先としてヘッダ情報のみの配信要求を送信し、送信した配信要求に応じて宛先から配信されるヘッダ情報を取得し、取得したヘッダ情報に基づいて判定対象のURIから配信される配信情報に更新があったか否かを判定する判定処理を行う。ヘッダ情報のみの配信要求とは、例えばHEADメソッドを指定したHTTPリクエストメッセージである。例えば、ヘッダ情報更新判定部232は、判定対象のURIから配信されるヘッダ情報を基本情報としてURI情報記憶部212に記憶させておき、新たに判定対象のURIから取得したヘッダ情報を算出し、前回取得したヘッダ情報と新たに取得したヘッダ情報とが一致するか否かを判定する。これにより、配信情報に更新があったか否かを判定する。ヘッダ情報更新判定部232は、第1のヘッダ情報更新判定部233と、第2のヘッダ情報更新判定部234とを備えている。
第1のヘッダ情報更新判定部233は、ヘッダ情報に含まれる定められた複数項目の基本情報に基づいて判定処理を行う。ここでは、ヘッダ情報に含まれる項目のうち、content−typeと、last−modifiedと、content−lengthと、ステータスコードとの4項目の情報に基づいて判定処理を行う例を説明する。例えば、配信情報の種別が変更されれば、content−typeの値が変更されるため配信情報が変更されたことを検知できる。配信情報が更新されれば、last−modifiedの値が更新されるため配信情報が変更されたことを検知できる。配信情報が変更されてデータ量が変更すれば、content−lengthの値が変更されるため配信情報が変更されたことを検知できる。宛先がリダイレクトされるように変更されれば、ステータスコードが変更されるため配信情報が変更されたことを検知できる。ただし、ここに挙げた他の項目のヘッダ情報を用いて判定処理を行ってもよい。このようにヘッダ情報による判定処理を行えば、配信情報の実体を取得する必要がないため、配信情報更新判定部231が配信情報の実体を取得してハッシュ値を算出することに比べて、より低負荷、高速に判定処理を行うことができる。
第2のヘッダ情報更新判定部234は、第1のヘッダ情報更新判定部233が行う複数項目より少ない項目数の基本情報に基づいて同様の判定処理を行う。例えば、4つの項目からランダムに選択した2つの項目の情報を用いて、判定処理を行う。ヘッダ情報の4つの基本情報の項目から2つの項目を選択するパターン数は、4C2=6パターンである。
そこで、第2のヘッダ情報更新判定部234は、このようなパターンをランダムに選択し、選択したパターンを識別する値を、判定対象のURIに対応付けてURI情報記憶部212に記憶させる。このように、取得する項目数、比較する項目数を少なくすることで、第1のヘッダ情報更新判定部233による判定処理に比べて、より低負荷、高速に判定処理を行うことができる。
このように、本実施形態の事前巡回処理部230は、異なる方法によって判定対象のURIから配信される配信情報が更新されたか否かを判定する判定処理を行うヘッダ情報更新判定部232と、第1のヘッダ情報更新判定部233と、第2のヘッダ情報更新判定部234とを備えている。配信情報更新判定部231による判定処理は第1のヘッダ情報更新判定部233による判定処理よりも精度が高く、第1のヘッダ情報更新判定部233による判定処理は第2のヘッダ情報更新判定部234による判定処理よりも精度が高い。一方、第2のヘッダ情報更新判定部234による判定処理は第1のヘッダ情報更新判定部233による判定処理よりも処理負荷が小さく高速であり、第1のヘッダ情報更新判定部233による判定処理は配信情報更新判定部231による判定処理よりも処理負荷が小さく高速である。
解析実行可否判定部235は、このようなヘッダ情報更新判定部232と、ヘッダ情報更新判定部232と、第2のヘッダ情報更新判定部234との判定処理を、判定対象のURIから配信される配信情報の特性に応じて使い分けることで、配信情報が更新されたか否かを精度良く、効率良く判定する。すなわち、解析実行可否判定部235は、URI情報記憶部212に記憶されている複数のURIについて、配信情報更新判定部231による判定処理と、第1のヘッダ情報更新判定部233による判定処理と、第2のヘッダ情報更新判定部234による判定処理とのいずれかまたは複数を行わせ、その判定処理の結果と、その判定処理を行わせた回数とに基づいて、判定対象のURIから配信される配信情報の解析を行うか否かを判定する。また、解析実行可否判定部235は、配信情報の解析を行うと判定したURIを、解析情報記憶部213に記憶させる。
指標値算出部236は、解析実行可否判定部235によって判定対象のURIから配信される配信情報の解析を行うと判定されると、事前巡回処理部230による判定処理が行われた回数に基づいて、判定対象のURIから配信される配信情報に更新がなかった期間の長さを示す未更新期間指標値を算出する。指標値算出部236は、算出した未更新期間指標値を、解析情報記憶部213に記憶させる。
本巡回スケジューリング部240は、解析情報記憶部213に記憶されたURIについて、本巡回処理部250が解析処理を行う順序を決定する。本巡回スケジューリング部240は、優先順位決定部241を備えている。
優先順位決定部241は、指標値算出部236によって算出された未更新期間指標値に基づいて、解析を行うと判定された複数のURIから配信される配信情報を解析する順番を示す優先順位を決定する。例えば、優先順位決定部241は、未更新期間指標値が示す期間が長いほど、優先順位を上げる。
本巡回処理部250は、第1の解析部251と、第2の解析部252と、ブラウザ253と、解析制御部254とを備えている。
第1の解析部251は、優先順位決定部241によって決定された優先順位に基づいて、解析対象のURIから配信される配信情報を取得し、その配信情報が予め定められた不正な配信情報であるか否かを判定する。具体的には、第1の解析部251は、ブラウザ253を用いることなく、解析対象のURIを宛先とした配信要求を配信サーバ100に送信し、送信した配信要求に応じて配信サーバ100から配信される配信情報を受信する。
また、第1の解析部251は、攻撃情報記憶部215に記憶されている攻撃情報を読み出し、読み出した攻撃情報に示される文字列が、配信サーバ100から受信した配信情報に含まれるか否かを判定する。第1の解析部251は、攻撃情報に示される文字列が、配信サーバ100から受信した配信情報に含まれると判定した場合、その配信情報は不正な配信情報であると判定する。一方、第1の解析部251は、攻撃情報に示される文字列が、配信サーバ100から受信した配信情報に含まれないと判定した場合、その配信情報は不正な配信情報でないと判定する。
第2の解析部252は、優先順位決定部241によって決定された優先順位に基づいて、解析対象のURIから配信される配信情報を取得し、その配信情報が予め定められた不正な配信情報であるか否かを判定する。具体的には、第2の解析部252は、ブラウザ253を動作させ、ブラウザ253に判定対象のURIを宛先とした配信要求を配信サーバ100に送信させ、送信させた配信要求に応じて配信サーバ100から配信される配信情報をブラウザ253に読み込ませる。第2の解析部252は、悪性振る舞い記憶部216に記憶されている振る舞い情報を読み出し、受信した配信情報に基づくブラウザ253の動作が、悪性振る舞い記憶部216から読み出した振る舞い情報に一致するか否かを判定する。第2の解析部252は、受信した配信情報に基づくブラウザ253の動作が、悪性振る舞い記憶部216から読み出した振る舞い情報に一致すると判定すると、その配信情報は不正な配信情報であると判定する。一方、第2の解析部252は、受信した配信情報に基づくブラウザ253の動作が、悪性振る舞い記憶部216から読み出した振る舞い情報に一致しないと判定すると、その配信情報は不正な配信情報でないと判定する。
ブラウザ253は、入力されるURIを宛先として配信要求を送信し、送信した配信要求に応じて配信される配信情報を受信して出力するウェブブラウザである。
解析制御部254は、上述したような第1の解析部251と、第2の解析部252との解析処理を、解析対象のURIから配信される配信情報の特性に応じて使い分けることで、配信情報が改ざんされたか否かを効率良く判定する。解析制御部254は、配信情報が改ざんされたと判定すると、システム運用者情報記憶部217に記憶されているシステム運用者メールアドレスを読み出し、読み出したシステム運用者メールアドレスを宛先として、そのURIからの配信情報が改ざんされた可能性があることを通知するメールを送信する。
次に、図面を参照して、本実施形態による配信情報解析装置200の動作例を詳細に説明する。図9は、本実施形態の配信サーバ100によるURI抽出処理の動作例を示すフローチャートである。
URI抽出部220は、ドメイン情報記憶部211に記憶されているドメイン情報に対応付けられたURIを読み出し(ステップS1)、読み出したURIを宛先として配信サーバ100に配信要求を送信し、そのドメイン配下のURIの階層情報、ページ種別、配信情報に埋め込まれているURIを取得する(ステップS2)。例えば、URI抽出部220は、配信サーバ100に送信した配信要求に応じてHTMLファイルが配信されると、そのHTMLファイルを解析し、HTMLファイルに埋め込まれているAタグ等のリンクを検出し、リンク先のURIを検出する。
URI抽出部220は、検出したリンク先のURIが、そのドメイン内のURIであれば(ステップS3:YES)、そのURIと、ドメイン情報と、階層情報と、ページ種別とをURI情報記憶部212に記憶させる(ステップS4)。初巡回フラグには初期値である1を対応付け、他の項目はこの時点では記憶させない。また、URI抽出部220は、そのドメインに対応付けられてドメイン情報記憶部211に記憶されているURI数に1を加算し、カウントアップする(ステップS5)。事前巡回処理部230は、ステップS2において取得したURIの全てについて処理を行っていなければ、(ステップS6:NO)、ステップS3に戻る。全てのURIについて処理を行うと(ステップS6:YES)、URI抽出部220は、全てのドメイン情報について処理を行っていなければ(ステップS7:NO)、ステップS1に戻る。全てのドメイン情報について処理を行うと(ステップS7:YES)、処理を終了する。ステップS3において、URI抽出部220は、検出したリンク先のURIが、そのドメイン内のURIでなければ(ステップS3:NO)、そのURIをURI情報記憶部212に記憶させずに、ステップS7に進む。ドメイン内のみのURIを判定対象とし、外部のサイトの改ざん検知は行わないためである。ただし、URI抽出処理において、外部のリンク先についても判定対象のURIとしてURI情報記憶部212に記憶させ、改ざん検知を行うこともできる。
図10は、本実施形態の配信サーバ100による事前巡回処理の動作例を示すフローチャートである。
事前巡回処理部230の解析実行可否判定部235は、URI情報記憶部212に記憶されている判定対象のURI情報を読み出す(ステップS10)。解析実行可否判定部235は、読み出したURI情報の初巡回フラグが0であるか否かを判定する(ステップS11)。解析実行可否判定部235は、URI情報の初巡回フラグが0であると判定すると(ステップS11:YES)、そのドメインに対応付けられてドメイン情報記憶部211に記憶されているURI数を読み出し、読み出したURI数がα以上であるか否かを判定する(ステップS12)。αは正の整数であり、例えば、1000である。解析実行可否判定部235は、自身の記憶領域に予めαの値を記憶させておく。
解析実行可否判定部235は、ドメインに対応付けられたURI数がα以上であると判定すると(ステップS12:YES)、ステップS13に進む。一方、ドメインに対応付けられたURI数がα以上でないと判定すると(ステップS12:NO)、判定対象のURIに対応する階層情報がβ未満であるか否かを判定する(ステップS14)。βは正の整数であり、例えば、3である。解析実行可否判定部235は、自身の記憶領域に予めβの値を記憶させておく。解析実行可否判定部235は、判定対象のURIに対応する階層情報がβ未満であると判定すると(ステップS14:YES)、その判定対象のURIに対応付けられたURI情報記憶部212におけるURI情報の未更新カウンタ閾値に、高めの値を記憶させる(ステップS13)。高めの値とは、ステップS15において記憶させる値よりも相対的に高いことをいい、例えば更新カウンタA閾値に5、更新カウンタB閾値に8、更新カウンタC閾値に5の値を記憶させる。
ステップS14において、解析実行可否判定部235が、判定対象のURIに対応する階層情報はβ未満でないと判定すると(ステップS14:NO)、その判定対象のURIに対応付けられたURI情報記憶部212におけるURI情報の未更新カウンタ閾値に、低めの値を記憶させる(ステップS15)。低めの値とは、例えば、ステップS13において記憶させる値よりも相対的に低いことをいい、例えば更新カウンタA閾値に3、更新カウンタB閾値に5、更新カウンタC閾値に3の値を記憶させる。このように、解析実行可否判定部235は、判定対象のドメインから配信される配信情報のURI数と、そのドメインにおける判定対象のURIの階層とに基づいて、配信情報更新判定部231とヘッダ情報更新判定部232とに判定処理を行わせる回数の上限値である更新カウンタ閾値を決定する。
ここで、ドメイン配下のURI数が多いほど、そのドメインに対するアクセス数は多いと考えられる。また、ドメイン内における階層が浅いほど、そのURIに対するアクセス数は多いと考えられる。アクセス数が多いと、攻撃の対象として選ばれやすく、攻撃者により改ざんされる可能性が高いと考えられる。一方、更新カウンタ閾値が高いほど、配信情報更新判定部231とヘッダ情報更新判定部232とによる判定処理は多く行われる。
そこで、ドメイン配下のURI数が多ければ、あるいはドメイン内における階層が浅ければ、相対的に高い値の更新カウンタ閾値を設定することで、改ざんされやすいURIについて、精度の高い判定処理を行わせることができる。
次に、解析実行可否判定部235は、判定対象のURIに対応付けられたページ種別が「html/css」であるか否かを判定する(ステップS16)。解析実行可否判定部235が、判定対象のURIに対応付けられたページ種別は「html/css」であると判定すると(ステップS16:YES)、判定対象のURIに対応付けられた更新カウンタAが更新カウンタA閾値未満であるか否かを判定する(ステップS17)。解析実行可否判定部235が、判定対象のURIに対応付けられた更新カウンタAは更新カウンタA閾値未満であると判定すると(ステップS17:YES)、判定対象のURIについて配信情報更新判定部231に判定処理を行わせる(ステップS18)。
ステップS16において、解析実行可否判定部235が、判定対象のURIに対応付けられたページ種別は「html/css」でないと判定した場合(ステップS16:NO)、および、ステップS17において、解析実行可否判定部235が、判定対象のURIに対応付けられた更新カウンタAは更新カウンタA閾値未満でないと判定した場合(ステップS17:NO)、判定対象のURIに対応付けられた更新カウンタBが更新カウンタB閾値未満であるか否かを判定する(ステップS19)。解析実行可否判定部235が、判定対象のURIに対応付けられた更新カウンタBは更新カウンタB閾値未満であると判定すると(ステップS19:YES)、判定対象のURIについて第1のヘッダ情報更新判定部233に判定処理を行わせる(ステップS20)。
ステップS19において、解析実行可否判定部235が、判定対象のURIに対応付けられた更新カウンタBは更新カウンタB閾値未満でないと判定すると(ステップS19:NO)、判定対象のURIについて第2のヘッダ情報更新判定部234に判定処理を行わせる(ステップS21)。このように、解析実行可否判定部235は、判定対象のURIから配信される配信情報のページ種別が「html/css」でありテキスト情報である場合は配信情報更新判定部231に判定処理を行わせ、テキスト情報でない場合はヘッダ情報更新判定部232に判定処理を行わせる。
上述のように、配信情報更新判定部231による判定処理の処理負荷は、ヘッダ情報更新判定部232による判定処理の処理負荷よりも大きい。ページ種別が「html/css」でない配信情報は、例えば文書ファイル、動画ファイル、音声ファイル等の、テキストよりも容量の大きいデータであると推定できるため、ハッシュ値の算出処理等を含む配信情報更新判定部231による判定処理を行うと、過大な負荷がかかることがあると考えられる。そこで、本実施形態では、ページ種別が「html/css」であり、データ容量が相対的に小さいと推定できるテキスト情報である場合にのみ、配信情報更新判定部231による判定処理を行わせる。これにより、処理負荷を低減し、効率良く判定処理を行うことができる。
ここで、ステップS18における配信情報更新判定部231の判定処理と、ステップS20における第1のヘッダ情報更新判定部233の判定処理と、ステップS21における第2のヘッダ情報更新判定部234の判定処理とについてそれぞれ詳細に説明する。
図11は、本実施形態の配信情報更新判定部231による判定処理の動作例を示すフローチャートである。
配信情報更新判定部231は、URI情報記憶部212に記憶されている判定対象のURIを読み出し、読み出したURIを宛先として配信要求を送信し、送信した配信要求に応じて宛先から配信される配信情報を取得する。配信情報更新判定部231は、取得した配信情報に基づいてハッシュ値を算出する。また、配信情報更新判定部231は、判定対象のURIに対応付けられてURI情報記憶部212に記憶されているハッシュ値を読み出し、読み出したハッシュ値と、算出したハッシュ値とが一致しているか否かを判定する(ステップS30)。
配信情報更新判定部231は、ハッシュ値が一致していると判定すれば(ステップS31:YES)、その判定対象のURIに対応する更新有無に0を対応付け、更新カウンタAの値に1を加算して、URI情報記憶部212に記憶させる(ステップS32)。ステップS31において、配信情報更新判定部231が、ハッシュ値は一致していないと判定すれば(ステップS31:NO)、その判定対象のURIに対応する更新有無に1を対応付けて、URI情報記憶部212に記憶させる。また、その判定対象のURIと更新有無が1である値とを対応付けて、解析情報記憶部213に記憶させ(ステップS33)、処理を終了する。このように解析情報記憶部213にURIが記憶されることにより、本巡回処理部250によって本巡回処理が行われる。
図12は、本実施形態の第1のヘッダ情報更新判定部233による判定処理の動作例を示すフローチャートである。
第1のヘッダ情報更新判定部233は、URI情報記憶部212に記憶されている判定対象のURIを読み出し、読み出したURIを宛先としてヘッダ情報のみの配信要求を送信し、送信した配信要求に応じて宛先から配信されるヘッダ情報を取得する。第1のヘッダ情報更新判定部233は、判定対象のURIに対応付けられてURI情報記憶部212に記憶されている基本情報の4項目を読み出し、読み出した基本情報と、配信されたヘッダ情報とが一致しているか否かを判定する(ステップS40)。
第1のヘッダ情報更新判定部233は、基本情報が一致していると判定すれば(ステップS41:YES)、その判定対象のURIに対応する更新有無に0を対応付け、更新カウンタBの値に1を加算して、URI情報記憶部212に記憶させる(ステップS42)。ステップS41において、第1のヘッダ情報更新判定部233が、基本情報は一致していないと判定すれば(ステップS41:NO)、その判定対象のURIに対応する更新有無に1を対応付けて、URI情報記憶部212に記憶させる。また、その判定対象のURIと更新有無が1である値とを対応付けて、解析情報記憶部213に記憶させて(ステップS43)、処理を終了する。
図13は、本実施形態の第2のヘッダ情報更新判定部234による判定処理の動作例を示すフローチャートである。
第2のヘッダ情報更新判定部234は、URI情報記憶部212に記憶されている判定対象のURI情報を読み出し、パターンの値が0であるか否かを判定する(ステップS50)。パターンの値が0であれば(ステップS50:YES)、比較するヘッダ情報のパターンをランダムに選択し、選択したパターンを識別する値をURI情報記憶部212に記憶させる(ステップS51)。ステップS50において、パターンの値が0でなければ(ステップS50:NO)、パターンに示される2項目のヘッダ情報を、判定対象のURIから取得する。第2のヘッダ情報更新判定部234は、判定対象のURIに対応付けられてURI情報記憶部212に記憶されている基本情報のパターンに応じた2項目を読み出し、読み出した2項目の基本情報と、配信されたヘッダ情報の2項目とが一致しているか否かを判定する(ステップS52)。
第2のヘッダ情報更新判定部234は、2項目の基本情報が一致していると判定すると(ステップS53:YES)、第2のヘッダ情報更新判定部234は、判定対象のURIに対応付けられてURI情報記憶部212に記憶されている更新カウンタCの値を読み出し、更新カウンタCの値が更新カウンタC閾値の値未満であるか否かを判定する(ステップS54)。第2のヘッダ情報更新判定部234は、更新カウンタCの値が更新カウンタC閾値の値未満であると判定すると(ステップS54:YES)、その判定対象のURIに対応する更新有無に0を対応付け、更新カウンタCの値に1を加算して、URI情報記憶部212に記憶させる(ステップS55)。
ステップS54において、第2のヘッダ情報更新判定部234が、更新カウンタCの値は更新カウンタC閾値の値未満でないと判定すると(ステップS54:NO)、その判定対象のURIに対応する更新有無に0を対応付けてURI情報記憶部212に記憶させるとともに、その判定対象のURIを解析情報記憶部213に記憶させる(ステップS56)。これにより、判定対象のURIに対して、本巡回処理部250によって本巡回処理が行われる。すなわち、更新カウンタCが閾値以上になった場合は、長期間の間、判定対象のURIから配信される配信情報が更新されておらず、本巡回処理部250による本巡回処理が長期間の間、行われていないものである。ただし、第2のヘッダ情報更新判定部234による判定処理は、ヘッダ情報の2項目のみによる判定であるため、配信情報が更新されているにも関わらず、その2項目の値が変更していないという場合が考えられる。そこで、ここでは、更新カウンタCが閾値以上になった場合は、本巡回処理部250による本巡回処理を行わせるようにしている。
ステップS53において、第2のヘッダ情報更新判定部234が、2項目の基本情報は一致していないと判定すると(ステップS53:NO)、その判定対象のURIに対応する更新有無に1を対応付けて、URI情報記憶部212に記憶させる。また、その判定対象のURIと更新有無が1である値とを対応付けて、解析情報記憶部213に記憶させて(ステップS57)、処理を終了する。
図10に戻り、ステップS18、ステップS20、ステップS21のいずれかによる判定処理が行われると、指標値算出部236は、事前巡回処理部230による判定処理が行われた回数を示す更新カウンタの値に基づいて、判定対象のURIから配信される配信情報に更新がなかった期間の長さを示す未更新期間指標値を算出する。具体的には、指標値算出部236は、判定対象のURIに対応付けられた更新カウンタの値に基づいて、(更新カウンタAの値×τA+更新カウンタBの値×τB+更新カウンタCの値×τC)の値を未更新期間指標値として算出する。ここで、τA、τB、τCは係数であり、指標値算出部236が自身の記憶領域に予め記憶しておく。τAとτBとτCとは、τA>τB>τCの関係になる値であり、例えば、τA=1.0、τB=0.8、τC=0.5である。
ここで、更新カウンタAは配信情報更新判定部231による判定処理によって未更新であると判定された回数を示す値である。更新カウンタBは第1のヘッダ情報更新判定部233による判定処理によって未更新であると判定された回数を示す値である。更新カウンタCは第2のヘッダ情報更新判定部234による判定処理によって未更新であると判定された回数を示す値である。配信情報更新判定部231による判定処理は第1のヘッダ情報更新判定部233による判定処理よりも精度が高く、第1のヘッダ情報更新判定部233による判定処理は第2のヘッダ情報更新判定部234による判定処理よりも精度が高いものであるから、更新カウンタAの信頼度は更新カウンタBよりも高く、更新カウンタBの信頼度は更新カウンタCよりも高いと考えられる。そこで、このような信頼度に応じた係数(τA、τB、τC)を掛けることにより、より妥当な未更新期間指標値を算出することができる。指標値算出部236は、このように算出した未更新期間指標値を、判定対象のURIに対応付けて解析情報記憶部213に記憶させる(ステップS22)。
解析実行可否判定部235は、判定対象のURIに対応付けられてURI情報記憶部212に記憶されている更新有無の値が1であれば(ステップS23:YES)、その判定対象のURIに対応する更新カウンタAと、更新カウンタBと、更新カウンタCとの値に0を記憶させてリセットし(ステップS24)、ステップS10に戻り、他の判定対象のURIについて同様の処理を行う。この場合は、判定対象のURIが解析情報記憶部213に記憶された場合だからである。ステップS23において、判定対象のURIに対応付けられてURI情報記憶部212に記憶されている更新有無の値が1でなければ(ステップS23:NO)、更新カウンタCが更新カウンタC閾値以上であるか否か(更新カウンタCと一致するか否か)を判定する(ステップS25)。更新カウンタCが更新カウンタC閾値以上であれば(ステップS25:YES)、ステップS24に進み、更新カウンタをリセットする。この場合も、判定対象のURIが解析情報記憶部213に記憶された場合だからである。
ステップS25において、解析実行可否判定部235は、更新カウンタCが更新カウンタC閾値以上でないと判定すると(ステップS25:NO)、ステップS10に戻る。ステップS11において、解析実行可否判定部235が、URI情報の初巡回フラグは0でないと判定すると(ステップS11:NO)、その判定対象のURIに対応する更新有無に2を対応付け、初回フラグに0を対応付けて、URI情報記憶部212に記憶させる。
また、その判定対象のURIと更新有無が2である値とを対応付けて解析情報記憶部213に記憶させて(ステップS26)、ステップS10に戻る。
図14は、本実施形態の配信サーバ100による本巡回スケジューリング処理の動作例を示すフローチャートである。
本巡回スケジューリング部240の優先順位決定部241は、解析情報記憶部213に記憶されている解析実行時間を読み出し、現在時刻が読み出した解析実行時間からX時間経過しているか否かを判定する(ステップS60)。ここで、Xは正の数であり、例えば1である。優先順位決定部241は、自身の記憶領域にXの値を予め記憶しておく。
優先順位決定部241が、現在時刻は解析実行時間からX時間経過していると判定すると(ステップS60:YES)、解析情報記憶部213に記憶されている複数のURIを読み出し、URIに対応付けられた更新有無の値が2、0、1の順に並ぶようにソートする(ステップS61)。ここで、更新有無の値が2であるURIは、一度も本巡回処理部250による解析処理を行っていないものであるため、本巡回処理部250による解析処理を行っている他のURIよりも優先順位を高くする。更新有無の値が0であるURIは、本巡回処理部250による解析処理を長期間行っていないものであるため、更新有無の値が1であるURIよりも優先順位を高くする。そして、更新有無の値が同じであるURI同士で、未更新期間指標値が大きい順にソートし、ソートした順番を優先順位として対応付けて解析情報記憶部213に記憶させる(ステップS62)。すなわち、本巡回処理部250による解析処理を長期間行っていないものほど、優先順位を高くする。ステップS60において、優先順位決定部241が、現在時刻は解析実行時間からX時間経過していないと判定すれば(ステップS60:NO)、優先順位の判定処理を行わずに処理を終了する。
図15は、本実施形態の配信サーバ100による本巡回処理の動作例を示すフローチャートである。
解析制御部254は、解析情報記憶部213から、優先順位に応じて解析対象のURIを読み出す(ステップS70)。そして、解析制御部254は、解析対象のURIに対応付けられたページ種別が「html/css」であるか否かを判定する(ステップS71)。解析制御部254は、解析対象のURIに対応付けられたページ種別が「html/css」であると判定すると(ステップS71:YES)、そのドメインのURI数がα以上であるか否かを判定する(ステップS72)。αは正の整数であり、例えば、1000である。解析制御部254は、自身の記憶領域に予めαの値を記憶させておく。
解析制御部254が、解析対象のドメインのURI数がα以上であると判定すると(ステップS72:YES)、第1の解析部251に解析処理を行わせる。第1の解析部251は、ブラウザ253を用いることなく、解析対象のURIを宛先とした配信要求を配信サーバ100に送信し、送信した配信要求に応じて配信サーバ100から配信される配信情報を受信する。そして、第1の解析部251は、攻撃情報記憶部215に記憶されている攻撃情報を読み出し、読み出した攻撃情報に示される文字列と受信した配信情報とを比較する(ステップS73)。第1の解析部251は、攻撃情報に示される文字列が、配信サーバ100から受信した配信情報に含まれると判定すると(ステップS74:YES)、改ざん有無に1を対応付けて解析情報記憶部213に記憶させる。また、解析制御部254は、システム運用者情報記憶部217に記憶されているメールアドレスを読み出し、読みだしたメールアドレスを宛先として、URIからの配信情報が改ざんされた可能性があることを通知するメールを送信する(ステップS75)。
ステップS74において、第1の解析部251が、攻撃情報に示される文字列は配信サーバ100から受信した配信情報に含まれないと判定すると(ステップS74:NO)、解析対象のURIの改ざん有無に0を対応付けて、解析情報記憶部213に記憶させる(ステップS76)。そして、解析制御部254は、解析対象のURIに対応付けられて解析情報記憶部213に記憶されている更新有無の値が2であれば(ステップS77:YES)、ステップS73において取得した配信情報のハッシュ値を算出し、URI情報記憶部212に記憶させる(ステップS78)。この場合は、解析対象のURIに対する解析処理を初めて行う初巡回の場合であり、URI情報記憶部212にハッシュ値が記憶されていないからである。ステップS77において、解析制御部254が、更新有無の値は2でないと判定すれば(ステップS77:NO)、ステップS70に戻る。
ステップS71において、解析制御部254が、解析対象のURIに対応付けられたページ種別は「html/css」でないと判定した場合(ステップS71:NO)、および、ステップS72において、解析制御部254が、解析対象のドメインのURI数がα以上でないと判定した場合(ステップS72:NO)、解析制御部254は、第2の解析部252に解析処理を行わせる。第2の解析部252は、ブラウザ253を用いて、解析対象のURIを宛先とした配信要求を配信サーバ100に送信し、送信した配信要求に応じて配信サーバ100から配信される配信情報を受信する。そして、第2の解析部252は、悪性振る舞い記憶部216に記憶されている振る舞い情報を読み出し、ブラウザ253の動作と、読み出した振る舞い情報に示される振る舞いとを比較する(ステップS79)。第2の解析部252は、受信した配信情報に基づくブラウザ253の動作が、悪性振る舞い記憶部216から読み出した振る舞い情報に一致すると判定すると(ステップS80:YES)、改ざん有無に1を対応付けて解析情報記憶部213に記憶させる。また、解析制御部254は、システム運用者情報記憶部217に記憶されているメールアドレスを読み出し、読みだしたメールアドレスを宛先として、URIからの配信情報が改ざんされた可能性があることを通知するメールを送信する(ステップS81)。
ステップS80において、第2の解析部252が、受信した配信情報に基づくブラウザ253の動作が、悪性振る舞い記憶部216から読み出した振る舞い情報に一致しないと判定すると(ステップS80:NO)、解析対象のURIの改ざん有無に0を対応付けて、解析情報記憶部213に記憶させる(ステップS82)。そして、解析制御部254は、解析対象のURIに対応付けられて解析情報記憶部213に記憶されている更新有無の値が2であれば(ステップS83:YES)、ステップS79において取得した配信情報のヘッダ情報に含まれる基本情報を、URI情報記憶部212に記憶させる(ステップS84)。この場合は、解析対象のURIに対する解析処理を初めて行う場合であり、URI情報記憶部212に基本情報が記憶されていないからである。ステップS83において、解析制御部254が、更新有無の値は2でないと判定すれば(ステップS83:NO)、ステップS70に戻る。
以上説明したように、本実施形態によれば、まず、配信情報更新判定部231と第1のヘッダ情報更新判定部233と第2のヘッダ情報更新判定部234との異なる判定処理により、判定対象のURIから配信される配信情報に更新があったか否かを判定する事前巡回を行う。この判定処理の際、ドメインのURI数が多い(α以上)場合、またURIの階層が浅い(β未満)場合には、未更新カウンタの値を高めに設定し、より精度の高い判定処理が多く行われるようにした。URI数が多いドメインに含まれるURIからの配信情報や、階層が浅いURIからの配信情報は、より多くのアクセスがあるものと考えられる。このため、攻撃の標的になる可能性が高いと考えられる。そこで、このようなURIについては、より精度の高い判定処理を行うことにより、改ざんを検知しやすくすることができる。
また、配信情報の更新頻度が高いURIについても、より多くのアクセスがあり、攻撃の標的になる可能性が高いと考えられる。そこで、更新カウンタAや更新カウンタBの値が小さい場合(未更新期間が短い期間である場合)には、より精度の高い判定処理を行うようにした。これにより、配信情報の更新頻度が高いURIについての改ざんを検知しやすくすることができる。
さらに、配信情報の更新が検知されないURIについても、更新カウンタCの値が閾値以上になった場合には、解析制御部254による配信情報の解析を行うようにした。これにより、例えばヘッダ情報を書き換えないように改ざんを行うような攻撃が行われていた場合にも、改ざんを検知することができる。
このように、本実施形態によれば、ドメイン配下のURI数、URIの階層、配信情報の更新頻度等の特性に基づいて、攻撃される可能性が高いURIについてはより精度の高い判定処理、解析処理を行い、攻撃される可能性が低いURIについては高速な判定処理、解析処理を行うことができる。これにより、大量のURIに応じた配信情報の改ざんを、精度良く、効率良く監視することができる。
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより配信情報の解析を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1 通信システム
100 配信サーバ
200 配信情報解析装置
210 記憶部
211 ドメイン情報記憶部
212 URI情報記憶部
213 解析情報記憶部
214 解析実行時間記憶部
215 攻撃情報記憶部
216 悪性振る舞い記憶部
217 システム運用者情報記憶部
220 URI抽出部
230 事前巡回処理部
231 配信情報更新判定部
232 ヘッダ情報更新判定部
233 第1のヘッダ情報更新判定部
234 第2のヘッダ情報更新判定部
235 解析実行可否判定部
236 指標値算出部
240 本巡回スケジューリング部
241 優先順位決定部
250 本巡回処理部
251 第1の解析部
252 第2の解析部
253 ブラウザ
254 解析制御部

Claims (10)

  1. 配信要求の宛先を示す複数のURIであって、当該URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部と、
    前記URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部と、
    前記URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいて当該URIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部と、
    前記URI情報記憶部に記憶されている複数のURIについて、前記配信情報更新判定部または前記ヘッダ情報更新判定部による判定処理により更新されていないと判定された回数に応じて、前記配信情報更新判定部による判定処理と、前記ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、当該判定処理の結果と、当該判定処理を行わせた回数とに基づいて、前記URIから配信される配信情報の解析を行うか否かを判定する解析実行可否判定部と、
    前記解析実行可否判定部によって解析を行うと判定されると、前記URIから配信される配信情報を取得し、当該配信情報が予め定められた不正な配信情報であるか否かを判定する解析部と、
    を備えることを特徴とする配信情報解析装置。
  2. 前記ヘッダ情報更新判定部は、前記ヘッダ情報に含まれる定められた複数項目の情報に基づいて前記判定処理を行う第1のヘッダ情報更新判定部と、前記複数項目より少ない項目数の情報に基づいて前記判定処理を行う第2のヘッダ情報更新判定部とを備える
    ことを特徴とする請求項1に記載の配信情報解析装置。
  3. 前記配信情報更新判定部は、前記URIから配信される配信情報のハッシュ値が、前回取得した配信情報のハッシュ値と一致するか否かを判定することにより、配信情報に更新があったか否かを判定する
    ことを特徴とする請求項1または請求項2に記載の配信情報解析装置。
  4. 前記解析実行可否判定部は、前記URIから配信される配信情報がテキスト情報である場合は前記配信情報更新判定部に判定処理を行わせ、前記URIから配信される配信情報がテキスト情報でない場合は前記ヘッダ情報更新判定部に判定処理を行わせる
    ことを特徴とする請求項1から請求項までのいずれか1項に記載の配信情報解析装置。
  5. 解析対象の配信情報を配信するドメインを示す複数のドメイン情報が記憶されているドメイン情報記憶部と、
    前記ドメイン情報記憶部に記憶されている前記ドメイン情報を読み出し、当該ドメイン情報が示すドメインから配信される配信情報のURIを抽出し、抽出した当該URIを前記URI情報記憶部に記憶させるURI抽出部と、
    を備えることを特徴とする請求項1から請求項までのいずれか1項に記載の配信情報解析装置。
  6. 前記解析実行可否判定部は、前記ドメインから配信される配信情報のURIの数と、当該URIの階層とに基づいて、前記配信情報更新判定部と前記ヘッダ情報更新判定部とに前記判定処理を行わせる回数の上限値を決定する
    ことを特徴とする請求項に記載の配信情報解析装置。
  7. 攻撃によって前記配信情報が改ざんされた場合に、改ざん後の配信情報に含まれている可能性が高い文字列である攻撃情報を記憶する攻撃情報記憶部を備え、
    前記解析部は、前記攻撃情報に示される前記文字列を含むか否かに基づいて判定する
    ことを特徴とする請求項1から請求項までのいずれか1項に記載の配信情報解析装置。
  8. 攻撃によって前記配信情報が改ざんされた場合に、改ざん後の配信情報をブラウザに表示した際に起きる可能性が高い前記ブラウザの振る舞いを示す振る舞い情報を記憶する悪性振る舞い記憶部を備え、
    前記解析部は、前記配信情報に基づく前記ブラウザの動作が前記振る舞い情報に示される動作であるか否かに基づいて判定する
    ことを特徴とする請求項1から請求項7までのいずれか1項に記載の配信情報解析装置。
  9. 配信要求の宛先を示す複数のURIであって、当該URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部と、前記URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部と、前記URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいて当該URIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部と、を備える配信情報解析装置が、
    前記URI情報記憶部に記憶されている複数のURIについて、前記配信情報更新判定部または前記ヘッダ情報更新判定部による判定処理により更新されていないと判定された回数に応じて、前記配信情報更新判定部による判定処理と、前記ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、当該判定処理の結果と、当該判定処理を行わせた回数とに基づいて、前記URIから配信される配信情報の解析を行うか否かを判定するステップと、
    解析を行うと判定すると、前記URIから配信される配信情報を取得し、当該配信情報が予め定められた不正な配信情報であるか否かを判定するステップと、
    を備えることを特徴とする配信情報解析方法。
  10. 配信要求の宛先を示す複数のURIであって、当該URIを宛先として配信要求を送信すると解析対象の配信情報が配信されるURIが記憶されているURI情報記憶部を備える配信情報解析装置のコンピュータを、
    前記URIから配信される配信情報を取得し、取得した配信情報に更新があったか否かを判定する判定処理を行う配信情報更新判定部、
    前記URIから配信情報のヘッダ情報のみを取得し、取得したヘッダ情報に基づいて当該URIから配信される配信情報に更新があったか否かを判定する判定処理を行うヘッダ情報更新判定部、
    前記URI情報記憶部に記憶されている複数のURIについて、前記配信情報更新判定部または前記ヘッダ情報更新判定部による判定処理により更新されていないと判定された回数に応じて、前記配信情報更新判定部による判定処理と、前記ヘッダ情報更新判定部による判定処理とのいずれかまたは双方を行わせ、当該判定処理の結果と、当該判定処理を行わせた回数とに基づいて、前記URIから配信される配信情報の解析を行うか否かを判定する解析実行可否判定部、
    前記解析実行可否判定部によって解析を行うと判定されると、前記URIから配信される配信情報を取得し、当該配信情報が予め定められた不正な配信情報であるか否かを判定する解析部、
    として機能させるためのプログラム。
JP2015203556A 2015-10-15 2015-10-15 配信情報解析装置、配信情報解析方法、配信情報解析プログラム Active JP6078617B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015203556A JP6078617B2 (ja) 2015-10-15 2015-10-15 配信情報解析装置、配信情報解析方法、配信情報解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015203556A JP6078617B2 (ja) 2015-10-15 2015-10-15 配信情報解析装置、配信情報解析方法、配信情報解析プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012067356A Division JP5826086B2 (ja) 2012-03-23 2012-03-23 配信情報解析装置、配信情報解析方法、配信情報解析プログラム

Publications (2)

Publication Number Publication Date
JP2016006700A JP2016006700A (ja) 2016-01-14
JP6078617B2 true JP6078617B2 (ja) 2017-02-08

Family

ID=55225047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015203556A Active JP6078617B2 (ja) 2015-10-15 2015-10-15 配信情報解析装置、配信情報解析方法、配信情報解析プログラム

Country Status (1)

Country Link
JP (1) JP6078617B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022219792A1 (ja) * 2021-04-15 2022-10-20 日本電信電話株式会社 収集装置、収集方法、および、収集プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3664917B2 (ja) * 1999-08-06 2005-06-29 シャープ株式会社 ネットワーク情報の表示方法およびその方法をプログラムとして格納した記憶媒体ならびにそのプログラムを実行するコンピュータ
JP2004038272A (ja) * 2002-06-28 2004-02-05 Kddi Corp ウェブ監視装置及び方法、コンピュータプログラム
JP4881718B2 (ja) * 2006-12-27 2012-02-22 Kddi株式会社 ウェブページの改竄検知装置、プログラム、および記録媒体
JP2009160884A (ja) * 2008-01-09 2009-07-23 Canon Inc 印刷装置及び印刷方法
JP5166094B2 (ja) * 2008-03-27 2013-03-21 株式会社野村総合研究所 通信中継装置、ウェブ端末、メールサーバ装置、電子メール端末およびサイトチェックプログラム
WO2009131469A1 (en) * 2008-04-21 2009-10-29 Sentrybay Limited Fraudulent page detection
JP5063729B2 (ja) * 2010-03-31 2012-10-31 ヤフー株式会社 クローラ管理システム及び方法
JP5826086B2 (ja) * 2012-03-23 2015-12-02 株式会社エヌ・ティ・ティ・データ 配信情報解析装置、配信情報解析方法、配信情報解析プログラム

Also Published As

Publication number Publication date
JP2016006700A (ja) 2016-01-14

Similar Documents

Publication Publication Date Title
US10693910B2 (en) Fake web addresses and hyperlinks
US10356125B2 (en) Devices, systems and computer-implemented methods for preventing password leakage in phishing attacks
US9336191B2 (en) System, method and computer readable medium for recording authoring events with web page content
US9489468B2 (en) System, method and computer readable medium for binding authored content to the events used to generate the content
US8621065B1 (en) Dynamic blocking of suspicious electronic submissions
US20130346472A1 (en) Redirecting From a Cloud Service to a Third Party Website to Save Costs Without Sacrificing Security
US11425106B2 (en) Method and system for processing data packages
CN105592017B (zh) 跨站脚本攻击的防御方法及系统
US9866583B2 (en) Fuzzing server responses to malicious client devices
US20110321168A1 (en) Thwarting cross-site request forgery (csrf) and clickjacking attacks
Falkenberg et al. A new approach towards DoS penetration testing on web services
CN111183620B (zh) 入侵调查
JP6294847B2 (ja) ログ管理制御システムおよびログ管理制御方法
JP6078617B2 (ja) 配信情報解析装置、配信情報解析方法、配信情報解析プログラム
CN107026828A (zh) 一种基于互联网缓存的防盗链方法及互联网缓存
JP6623128B2 (ja) ログ分析システム、ログ分析方法及びログ分析装置
JP5826086B2 (ja) 配信情報解析装置、配信情報解析方法、配信情報解析プログラム
CN107294931A (zh) 调整限制访问频率的方法和装置
JP2016045754A (ja) ウェブページへのアクセスを警告するためのプログラム、方法、及びシステム
US10992702B2 (en) Detecting malware on SPDY connections
CN105227519B (zh) 一种安全访问网页的方法、客户端和服务器
JP6688782B2 (ja) ネットワーク通信方法及びネットワーク通信システム
CN111917787A (zh) 请求检测方法、装置、电子设备和计算机可读存储介质
Fairweather et al. An enhanced approach to preventing the SSLstripping attack
CN112968887B (zh) 数据处理方法、数据处理装置及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161121

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170116

R150 Certificate of patent or registration of utility model

Ref document number: 6078617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250