I. 説明
ICQはインターネット上で他のユーザとコミュニケーションを行なうための
プログラムの一種である。ICQは広く利用されている(AOL Time Warner
の子会社であるICQ Incによれば、
1億2,200万人以上)。このICQのWindows用クライアントソフトにバッファ
オーバフローの危険性が存在する。このバッファオーバフローは
Voice Video & Games のフィーチャ・リクエストメッセージを処理する
過程で発生するものである。このメッセージは、犠牲者がサードパーティ製の
アプリケーションにインタラクティブに参加するよう誘う別のICQユーザからの
リクエストであるとされている。2001B以前のバージョンでは、ICQクライアント
のコードにバッファオーバフローが発生する。2001Bでは、バッファオーバフロー
を含むコード部分が外部プラグインに移された。
このため、2001Bの最新ビルドより前のすべてのバージョンは脆弱である。
AOLのICQサーバに接続すると、2001Bクライアントで脆弱なビルドを使っている場合は
、脆弱なプラグインを無効にするようサーバから指示がある。2001B以前のICQクライアント
を使っている場合は無効にすべき外部プラグインが存在しない為、サーバに接続した
後も脆弱なままである。AOL Time Warnerは脆弱なバージョンのICQを利用している
すべてのユーザが2001B Beta v5.18 Build #3659に
アップグレードするよう推奨している。
通常の操作中、ICQクライアントはICQサーバ経由または直接接続経由で
互いにメッセージを交換できる。今回のバッファオーバフローが発生する
のは、ICQサーバからのタイプ0x2711であるとされた型(Type)、長さ(Length)、
値(Value)のTLVタプル経由、または、悪意で加工された直接接続リクエスト
経由のVoice Video
& Gamesリクエストを処理する過程においてである。
ICQクライアントのバージョンによっては、クライアント・サーバ通信
のためにポート番号4000/UDPをオープンする。別のバージョンではこの
通信のためにポート番号5190/TCPをオープンする。以前報告されたAIM
の脆弱性と合わせて、AOLは、今回の脆弱性に
付け入ろうとする悪意あるメッセージをフィルタリングするよう
ICQサーバインフラを修正し、
AOLのICQサーバ経由で付け入ることができないようにした。しかし、
他の手法 (第三者経由の攻撃(man-in-the-middle attacks)、サードパーティ
製のICQサーバ、DNS偽造、ネットワーク盗聴(sniffing)など)で今回の脆弱性
に付け入ることは依然可能であろう。また、UDPパケットはネットワーク上で
ブロードキャストされるので、送信元IPアドレスが偽造された悪意あるTLVパケット
が合法的なサーバメッセージとして受け入れられてしまう可能性もある。
また、ICQクライアントは直接接続リクエストに対する待ち受けTCPポートが
毎回変わる(listens on a variably assigned TCP port)。直接接続をしたい
者は相手のIPアドレスと待ち受けポート番号をICQサーバ(のどれか)に問合せ
ることができる。2000A並びにそれ以前のバージョンの場合、デフォルトでは
誰かの直接接続も受け入れる設定になっている。それ以降のバージョンのICQは
(デフォルトではないが)誰からの直接接続も受け入れるよう設定できる。
ICQリクエストはあるクライアントから別のクライアントへ直接送信される
ので、中央サーバ経由のリクエストを遮断することでは完全に効果的な解決
にならない。効果的な対応策は、入手可能になった段階で、今回のバッファ
オーバフローを修正する修正パッチを適用するか、2001B Beta v5.18 Build #3659
にアップグレードし、かつ、Voice Video & Games機能を無効にすることである。
今回の脆弱性に対しては
the Common Vulnerabilities and Exposures (CVE) groupにより、
識別番号 CAN-2002-0028 が付けられている:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-0028
II. 影響
リモートの攻撃者が、犠牲となるユーザに付与された権限レベルで
任意のコードを実行できる。
III. 対応策
すべてのユーザはバージョン2001B Beta v5.18 Build #3659
にアップグレードすべきである。現時点では、2001B用ICQ プラグイン用並びに
2001B以前のICQクライアント用の修正パッチはない。バージョン2001B Beta v5.18 Build
#3659のインストーラは脆弱なプラグインを削除するようになっている。
また、Beta v5.18 Build #3659以前の2001Bでサーバにログインするユーザ
に対しては、脆弱なプラグインへのアクセスが無効になっている。2001B以前の
バージョンを利用している人はこの脆弱性を解消するためにアップグレード
しなければならない。
ファイアウォールでICQ/SMSのリクエストを遮断せよ
login.icq.comへの接続並びにポート番号4000/UDP, 5190/TCP、さらに
自クライアントマシンが待ち受けるよう設定したTCPポートへのアクセスを
遮断することによって、この脆弱性に付け入られることを防ぐことができる
であろう。ただし、クライアントは起動されるたびに新たな待ち受けポート
を用意するようになっている。また、この対策を行なっても、自ファイアウォール
の中からの攻撃を防ぐことはできない点も注意されたい。
信用のないメッセージを遮断せよ
ICQは、認証のない者からの直接接続をすべて拒絶したり、既知の友人
からだけ直接接続を受け付けたりするようユーザが設定できるようになっている。
我々は、認証のない者からの直接接続はすべて拒絶するという設定を推奨する。
既知の友人からの直接接続を受け付けることにより、この相手が攻略されていた
場合、その相手が発信者となる攻撃に対しては脆弱なままになるからである。
Appendix A. - ベンダ情報
このAppendixでは、この勧告に対してベンダが提供してくれた
情報を掲載している。ベンダがCERT/CCに対して新たな情報を報告して
きてくれた際は、このセクションを更新し、更新履歴に変更点を記載する。
特定のベンダが掲載されていない場合、それは我々が連絡を受け取っていない
ことを意味している。
AOL Time Warner
http://web.icq.com/help/quickhelp/1,,117,00.htmlを参照せよ。
The CERT Coordination CenterはDaniel TanとAOL Time Warnerが
この脆弱性を発見し解析するのに助力してくれたことに謝意を表する。
著者: Jason
A. Rafail
Appendix B. - 参照文献
- http://www.kb.cert.org/vuls/id/570167
- http://www.securityfocus.com/bid/3813
- http://web.icq.com/help/quickhelp/1,,117,00.html
本文書の原文は以下で入手できる。
http://www.cert.org/advisories/CA-2002-02.html
CERT/CCへの連絡は
電子メール: cert@cert.org
電話: +1 412-268-7090 (24-hour hotline)
Fax: +1 412-268-6989
郵便送付先:
-
CERT Coordination Center
Software Engineering Institute
Carnegie Mellon University
Pittsburgh PA 15213-3890
U.S.A.
CERT/CCの職員は月曜〜金曜の personnel answer the hotline 08:00-17:00 EST(GMT-5) / EDT(GMT-4)であればホットラインを受け付けている。他の時間、合衆国の祝日、週末も緊急時の
ため待機している。
暗号を利用する
セキュリティ上微妙な情報を電子メールで我々に送る場合は暗号化することを
強く推奨する。我々の公開PGP鍵は以下で入手できる。
DESを利用したい場合は、CERTホットラインに電話して欲しい。
セキュリティ情報を得る
CERTの出版物ならびにその他のセキュリティ情報はCERTのウェブサイトで見ることができる。
CERTの勧告、速報を配布するメーリングリストを購読したい場合は、