日曜日, 8月 06, 2006

十六進番号

 IPアドレスの十六進表記(8桁)を逆引きホスト名に含むエンドユーザー回線がけっこう多い。その中には、一般規則をすり抜けるものがある。論文に書いているように、「ACBBD419.ipt.aol.com」がその実例である。8桁の十六進番号の96%はルール1(最下位の名前が、数字以外の文字列で分断された2個以上の数字列を含む)またはルール2(最下位の名前が、5個以上連続する数字を含む)に引っかかり、残りの4%の中にもほかのルールに引っかかるものがありうるので、すり抜ける割合は少ない。
 とはいえ、メールの流量が多いサイトでは、十六進番号が一般規則をすり抜けることでスパムを阻止し損なうことが多いかもしれない。エンドユーザー回線のホスト名に十六進番号を使っているドメインをブラックリストに登録すればよいのだが、数が多いとそれも大変だろう。
 実は、8桁の十六進番号をすべて引っかけるルールを一般規則に含めようかと考えたこともあった。

/^[^.]*[0-9a-f]{8}/ 450 may not be mail exchanger

という設定を加えればよい。
 しかし、あえてそうしなかった。「a」~「f」の文字を含む語がマッチするおそれがあるからである。たとえば「speedfeed1」は引っかかってしまう。この名前を見れば、誰でも「2個の英単語と1個の数字から成る」と思うだろう。「『sp』の後に十六進番号8桁が続く」とすぐに見ることができる人は、よほどマニアックである。「なぜこの名前が引っかかったのだろう」と戸惑わせるルールは万人向けではないと考えたのである。だから、論文では「こういう方法もある」と示唆するにとどめている。
 十六進番号が一般規則をすり抜けることが多いサイトでは、「speedfeed1」のようなケースで戸惑わない自信があるなら、あるいはRgreyを使っているなら、上記のルールを追加していただいてもよいと思う。「speedfeed1」のような名前はレアケースであり、おそらく副作用は少ないだろう。

0 件のコメント: