• 検索結果がありません。

SVMを用いたプログラムの特徴に基づく異常検知システムの実装

N/A
N/A
Protected

Academic year: 2021

シェア "SVMを用いたプログラムの特徴に基づく異常検知システムの実装"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 75 回全国大会. 3F-5. SVM を用いたプログラムの特徴に基づく異常検知システムの実装 伊波靖 † †. 1. 新垣杏里 †. 沖縄工業高等専門学校メディア情報工学科. はじめに. インターネットの急速な進展とともに,ウイル スやワーム等のマルウェアの出現頻度や伝搬速度 が深刻な脅威となっている.それに伴い,従来の シグネチャベースのマルウェア対策ソフトウェア では,多岐にわたる亜種や 0-day ウイルスへのリ アルタイムな対応が限界となりつつあり,新たな 解決策としてプログラムを実行させ呼び出された システムコールの履歴に基づいて検知する手法が 提案されている.我々も Windows の動作に影響 を与えるクリティカルなシステムコールをルール ベースで検出し,検出したクリティカルなシステ ムコールが悪意を持ったプログラムによって実行 された危険なシステムコールなのかを,システム コールの履歴から生成した特徴ベクトルを用いて SVM(Support Vector Machine) で検知するシステム を提案した [1].しかし,この手法では検知を行う ためにマルウェアを実行する必要があるためリス クが発生する. そこで,本研究ではプログラムを実行する際に Windows のプロセス生成システムコールをフック し,プログラムがインポートしている DLL (Dynamic Link Library) と API (Application Programming Interface) の情報から定義したプログラムの 特徴に基づいて SVM により認識することで実行 前に異常検知を行う手法を提案し,提案手法の有 効性を検証するため Windows 上で動作する異常防 止システムである WHIPS (Windows Host Intrusion Prevention System) への実装を行った.. 2. SVM(Support Vector Machine). SVM は統計的学習理論に基づく新しい 2 クラ スのパターン認識手法であり,ニューラルネット ワークなどの従来法と比較して汎化能力が高い点 と最適解が求まる点に特徴があり,学習に用いて いないデータに対しても高い識別率を示す.SVM がこのような特徴を示すのは,その学習に認識誤 りと汎化性能の両面から最適化が行われ,これが 2 次の凸計画問題として定式化されているため最 適解を求める事ができるためである [2]. Implementation of an anomaly detection system based on the features of program using SVM. †Yasushi IHA ([email protected]) †Anri ARAKAKI †Department of Media Information Engineering, Okinawa National College of Technology. SVM は学習の最適解として求められた分離超平 面による線形識別を行っているが,学習用データ を線形分離することが不適切な場合,学習データ を元のパターン空間からより高次のパターン空間 に非線形写像を行い高次元空間で分離超平面を構 築し線形識別を行う.. 3 WHIPS の概要 WHIPS は Windows 上で動作する侵入防止シス テムの一種で,予め ACD に危険なプロセスとシ ステムコール及び引数をルールとして登録しルー ルベースにより異常検知を行う.現在,オープン ソースソフトウェアとして GPL で公開されている [3].WHIPS の動作概要を図 1 に示す.. 図 1: WHIPS の動作概要. WHIPS の特徴としては,ACD に設定されたルー ルに基づきシステムコールの実行を許可または拒 否する.問題点としては,ルール設定が難しく拒 否するシステムコールおよび引数をプロセスごと に設定する必要があるため高度な専門知識が必要 となり,新しいマルウェアへの対応が難しいこと があげられる.. 4 プログラムの特徴に基づく異常検知 4.1 プログラムの特徴の定義 本研究では,プログラムの特徴をファイル名の 長さおよび使用している DLL と API により定義 する.具体的には,一般的な Windows にインス トールされた正常なプログラム 900 個とウイルス やワームなど合計 12 種類のマルウェア 600 個にお いてインポートしている 347 種類の DLL と 6222 種類の API を抽出し,DLL と API のデータベース. 3-513. Copyright 2013 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 75 回全国大会. 表 1: 予備実験結果. Closed Test Open Test. 認識率 100% 98.35%. を作成した.各プログラムにおいて使用している DLL と API をデータベースから検索して,検出さ れた DLL と API のインデックスを特徴ベクトル の要素番号とし要素の値を 1 として特徴ベクトル を生成する.これにファイル名の長さを合わせて 合計 6570 次元の特徴ベクトルをプログラムの特 徴とした.生成した特徴ベクトルを学習データと して正常なプログラム 450 個とマルウェア 300 個, 評価データとして正常なプログラム 450 個とマル ウェア 300 個に分けた.図 2 に特徴ベクトルの生 成法を示す.. コールのフックを行っている.本研究では,NtCreateProcessZw のラッパー関数において,プロセス の対象となっているファイルから DLL および API のリストを取得し,特徴ベクトルを生成している. 具体的には,NtCreateProcessZw の引数として渡さ れた SectionHandle から ZwMapViewOfSection を 用いてプロセスのメモリイメージの先頭番地を取 得し,PE 形式ヘッダー情報の中から IMAGE IMPORT DESCRIPTOR 構造体で格納されている インポートセクションの先頭番地を取得する.取 得したインポートセクションの先頭番地から DLL および API のリストを取得している.次に取得し た DLL および API のリストを DLL および API の データベースで照合を行って,特徴ベクトルを生 成している.生成した特徴ベクトルを,予め学習 したモデルを用いて SVM によって認識を行い,マ ルウェアと判別した場合は,NtCreateProcessZw の 戻り値として STATUS UNSUCCESSFUL を返すこ とでプロセスの生成を拒否し,マルウェアが起動 されることを抑制する.現在,WHIPS への実装が 終了し,チューニングと評価実験を行っている.. 5 まとめと今後の課題. 図 2: 特徴ベクトル生成法. 4.2 予備実験 特徴ベクトルによる認識性能を確認するために予 備実験を行った.実験に使用した SVM は SVMlight であり,カーネルには線形カーネルを用い,Solver Type は C-SVM を用いて実験を行った [4].学習 データを用いて SVM のモデルを生成し,学習デー タと評価データを用いて認識実験を行った.実験の 結果を表 1 に示す.評価実験の結果から認識率は, 学習データを用いた Closed Test において 100%, 評価データを用いた Open Test において 98.35%と なった.Open Test の結果から未知のデータについ ても検知が行えることを確認した. 4.3 WHIPS への実装 WHIPS はデバイスドライバとして Windows の カーネルランドで動作し,Windows がシステム コールを実行する際に使用する SSDT (System Service Descriptor Table) を書き換えることでシステム. 本研究では,プログラムがインポートしている DLL と API を用いてプログラムの特徴ベクトル を生成し,SVM により判別する手法の WHIPS へ の実装を行っている.予備実験により評価データ を用いた Open Test において認識率 98.35%が得ら れ,未知のデータについても検知が行えることを 確認した.また,WHIPS においてプロセス生成時 に DLL と API のリストを取得し特徴ベクトルを 生成することが可能となった.今後の課題として は,WHIPS に組み込んだ SVM の動作の安定化と, 評価実験を行い,処理性能と検知性能のチューニ ングを行うことが上げられる.. 謝辞 本研究は科研費 23500106 の助成を受けたもの である.. 参考文献 [1] 伊波靖,高良富夫:危険なシステムコールに着目した Windows 向け異常検知手法,情報処理学会論文誌,Vol. 50 No. 9, pp. 2173–2181 (2009). [2] Cristianini, N. and Shawe-Taylor, J.: サポートベクターマ シン入門,共立出版 (2005). [3] Battistoni, R., Gabrielli, E. and Mancini, L. V.: A Host Intrusion Prevention System for Windows Operating Systems, Proceedings of the 9th European Symposium On Research in Computer Security (ESORICS 2004), pp. 352–368 (2004). [4] T. Joachims, Making large-Scale SVM Learning Practical. Advances in Kernel Methods - Support Vector Learning, B. Scholkopf and C. Burges and A. Smola (ed.), MIT-Press, 1999.. 3-514. Copyright 2013 Information Processing Society of Japan. All Rights Reserved..

(3)

表 1: 予備実験結果 認識率 Closed Test 100% Open Test 98.35% を作成した.各プログラムにおいて使用している DLL と API をデータベースから検索して,検出さ れた DLL と API のインデックスを特徴ベクトル の要素番号とし要素の値を 1 として特徴ベクトル を生成する.これにファイル名の長さを合わせて 合計 6570 次元の特徴ベクトルをプログラムの特 徴とした.生成した特徴ベクトルを学習データと して正常なプログラム 450 個とマルウェア 300 個,

参照

関連したドキュメント

TCPA Time to Closest Point of Approach の略称.

・少なくとも 1 か月間に 1 回以上、1 週間に 1

救急現場の環境や動作は日常とは大きく異なる

電子式の検知機を用い て、配管等から漏れるフ ロンを検知する方法。検 知機の精度によるが、他

雇用契約としての扱い等の検討が行われている︒しかしながらこれらの尽力によっても︑婚姻制度上の難点や人格的

・グリーンシールマークとそれに表示する環境負荷が少ないことを示す内容のコメントを含め

環境づくり ① エコやまちづくりの担い手がエコを考え、行動するための場づくり 環境づくり ②

● 浅川沿いの搬入ルートも多摩川沿いのルートも503号 線を 利用するため周辺の建物やモノレール等の倒壊が 起きた場合には、復旧するまでは通常の運搬収集もで