2010-02-02

最近のfreenodeへのspamの原因は、Firefoxによる田代砲だった

Firefox XPS IRC Attack - Encyclopedia Dramatica

ここ最近、freenodeを始めとしたIRCサーバーは、激しいspamに見舞われている。明らかに、何らかの、ユーザーが意図していないbotによって、攻撃されているようだ。そのbotとは何か。Firefoxである。

これは、セキュリテイホールであるが、規格準拠のセキュリティホールとも言える。Firefoxのセキュリティホールとは何か。それは、2001年に発見された、この問題である。

US-CERT Vulnerability Note VU#476267

HTMLのフォームの主な目的は、サーバーにPOSTメッセージを送ることである。しかし、POSTメッセージというのは、よくよく考えてみれば、サーバーに接続させるのである。とすれば、これをJavascript上から利用すれば、ユーザーのブラウザにから、任意のサーバーに、少なくとも、TCP接続をさせることができる。

俗に田代砲と呼ばれているスクリプトは、単にこれをやっているに過ぎないのだ。(もちろん、これは田代砲の実装方法の一つに過ぎないのだが)

そして、HTMLのフォームは、送るデータも指定できる。つまり、先頭にゴミのついている、任意のデータを送ることができるのである。とすれば、テキストベースであるメール関連のプロトコルやIRCプロトコルを偽装するのは、容易いことである。

この問題は、2001年に発見され、多くのブラウザベンダは、対策をした。具体的には、アタックに用いられる可能性のある、主要なwell-known portに対しては、フォームからPOSTできないようにした。ところが、Firefoxは、IRCのデフォルトポートである、6667を、ふさいでいないのだ。

結果として、全Firefoxが、IRCサーバーへのspam BOTとなりうるのである。

やれやれ、Firefox。

4 comments:

  1. とりあえず自分が攻撃に加担させられるのを防ぐにはabout:configでnetwork.security.ports.bannedキーを(デフォルトでは存在しないので)作って、6667を値に入れればいいのですが、
    http://kb.mozillazine.org/Network.security.ports.banned
    デフォルトで禁止してくれないとほぼ無意味ですね。

    ReplyDelete
  2. 実際、freenodeへのSPAMがひどすぎる。

    ReplyDelete
  3. 先頭のゴミでHTTPによる不正なアクセスだと判断して弾くということは、IRCのプロトコル的に不可能なんでしょうか? メールの世界ではHTTPプロキシ経由でspamを撒こうとするなんてのがけっこう古典的な攻撃なんですが。
    http://ya.maya.st/mail/accessctl.html#strict-syntax

    ReplyDelete
  4. それは、パターンがあるでしょうから、可能でしょうが、問題は、それでも、TCP接続だけは避けられない。
    結果として、DDosになるのです。
    freenodeは一時期、非常に不安定でした。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.