チェックしておきたい ぜい弱性情報 2009 <2009..24> Hitachi Incident Response Team http://www.hitachi.co.jp/hirt/ 寺田真敏 Copyright All rights reserved. Contents 月 24 日までに明らかになったぜい弱性情報のうち 気になるものを紹介します それぞれ ベンダーなどの情報を参考に対処してください. TCP パケットを用いた DoS 攻撃 2. Adobe Flash Player Acrobat Reader 3. X.509 証明書のドメイン名処理 4. Mozilla Firefox 5. PHP で開発された Web サイト用プログラム 6. コラム : まず チェックできる仕組み作りから 7. 参考情報 Copyright All rights reserved.
TCP パケットを用いた DoS 攻撃 990 年代中盤 (TCP/IP パケット自身が DoS 攻撃の実体 トラフィック増による負荷増 ) 2004 年 (TCP 通信の切断 ) 2009 年 (TCP 通信維持による負荷増 ) 980 985 990 995 2000 2005 200 RFC79: Internet Protocol RFC793: Transmission Control Protocol A Weakness in the 4.2BSD Unix TCP/IP Software(Robert T. Morris) Security Problems in the TCP/IP Protocol Suite(Steve Bellovin) CA-995-0: IP Spoofing Attacks and Hijacked Terminal Connections CA-996-0: UDP Port Denial-of-Service Attack CA-996-2: TCP SYN Flooding and IP Spoofing Attacks SYN cookies (Server SYN Cookie)(D.J.Bernstein) CA-996-26: Denial-of-Service Attack via ping CA-997-28: IP Denial-of-Service Attacks - Teardrop, Land CA-998-0: Smurf IP Denial-of-Service Attacks CA-200-09 TCP 初期シーケンス番号の統計学的なぜい弱性 JVNTA04-A TCPにサービス運用妨害を伴うぜい弱性 CVE-2008-4609 TCPのゼロ ウィンドウ サイズ CVE-2009-926 TCPの孤立した接続状態 2 TCP 通信のサスペンド実験 TCP 通信のサスペンド実験 HTTP Linux+Apache Windows+IIS FTP UNIX 系 Windows+IIS Linux+Apache の事例 30 分以上 TCP コネクションは維持された 3
TCP 通信のサスペンド実験 0:02:0 0:0:3 0:0:00 0:00:30 TCP 通信のサスペンド実験 HTTP Linux+Apache Windows+IIS FTP UNIX 系 Keep Alive 間隔 ( 時 : 分 : 秒 ) Windows+IIS Linux+Apache の事例 0:00:00 7:33 7:40 7:48 7:55 8:02 8:09 8:6 サスペンド開始 時刻 Keep Alive の間隔は ~2 分 Keep Alive 間隔 ( 時 : 分 : 秒 ) 0:02:0 0:0:3 0:0:00 0:00:30 Windows+IIS の事例 0:00:00 5:07 5:4 5:2 5:28 5:36 5:43 5:50 サスペンド開始 時刻 4 TCP 通信のサスペンド実験 TCP 通信のサスペンド実験 HTTP Linux+Apache Windows+IIS FTP UNIX 系 Windows+IIS Windows+IIS の事例 HTTP の場合には Range ヘッダで再開 Range: bytes=5332545- FTP の場合には REST コマンドで再開 REST 04 5
TCP 通信のゼロ ウィンドウ サイズ実験 TCPのゼロ ウィンドウ サイズ実験 クライアント :CentOS 5.2 + Client SYN Cookie ベースのプログラム サーバ :Windows XP(SP3)+ Apache 2.2.4 [FIN, ACK] に対してゼロ ウインドウ サイズの [ACK] を応答する サーバの TCP 遷移状態 4:00:37 FIN_WAIT_ (268 秒 ) 4:05:05 6 TCP 通信のゼロ ウィンドウ サイズ実験 TCPのゼロ ウィンドウ サイズ実験 クライアント :CentOS 5.2 + Client SYN Cookie ベースのプログラム サーバ :Windows XP(SP3)+ Apache 2.2.4 ゼロ ウインドウ サイズのHTTP 要求の送信と [ACK] に対してゼロ ウインドウ サイズの [ACK] を応答する サーバの TCP 遷移状態 5:24:35 FIN_WAIT_ (789 秒 ) 5:37:44 7
TCP 通信のタイムアウト実験 TCPのゼロ ウィンドウ サイズ実験 クライアント :CentOS 5.2 + nc.84 + iptables サーバ :Windows XP(SP3)+ Apache 2.2.4 TCPコネクション確立後に ncを強制終了し 応答しない クライアントの TCP 遷移状態 :46:57 ESTABLISHED :47:04 FIN_WAIT_(209 秒 ) :50:33 サーバの TCP 遷移状態 :46:57 ESTABLISHED(300 秒 ) :5:57 FIN_WAIT_(88 秒 ) :55:05 8 TCP 通信のコネクション確立実験 TCP 通信のコネクション確立実験 クライアント :Windows XP SP3 + TCP 通信プログラム サーバ :Windows XP(SP3)+ Apache 2.2.4 ならびに IIS 5. 00 件の HTTP 要求を TCP コネクション確立状態で維持する (60 秒間隔で新規 更新操作 ) TCPコネクション確立状態を維持した HTTP 要求の事例 維持数 ( 件 ) 20 00 80 60 40 20 0 Apache IIS 0 2 3 4 5 6 7 8 9 0 TCP コネクションを確立した状態の HTTP 要求数 経過時間 ( 分 ) 9
TCP 通信のコネクション確立実験 TCP 通信のコネクション確立実験 クライアント :Windows XP SP3 + TCP 通信プログラム サーバ :Windows XP(SP3)+ Apache 2.2.4 ならびに IIS 5. 00 件の HTTP 要求を TCP コネクション確立状態で維持する (60 秒間隔で新規 更新操作 ) SYNパケット数 ( 件 ) 20 00 80 60 Apache 40 IIS 20 0 0 2 3 4 5 6 7 8 9 0 TCPコネクション確立要求数 ( クライアント サーバへの SYNパケット数 ) 経過時間 ( 分 ) RST パケット数 ( 件 ) 25 20 5 0 5 0 Apache IIS 0 2 3 4 5 6 7 8 9 0 経過時間 ( 分 ) 拒否された TCP コネクション確立要求数 ( サーバ クライアントへの RST パケット数 ) 0 2 Adobe Flash Player Acrobat Reader 2008 年 Adobe Flash Player のアップデート : 9.0.24.0 9.0.5.0(0.0.2.36) 2008 年 Acrobat Reader のアップデート : 8..2 8..2 Security Update 8..3(9.0) Adobe Flash Player Acrobat Reader 2 2009 3 4 5 6 7 8 9 0 2 2009/02/24:APSB09-0 0.0.22.87 Gumblar 2009/03/8:APSB09-04 9. 8..4 7.. Gumblar 2009/07/30:APSB09-0 0.0.32.8 2009/05/2:APSB09-06 9.. 8..5 7..2 2009/06/09:APSB09-07 9..2 8..6 7..3 2009/07/3:APSB09-0 9..3 2009/0/08:APSB09-5 9.2 8..7 7..4
3 X.509 証明書のドメイン名処理 ドメイン名に NULL 文字 (" x00") を含む X.509 証明書の取り扱いに関するぜい弱性で SSL クライアントと SSL サーバ証明書を発行する認証局で 証明書に記載されたドメイン名の取り扱いが異なることに起因する 2009 年 8 月 CVE-2009-2408:Mozilla Firefox Thunderbird CVE-2009-2666:fetchmail CVE-2009-2474:WebDAV クライアント ライブラリ neon 2009 年 0 月 CVE-2009-3455: アップルSafari CVE-2009-3456:Google Chrome CVE-2009-3475:Internet2 Shibboleth Service Provider software CVE-2009-3490:Gnu Wget CVE-2009-3454: マイクロソフト Internet Explorer(CVE-2009-250に変更 ) CVE-2009-3477:RIM BlackBerry Device Software(Blackberry Browser) CVE-2009-3639:ProFTPD CVE-2009-3767:OpenLDAP 2 3 X.509 証明書のドメイン名処理 認証局が発行する SSL サーバ証明書のドメイン名 www.example.com x00.ssl.hitachi.co.jp ぜい弱なSSLクライアント実装ではドメイン名を先頭から読み始め NULL 文字が出現したところで処理を終了 対策前 対策後 3
3 X.509 証明書のドメイン名処理 認証局が発行する SSL サーバ証明書のドメイン名 www.example.com x00.ssl.hitachi.co.jp ぜい弱なSSLクライアント実装ではドメイン名を先頭から読み始め NULL 文字が出現したところで処理を終了 対策前 NULL 文字 (" x00") 対策後 4 4 Mozilla Firefox 2008 年 Firefox のアップデート : 2.0.0.2~2.0.0.20 2008 2009 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 Firefox 3 Release Candidate Firefox 3 Release Candidate 2 Firefox 3 Release Candidate 3 Firefox 3.0. Firefox 3.0.2 Firefox 3.0.3 アドバイザリ発行件数 Firefox 2.0.0.4 Firefox 2.0.0.5 Firefox 2.0.0.6 Firefox 2.0.0.7 Firefox 3.0.4 Firefox 3.0.5 Firefox 3.0.6 Firefox 3.0.7 Firefox 3.0.8 Firefox 2.0.0.8 Firefox 2.0.0.9 Firefox 2.0.0.20 Firefox 3.5 Firefox 3.5. Firefox 3.5.2 2 Firefox 3.5.3 Firefox 3.5.4 Firefox 3.5.5 Firefox 3.0.9 Firefox 3.0.0 Firefox 3.0. Firefox 3.0.2 Firefox 3.0.3 Firefox 3.0.4 Firefox 3.0.5 5
5 PHP で開発された Web サイト用プログラム NVD(National Vulnerability Database) に登録された ( CVE: Common Vulnerabilities and Exposures が割り当てられた ) ぜい弱性総件数と Web サイト用プログラムのぜい弱性件数の推移 7000 6000 5000 4000 3000 2000 000 0 件 997 クロスサイト リクエスト フォージェリ (CWE-352) パス トラバーサル (CWE-22) クロスサイト スクリプティング (CWE-79) SQL インジェクション (CWE-89) 998 999 2000 200 2002 2003 2004 2005 2006 6,54 5,632 5,3 2,35,962 762 2007 2008 2009 6 5 PHP で開発された Web サイト用プログラム 2009 年 NVD に登録された PHP で開発された Web サイト用プログラムのぜい弱性 (,472 件 )+ その他 (3,47 件 )= 総件数 (4,69 件 ) 200 50 00 50 0 20 00 80 60 40 20 0 件 2 2009 3 4 5 6 7 8 9 0 2 /5 2/2 3/2 3/3 4/27 5/26 6/22 7/20 8/7 9/4 0/2 件 /5 2/2 3/2 3/3 4/27 5/26 6/22 7/20 8/7 9/4 0/2 その他 PHP で開発された Web サイト用プログラムのぜい弱性 その他クロスサイト リクエスト フォージェリ (CWE-352) 情報漏えい (CWE-200) 不適切な入力確認 (CWE-20) 認可 権限 アクセス制御 (CWE-264) 不適切な認証 (CWE-287) コード インジェクション (CWE-94) パス トラバーサル (CWE-22) クロスサイト スクリプティング (CWE-79) SQLインジェクション (CWE-89) 7
6 コラム : まず チェックできる仕組み作りから 対策方法は簡単ではあるが 最新の状態に維持することは難しい 出典 :( 独 ) 情報処理推進機構 対策 OS やアプリケーション ActiveX などのプラグイン ウイルス対策プログラムの定義ファイルを随時最新の状態にするなどの対策が有効である 8 6 コラム : まず チェックできる仕組み作りから チェックのためのツールは整備されつつある 最新版がインストールされている場合 左記以外 Firefoxプラグインのバージョンチェック http://www.mozilla.com/en-us/plugincheck/ Flash Player のバージョンチェック http://www.hitachi.co.jp/hirt/ 9
6 コラム : まず チェックできる仕組み作りから ステップアップ : 国際的な共通基準を活用した機械化処理の基盤整備共通仕様 ( 例えば OVAL:Open Vulnerability and Assessment Language セキュリティ検査言語 ) に基づき作成された定義ファイルが流通することにより 確認手続きを共有でき さらに その定義ファイルに従ってチェックするプログラムを誰もが開発できる MyJVNバージョンチェッカ http://jvndb.jvn.jp/apis/myjvn/ 20 7 参考情報 HIRT: CSIRT メモ チェックしておきたいぜい弱性情報 http://www.hitachi.co.jp/hirt/publications/csirt/index.html JVN(Japan Vulnerability Notes) http://jvn.jp/ MyJVN http://jvndb.jvn.jp/apis/myjvn/ 脆弱性対策情報の利活用基盤 MyJVNの提案情報処理学会 コンピュータセキュリティシンポジウム 2008 (Oct.8-0, 2008) MyJVNを用いた脆弱性対策情報提供サービスの検討 情報処理学会 コンピュータセキュリティ研究報告 Vol.2009 No.20, pp.283-288 (Mar. 5-6, 2009) NVD(National Vulnerability Database) http://nvd.nist.gov/ OVAL(Open Vulnerability and Assessment Language: セキュリティ検査言語 ) http://oval.mitre.org/ CVE(Common Vulnerability and Exposures: 共通脆弱性識別子 ) http://cve.mitre.org/ 2
END チェックしておきたいぜい弱性情報 2009 <2009..24> Hitachi Incident Response Team http://www.hitachi.co.jp/hirt/ 寺田真敏 Copyright All rights reserved.