変化点検出の研究に対する悩み

IMG_1458.JPG
※兵庫の日本海側の綺麗な海岸岩


ネットワークセキュリティを変化点検出の観点から研究しています。

しかし、色々悩みもあるわけです。

一応、自分の中で解決したので、それを残しておこうと思います。

まずは、悩んでいたことを紹介します。

僕は、ネットワークセキュリティを、

ネットワーク情報だけでなく、サーバー負荷情報も同時に検証することで、セキュリティ効率をあげよう

と考えていました。

しかし、そこには様々な問題が立ちはだかっていたのです。

ようするに、今のChangeFinderという変化点検出エンジンで、適当にパラメータの変化点を調べて結果を出す、という手法の問題点を簡単に証明できない

という問題です。

続きを読む

ネットワークセキュリティと変化点検出(1)

IMG_1513.JPG
※宍道湖の湖辺にたたずむ兄貴


たまには研究のことでも書いておこうと思います。

僕の研究は、ネットワークセキュリティを変化点検出の立場から考えていこうというものです。

ここでいう変化点検出というものは、

ある時系列データ(時間に依存する数値データ)に対して、独自の変化点検出エンジンを用いることで、その時系列データのトレンドが変化した点を検出すること

です。

すごく単純な話ですが、これが様々な分野、例えば株価の変動や気象の変化などトレンド変化を解析するような分野、に応用することができる手法なのです。

しかし、理論自体はやっていることと比べると、かなり難しくなっています。

ここでは、誰にでも(母親にでも)分かるように、簡単に変化点検出について説明したいと思います。

続きを読む

シミュレーションデータ作成プログラム

IMG_1486.JPG
※去年の春にいった鳥取砂丘、気持ちいい


ARモデルを用いて、数値シミュレーション用のデータを自動生成するプログラムを作りました。

一応簡単なアルゴリズムとしては、ARモデルでノイズを期待値0、分散1のガウス分布に従って発生させ、1000時点毎に変化点があるようなデータとするために、ARモデルで発生させた数値に、変化量の初期値を5として、変化点毎に(変化量)-0.5していくような値を足していくようにしてます。

実行方法は、

gcc -lm ファイル名.c

でコンパイルした後、

./実行ファイル名 発生データ数 ARパラメータ1 ARパラメータ2

とすると、標準出力されます。

ファイルで用いる場合は、リダイレクトなどでテキストに落としてください。

続きを読む

異常検出に関する妄想

IMG_2141.JPG
※去年の冬にいった渦潮で有名な鳴門大橋


今日、不正アクセスやウィルスなどを、変化点検出エンジンを用いて検出する方法について、ふと思いついた方法がある。
プログラムでシミュレーションもしていないし、理論的にも単純すぎて、説得力がないような方法だが、意外と効果があるんじゅないのかな、と妄想している。

では、その方法について、メモ程度に記載しておく。

続きを読む

変化点検出エンジン

IMG_2203.JPG
※春に行った京都の玄武岩


さて、久々の研究報告です。

NECさんの開発している変化点検出エンジン「ChangeFinder」を、プログラムで実装してみました。
「ChangeFinder」は、これまでの従来の手法による変化点検出にかかる計算コストを大幅に削減した独自のアルゴリズムによって開発されています。

データマイニングの観点から、外れ値と変化点を区別して、変化点を検出することに成功しています。
このように、変化点と外れ値は同一のアルゴリズム内で扱うのは難しいとされてきた中で、計算量を削減した上で同一に扱えるというのは、かなり画期的な手法です。

それでは、実験的にデータを発生させたりすることで、適当な時系列データを作成し、どの程度の精度と計算コストで検出できるかを実験してみました。

結果からいうと、すばらしいです!
では、簡単に数値シミュレーション結果を示していきます。

画像をクリックして拡大表示できます。

続きを読む