(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-16
(45)【発行日】2023-01-24
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 17/18 20060101AFI20230117BHJP
【FI】
G06F17/18 D
(21)【出願番号】P 2019001337
(22)【出願日】2019-01-08
【審査請求日】2021-08-10
(31)【優先権主張番号】P 2018008250
(32)【優先日】2018-01-22
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度、国立研究開発法人新エネルギー・産業技術総合開発機構、「戦略的イノベーション創造プログラム(SIP)/重要インフラ等におけるサイバーセキュリティの確保/(a2)制御・通信機器及び制御ネットワークの動作監視・解析技術」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大堀 龍一
(72)【発明者】
【氏名】鳥居 悟
【審査官】田中 幸雄
(56)【参考文献】
【文献】米国特許出願公開第2011/0270792(US,A1)
【文献】大森宏,仮説検定,統計特論,日本,2011年07月10日,http://lbm.ab.a.u-tokyo.ac.jp/~omori/meiji2/sec6/sec6.html
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説
及び複数の前記データの分布型を用いて複数の前記データに対応する複数の疑似データを生成し、生成した前記疑似データ、真値、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求める閾値列算出部と、
前記閾値列算出部により算出された前記閾値列を通知する閾値通知部と
を備えたことを特徴とする情報処理装置。
【請求項2】
複数の前記データを順次取得するデータ受信部と、
前記データ受信部による各前記データ取得時の既に取得されたデータ群を対象として各前記データ取得時の統計量を算出する統計量算出部と、
前記統計量算出部が算出した各前記データ取得時の統計量と、前記閾値通知部により通知された閾値列に含まれる各前記データの取得時の前記個別閾値とを比較して異常が発生したか否かを判定する判定部と、
前記判定部により異常が発生したと判定された場合、異常の発生を通知する通知部とを備えたことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記閾値列算出部は、複数の前記データを順次取得する場合に、先頭から所定数の判定機会を間引いた部分集合に含まれる部分データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説、及び、予め決められた有意水準を用いて、前記部分データの取得時における個別閾値を含む閾値列を求め、
前記統計量算出部は、前記データ受信部が受信した複数の前記データのうちの前記部分データを取得し、既に取得された前記部分データを対象として前記部分データの取得時の統計量を算出し、前記閾値通知部により通知された閾値列に含まれる各前記部分データの取得時の前記個別閾値とを比較して異常が発生したか否かを判定する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記有意水準は、前記データ受信部により取得された複数の前記データを対象とする統計量の真値が前記閾値以下である場合に前記判定部により異常が発生したと判定される確率の許容可能な最大値であることを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記閾値列算出部は、複数の各前記データが取得された場合の前記データ取得時毎の既に取得されたデータ群を対象とした各前記データ取得時の統計量である観測値の個々について、各前記観測値のいずれかが前記閾値を超える確率が前記有意水準と一致するように前記閾値列を求めることを特徴とする請求項1
~4のいずれか一つに記載の情報処理装置。
【請求項6】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説
及び複数の前記データの分布型を用いて複数の前記データに対応する複数の疑似データを生成し、生成した前記疑似データ、真値、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求め、
求められた前記閾値列を通知する
処理をコンピュータに実行させることを特徴とする情報処理方法。
【請求項7】
複数のデータを順次取得する場合に、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す帰無仮説
及び複数の前記データの分布型を用いて複数の前記データに対応する複数の疑似データを生成し、生成した前記疑似データ、真値、及び、予め決められた有意水準を用いて、各データ取得時における個別閾値を含む閾値列を求め、
求められた前記閾値列を通知する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
セキュリティ管理者(以降、「管理者」という)は、管理対象のシステムの監視ログを定期的に分析し、システムに対する障害、攻撃及び不正を検出して対処する検査業務を行う。検査業務には、例えば、ネットワーク機器の監視がある。このような検査業務に用いる装置として、アクセス監視装置がある。
【0003】
例えば、アクセス監視装置は、システムの監視ログから取得したデータの統計量を監視する。そして、アクセス監視装置は、予め決められたルールからの逸脱や定常状態からの変化を異常として検出する。その後、アクセス監視装置は、管理者へ検出した異常を提示する。これにより、アクセス監視装置は、システムの故障やシステムに対する攻撃などの発見に寄与する。
【0004】
より具体的に、ネットワーク機器の監視では、アクセス監視装置が、組織ネットワークの出入り口でキャプチャされた通信の情報を用いて、通信元及び通信先ごとにセッション情報を監視する。そして、アクセス監視装置は、通信量の急増及び急減などから異常を検知する。ここで検知される異常の種類には、ウィルスの拡散、情報漏えい、サーバの踏み台化及び故障など多種多様なものがある。
【0005】
従来、異常の検出方法として、例えば、アクセス監視装置が特定期間に発生したデータの統計量を予め定められた固定の閾値と比較して、統計量が閾値を上回っている場合に異常を通知することが行われていた。
【0006】
また、各データの到着時に、既に受け取った範囲のデータに対して統計量を算出し、予め定められた固定の閾値と比較し、算出した統計量が閾値を超えた場合に異常が発生したと判定する従来技術がある。
【0007】
また、データの予測手法として、定常状態モデルと非定常状態モデルとを混合した予測モデルを用いて時系列データの値を予測する従来技術がある。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特定期間に発生したデータの統計量を予め定められた閾値と比較して異常を検出する従来技術では、統計量算出対象のデータ全てが集まらなければ異常が通知されない。そのため、故障や攻撃などの発見が発生から大幅に遅れるおそれがある。
【0010】
一方、各データの到着時に既に受け取った範囲のデータに対して統計量を算出して異常の検出を行う従来技術では、データ全体の統計量が上回る確率に比べて、任意の時点で随時算出される統計量のうち少なくとも1つが閾値を上回る確率は高くなるため、異常にあたらない事象も検出して監視者に通知する過剰検出が頻発するおそれがある。
【0011】
また、定常状態モデルと非定常状態モデルとを混合した予測モデルを用いるデータ予測の従来技術を用いても、データ到着の時系列に合わせて閾値を適切に選択することは困難であり、過剰検出を低減することは困難である。
【0012】
開示の発明は、上記に鑑みてなされたものであって、異常事態の検出精度を向上させる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの一つの態様において、閾値列算出部は、複数のデータを順次取得する場合に、帰無仮説及び複数の前記データの分布型を用いて複数の前記データに対応する複数の疑似データを生成し、生成した前記疑似データ、真値及び予め決められた有意水準を用いて、各前記データ取得時における個別閾値を含む閾値列を求める。前記帰無仮説は、複数の前記データに対する統計量の理論的に正しい値である真値が予め決められた閾値以下であるという条件を表す。閾値通知部は、前記閾値列算出部により算出された前記閾値列を通知する。
【発明の効果】
【0014】
1つの側面では、本発明は、異常事態の検出精度を向上させることができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、アクセス監視装置により監視が行われるシステムの概略構成図である。
【
図2】
図2は、実施例1に係るアクセス監視装置のブロック図である。
【
図3】
図3は、定率法を用いる場合の閾値列の算出処理の一例を表すフローチャートである。
【
図4】
図4は、アクセス監視装置によるアクセス監視処理全体のフローチャートである。
【
図7】
図7は、実施例2に係るアクセス監視装置及び閾値算出装置のブロック図である。
【
図8】
図8は、間引く判定機会の数に対する発報率の変化を表す図である。
【
図9】
図9は、間引く判定機会の数に対する遅延率の変化を表す図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。
【実施例1】
【0017】
図1は、アクセス監視装置により監視が行われるシステムの概略構成図である。ここでは、アクセス監視装置1が、ネットワーク機器2で接続されるインターネット3と内部ネットワーク4との間の通信を監視するシステムについて説明する。
【0018】
ネットワーク機器2は、内部ネットワーク4とインターネット3との通信を仲介する装置である。ネットワーク機器2は、例えば、ファイヤフォールやプロキシサーバなどである。
【0019】
内部ネットワーク4は、特定の企業などのネットワークである。内部ネットワーク4には、サーバ41やクライアント42が配置される。その他にも、内部ネットワーク4には、種々のコンピュータやネットワーク装置が配置される。
【0020】
内部ネットワーク4は、ネットワーク機器2に接続される。そして、内部ネットワーク4に配置されたサーバ41やクライアント42は、ネットワーク機器2を介してインターネット3と通信可能である。
【0021】
アクセス監視装置1は、ネットワーク機器2が中継する通信を監視することで、内部ネットワーク4の出入り口での通信のキャプチャを行う。アクセス監視装置1は、例えば、通信元及び通信先毎にセッション情報を監視する。そして、アクセス監視装置1は、通信量の増減や急減などから異常を検知する。このような異常の検知を行うことで、アクセス監視装置1は、例えば、内部ネットワーク4において、ウィルスの拡散や、情報漏洩、内部ネットワーク4の踏み台化又は故障などを検出することができる。
【0022】
例えば、内部ネットワーク4は、インターネット3から攻撃を受けるおそれがある。ネットワーク機器2などによりインターネット3からの攻撃はある程度防げるが、防ぎきれなかった攻撃が内部ネットワーク4の内部に侵入するおそれがある場合がある。例えば、内部ネットワーク4に既に侵入した攻撃により、内部ネットワーク4にバックドアが設けられてしまう状況が考えられる。そのような場合に、アクセス監視装置1は、ネットワーク機器2を介した内部ネットワーク4とインターネット3との間で送受信されるデータ監視し、進入した攻撃による異常を検出する。そして、アクセス監視装置1は、検出した異常を管理者に通知することで、進入した攻撃に対する対応を管理者に促すことができる。
【0023】
さらに、1セッションの情報が変化しただけでは、アクセス監視装置1による異常検知の確度が不足する。そこで、例えば、アクセス監視装置1は、セッション通信量の平均や標準偏差を1時間毎に計測して異常検出を行うことが考えられる。ただし、1時間が経過するごとに異常検知を行った場合、検知すべき事象の発生から最大1時間の遅れが発生する。そこで、本実施例に係るアクセス監視装置1は、検知対象期間においてネットワーク機器2の通信に関するデータを取得する毎に異常検知を行う。このアクセス監視装置1が、「情報処理装置」の一例にあたる。
【0024】
ただし、本実施例に係るアクセス監視装置1の監視対象はネットワーク機器2に限らない。アクセス監視装置1は、通信の状態を把握できるのであれば監視対象のシステムのどの箇所の監視を行ってもよい。
【0025】
次に、
図2を参照して、アクセス監視装置1の詳細を説明する。
図2は、実施例1に係るアクセス監視装置のブロック図である。
【0026】
アクセス監視装置1は、データ受信部11、統計量算出部12、判定部13及び通知部14を有する。さらに、アクセス監視装置1は、条件取得部101、閾値計算部102及び閾値通知部103を有する。
【0027】
条件取得部101は、管理者から入力された閾値列算出のための条件を取得する。閾値列算出のための条件としては、閾値、検知対象期間内に発生するデータの数、1回のデータ取得時の統計量の算出のシミュレーションを行う回数であるシミュレーションサイズ、有意水準及び帰無仮説を取得する。ここで、統計量として用いる情報は、データの取得状態を判定するための情報であれば特に制限は無く、例えば、平均値、最大値又は標準偏差などを用いることができる。
【0028】
真値は、検知対象期間内に発生するデータに対する統計量の理論的に正しい値である。例えば、真値は、検知対象期間内のデータ発生源の状態が無限に継続するとき、そこから無限に発生するデータを収集した場合の統計量の収束値と考えることができる。また、閾値は、真値に対して異常が発生したと判定するか否かの基準とする値である。
【0029】
また、ここではデータの数はn個であり、シミュレーションサイズはsである。また、帰無仮説は、真値が閾値以下であるという条件であり、この帰無仮説を帰無仮説NHと表す。さらに、有意水準は、帰無仮説NHの場合の最大許容偽陽性率であり、帰無仮説NHのもと異常が発生したと判定される可能性が最も高い場合、すなわち真値が閾値と等しい場合の通知率である。以下では、この有意水準を「α」と表す。言い換えれば、有意水準αは、後述するデータ受信部11により検知対象期間内に取得された各データに対する統計量の真値が閾値以下であるにも関わらず判定部13により異常が発生したと判定される誤検知が発生する確率の許容可能な最大値である。
【0030】
さらに、条件取得部101は、データのしたがう分布型の入力を受ける。データのしたがう分布型は、例えば、正規分布、指数分布、連続一様分布及び対数正規分布などがある。さらに、条件取得部101は、仮定された統計量の真値を取得する。
【0031】
そして、条件取得部101は、取得した閾値列算出のための条件を閾値計算部102へ出力する。
【0032】
閾値計算部102は、閾値列算出のための条件の入力を条件取得部101から受ける。次に、閾値計算部102は、帰無仮説NHのもとでデータの分布型から疑似乱数生成機により発生させたデータを疑似データとして取得する。条件取得部101は、i(i=1,・・・,n)番目のデータを取得した場合の疑似データとして、シミュレーション毎にn個の疑似データを取得する。
【0033】
そして、閾値計算部102は、帰無仮説NHのもとで各データ取得時の統計量の観測値のいずれかが閾値列におけるそのデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を求める。
【0034】
例えば、時系列で順次取得されるi番目までのデータ(i=1,・・・n)の取得時の統計量の観測値をsiとする。また、個別閾値をtiとする。そして、少なくとも1つのiについてi番目のデータ取得時の統計量の観測値siがそのデータ取得時の個別閾値tiより大きくなる確率を、P(∃i:ti<si)と表す。P(∃i:ti<si)は、各iについて「ti<siが成り立った場合に監視者への通知を行う」とき、帰無仮説NHのもとで監視者への通知が行われる確率である。この場合、閾値計算部102は、P(∃i:ti<si)がαと一致するという条件を満たす閾値列を求める。いいかえれば、ti<siのいずれかとなる確率がαと一致するという条件を満たす閾値列を求める。
【0035】
この閾値列の求め方については特に制限は無い。例えば、閾値計算部102は、前述した条件に加えて、帰無仮説NHのもとで各データ取得時の統計量の観測値が個別閾値より大きくなるそれぞれの確率(P(ti<si))がデータ取得のタイミングに依らない定数となることを条件とする定率法を用いてもよい。また、閾値計算部102は、前述した条件に加えて、各個別閾値がデータ取得のタイミングに依らない定数となることを条件とする定閾法を用いてもよい。
【0036】
ここで、閾値計算部102による閾値列の算出について、定率法を用いる場合を例に詳細に説明する。
図3は、定率法を用いる場合の閾値列の算出処理の一例を表すフローチャートである。
【0037】
条件取得部101は、閾値列算出のための条件を取得する(ステップS1)。ここで、検知対象期間におけるデータ数をnとする。シミュレーションサイズはsであり、有意水準はαであり、帰無仮説はNHである。また、条件取得部101は、データの分布型及び統計量の真値も取得する。そして条件取得部101は、取得した条件を閾値計算部102へ出力する。
【0038】
閾値計算部102は、閾値列算出のための条件の入力を条件取得部101から受ける。そして、閾値計算部102は、データ番号i及びシミュレーション番号jをいずれも初期化して1とする(ステップS2)。ここで、データ番号iは、最初のデータを1としてデータ取得毎に連番で番号を振った場合のデータに振られる値である。iは、1からnまでの整数である。また、シミュレーション番号jは、最初のシミュレーションを1としてシミュレーションを行う毎に連番で番号を振った場合のシミュレーションに振られる値である。jは、1からsまでの整数である。以下では、j番のシミュレーションをシミュレーションjという。
【0039】
次に、閾値計算部102は、帰無仮説NHのもとでデータの分布型から乱数を発生させて、シミュレーションjにおけるi番目のデータXi,jを生成する(ステップS3)。
【0040】
次に、閾値計算部102は、シミュレーションjにおける最初のi個のデータに対する統計量Vi,jを算出する(ステップS4)。
【0041】
次に、閾値計算部102は、jがsに一致するか否かを判定する(ステップS5)。jがsに一致しない場合(ステップS5:否定)、閾値計算部102は、jを1つインクリメントする(ステップS6)。その後、閾値計算部102は、ステップS3へ戻る。
【0042】
これに対して、jがsに一致した場合(ステップS5:肯定)、閾値計算部102は、シミュレーション番号j及びPjを初期化して1及び0とする(ステップS7)。
【0043】
次に、閾値計算部102は、各シミュレーションの統計量Vi,jの大きさの順位を算出し、且つ、0と1との間の値に各値が収まるように正規化して各値までの累積確率πi,jを算出する(ステップS8)。
【0044】
次に、閾値計算部102は、シミュレーションjにおける累積確率πi,jの最大値Pjを抽出する。すなわち、閾値計算部102は、Pj=max{Pj,πi,j}とすることを繰り返して、最大値Pjを選択する(ステップS9)。
【0045】
次に、閾値計算部102は、jがsに一致したか否かを判定する(ステップS10)。jがsに一致しない場合(ステップS10:否定)、閾値計算部102は、jを1つインクリメントする(ステップS11)。その後、閾値計算部102は、ステップS8へ戻る。
【0046】
これに対して、jがsに一致した場合(ステップS10:肯定)、閾値計算部102は、iがnに一致したか否かを判定する(ステップS12)。iがnに一致しない場合(ステップS12:否定)、閾値計算部102は、iを1つインクリメントする(ステップS13)。その後、閾値計算部102は、ステップS3へ戻る。
【0047】
これに対して、iがnに一致した場合(ステップS12:肯定)、閾値計算部102は、シミュレーションjにおける累積確率πi,jの最大値Pjを降順に並べた場合の先頭から有意水準αの割合となるPjをα’として特定する(ステップS14)。
【0048】
次に、閾値計算部102は、データ番号iを初期化して1にする(ステップS15)。
【0049】
次に、閾値計算部102は、i番目のデータ取得時の各シミュレーションjを行った場合の各統計量Vi,jを昇順に並べた場合の先頭からα’の割合となるVi,jをi番目のデータ取得時の個別閾値tiとする(ステップS16)。
【0050】
次に、閾値計算部102は、iがnに一致したか否かを判定する(ステップS17)。iがnに一致しない場合(ステップS17:否定)、閾値計算部102は、iを1つインクリメントする(ステップS18)。その後、閾値計算部102は、ステップS16へ戻る。
【0051】
これに対して、iがnに一致した場合(ステップS17:肯定)、閾値計算部102は、算出した各データ取得時における個別閾値t1~tnをまとめて閾値列とする(ステップS19)。
【0052】
まとめると、
図3を参照
して説明した閾値列の決定処理は以下のような流れとなる。まず、帰無仮説NHに基づいて時系列に並び且つシミュレーション毎に並ぶ疑似データが生成され、その統計量が計算される。次に、その統計量がシミュレーション内の相対的な大きさに基づき確率値に変換され、有意水準にあたる確率が求められる。そして、求めた確率の相対的な大きさが有意水準に対応する値を統計量に変換することにより、個別閾値
が時系列で求め
られる。これにより、各データ取得時の統計量の観測値のいずれかが個別閾値を超える確率が有意水準と一致するように個別閾値が決定される。
【0053】
図2に戻って説明を続ける。閾値計算部102は、求めた閾値列を閾値通知部103へ出力する。この閾値計算部102が、「閾値列算出部」の一例にあたる。
【0054】
閾値通知部103は、各データ取得時における個別閾値をまとめた閾値列の入力を閾値計算部102から受ける。そして、閾値通知部103は、取得した閾値列を記憶する。以上の閾値列の決定処理は、実際の検知対象期間においてデータが送られてくる前に実施されることが好ましい。
【0055】
その後、閾値通知部103は、特定のデータ取得時の個別閾値の通知要求を後述する判定部13から受ける。この時、閾値通知部103は、特定のデータが何番目のデータであるか情報も判定部13から取得する。そして、閾値通知部103は、特定のデータ取得時の個別閾値を閾値列の中から選択する。その後、閾値通知部103は、選択した個別閾値を判定部13へ送信する。
【0056】
データ受信部11は、検知対象期間においてネットワーク機器2が行った通信に関するデータをネットワーク機器2から取得する。ここで、データ受信部11は、通信に関するデータとして、例えば、通信を行った日時、セッション数、パケット数及びデータサイズの情報などを取得する。そして、データ受信部11は、ネットワーク機器2からデータを取得する毎に、取得したデータを統計量算出部12へ順次出力する。
【0057】
統計量算出部12は、ネットワーク機器2が行った通信に関するデータをデータ受信部11から順次受け取る。そして、統計量算出部12は、データ取得時点で検知対象期間中に既にネットワーク機器2から取得したデータ全体に対する統計量を算出し、データ取得時における観測値とする。そして、統計量算出部12は、算出したデータ取得時における観測値を判定部13へ出力する。
【0058】
判定部13は、ネットワーク機器2からデータが送られるたびに、データ取得時における観測値の入力を統計量算出部12から受ける。そして、判定部13は、ネットワーク機器2から取得した特定のデータのデータ取得時の個別閾値の通知を閾値通知部103に要求する。この時、判定部13は、ネットワーク機器2から取得した特定のデータが検知対象期間に取得するデータのうちの何番目のデータかの情報を閾値通知部103へ通知する。
【0059】
その後、判定部13は、個別閾値を閾値通知部103から受信する。そして、判定部13は、データ取得時における既に取得したデータ全体に対する統計量の観測値と個別閾値とを比較する。判定部13は、ネットワーク機器2からデータを取得する毎に判定を繰り返す。
【0060】
そして、データ取得時における観測値が個別閾値を超えている場合、判定部13は、異常発生の通知を通知部14に指示する。これに対して、データ取得時における観測値が個別閾値を超えていない場合、判定部13は、ネットワーク機器2による次のデータ取得まで待機する。そして、データ取得時における観測値が個別閾値を超えることなく検知対象期間が終了した場合、判定部13は、警告を出さずに判定を終了する。
【0061】
通知部14は、異常発生の通知の指示を判定部13から受ける。そして、通知部14は、システムの管理者に異常発生を通知する。例えば、通知部14は、異常発生を通知するメールをシステム管理者に送信するなどして異常発生の通知を行う。
【0062】
次に、
図4を参照して、アクセス監視装置1によるアクセス監視処理の流れを説明する。
図4は、アクセス監視装置によるアクセス監視処理全体のフローチャートである。
【0063】
条件取得部101は、管理者から入力された閾値列算出のための条件を取得する(ステップS101)。次に、条件取得部101は、閾値列算出のための条件を閾値計算部102へ出力する。
【0064】
閾値計算部102は、の入力を条件取得部101から受ける。そして、閾値計算部102は、閾値列算出のための条件を用いて、帰無仮説NHのもとデータ取得時における観測値のいずれかがデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を算出する(ステップS102)。そして、閾値通知部103は、閾値計算部102により算出された閾値列を記憶する。
【0065】
次に、データ受信部11は、検知対象期間にネットワーク機器2から時系列で順番に、ネットワーク機器2が行った通信に関するデータを取得する(ステップS103)。そして、データ受信部11は、取得したデータを統計量算出部12へ順番に出力する。
【0066】
統計量算出部12は、ネットワーク機器2が行った通信に関するデータの入力を統計量算出部12から受ける。そして、統計量算出部12は、その時点で取得したデータ全体に対する統計量の観測値を求める(ステップS104)。その後、統計量算出部12は、その時点でのデータ取得時における既に有するデータ全体に対する統計量の観測値を判定部13へ出力する。
【0067】
判定部13は、その時点でのデータ取得時における既に有するデータ全体に対する統計量の観測値の入力を統計量算出部12から受ける。さらに、判定部13は、その時点での個別閾値の通知を閾値通知部103から取得する、そして、判定部13は、算出された観測値がその時点での個別閾値を超えるか否かを判定する(ステップS105)。
【0068】
算出された観測値がその時点での個別閾値を超えている場合(ステップS105:肯定)、判定部13は、異常発生の通知を通知部14に指示する。通知部14は、判定部13からの指示を受けて、管理者に対して異常発生を通知する(ステップS106)。そして、アクセス監視装置1は、今回の検知対象期間におけるアクセス監視処理を終了する。
【0069】
これに対して、算出された観測値がその時点での個別閾値を超えていない場合(ステップS105:否定)、判定部13は、検知対象期間が終了したか否かを判定する(ステップS107)。
【0070】
検知対象期間が終了していない場合(ステップS107:否定)、アクセス監視処理は、ステップS103へ戻る。これに対して、検知対象期間が終了した場合(ステップS107:肯定)、アクセス監視装置1は、今回の検知対象期間におけるアクセス監視処理を終了する。
【0071】
ここで、
図5を参照して、本実施例に係るアクセス監視装置1による過剰検出率の低減の効果について説明する。
図5は、発報率の変化を表す図である。
図5の縦軸は発報率を表し、横軸は真値を表す。
【0072】
この場合の各パラメータは、データ数が1024であり、統計量が変動係数であり、閾値が0.10である。また、この場合の有意水準αは、50%とした。そして、真値がそれぞれ、0.05から0.20の間の数を取る場合で発報率を求めた。
【0073】
図5における黒丸で表されるデータは、本実施例に係るアクセス監視装置1を用いた場合の発報率を表す。また、
図5における白抜きの菱形で表されるデータは、データ取得時毎に統計量の観測値と固定された閾値とを比較して異常発生を検知する従来技術を用いた場合の発報率を表す。さらに、
図5の線で表されるグラフが理想の発報率を表す。すなわち、真値が閾値未満の場合には発報されずに、真値が閾値を超える場合には発報されることが好ましい。そして、真値が閾値未満の場合の発報は、誤検知によるものであり、過剰検出である。また、真値が閾値より大きい場合に発報率が1.0未満であれば、異常の見逃しが発生しているといえる。
【0074】
図5に示すように、真値が閾値である0.10未満で且つ0.10に近い場合、従来技術の発報率に比べて、本実施例に係るアクセス監視装置1を用いた場合の発報率は、発報率が矢印P1及びP2で示すように低下した。このように、特に真値が閾値に近い場合に、本実施例に係るアクセス監視装置1は、従来技術に比べて誤検知の発生を低く抑えることができる。
【0075】
他の条件として、統計量を変動係数とし、閾値を0.10とし、真値を0.09とし、データ数を128個とした場合、
図5と同様の従来技術に比べて本実施例に係るアクセス監視装置1は、過剰検出率を33ポイント低減することができた。
【0076】
以上に説明したように、本実施例に係るアクセス監視装置は、真値が閾値以下であるという帰無仮説のもと各データ取得時の統計量の観測値のいずれか個別閾値を超える確率が有意水準と一致するように各データ取得時の個別閾値を含む閾値列を求める。ここで、有意水準は、誤報が発生する確率の最大値であり、言い換えれば、誤報の発生を許容可能な限界を表す値である。そして、アクセス監視装置は、求めた閾値列を用いて各データ取得時における異常発生の判定を行う。これにより、本実施例に係るアクセス監視装置は、真値が閾値を超える場合における監視者への通知が行われる確率を、検知対象期間内のデータが全てそろった場合の観測値と閾値とを用いて異常発生を判定する場合の確率と同程度に維持することができる。また、本実施例に係るアクセス監視装置は、異常発生の早期段階での管理者への通知を行うことができる。これらの効果を両立させることで、本実施例に係るアクセス監視装置は、システムの安全性を向上させることができる。
【0077】
(ハードウェア構成)
図6は、ハードウェア構成図である。アクセス監視装置1は、例えば、
図6に示すコンピュータ90により実現される。
【0078】
図6示すように、コンピュータ90は、CPU(Central Processing Unit)91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。CPU91、メモリ92、ハードディスク93及びネットワークインタフェース94のそれぞれは、バス95を介して接続される。
【0079】
ネットワークインタフェース94は、外部の装置との通信インタフェースである。アクセス監視装置1であるコンピュータ90は、ネットワークインタフェース94を介してネットワーク機器2に接続される。
【0080】
ハードディスク93には
図2に例示したデータ受信部11、統計量算出部12、判定部13、通知部14、条件取得部101、閾値計算部102及び閾値通知部103と同様の機能を発揮するアクセス監視プログラムを含む各種プログラムが予め記憶される。なお、アクセス監視プログラムについては、適宜分離してもよい。
【0081】
そして、CPU91が、アクセス監視プログラムを含む各種プログラムをハードディスク93から読み出してメモリ92に展開し、実行することで、実施例の各部の機能を実現する。すなわち、アクセス監視プログラムは、データ受信部11、統計量算出部12、判定部13、通知部14、条件取得部101、閾値計算部102及び閾値通知部103と同様の動作を実行する。
【0082】
なお、上記したアクセス監視プログラムについては、必ずしも最初からハードディスク93に記憶させることを要しない。
【0083】
例えば、コンピュータ90に挿入されるに挿入されるフレキシブルディスク、いわゆる「可搬用の物理媒体」に情報処理プログラムを記憶させる。可搬用の物理媒体には、例えば、FD(Floppy Disk)、CD(Compact Disk)-ROM、DVD(Digital Versatile Disc)、光磁気ディスク、IC(Integrated Circuit)カードなどがある。そして、コンピュータ90がこれらからプログラムを読み出して実行するようにしてもよい。
【0084】
さらには、公衆回線、インターネット3、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータ90に接続される「他のコンピュータ」などにプログラムを記憶させておく。そして、コンピュータ90がこれらからプログラムを読み出して実行するようにしてもよい。
【実施例2】
【0085】
図7は、実施例2に係るアクセス監視装置及び閾値算出装置のブロック図である。本実施例では、
図7に示すようにアクセス監視装置1及び閾値算出装置100が存在する。本実施例に係るアクセス監視装置1と閾値算出装置100は、異なるコンピュータで実現される。
【0086】
アクセス監視装置1は、データ受信部11、統計量算出部12、判定部13及び通知部14を有する。データ受信部11、統計量算出部12、判定部13及び通知部14の各部は、実施例1と同様の機能を有する。ただし、判定部13は、データ取得時の閾値を閾値算出装置100の閾値通知部103から受信する。すなわち、アクセス監視装置1は、閾値算出装置100から取得したデータ取得時の閾値を用いて、ネットワーク機器2のデータ取得時毎に判定を行い、異常発生の検出及び通知を行う。
【0087】
閾値算出装置100は、条件取得部101、閾値計算部102及び閾値通知部103を有する。条件取得部101、閾値計算部102及び閾値通知部103の各部は、実施例1と同様の機能を有する。ただし、閾値通知部103は、アクセス監視装置1の判定部13からの通知要求を受けて、データ取得時の閾値を判定部13に通知する。すなわち、閾値算出装置100は、管理者により与えられた条件を用いて予め各データ取得時の閾値を含む閾値列を求めて格納しておき、アクセス監視装置1からの要求に応じて閾値を通知する。
【0088】
アクセス監視装置1及び閾値算出装置100の何れも、例えば、
図6に示すコンピュータ90により実現される。この場合、アクセス監視装置1にあたるコンピュータ90は、データ受信部11、統計量受信部12、判定部13及び通知部14の機能を実現するプログラムを含む各種プログラムをハードディスク93に格納する。そして、CPU91がハードディスク93から各種プログラムを読み出して実行することでデータ受信部11、統計量受信部12、判定部13及び通知部14の機能を実現する。この場合、アクセス監視装置1は、ネットワークインタフェース94を介してネットワーク機器2と通信を行う。
【0089】
また、閾値算出装置100にあたるコンピュータ90は、条件取得部101、閾値計算部102及び閾値通知部103の機能を実現するプログラムを含む各種プログラムをハードディスク93に格納する。そして、CPU91がハードディスク93から各種プログラムを読み出して実行することで条件取得部101、閾値計算部102及び閾値通知部103の機能を実現する。この場合、アクセス監視装置1及び閾値算出装置100は、互いのネットワークインタフェース94を介して、アクセス監視装置1と通信を行う。
【0090】
以上に説明したように、アクセス監視を行う情報処理装置は、アクセス監視装置と閾値算出装置という2つのコンピュータに分離することもできる。このように2つの装置に分けた構成でも、異常検出を高い精度で行うことができ、システムの安全性を向上させることができる。
【実施例3】
【0091】
次に、実施例3について説明する。各時点での監視者への通知要否を、既に到着した範囲のデータから計算した統計量によって判定した場合、監視開始直後に発生した少ないデータから算出される統計量の揺らぎが大きい。そのため、監視直後に行われた通知の要否の判定では偽陽性が発生する可能性が高く、これに伴い、アクセス監視全体の正確度の維持のために偽陰性が発生するおそれがある。そこで、アクセス監視全体の偽陽性・偽陰性の発生を抑える、つまり、異常検知の精度を向上させることが求められる。
【0092】
そこで、本実施例に係るアクセス監視装置は、受信したデータの内の異常検出期間における早い段階で受信したデータのみから算出された統計量に対する閾値判定を間引くことが実施例1と異なる。本実施例に係るアクセス監視装置も
図2で表される。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
【0093】
条件取得部101は、判定機会の部分集合の情報を含む閾値列算出のための条件を取得する。判定機会の部分集合の情報とは、部分集合 I⊂{1,2,...,n}であり、データの受信がn回あり、先頭からi個 (i∈I) のデータから統計量を算出した段階でのみ閾値との比較判定を行う。ここで I={1,2,...,n}であるときが実施例1に対応する。例えば、データがk個未満のときに算出される統計量の揺らぎが大きすぎるとき、I={k,k+1,...,n}とする。ここでは、アクセス監視装置1の運用状態によって決定されることが望ましい。
【0094】
そして、条件取得部101は、判定機会の部分集合の情報を含む閾値列算出のための条件を閾値計算部102へ出力する。
【0095】
閾値計算部102は、判定機会の部分集合の情報を含む閾値列算出のための条件の入力を条件取得部101から受ける。次に、閾値計算部102は、帰無仮説NHのもとでデータの分布型から疑似乱数生成機により発生させたデータを疑似データとして取得する。
【0096】
そして、閾値計算部102は、帰無仮説NHのもとで上記部分集合に含まれる各判定機会における先頭から誤判定機会までのデータの統計量の観測値のいずれかが閾値列におけるそのデータ取得時の閾値を超える確率が有意水準αと一致するという条件を満たす閾値列を求める。そして、閾値計算部102は、閾値列を閾値通知部103へ出力する。
【0097】
閾値計算部102は、閾値列の入力を閾値計算部102から受ける。そして、閾値計算部102は、閾値列に含まれる各データ取得時の個別閾値を判定部13に通知する。
【0098】
データ受信部11は、検知対象機関においてネットワーク機器2が行った通信に関するデータをネットワーク機器2から取得する。ここで、判定機会の部分集合の場合のデータが、「部分データ」の一例にあたる。
【0099】
統計量算出部12は、データを用いて統計量を算出する。具体的には、統計量算出部12は、データ取得時点で検知対象期間中に既にネットワーク機器2から取得したデータ全体に対する統計量を算出し、データ取得時における観測値とする。ここで、受信したデータの総数が判定機会の部分集合Iに含まれていたとき、統計量算出部12は、算出したデータ取得時における観測値を判定部13へ出力する。
【0100】
判定部13は、データ取得時における観測値と閾値通知部103から受信したデータ取得時の個別閾値とを比較する。そして、データ取得時における観測値が個別閾値を超えている場合、判定部13は、異常発生の通知を通知部14に指示する。これに対して、データ取得時における観測値が個別閾値を超えていない場合、判定部13は、ネットワーク機器2による次のデータ取得及び統計量算出部12からの判定機会の部分集合に含まれる件数のデータの統計量観測値の入力まで待機する。そして、データ取得時における観測値が個別閾値を超えることなく検知対象期間が終了した場合、判定部13は、警告を出さずに判定を終了する。
【0101】
ここで、以上では、受信するデータの件数が所定の数k未満であるときに判定を行わないような判定機会の部分集合を用いたが、使用する部分集合は受信タイミングが早いデータのみから算出された統計量を閾値と比較判定する機会を間引くことができれば他の部分集合を用いてもよい。
【0102】
例えば、部分集合として、受信する全てのデータのうち等間隔のデータを含む集合を用いてもよい。この場合の部分集合は、例えば、Kを適当に定められた正の整数とし、kをK以下の正整数として、nをk倍した値をKで除算した結果を切り上げた値の集合である。この部分集合は、I={ceil(kn/k):k∈N+;k≦K}と表される。ceil(x)は、引数x以上の最小の整数を表す。例えば、K=1であれば、n番目のデータを含む部分集合となる。K=2であれば、真ん中のデータ及びn番目のデータを含む部分集合となる。また、K=nであれば、全てのデータを含む部分集合となる。また、Kは受信する全てのデータの数nに依存してもよい。
【0103】
また、例えば、判定機会の部分集合として、判定の間隔を検知対象期間の終了が近づくにつれて指数的に短くした集合を用いてもよい。この場合の部分集合は、例えば、rを適当に定められた0より大きく1未満の定数とし、kを正整数として、1からrのk乗を減算した結果をn倍し値を切り上げた値からなる集合である。この部分集合は、I={ceil((1-rk)n):k∈N+}と表される。この場合、rは受信する全てのデータの数nに依存してもよい。
【0104】
ここで、
図8及び
図9を参照して、本実施例に係るアクセス監視装置1による検出における即時性と検出精度との関係について説明する。
図8は、間引く判定機会の数に対する発報率の変化を表す図である。
図8の縦軸は発報率を表し、横軸は真値を表す。
図9は、間引く判定機会の数に対する遅延率の変化を表す図である。
図8の縦軸は遅延率を表し、横軸は真値を表す。
【0105】
ここでは、閾値が0である。また、この場合の最大許容偽陽性率である有意水準αは、50%とした。また、ここでは、部分集合として、I={ceil((1-r
k)n):k∈N
+}を用いた。そして、
図8は、真値がそれぞれ-2から2の間の数を取る場合での発報率を表す。また、
図9は、真値がそれぞれ-2から2の間の数を取る場合での遅延率を表す。
【0106】
図8におけるバツで表されるデータは、判定機会の間引きを行わないアクセス監視装置1を用いた場合の発報率を表す。また、
図8における四角で表されるデータは、データ全てを受信した最後の1回のみ閾値との判定処理を行って異常を検出する場合の発報率を表す。また、
図8における白抜きの丸は、r=0.6の場合の発報率を表す。また、
図8における二重丸は、r=0.7の場合の発報率を表す。また、
図8における黒丸は、r=0.8の場合の発報率を表す。また、
図8における三角は、r=0.9の場合の発報率を表す。
【0107】
ここで、rが小さくなるにつれて間引かれる判定機会の量が増加する。そして、最後の1回のみの判定を用いた検出が最も間引く判定機会が多い場合となる。その上で、真値が閾値未満の場合には発報されずに、真値が閾値を超える場合には発報されることが好ましい。そして、真値が閾値未満の場合の発報は、誤検知によるものであり、過剰検出である。また、真値が閾値より大きい場合に発報率が1.0未満であれば、異常の見逃しが発生しているといえる。
【0108】
図8に示すように、間引く判定機会の数が多くなるほど、真値が閾値以上の場合にはより確実に発報され、真値が閾値未満の場合の発報率は下がる。すなわち、異常が発生した場合には高確率で通知が行われ且つ誤検知が低減する。言い換えれば、間引く判定機会の数が多くなるほど、異常検出の精度は向上する。
【0109】
図9におけるバツで表されるデータは、判定機会の間引きを行わないアクセス監視装置1を用いた場合の遅延率を表す。また、
図9における四角で表されるデータは、最後の1回のデータを用いて検出を行う場合の遅延率を表す。また、
図9における白抜きの丸は、r=0.6の場合の遅延率を表す。また、
図9における二重丸は、r=0.7の場合の遅延率を表す。また、
図9における黒丸は、r=0.8の場合の遅延率を表す。また、
図8における三角は、r=0.9の場合の遅延率を表す。ただし、
図9において真値が0未満の場合は誤検知であるので、遅延を考慮しなくてもよいので、以下の説明は真値が0以上の場合について説明する。
【0110】
図9に示すように、間引く判定機会の数が多くなるほど、遅延率は上昇する。すなわち、間引く判定機会の数を増やすと、間引いた判定機会の数が多くなるほど、異常発生のタイミングから異常検出までに時間がかかる。すなわち、間引く判定機会の数が多くなるほど、異常検出の即時性は低下する。
【0111】
以上のことから、間引く判定機会の数に対して即時性と異常検出の精度とがトレードオフの関係になることが分かる。そこで、アクセス監視装置1の利用者は、間引く判定機会の数を調整することで、即時性及び異常検出の精度を好ましい条件に設定することができる。ここで、間引く判定機会の数を受信したタイミングが早くなるにつれて指数的に増やす場合で説明したが、異常検知期間において受信したタイミングが早いデータのみから算出された統計量による判定を間引く他の方法でも、ほぼ同様の結果が得られる。
【0112】
以上に説明したように、本実施例に係るアクセス監視装置は、異常検知期間の早い段階で受信したデータのみからなる判定を間引き、その間引後の判定機会のみにおいてデータ取得時の個別閾値及び観測値を比較して異常検知を行う。これにより、判定機会の間引きを行わない場合に比べて、異常検知の精度を向上させることができる。さらに、間引く判定機会の数を調整することで、即時性及び異常検出の精度を好ましい条件に設定することが可能となる。
【符号の説明】
【0113】
1 アクセス監視装置
2 ネットワーク機器
3 インターネット
4 内部ネットワーク
11 データ受信部
12 統計量算出部
13 判定部
14 通知部
41 サーバ
42 クライアント
101 条件取得部
102 閾値計算部
103 閾値通知部