December 18, 2004

Using Program Behavior for Intrusion Detection

Anup K. Ghosh, Arron Schwartzbard and Michael Schatz,
"Using Program Behavior Profiles for Intrusion Detection",
Proceedings of the SANS Third Conference and Workshop on Intrusion Detection, 1999.

ちょいとタイトルが違うが、著者は同じであり、論文の内容はほぼ同じであろうと推測される論文をリンクしておく
Learning Program Behavior Profiles for Intrusion Detection - (1st workshop on Intrusion Detection and Network Monitoring)

計算機の監査ログ(Sun BSM)を対象としたAnamaly Detection手法の新たな(?)提案である.
この論文では,MIT Lincoln Laboratoryで提供されているSun BSMのログを対象にし,各プログラムにおけるSystem Callの呼び出しを解析対象として異常検知を試みた結果,4種類の攻撃(DoS, Probe, UserToRoot, RemoteToLocal)のうちDoS攻撃を除いた攻撃手法に関しては未知の攻撃を高い精度で検知できるということを示している.

方法としては非常に基本的な方法のように思えるのだが,この論文では各コマンドを基本単位とし,そのコマンドを実行する際に呼び出されれるシステムコールの頻度と状態遷移を収集して正常状態を構築.この正常状態ルールを基にして,得られるデータを監査し,正常状態と大きくかけ離れているものを異常、すなわち不正侵入として検知する手法を述べている.
私の知っている限り,基本に忠実な異常検知(anomaly detection)だと思うのですが...

ユーザの振る舞いを解析対象とせず,System call levelを対象としている、つまりユーザの通常の振る舞いを構築するのではなく,ユーザによって実行される個々のプロセス(コマンド)単位で profilingしたというのが特徴のようである.その特徴ゆえにユーザの振る舞いに影響されることなく異常な振る舞いをするプロセスを検知することができるという利点がある.正常な振る舞いを格納するデータベースは,個々のプログラム毎に生成される.その解析ではN-gramを生成し,その各N- gramの出現頻度回数を調べている.この論文ではMIT Lincoln Labが公開しているデータを利用し、155種類のコマンドについてこのような振る舞いデータを
収集し,データベースを構築した.

試験データを基に生成したデータベースを使って評価を行った結果、DoS攻撃以外は6割から8割の検知が可能になった.なお本研究ではFalse positive、つまり攻撃でないものを攻撃として検知したという数を攻撃種類別に数え上げてはいない.なぜならば、このシステムでは攻撃があったことを検知することは可能だが,その攻撃がどんな種類の攻撃かはわからないからである.これは異常検知システムにおけるよく知られた欠点の一つである.ただし実験トータルとしてfalse positiveは2.1%と低い結果だったということだけは得られているそうである.なおDoS攻撃の検知率が低い理由は、攻撃が「正規の手段」つまり正常時の振る舞いとして起こりうる手段を使った攻撃であるため,個々の振る舞いだけを見ていてもそれが攻撃、すなわち異常として判定できないためである.

ただし、これを既知と未知の攻撃における検知率として分類し,比較すると異常検知として未知の攻撃をいい成績で検知できていることが示されている.ここで既知の攻撃とは正常のふるまい規則を構築するのに使用したトレーニングデータに含まれていた、または似通った攻撃手法のことを指す.これに対して未知の攻撃とはトレーニングデータに含まれていない攻撃を指したものである.未知の攻撃については4種類の攻撃手法全てにおいて50%以上の検知率となっていた.

またClear attackとStealthy attackに分類した攻撃の検知率も提示していた.これは攻撃者が地震の攻撃痕跡を隠そうとした場合における検知率で、user2rootの攻撃種別にしか当てはまらない(?)そうだが、それでも88%もの検知率が得られているそうです.
攻撃者がログを改ざんして痕跡を消そうが、消すまいが、それは検知率に影響しない.つまりコマンド単位での振る舞いに関する異常を検知しているので、そんな上位レベルでの振る舞いがどうであるかは関係ない.ということを示したい.という意図なんでしょう.

今となっては時間の経っている論文であるせいもありますが,こう素直に異常検知を作ってみて、MITのデータを使って評価したらうまくいった.という論文ですね.着眼点としてユーザの振る舞いではなく、ここのコマンドに注目し、そのSystem callの呼び出し具合を解析対象としたというのは面白いのですが,期待されている通りにコマンドを使用するだけで成立してしまう攻撃手法がDoS以外にもあるような気もします.ま、でも、基本を押さえておくという意味では短いし、いい(?)論文だと言えるでしょう.DARPAの支援も受けているようです.

Posted by z at 08:36 PM

December 05, 2004

Milestones in Time: The value of Landmarks in Retrieving Information from Personal Stores

Meredith Ringel, Edward Cutrell, Susan Dumais, Eric Horvitz,
"Milestones in Time: The value of Landmarks in Retrieving Information from Personal Stores",
Proceedings of Interact 2003, pp.184--191, September 2003.
Interact 2003 / Project web page

個人が持つ情報(Personal Contentsと書かれている.ようするに個人の計算機内に保存されている情報と推測)の検索結果を表示(提示)する方法として,時間軸表示を用いた場合の表示手法に関する考察とデザインについて述べている.この研究で提案している時間軸に基づく情報視覚化は、時間軸ベースで概要と詳細を見ることのできる表示法(Overview-plus-detail timeline visualization)であり,さらに公的な指標(public landmarks - 国民の祝日や公的な重大ニュース)や私的指標(personal landmarks - 写真や私的なイベント)を検索結果とあわせて提示することで、検索結果からの情報取得を容易にするという拡張を行っている.

人は正確な時間を覚えていることはほとんどないが,一方で重大事件が発生した時の「日付」や「おおよその時刻」などは覚えており、かつしばしば思い出すことがある(例: JFKの暗殺された日とかアメリカ同時多発テロの発生したSep 11とか).この研究では検索結果の提示法として時間軸表示にこのような重大事件等の情報をコンテキストとして与えることで個人の持つ情報の検索を支援することを試みた.ここで与えられるコンテキストは論文ではlandmarksと書かれているが、公的なもの(public)と私的なもの (personal)とがあるとしている.この研究では,視覚化システムに公的および私的事件の情報を検索結果とあわせて提示することで,その周囲や前後の記憶を呼び覚ます目印(cue)とし、それらが個人の情報検索において有用な閲覧/検索の目印にするとしている.

Landmarkは4種類用意されており,休日,ニュースのヘッドライン,写真およびカレンダー内の約束情報(appointment)である.前者の2つは公的landmarkで,後者の2つは私的landmarkとなる.これらには優先順位をつけることができ,ユーザの好みや状況に応じてフィルタリングを可能にし、表示/非表示の制御を可能にしている.

これらの仕組みには「エピソード記憶」を利用しようという意図がある.エピソード記憶とは記憶の概念の一つであり、エピソードによって組織化された記憶のことを指す.エピソードにはどこで発生した事象か?(場所),誰がそこにいたか? その事象の前後で何が起きたか? などの情報が含まれると考えられている.またある研究では,人は重大事件などの事象を過去の記憶を整理する際に使用するとも言われている.また他の研究では,写真やビデオを見せることにより,忘れていた作業内容をより詳細に思い出すことが可能になると述べていたり,そのためには思い出すべき内容ときっかけとなる情報の間の依存性が重要になると述べた研究がある.また記憶は個々のコンテキストだけでなく,より汎用的なコンテキスト,つまりその事象を取り囲む状況すべてに依存すると指摘する研究結果もある.

視覚化画面の詳細については論文を参照して頂きたい.ユーザ評価は12人で全員男性、25-60歳の人で行った.110通のメールを被験者全員に渡し、各ユーザのmailboxに併合しておいてもらう.そして実験前にTutorialを行ってもらい、ある程度の操作方法に習熟した状態にした.そして被験者を2グループに分け、片方のグループにはlandmarkなしの時間軸表示で、もう片方のグループはlandmarkありの時間軸表示でそれぞれ検索を行ってもらった.なお全被験者に30 回の試行を行ってもらい、15回行ってもらった後にlandmarkあり/なしの条件を変えて残りの15回の試行を行ってもらった.で、その評価結果であるが、landmarkありの方が検索は早く行うことができていた.

また実験前と実験後にアンケートを行った.実験前のアンケート結果では、被験者が有用であると考えている検索のための属性情報は,topic, peopleそしてtimeという属性情報であった.既存の検索ツールはtopicやpeopleによる検索を可能にしているが、その一方で,時間による検索は可能にしたシステムがあまりない.そして公的landmarkよりも私的landmarkの方が,事象の想起(過去の回想)をより容易にするとユーザは答えていた.

実験後のアンケート結果から,我々の時間軸表示システムは受け入れられたと言うことができるだろう.が、追加意見として、あるユーザは時間軸を逆方向にするオプションがあってもいいのではという提案をしていたりもした.本研究では、将来的には「上司とproject reviewをする直前に自分が書いていた書類全て」とか「地震のあった週に受け取った全てのe-mail」といった検索を可能にするのが目標であるとしている.

追記:
このシステムの背後で使われている(Desktop?)検索エンジンはStuff I've seen(SIS)と呼ばれるシステムのようである.論文はSIGIR 2003で発表されているそうである.
参考文献として Lifelines, Time-machine computing, Forget-me-Not, Save Everythingなどが挙げられていた.

なるほどなと思う、個人的に驚くような評価結果はなく、予想した通りの結果である.が、アイデアとして自分の「保持している情報」だけでなく、検索結果に自分に関連する情報を統合して表示することにより、ユーザに検索結果の取捨選択または絞り込みを可能にするというのは悪くないアイデアだと思う.

Posted by z at 03:55 AM