(57)【要約】【課題】異常事象の検出精度を向上させる情報処理装置、情報処理方法及び情報処理プログラムを提供する。【解決手段】閾値計算部１０２は、複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、各前記データ取得時における個別閾値を含む閾値列を求める。閾値通知部１０３は、閾値計算部１０２により算出された閾値列を通知する。【選択図】図２
2019128953.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求める閾値列算出部と、
前記閾値列算出部により算出された前記閾値列を通知する閾値通知部と
を備えたことを特徴とする情報処理装置。
【請求項２】
複数の前記データを順次取得するデータ受信部と、
前記データ受信部による各前記データ取得時の既に取得されたデータ群を対象として各前記データ取得時の統計量を算出する統計量算出部と、
前記統計量算出部が算出した各前記データ取得時の統計量と、前記閾値通知部により通知された閾値列に含まれる各前記データの取得時の前記個別閾値とを比較して異常が発生したか否かを判定する判定部と、
前記判定部により異常が発生したと判定された場合、異常の発生を通知する通知部とを備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記閾値列算出部は、複数の前記データを順次取得する場合に、先頭から所定数の判定機会を間引いた部分集合に含まれる部分データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、前記部分データの取得時における個別閾値を含む閾値列を求め、
前記統計量算出部は、前記データ受信部が受信した複数の前記データのうちの前記部分データを取得し、既に取得された前記部分データを対象として前記部分データの取得時の統計量を算出し、前記閾値通知部により通知された閾値列に含まれる各前記部分データの取得時の前記個別閾値とを比較して異常が発生したか否かを判定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記有意水準は、前記データ受信部により取得された複数の前記データを対象とする統計量の真値が前記閾値以下である場合に前記判定部により異常が発生したと判定される確率の許容可能な最大値であることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記閾値列算出部は、前記帰無仮説及び複数の前記データの分布型を用いて複数の前記データに対応する複数の疑似データを生成し、前記疑似データ及び前記真値を用いて前記閾値列を算出することを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
前記閾値列算出部は、複数の各前記データが取得された場合の前記データ取得時毎の既に取得されたデータ群を対象とした各前記データ取得時の統計量である観測値の個々について、各前記観測値のいずれかが前記閾値を超える確率が前記有意水準と一致するように前記閾値列を求めることを特徴とする請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求め、
求められた前記閾値列を通知する
ことを特徴とする情報処理方法。
【請求項８】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求め、
求められた前記閾値列を通知する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
セキュリティ管理者（以降、「管理者」という）は、管理対象のシステムの監視ログを定期的に分析し、システムに対する障害、攻撃及び不正を検出して対処する検査業務を行う。検査業務には、例えば、ネットワーク機器の監視がある。このような検査業務に用いる装置として、アクセス監視装置がある。
【０００３】
例えば、アクセス監視装置は、システムの監視ログから取得したデータの統計量を監視する。そして、アクセス監視装置は、予め決められたルールからの逸脱や定常状態からの変化を異常として検出する。その後、アクセス監視装置は、管理者へ検出した異常を提示する。これにより、アクセス監視装置は、システムの故障やシステムに対する攻撃などの発見に寄与する。
【０００４】
より具体的に、ネットワーク機器の監視では、アクセス監視装置が、組織ネットワークの出入り口でキャプチャされた通信の情報を用いて、通信元及び通信先ごとにセッション情報を監視する。そして、アクセス監視装置は、通信量の急増及び急減などから異常を検知する。ここで検知される異常の種類には、ウィルスの拡散、情報漏えい、サーバの踏み台化及び故障など多種多様なものがある。
【０００５】
従来、異常の検出方法として、例えば、アクセス監視装置が特定期間に発生したデータの統計量を予め定められた固定の閾値と比較して、統計量が閾値を上回っている場合に異常を通知することが行われていた。
【０００６】
また、各データの到着時に、既に受け取った範囲のデータに対して統計量を算出し、予め定められた固定の閾値と比較し、算出した統計量が閾値を超えた場合に異常が発生したと判定する従来技術がある。
【０００７】
また、データの予測手法として、定常状態モデルと非定常状態モデルとを混合した予測モデルを用いて時系列データの値を予測する従来技術がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１４／１４１３４４号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特定期間に発生したデータの統計量を予め定められた閾値と比較して異常を検出する従来技術では、統計量算出対象のデータ全てが集まらなければ異常が通知されない。そのため、故障や攻撃などの発見が発生から大幅に遅れるおそれがある。
【００１０】
一方、各データの到着時に既に受け取った範囲のデータに対して統計量を算出して異常の検出を行う従来技術では、データ全体の統計量が上回る確率に比べて、任意の時点で随時算出される統計量のうち少なくとも１つが閾値を上回る確率は高くなるため、異常にあたらない事象も検出して監視者に通知する過剰検出が頻発するおそれがある。
【００１１】
また、定常状態モデルと非定常状態モデルとを混合した予測モデルを用いるデータ予測の従来技術を用いても、データ到着の時系列に合わせて閾値を適切に選択することは困難であり、過剰検出を低減することは困難である。
【００１２】
開示の発明は、上記に鑑みてなされたものであって、異常事態の検出精度を向上させる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの一つの態様において、閾値列算出部は、複数のデータを順次取得する場合に、帰無仮説及び予め決められた有意水準を用いて、各前記データ取得時における個別閾値を含む閾値列を求める。前記帰無仮説は、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す。閾値通知部は、前記閾値列算出部により算出された前記閾値列を通知する。
【発明の効果】
【００１４】
１つの側面では、本発明は、異常事態の検出精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、アクセス監視装置により監視が行われるシステムの概略構成図である。
【図２】図２は、実施例１に係るアクセス監視装置のブロック図である。
【図３】図３は、定率法を用いる場合の閾値列の算出処理の一例を表すフローチャートである。
【図４】図４は、アクセス監視装置によるアクセス監視処理全体のフローチャートである。
【図５】図５は、発報率の変化を表す図である。
【図６】図６は、ハードウェア構成図である。
【図７】図７は、実施例２に係るアクセス監視装置及び閾値算出装置のブロック図である。
【図８】図８は、間引く判定機会の数に対する発報率の変化を表す図である。
【図９】図９は、間引く判定機会の数に対する遅延率の変化を表す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。
【実施例１】
【００１７】
図１は、アクセス監視装置により監視が行われるシステムの概略構成図である。ここでは、アクセス監視装置１が、ネットワーク機器２で接続されるインターネット３と内部ネットワーク４との間の通信を監視するシステムについて説明する。
【００１８】
ネットワーク機器２は、内部ネットワーク４とインターネット３との通信を仲介する装置である。ネットワーク機器２は、例えば、ファイヤフォールやプロキシサーバなどである。
【００１９】
内部ネットワーク４は、特定の企業などのネットワークである。内部ネットワーク４には、サーバ４１やクライアント４２が配置される。その他にも、内部ネットワーク４には、種々のコンピュータやネットワーク装置が配置される。
【００２０】
内部ネットワーク４は、ネットワーク機器２に接続される。そして、内部ネットワーク４に配置されたサーバ４１やクライアント４２は、ネットワーク機器２を介してインターネット３と通信可能である。
【００２１】
アクセス監視装置１は、ネットワーク機器２が中継する通信を監視することで、内部ネットワーク４の出入り口での通信のキャプチャを行う。アクセス監視装置１は、例えば、通信元及び通信先毎にセッション情報を監視する。そして、アクセス監視装置１は、通信量の増減や急減などから異常を検知する。このような異常の検知を行うことで、アクセス監視装置１は、例えば、内部ネットワーク４において、ウィルスの拡散や、情報漏洩、内部ネットワーク４の踏み台化又は故障などを検出することができる。
【００２２】
例えば、内部ネットワーク４は、インターネット３から攻撃を受けるおそれがある。ネットワーク機器２などによりインターネット３からの攻撃はある程度防げるが、防ぎきれなかった攻撃が内部ネットワーク４の内部に侵入するおそれがある場合がある。例えば、内部ネットワーク４に既に侵入した攻撃により、内部ネットワーク４にバックドアが設けられてしまう状況が考えられる。そのような場合に、アクセス監視装置１は、ネットワーク機器２を介した内部ネットワーク４とインターネット３との間で送受信されるデータ監視し、進入した攻撃による異常を検出する。そして、アクセス監視装置１は、検出した異常を管理者に通知することで、進入した攻撃に対する対応を管理者に促すことができる。
【００２３】
さらに、１セッションの情報が変化しただけでは、アクセス監視装置１による異常検知の確度が不足する。そこで、例えば、アクセス監視装置１は、セッション通信量の平均や標準偏差を１時間毎に計測して異常検出を行うことが考えられる。ただし、１時間が経過するごとに異常検知を行った場合、検知すべき事象の発生から最大１時間の遅れが発生する。そこで、本実施例に係るアクセス監視装置１は、検知対象期間においてネットワーク機器２の通信に関するデータを取得する毎に異常検知を行う。このアクセス監視装置１が、「情報処理装置」の一例にあたる。
【００２４】
ただし、本実施例に係るアクセス監視装置１の監視対象はネットワーク機器２に限らない。アクセス監視装置１は、通信の状態を把握できるのであれば監視対象のシステムのどの箇所の監視を行ってもよい。
【００２５】
次に、図２を参照して、アクセス監視装置１の詳細を説明する。図２は、実施例１に係るアクセス監視装置のブロック図である。
【００２６】
アクセス監視装置１は、データ受信部１１、統計量算出部１２、判定部１３及び通知部１４を有する。さらに、アクセス監視装置１は、条件取得部１０１、閾値計算部１０２及び閾値通知部１０３を有する。
【００２７】
条件取得部１０１は、管理者から入力された閾値列算出のための条件を取得する。閾値列算出のための条件としては、閾値、検知対象期間内に発生するデータの数、１回のデータ取得時の統計量の算出のシミュレーションを行う回数であるシミュレーションサイズ、有意水準及び帰無仮説を取得する。ここで、統計量として用いる情報は、データの取得状態を判定するための情報であれば特に制限は無く、例えば、平均値、最大値又は標準偏差などを用いることができる。
【００２８】
真値は、検知対象期間内に発生するデータに対する統計量の理論的に正しい値である。例えば、真値は、検知対象期間内のデータ発生源の状態が無限に継続するとき、そこから無限に発生するデータを収集した場合の統計量の収束値と考えることができる。また、閾値は、真値に対して異常が発生したと判定するか否かの基準とする値である。
【００２９】
また、ここではデータの数はｎ個であり、シミュレーションサイズはｓである。また、帰無仮説は、真値が閾値以下であるという条件であり、この帰無仮説を帰無仮説ＮＨと表す。さらに、有意水準は、帰無仮説ＮＨの場合の最大許容偽陽性率であり、帰無仮説ＮＨのもと異常が発生したと判定される可能性が最も高い場合、すなわち真値が閾値と等しい場合の通知率である。以下では、この有意水準を「α」と表す。言い換えれば、有意水準αは、後述するデータ受信部１１により検知対象期間内に取得された各データに対する統計量の真値が閾値以下であるにも関わらず判定部１３により異常が発生したと判定される誤検知が発生する確率の許容可能な最大値である。
【００３０】
さらに、条件取得部１０１は、データのしたがう分布型の入力を受ける。データのしたがう分布型は、例えば、正規分布、指数分布、連続一様分布及び対数正規分布などがある。さらに、条件取得部１０１は、仮定された統計量の真値を取得する。
【００３１】
そして、条件取得部１０１は、取得した閾値列算出のための条件を閾値計算部１０２へ出力する。
【００３２】
閾値計算部１０２は、閾値列算出のための条件の入力を条件取得部１０１から受ける。次に、閾値計算部１０２は、帰無仮説ＮＨのもとでデータの分布型から疑似乱数生成機により発生させたデータを疑似データとして取得する。条件取得部１０１は、ｉ（ｉ＝１，・・・，ｎ）番目のデータを取得した場合の疑似データとして、シミュレーション毎にｎ個の疑似データを取得する。
【００３３】
そして、閾値計算部１０２は、帰無仮説ＮＨのもとで各データ取得時の統計量の観測値のいずれかが閾値列におけるそのデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を求める。
【００３４】
例えば、時系列で順次取得されるｉ番目までのデータ（ｉ＝１，・・・ｎ）の取得時の統計量の観測値をｓｉとする。また、個別閾値をｔｉとする。そして、少なくとも１つのｉについてｉ番目のデータ取得時の統計量の観測値ｓｉがそのデータ取得時の個別閾値ｔｉより大きくなる確率を、Ｐ（∃ｉ：ｔｉ＜ｓｉ）と表す。Ｐ（∃ｉ：ｔｉ＜ｓｉ）は、各ｉについて「ｔｉ＜ｓｉが成り立った場合に監視者への通知を行う」とき、帰無仮説ＮＨのもとで監視者への通知が行われる確率である。この場合、閾値計算部１０２は、Ｐ（∃ｉ：ｔｉ＜ｓｉ）がαと一致するという条件を満たす閾値列を求める。いいかえれば、ｔｉ＜ｓｉのいずれかとなる確率がαと一致するという条件を満たす閾値列を求める。
【００３５】
この閾値列の求め方については特に制限は無い。例えば、閾値計算部１０２は、前述した条件に加えて、帰無仮説ＮＨのもとで各データ取得時の統計量の観測値が個別閾値より大きくなるそれぞれの確率（Ｐ（ｔｉ＜ｓｉ））がデータ取得のタイミングに依らない定数となることを条件とする定率法を用いてもよい。また、閾値計算部１０２は、前述した条件に加えて、各個別閾値がデータ取得のタイミングに依らない定数となることを条件とする定閾法を用いてもよい。
【００３６】
ここで、閾値計算部１０２による閾値列の算出について、定率法を用いる場合を例に詳細に説明する。図３は、定率法を用いる場合の閾値列の算出処理の一例を表すフローチャートである。
【００３７】
条件取得部１０１は、閾値列算出のための条件を取得する（ステップＳ１）。ここで、検知対象期間におけるデータ数をｎとする。シミュレーションサイズはｓであり、有意水準はαであり、帰無仮説はＮＨである。また、条件取得部１０１は、データの分布型及び統計量の真値も取得する。そして条件取得部１０１は、取得した条件を閾値計算部１０２へ出力する。
【００３８】
閾値計算部１０２は、閾値列算出のための条件の入力を条件取得部１０１から受ける。そして、閾値計算部１０２は、データ番号ｉ及びシミュレーション番号ｊをいずれも初期化して１とする（ステップＳ２）。ここで、データ番号ｉは、最初のデータを１としてデータ取得毎に連番で番号を振った場合のデータに振られる値である。ｉは、１からｎまでの整数である。また、シミュレーション番号ｊは、最初のシミュレーションを１としてシミュレーションを行う毎に連番で番号を振った場合のシミュレーションに振られる値である。ｊは、１からｓまでの整数である。以下では、ｊ番のシミュレーションをシミュレーションｊという。
【００３９】
次に、閾値計算部１０２は、帰無仮説ＮＨのもとでデータの分布型から乱数を発生させて、シミュレーションｊにおけるｉ番目のデータＸｉ，ｊを生成する（ステップＳ３）。
【００４０】
次に、閾値計算部１０２は、シミュレーションｊにおける最初のｉ個のデータに対する統計量Ｖｉ，ｊを算出する（ステップＳ４）。
【００４１】
次に、閾値計算部１０２は、ｊがｓに一致するか否かを判定する（ステップＳ５）。ｊがｓに一致しない場合（ステップＳ５：否定）、閾値計算部１０２は、ｊを１つインクリメントする（ステップＳ６）。その後、閾値計算部１０２は、ステップＳ３へ戻る。
【００４２】
これに対して、ｊがｓに一致した場合（ステップＳ５：肯定）、閾値計算部１０２は、シミュレーション番号ｊ及びＰｊを初期化して１及び０とする（ステップＳ７）。
【００４３】
次に、閾値計算部１０２は、各シミュレーションの統計量Ｖｉ，ｊの大きさの順位を算出し、且つ、０と１との間の値に各値が収まるように正規化して各値までの累積確率πｉ，ｊを算出する（ステップＳ８）。
【００４４】
次に、閾値計算部１０２は、シミュレーションｊにおける累積確率πｉ，ｊの最大値Ｐｊを抽出する。すなわち、閾値計算部１０２は、Ｐｊ＝ｍａｘ｛Ｐｊ，πｉ，ｊ｝とすることを繰り返して、最大値Ｐｊを選択する（ステップＳ９）。
【００４５】
次に、閾値計算部１０２は、ｊがｓに一致したか否かを判定する（ステップＳ１０）。ｊがｓに一致しない場合（ステップＳ１０：否定）、閾値計算部１０２は、ｊを１つインクリメントする（ステップＳ１１）。その後、閾値計算部１０２は、ステップＳ８へ戻る。
【００４６】
これに対して、ｊがｓに一致した場合（ステップＳ１０：肯定）、閾値計算部１０２は、ｉがｎに一致したか否かを判定する（ステップＳ１２）。ｉがｎに一致しない場合（ステップＳ１２：否定）、閾値計算部１０２は、ｉを１つインクリメントする（ステップＳ１３）。その後、閾値計算部１０２は、ステップＳ３へ戻る。
【００４７】
これに対して、ｉがｎに一致した場合（ステップＳ１２：肯定）、閾値計算部１０２は、シミュレーションｊにおける累積確率πｉ，ｊの最大値Ｐｊを降順に並べた場合の先頭から有意水準αの割合となるＰｊをα’として特定する（ステップＳ１４）。
【００４８】
次に、閾値計算部１０２は、データ番号ｉを初期化して１にする（ステップＳ１５）。
【００４９】
次に、閾値計算部１０２は、ｉ番目のデータ取得時の各シミュレーションｊを行った場合の各統計量Ｖｉ，ｊを昇順に並べた場合の先頭からα’の割合となるＶｉ，ｊをｉ番目のデータ取得時の個別閾値ｔｉとする（ステップＳ１６）。
【００５０】
次に、閾値計算部１０２は、ｉがｎに一致したか否かを判定する（ステップＳ１７）。ｉがｎに一致しない場合（ステップＳ１７：否定）、閾値計算部１０２は、ｉを１つインクリメントする（ステップＳ１８）。その後、閾値計算部１０２は、ステップＳ１６へ戻る。
【００５１】
これに対して、ｉがｎに一致した場合（ステップＳ１７：肯定）、閾値計算部１０２は、算出した各データ取得時における個別閾値ｔ１〜ｔｎをまとめて閾値列とする（ステップＳ１９）。
【００５２】
まとめると、図３を参照した説明した閾値列の決定処理は以下のような流れとなる。まず、帰無仮説ＮＨに基づいて時系列に並び且つシミュレーション毎に並ぶ疑似データが生成され、その統計量が計算される。次に、その統計量がシミュレーション内の相対的な大きさに基づき確率値に変換され、有意水準にあたる確率が求められる。そして、求めた確率の相対的な大きさが有意水準に対応する値を統計量に変換することにより、個別閾値を時系列で求める。これにより、各データ取得時の統計量の観測値のいずれかが個別閾値を超える確率が有意水準と一致するように個別閾値が決定される。
【００５３】
図２に戻って説明を続ける。閾値計算部１０２は、求めた閾値列を閾値通知部１０３へ出力する。この閾値計算部１０２が、「閾値列算出部」の一例にあたる。
【００５４】
閾値通知部１０３は、各データ取得時における個別閾値をまとめた閾値列の入力を閾値計算部１０２から受ける。そして、閾値通知部１０３は、取得した閾値列を記憶する。以上の閾値列の決定処理は、実際の検知対象期間においてデータが送られてくる前に実施されることが好ましい。
【００５５】
その後、閾値通知部１０３は、特定のデータ取得時の個別閾値の通知要求を後述する判定部１３から受ける。この時、閾値通知部１０３は、特定のデータが何番目のデータであるか情報も判定部１３から取得する。そして、閾値通知部１０３は、特定のデータ取得時の個別閾値を閾値列の中から選択する。その後、閾値通知部１０３は、選択した個別閾値を判定部１３へ送信する。
【００５６】
データ受信部１１は、検知対象期間においてネットワーク機器２が行った通信に関するデータをネットワーク機器２から取得する。ここで、データ受信部１１は、通信に関するデータとして、例えば、通信を行った日時、セッション数、パケット数及びデータサイズの情報などを取得する。そして、データ受信部１１は、ネットワーク機器２からデータを取得する毎に、取得したデータを統計量算出部１２へ順次出力する。
【００５７】
統計量算出部１２は、ネットワーク機器２が行った通信に関するデータをデータ受信部１１から順次受け取る。そして、統計量算出部１２は、データ取得時点で検知対象期間中に既にネットワーク機器２から取得したデータ全体に対する統計量を算出し、データ取得時における観測値とする。そして、統計量算出部１２は、算出したデータ取得時における観測値を判定部１３へ出力する。
【００５８】
判定部１３は、ネットワーク機器２からデータが送られるたびに、データ取得時における観測値の入力を統計量算出部１２から受ける。そして、判定部１３は、ネットワーク機器２から取得した特定のデータのデータ取得時の個別閾値の通知を閾値通知部１０３に要求する。この時、判定部１３は、ネットワーク機器２から取得した特定のデータが検知対象期間に取得するデータのうちの何番目のデータかの情報を閾値通知部１０３へ通知する。
【００５９】
その後、判定部１３は、個別閾値を閾値通知部１０３から受信する。そして、判定部１３は、データ取得時における既に取得したデータ全体に対する統計量の観測値と個別閾値とを比較する。判定部１３は、ネットワーク機器２からデータを取得する毎に判定を繰り返す。
【００６０】
そして、データ取得時における観測値が個別閾値を超えている場合、判定部１３は、異常発生の通知を通知部１４に指示する。これに対して、データ取得時における観測値が個別閾値を超えていない場合、判定部１３は、ネットワーク機器２による次のデータ取得まで待機する。そして、データ取得時における観測値が個別閾値を超えることなく検知対象期間が終了した場合、判定部１３は、警告を出さずに判定を終了する。
【００６１】
通知部１４は、異常発生の通知の指示を判定部１３から受ける。そして、通知部１４は、システムの管理者に異常発生を通知する。例えば、通知部１４は、異常発生を通知するメールをシステム管理者に送信するなどして異常発生の通知を行う。
【００６２】
次に、図４を参照して、アクセス監視装置１によるアクセス監視処理の流れを説明する。図４は、アクセス監視装置によるアクセス監視処理全体のフローチャートである。
【００６３】
条件取得部１０１は、管理者から入力された閾値列算出のための条件を取得する（ステップＳ１０１）。次に、条件取得部１０１は、閾値列算出のための条件を閾値計算部１０２へ出力する。
【００６４】
閾値計算部１０２は、の入力を条件取得部１０１から受ける。そして、閾値計算部１０２は、閾値列算出のための条件を用いて、帰無仮説ＮＨのもとデータ取得時における観測値のいずれかがデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を算出する（ステップＳ１０２）。そして、閾値通知部１０３は、閾値計算部１０２により算出された閾値列を記憶する。
【００６５】
次に、データ受信部１１は、検知対象期間にネットワーク機器２から時系列で順番に、ネットワーク機器２が行った通信に関するデータを取得する（ステップＳ１０３）。そして、データ受信部１１は、取得したデータを統計量算出部１２へ順番に出力する。
【００６６】
統計量算出部１２は、ネットワーク機器２が行った通信に関するデータの入力を統計量算出部１２から受ける。そして、統計量算出部１２は、その時点で取得したデータ全体に対する統計量の観測値を求める（ステップＳ１０４）。その後、統計量算出部１２は、その時点でのデータ取得時における既に有するデータ全体に対する統計量の観測値を判定部１３へ出力する。
【００６７】
判定部１３は、その時点でのデータ取得時における既に有するデータ全体に対する統計量の観測値の入力を統計量算出部１２から受ける。さらに、判定部１３は、その時点での個別閾値の通知を閾値通知部１０３から取得する、そして、判定部１３は、算出された観測値がその時点での個別閾値を超えるか否かを判定する（ステップＳ１０５）。
【００６８】
算出された観測値がその時点での個別閾値を超えている場合（ステップＳ１０５：肯定）、判定部１３は、異常発生の通知を通知部１４に指示する。通知部１４は、判定部１３からの指示を受けて、管理者に対して異常発生を通知する（ステップＳ１０６）。そして、アクセス監視装置１は、今回の検知対象期間におけるアクセス監視処理を終了する。
【００６９】
これに対して、算出された観測値がその時点での個別閾値を超えていない場合（ステップＳ１０５：否定）、判定部１３は、検知対象期間が終了したか否かを判定する（ステップＳ１０７）。
【００７０】
検知対象期間が終了していない場合（ステップＳ１０７：否定）、アクセス監視処理は、ステップＳ１０３へ戻る。これに対して、検知対象期間が終了した場合（ステップＳ１０７：肯定）、アクセス監視装置１は、今回の検知対象期間におけるアクセス監視処理を終了する。
【００７１】
ここで、図５を参照して、本実施例に係るアクセス監視装置１による過剰検出率の低減の効果について説明する。図５は、発報率の変化を表す図である。図５の縦軸は発報率を表し、横軸は真値を表す。
【００７２】
この場合の各パラメータは、データ数が１０２４であり、統計量が変動係数であり、閾値が０．１０である。また、この場合の有意水準αは、５０％とした。そして、真値がそれぞれ、０．０５から０．２０の間の数を取る場合で発報率を求めた。
【００７３】
図５における黒丸で表されるデータは、本実施例に係るアクセス監視装置１を用いた場合の発報率を表す。また、図５における白抜きの菱形で表されるデータは、データ取得時毎に統計量の観測値と固定された閾値とを比較して異常発生を検知する従来技術を用いた場合の発報率を表す。さらに、図５の線で表されるグラフが理想の発報率を表す。すなわち、真値が閾値未満の場合には発報されずに、真値が閾値を超える場合には発報されることが好ましい。そして、真値が閾値未満の場合の発報は、誤検知によるものであり、過剰検出である。また、真値が閾値より大きい場合に発報率が１．０未満であれば、異常の見逃しが発生しているといえる。
【００７４】
図５に示すように、真値が閾値である０．１０未満で且つ０．１０に近い場合、従来技術の発報率に比べて、本実施例に係るアクセス監視装置１を用いた場合の発報率は、発報率が矢印Ｐ１及びＰ２で示すように低下した。このように、特に真値が閾値に近い場合に、本実施例に係るアクセス監視装置１は、従来技術に比べて誤検知の発生を低く抑えることができる。
【００７５】
他の条件として、統計量を変動係数とし、閾値を０．１０とし、真値を０．０９とし、データ数を１２８個とした場合、図５と同様の従来技術に比べて本実施例に係るアクセス監視装置１は、過剰検出率を３３ポイント低減することができた。
【００７６】
以上に説明したように、本実施例に係るアクセス監視装置は、真値が閾値以下であるという帰無仮説のもと各データ取得時の統計量の観測値のいずれか個別閾値を超える確率が有意水準と一致するように各データ取得時の個別閾値を含む閾値列を求める。ここで、有意水準は、誤報が発生する確率の最大値であり、言い換えれば、誤報の発生を許容可能な限界を表す値である。そして、アクセス監視装置は、求めた閾値列を用いて各データ取得時における異常発生の判定を行う。これにより、本実施例に係るアクセス監視装置は、真値が閾値を超える場合における監視者への通知が行われる確率を、検知対象期間内のデータが全てそろった場合の観測値と閾値とを用いて異常発生を判定する場合の確率と同程度に維持することができる。また、本実施例に係るアクセス監視装置は、異常発生の早期段階での管理者への通知を行うことができる。これらの効果を両立させることで、本実施例に係るアクセス監視装置は、システムの安全性を向上させることができる。
【００７７】
（ハードウェア構成）
図６は、ハードウェア構成図である。アクセス監視装置１は、例えば、図６に示すコンピュータ９０により実現される。
【００７８】
図６示すように、コンピュータ９０は、ＣＰＵ（Central  Processing  Unit）９１、メモリ９２、ハードディスク９３及びネットワークインタフェース９４を有する。ＣＰＵ９１、メモリ９２、ハードディスク９３及びネットワークインタフェース９４のそれぞれは、バス９５を介して接続される。
【００７９】
ネットワークインタフェース９４は、外部の装置との通信インタフェースである。アクセス監視装置１であるコンピュータ９０は、ネットワークインタフェース９４を介してネットワーク機器２に接続される。
【００８０】
ハードディスク９３には図２に例示したデータ受信部１１、統計量算出部１２、判定部１３、通知部１４、条件取得部１０１、閾値計算部１０２及び閾値通知部１０３と同様の機能を発揮するアクセス監視プログラムを含む各種プログラムが予め記憶される。なお、アクセス監視プログラムについては、適宜分離してもよい。
【００８１】
そして、ＣＰＵ９１が、アクセス監視プログラムを含む各種プログラムをハードディスク９３から読み出してメモリ９２に展開し、実行することで、実施例の各部の機能を実現する。すなわち、アクセス監視プログラムは、データ受信部１１、統計量算出部１２、判定部１３、通知部１４、条件取得部１０１、閾値計算部１０２及び閾値通知部１０３と同様の動作を実行する。
【００８２】
なお、上記したアクセス監視プログラムについては、必ずしも最初からハードディスク９３に記憶させることを要しない。
【００８３】
例えば、コンピュータ９０に挿入されるに挿入されるフレキシブルディスク、いわゆる「可搬用の物理媒体」に情報処理プログラムを記憶させる。可搬用の物理媒体には、例えば、ＦＤ（Floppy  Disk）、ＣＤ（Compact  Disk）−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disc）、光磁気ディスク、ＩＣ（Integrated  Circuit）カードなどがある。そして、コンピュータ９０がこれらからプログラムを読み出して実行するようにしてもよい。
【００８４】
さらには、公衆回線、インターネット３、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ９０に接続される「他のコンピュータ」などにプログラムを記憶させておく。そして、コンピュータ９０がこれらからプログラムを読み出して実行するようにしてもよい。
【実施例２】
【００８５】
図７は、実施例２に係るアクセス監視装置及び閾値算出装置のブロック図である。本実施例では、図７に示すようにアクセス監視装置１及び閾値算出装置１００が存在する。本実施例に係るアクセス監視装置１と閾値算出装置１００は、異なるコンピュータで実現される。
【００８６】
アクセス監視装置１は、データ受信部１１、統計量算出部１２、判定部１３及び通知部１４を有する。データ受信部１１、統計量算出部１２、判定部１３及び通知部１４の各部は、実施例１と同様の機能を有する。ただし、判定部１３は、データ取得時の閾値を閾値算出装置１００の閾値通知部１０３から受信する。すなわち、アクセス監視装置１は、閾値算出装置１００から取得したデータ取得時の閾値を用いて、ネットワーク機器２のデータ取得時毎に判定を行い、異常発生の検出及び通知を行う。
【００８７】
閾値算出装置１００は、条件取得部１０１、閾値計算部１０２及び閾値通知部１０３を有する。条件取得部１０１、閾値計算部１０２及び閾値通知部１０３の各部は、実施例１と同様の機能を有する。ただし、閾値通知部１０３は、アクセス監視装置１の判定部１３からの通知要求を受けて、データ取得時の閾値を判定部１３に通知する。すなわち、閾値算出装置１００は、管理者により与えられた条件を用いて予め各データ取得時の閾値を含む閾値列を求めて格納しておき、アクセス監視装置１からの要求に応じて閾値を通知する。
【００８８】
アクセス監視装置１及び閾値算出装置１００の何れも、例えば、図６に示すコンピュータ９０により実現される。この場合、アクセス監視装置１にあたるコンピュータ９０は、データ受信部１１、統計量受信部１２、判定部１３及び通知部１４の機能を実現するプログラムを含む各種プログラムをハードディスク９３に格納する。そして、ＣＰＵ９１がハードディスク９３から各種プログラムを読み出して実行することでデータ受信部１１、統計量受信部１２、判定部１３及び通知部１４の機能を実現する。この場合、アクセス監視装置１は、ネットワークインタフェース９４を介してネットワーク機器２と通信を行う。
【００８９】
また、閾値算出装置１００にあたるコンピュータ９０は、条件取得部１０１、閾値計算部１０２及び閾値通知部１０３の機能を実現するプログラムを含む各種プログラムをハードディスク９３に格納する。そして、ＣＰＵ９１がハードディスク９３から各種プログラムを読み出して実行することで条件取得部１０１、閾値計算部１０２及び閾値通知部１０３の機能を実現する。この場合、アクセス監視装置１及び閾値算出装置１００は、互いのネットワークインタフェース９４を介して、アクセス監視装置１と通信を行う。
【００９０】
以上に説明したように、アクセス監視を行う情報処理装置は、アクセス監視装置と閾値算出装置という２つのコンピュータに分離することもできる。このように２つの装置に分けた構成でも、異常検出を高い精度で行うことができ、システムの安全性を向上させることができる。
【実施例３】
【００９１】
次に、実施例３について説明する。各時点での監視者への通知要否を、既に到着した範囲のデータから計算した統計量によって判定した場合、監視開始直後に発生した少ないデータから算出される統計量の揺らぎが大きい。そのため、監視直後に行われた通知の要否の判定では偽陽性が発生する可能性が高く、これに伴い、アクセス監視全体の正確度の維持のために偽陰性が発生するおそれがある。そこで、アクセス監視全体の偽陽性・偽陰性の発生を抑える、つまり、異常検知の精度を向上させることが求められる。
【００９２】
そこで、本実施例に係るアクセス監視装置は、受信したデータの内の異常検出期間における早い段階で受信したデータのみから算出された統計量に対する閾値判定を間引くことが実施例１と異なる。本実施例に係るアクセス監視装置も図２で表される。以下の説明では、実施例１と同様の各部の機能については説明を省略する。
【００９３】
条件取得部１０１は、判定機会の部分集合の情報を含む閾値列算出のための条件を取得する。判定機会の部分集合の情報とは、部分集合  Ｉ⊂｛１，２，...，ｎ｝であり、データの受信がｎ回あり、先頭からｉ個  （ｉ∈Ｉ）  のデータから統計量を算出した段階でのみ閾値との比較判定を行う。ここで  Ｉ＝｛１，２，...，ｎ｝であるときが実施例１に対応する。例えば、データがｋ個未満のときに算出される統計量の揺らぎが大きすぎるとき、Ｉ＝｛ｋ，ｋ＋１，...，ｎ｝とする。ここでは、アクセス監視装置１の運用状態によって決定されることが望ましい。
【００９４】
そして、条件取得部１０１は、判定機会の部分集合の情報を含む閾値列算出のための条件を閾値計算部１０２へ出力する。
【００９５】
閾値計算部１０２は、判定機会の部分集合の情報を含む閾値列算出のための条件の入力を条件取得部１０１から受ける。次に、閾値計算部１０２は、帰無仮説ＮＨのもとでデータの分布型から疑似乱数生成機により発生させたデータを疑似データとして取得する。
【００９６】
そして、閾値計算部１０２は、帰無仮説ＮＨのもとで上記部分集合に含まれる各判定機会における先頭から誤判定機会までのデータの統計量の観測値のいずれかが閾値列におけるそのデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を求める。そして、閾値計算部１０２は、閾値列を閾値通知部１０３へ出力する。
【００９７】
閾値計算部１０２は、閾値列の入力を閾値計算部１０２から受ける。そして、閾値計算部１０２は、閾値列に含まれる各データ取得時の個別閾値を判定部１３に通知する。
【００９８】
データ受信部１１は、検知対象機関においてネットワーク機器２が行った通信に関するデータをネットワーク機器２から取得する。ここで、判定機会の部分集合の場合のデータが、「部分データ」の一例にあたる。
【００９９】
統計量算出部１２は、データを用いて統計量を算出する。具体的には、統計量算出部１２は、データ取得時点で検知対象期間中に既にネットワーク機器２から取得したデータ全体に対する統計量を算出し、データ取得時における観測値とする。ここで、受信したデータの総数が判定機会の部分集合Ｉに含まれていたとき、統計量算出部１２は、算出したデータ取得時における観測値を判定部１３へ出力する。
【０１００】
判定部１３は、データ取得時における観測値と閾値通知部１０３から受信したデータ取得時の個別閾値とを比較する。そして、データ取得時における観測値が個別閾値を超えている場合、判定部１３は、異常発生の通知を通知部１４に指示する。これに対して、データ取得時における観測値が個別閾値を超えていない場合、判定部１３は、ネットワーク機器２による次のデータ取得及び統計量算出部１２からの判定機会の部分集合に含まれる件数のデータの統計量観測値の入力まで待機する。そして、データ取得時における観測値が個別閾値を超えることなく検知対象期間が終了した場合、判定部１３は、警告を出さずに判定を終了する。
【０１０１】
ここで、以上では、受信するデータの件数が所定の数ｋ未満であるときに判定を行わないような判定機会の部分集合を用いたが、使用する部分集合は受信タイミングが早いデータのみから算出された統計量を閾値と比較判定する機会を間引くことができれば他の部分集合を用いてもよい。
【０１０２】
例えば、部分集合として、受信する全てのデータのうち等間隔のデータを含む集合を用いてもよい。この場合の部分集合は、例えば、Ｋを適当に定められた正の整数とし、ｋをＫ以下の正整数として、ｎをｋ倍した値をＫで除算した結果を切り上げた値の集合である。この部分集合は、Ｉ＝｛ｃｅｉｌ（ｋｎ／ｋ）：ｋ∈Ｎ＋；ｋ≦Ｋ｝と表される。ｃｅｉｌ（ｘ）は、引数ｘ以上の最小の整数を表す。例えば、Ｋ＝１であれば、ｎ番目のデータを含む部分集合となる。Ｋ＝２であれば、真ん中のデータ及びｎ番目のデータを含む部分集合となる。また、Ｋ＝ｎであれば、全てのデータを含む部分集合となる。また、Ｋは受信する全てのデータの数ｎに依存してもよい。
【０１０３】
また、例えば、判定機会の部分集合として、判定の間隔を検知対象期間の終了が近づくにつれて指数的に短くした集合を用いてもよい。この場合の部分集合は、例えば、ｒを適当に定められた０より大きく１未満の定数とし、ｋを正整数として、１からｒのｋ乗を減算した結果をｎ倍し値を切り上げた値からなる集合である。この部分集合は、Ｉ＝｛ｃｅｉｌ（（１−ｒｋ）ｎ）：ｋ∈Ｎ＋｝と表される。この場合、ｒは受信する全てのデータの数ｎに依存してもよい。
【０１０４】
ここで、図８及び図９を参照して、本実施例に係るアクセス監視装置１による検出における即時性と検出精度との関係について説明する。図８は、間引く判定機会の数に対する発報率の変化を表す図である。図８の縦軸は発報率を表し、横軸は真値を表す。図９は、間引く判定機会の数に対する遅延率の変化を表す図である。図８の縦軸は遅延率を表し、横軸は真値を表す。
【０１０５】
ここでは、閾値が０である。また、この場合の最大許容偽陽性率である有意水準αは、５０％とした。また、ここでは、部分集合として、Ｉ＝｛ｃｅｉｌ（（１−ｒｋ）ｎ）：ｋ∈Ｎ＋｝を用いた。そして、図８は、真値がそれぞれ−２から２の間の数を取る場合での発報率を表す。また、図９は、真値がそれぞれ−２から２の間の数を取る場合での遅延率を表す。
【０１０６】
図８におけるバツで表されるデータは、判定機会の間引きを行わないアクセス監視装置１を用いた場合の発報率を表す。また、図８における四角で表されるデータは、データ全てを受信した最後の１回のみ閾値との判定処理を行って異常を検出する場合の発報率を表す。また、図８における白抜きの丸は、ｒ＝０．６の場合の発報率を表す。また、図８における二重丸は、ｒ＝０．７の場合の発報率を表す。また、図８における黒丸は、ｒ＝０．８の場合の発報率を表す。また、図８における三角は、ｒ＝０．９の場合の発報率を表す。
【０１０７】
ここで、ｒが小さくなるにつれて間引かれる判定機会の量が増加する。そして、最後の１回のみの判定を用いた検出が最も間引く判定機会が多い場合となる。その上で、真値が閾値未満の場合には発報されずに、真値が閾値を超える場合には発報されることが好ましい。そして、真値が閾値未満の場合の発報は、誤検知によるものであり、過剰検出である。また、真値が閾値より大きい場合に発報率が１．０未満であれば、異常の見逃しが発生しているといえる。
【０１０８】
図８に示すように、間引く判定機会の数が多くなるほど、真値が閾値以上の場合にはより確実に発報され、真値が閾値未満の場合の発報率は下がる。すなわち、異常が発生した場合には高確率で通知が行われ且つ誤検知が低減する。言い換えれば、間引く判定機会の数が多くなるほど、異常検出の精度は向上する。
【０１０９】
図９におけるバツで表されるデータは、判定機会の間引きを行わないアクセス監視装置１を用いた場合の遅延率を表す。また、図９における四角で表されるデータは、最後の１回のデータを用いて検出を行う場合の遅延率を表す。また、図９における白抜きの丸は、ｒ＝０．６の場合の遅延率を表す。また、図９における二重丸は、ｒ＝０．７の場合の遅延率を表す。また、図９における黒丸は、ｒ＝０．８の場合の遅延率を表す。また、図８における三角は、ｒ＝０．９の場合の遅延率を表す。ただし、図９において真値が０未満の場合は誤検知であるので、遅延を考慮しなくてもよいので、以下の説明は真値が０以上の場合について説明する。
【０１１０】
図９に示すように、間引く判定機会の数が多くなるほど、遅延率は上昇する。すなわち、間引く判定機会の数を増やすと、間引いた判定機会の数が多くなるほど、異常発生のタイミングから異常検出までに時間がかかる。すなわち、間引く判定機会の数が多くなるほど、異常検出の即時性は低下する。
【０１１１】
以上のことから、間引く判定機会の数に対して即時性と異常検出の精度とがトレードオフの関係になることが分かる。そこで、アクセス監視装置１の利用者は、間引く判定機会の数を調整することで、即時性及び異常検出の精度を好ましい条件に設定することができる。ここで、間引く判定機会の数を受信したタイミングが早くなるにつれて指数的に増やす場合で説明したが、異常検知期間において受信したタイミングが早いデータのみから算出された統計量による判定を間引く他の方法でも、ほぼ同様の結果が得られる。
【０１１２】
以上に説明したように、本実施例に係るアクセス監視装置は、異常検知期間の早い段階で受信したデータのみからなる判定を間引き、その間引後の判定機会のみにおいてデータ取得時の個別閾値及び観測値を比較して異常検知を行う。これにより、判定機会の間引きを行わない場合に比べて、異常検知の精度を向上させることができる。さらに、間引く判定機会の数を調整することで、即時性及び異常検出の精度を好ましい条件に設定することが可能となる。
【符号の説明】
【０１１３】
１  アクセス監視装置
２  ネットワーク機器
３  インターネット
４  内部ネットワーク
１１  データ受信部
１２  統計量算出部
１３  判定部
１４  通知部
４１  サーバ
４２  クライアント
１０１  条件取得部
１０２  閾値計算部
１０３  閾値通知部
【図１】
2019128953.tif 000003
【図２】
2019128953.tif 000004
【図３】
2019128953.tif 000005
【図４】
2019128953.tif 000006
【図５】
2019128953.tif 000007
【図６】
2019128953.tif 000008
【図７】
2019128953.tif 000009
【図８】
2019128953.tif 000010
【図９】
2019128953.tif 000011