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

SVMを用いたWAFの検知機能の提案

N/A
N/A
Protected

Academic year: 2021

シェア "SVMを用いたWAFの検知機能の提案"

Copied!
2
0
0

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

全文

(1)情報処理学会第 73 回全国大会. 3E-1. SVM を利用した WAF の検知手法の提案 伊波靖†. 安里梓†. 沖縄工業高等専門学校メディア情報工学科†. 1.はじめに 近年,Web アプリケーションの利用が増える一方 で,XSS(Cross-Site Scripting)攻撃や SQL インジェク ション攻撃も後を絶たず,情報漏えいなどの深刻な 被害が報告されている.Web アプリケーションをそ れ ら の 攻 撃 か ら 守 る 方 法 の 一 つ に , WAF(Web Application Firewall)の使用があるが,WAF は入力値 検査の問題を抱えている.Moosa は,この問題を解 決するため,WAF に ANN (Artificial Neural Network) を利用し,その有効性を示したが,False Positive の 割合 を減少させる ことを課題と した (1) .一方 ,我々 は,Windows 系の OS において SVM(Support Vector Machine)を 利 用し た不 正プロ グラ ムの検 知手 法を提 案し,その検知能力の高さと,False Positive を低減 させることに有効であることを示した (2). 本研究は,WAF の入力値検査に SVM を利用し, False Positive を低減させながらも,未知の攻撃を検 知出来る手法の提案を行い,実験によりその有効性 を示す.. 高良富夫‡ 琉球大学工学部情報工学科‡. 両面から最適化が行われ,これが 2 次の凸計画問題 として定式化されているため最適解を求める事がで きるためである. SVM は学習の最適解として求められた分離超平面 による線形識別を行っているが,学習用データを線 形分離することが不適切な場合,学習データを元の パターン空間からより高次のパターン空間に非線形 写像を行い高次元空間で分離超平面を構築し線形識 別を行う. 4.提案手法 WAF の入力値検査に SVM を利用する手法を提案 する.具体的には,SVM を予めホワイトリストとブ ラックリストのデータを使って学習させ, 2 クラス のパターン識別器を構成しておく.これによって, 入力値検査の問題が解決され,検知率の向上が期待 出来る.図 1 に提案手法の枠組みを示す.. 2.Web Application Firewall(WAF) 2.1 概要 WAF とは,Web アプリケーションを含む Web サイ トと利用者の間で交わされる HTTP による通信を検 査し,攻撃などの不正な通信を自動的に遮断するソ フトウェア,もしくはハードウェアである. 本研究では,WAF の機能の中でも XSS や SQL イ ンジェクションの脆弱性対策の基本となる入力値検 査の問題について考える. 2.2 入力値検査の問題点 入力値検 査における ホワイトリスト は,入力可 能 なパラメタ全てを設定することが難しく,また手間 もかかる上,設定漏れの恐れもある.一方,ブラッ クリストは,既知の攻撃であれば問題はないが,未 知の攻撃に対しては攻撃を見逃す検知漏れの恐れが ある. 3.Support Vector Machine(SVM) SVM は統計的学習理論に基づく新しい 2 クラスの パターン認識手法であり,ニューラルネットワーク などの従来法と比較して汎化能力が高い点と最適解 が求まる点に特徴があり,学習に用いていないデー タに対しても高い認識率を示す.SVM がこのような 特徴を示すのは,その学習に認識誤りと汎化性能の A Proposal of SVM based detection method for WAF. †Yasushi IHA, †Azusa ASATO Dept. of Media Information Engineering, Okinawa National College of Technology ‡Tomio TAKARA Dept. of Information Engineering, University of The Ryukyus. 図 1. 提案手法の枠組み. また SVM におけるデータの特徴表現は,ホワイト リストとブラックリストから得られた N-gram と Ngram の共起頻度によって行う. 5.実験 本実験では,2 つの実験を行った.実験 1,2 共に 使用した SVM は,TinySVM であり,線形カーネル を用いた.Solver Type は,C-SVM と One-Class-SVM の 2 つで実験を行う. 5.1 実験用データセット ブ ラ ッ ク リ ス ト の デ ー タ と し て XSS, SQL イ ン ジェクションを各 100 個用意し,50 個を訓練用,50 個を評価用データとした.また,ホワイトリストの データは,Web アプリケーションに入力されると考 えられるデータを名前,住所,メッセージ,電話番 号,パスワードの 5 つのカテゴリーに分類し,各カ テゴリーとも 200 個用意,100 個を訓練用,100 個を 評価用データとした.また,実験 2 で用いるため, 名前,住所,メッセージについては,日本語と英語 のデータ両方を揃えた.. Dept. of Information Engineering, University of The Ryukyus. 3-445. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 73 回全国大会. 99.3%. 100.0%. 100.0%. 95.0% 85.0%. 80.0%. 100.0%. 97.5%. 90.0%. 98.5%. 100.0%. 91.0%. Accuracy. Precision. Recall. 87.5%. 99.0%. 25.1%. 40.0%. 100.0%. 100.0%. 67.6%. 英語の認識. 日本語の認識. 20.0%. 40.8%. 0.0%. 75.0%. unigram. 図 2. bigram. Accuracy. 実験 1 の C-SVM の結果. 87.2%. 95.5%. 92.8%. 40.0%. 54.7%. 100.0% 57.1% 93.0%. 100.0% 90.2%. 100.0% 90.0% 80.0% 70.0% 60.0% 50.0% 40.0% 30.0% 20.0% 10.0% 0.0%. 62.2%. 82.8%. 60.0%. 34.0%. 78.9%. 42.0%. 20.0%. 73.0%. 57.0%. 0.0% uni. big. tri. ブラックリストで学習 Accuracy. 図 3. uni. 日本語で学習 Precision. Recall. 実験 2 の C-SVM の結果. big. tri. 97.0%. 97.0%. 89.7%. 84.8%. 78.4% 69.2% 93.0%. 93.0%. 94.9% 38.8%. 52.4%. 50.8% 25.8% 80.2%. 20.6% 33.0%. 90.0% 8.3%. 英語の認識 日本語の認識 英語の認識 日本語の認識 英語の認識 日本語の認識 英語で学習. ホワイトリストで学習. Precision. 日本語の認識. 90.4%. 76.2%. 80.0%. 英語の認識. 英語で学習. trigram. 図 4 100.0%. 99.0% 99.7%. 96.0%. 96.0%. 60.0%. 85.0%. 80.0%. 99.2%. 100.0%. 96.0%. ブラックリストで学習. Recall. Accuracy. 実験 1 の One-Class-SVM の結果. 5.2 実験 1 実験 1 は,提案手法の有効性を示すために行った 実験である.SVM に訓練用データを与え学習させた 後,評価用データを用いて評価を行った .また,Ngram によって識別性能に変化が見られるかを調査す るため,N の値を 1~3 まで変化させた.実験結果は, 識別の Accuracy(適合率)の高さと F 値(F β =1)で評価 した. 図 2 に C-SVM の結果, 図 3 に One-Class-SVM の 結 果 を 示 す . ま た , 図 中 の Recall は 再 現 率 , Precision は 精度を示 している . F 値は, unigram で 0.98,bigram で 0.95,trigram で 0.92 となり、良好な 値となっている。 5.3 実験 2 実験 2 は,Moosa の研究において,英語のデータ のみが扱われていたため,日本語の学習が SVM の識 別結果に与える影響を調査するために行った. 英語のみで学習を行った SVM に英語,日本語の評 価用データそれぞれを与えた結果と,日本語のみで 学習を行った SVM に英語,日本語の評価用データそ れぞれを与えた結果について調査する.なお,実験 1 の結果より,unigram を使用する. 図 4 に C-SVM の 結果, 図 5 に One-Class-SVM の結果を示す. 6.結論 本研究では,WAF の入力値検査に SVM を利用し た検知手法を提案した.評価実験から,False Positive を低減させながらも,未知の攻撃を検知出来ること を示した.具体的には,実験 1 で行った C-SVM の unigram の 実 験 に お い て , 適 合 率 99.3% , False Positive 0%と F 値 0.98 の結果より,SVM の有効性 を確認した.False Negative の値は 4%であったが,. 図 5. 日本語で学習. ホワイトリストで学習. Precision. Recall. 実験 2 の One-Class-SVM の結果. これは未知の不正リクエストの検知に対する値であ ること,またホワイトリストとブラックリストの訓 練用データ数に差があり,SVM の学習に偏りがあっ たことから,値は妥当だと考える. また,実験 2 では,C-SVM で日本語のデータを識 別する際に,日本語の訓練用データを与えることで, 適合率向上が期待出来ることを確認した. 今後の課題として,SVM のさらなる検知性能向上 と提案手法の実装が挙げられる.まず検知性能向上 については,訓練用データの数を増やすことと,特 徴ベクトルの見直しが考えられる.また,実装につ いては,オープンソースプロダクトで WAF を実現し, Apache のモジュールとして動作する mod_security へ 組込むなどが考えられる. 参考文献 [1] Asaad Moosa,"Artificial Neural Network based Web Application Firewall for SQL Injection", World Academy of Science, Engineering and Technology, ISSUE 64, pp.12–21 (Apl. 2010) [2] 伊 波 靖 , 高 良 富 夫 : 危 険 な シ ス テ ム コ ー ル に 着 目 し た Windows 向け異常検知手法,情報処理学会論文誌,Vol. 50, No. 9, pp.2173–2181 (Sep. 2009).. 3-446. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(3)

図  2  実験 1 の C-SVM の結果  図  3  実験 1 の One-Class-SVM の結果  5.2  実験 1    実験 1 は,提案手法の有効性を示すために行った 実験である.SVM に訓練用データを与え学習させた 後,評価用データを用いて評価を行った  .また,N-gram によって識別性能に変化が見られるかを調査す るため,N の値を 1~3 まで変化させた.実験結果は, 識別の Accuracy(適合率)の高さと F 値(F β =1 )で評価 した. 図 2 に C-SVM

参照

関連したドキュメント

氏は,まずこの研究をするに至った動機を「綴

9.事故のほとんどは、知識不足と不注意に起因することを忘れない。実験

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

次に、第 2 部は、スキーマ療法による認知の修正を目指したプログラムとな

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

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

優越的地位の濫用は︑契約の不完備性に関する問題であり︑契約の不完備性が情報の不完全性によると考えれば︑