mIRC DCC サーバのセキュリティ不備
[翻訳:関谷 麻美]
2002年3月12日
国際
海外情報
2002年3月12日
概要:
mIRC DCC サーバ・プロトコルの実装にエラーがある。この脆弱性を利用して攻撃者は、以下のものを入手することが可能になる。
1)被害対象のニックネーム。
2)被害対象が攻撃者の要求を無視するしないに関係なく、直接接続。
3)ユーザが接続しているIRC サーバ番号に関する情報。
詳細:
プロトコル自体は、mIRC のヘルプ・ファイルで見つけることができる。この問題を以下のように再現することが可能だ。
1)オープンなDCC サーバに接続する。
2)タイプ:100 testing
3)この見地から、攻撃者が被害対象のニックネームを入手するのを阻止する ことは出来ない。チャット要求を完全に閉じるために"承諾"か"キャンセ ル""無視" を選択するか。あるいは"X"をダブルクリックしたにも拘わら ず、サーバは常にそのフォームにニックネームを伴って応答するだろう:
151
これは明らかに、あってはならない事態だ。たとえ、DCC サーバがタイムアウト(デフォルトで300秒)するまで待っていたとしても、サーバはニックネームを伴って応答する。
誰かがその要求を"無視する"のか否かを決定する場合、サーバがどれくらいの速さでその情報を伴って応答するかを調べるために時間を測定する必要がある。仮にそのタイミングが異なる場合、誰かがそこにいてクリックしていると考えられる。
次に、彼らが別のサーバにいるか否かを確認することだ。まず、返されたニックネームとローカルの IRC サーバで持っているニックネームを比較しなさい。ニックネームが異なる場合、他のニックネームを持つ別のサーバにいるということだ。これについて、例外があるかもしれない。さらに、この場合、ニックネームを持つIRC サーバ上にあなたがいるか否かに依存するが、依然として攻撃はあり得る。
解決策:
1)"被害者"がその接続を受け入れた時に限り(彼らが"キャンセル"を選択し た時ではなく、そして明らかに"無視"を選択した時でもない)、サーバに ニックネームを返させる。
2)"被害者"がチャットを無視する選択をした後でも、何秒間か接続を停止し ないようにする。
3)作者がサーバの DCC Server Nick を持つことを提案する。DCC Server
Nick は、そのサーバを介して実行される DCC Chats と常に同じだ。
4)以下のような機能を持つことも推奨される。
a)たとえ、その要求が失敗したとしても、人々のこのポートへの接続をチェ ックする。
b)ポートのフィルタリングを設定し、サードパーティのファイアーウォール を必要とせずに IP の受け入れ/拒否を可能にする。
もちろん DCC サーバがどのポートを使用しているかを知らない場合、これは全く意味をなさない。しかし、ユーザの大部分はそれをデフォルト設定のままにしているようだ。この記述を読んでもう少し用心深くなること。そしてこのようなサービスにおいてデフォルトで設定されているポート番号を使用ないことを望む。この情報にざっと目を通し、当該サービスが使用するポートを変更したとしても、全ての問題の解決には至らないだろう。
追加情報:
James Evans がこの情報を提供した。
[情報提供:SecuriTeam]
http://www.securiteam.com/
《ScanNetSecurity》