反撃するフィルター
Original2003年8月
ベイジアン・スパムフィルターの精度を向上させるために、リンクをたどってその先に何が待っているのかを見ることができるかもしれません。リチャード・ジョウジーは、death2spamで、境界ケースにおいてこれを実行しており、うまく機能していると報告しています。
なぜ境界ケースでのみ行うのか?そして、なぜ一度だけ行うのか?
私がWill Filters Kill Spam?で述べたように、スパム内のすべてのURLをたどることには面白い副作用があります。人気のあるメールクライアントがスパムをフィルタリングするためにこれを行った場合、スパマーのサーバーは深刻な打撃を受けることになります。これについて考えれば考えるほど、良いアイデアのように思えます。これは単に面白いだけではなく、スパマーに対する完璧にターゲットを絞った反撃を想像するのは難しいでしょう。
そこで、スパムフィルターに取り組んでいる人々に追加機能を提案したいと思います。「罰モード」というもので、これをオンにすると、疑わしいスパムのすべてのURLをn回スパイダーすることができ、nはユーザーが設定できる値です。[1]
多くの人が指摘しているように、現在のメールシステムの問題の一つは、あまりにも受動的であることです。システムは、あなたが指示したことをそのまま行います。これまでのところ、問題を解決するための提案は新しいプロトコルに関するものばかりです。この提案はそうではありません。
広く使用されれば、自動取得スパムフィルターはメールシステムを反発させるでしょう。これまでスパマーに有利に働いていたスパムの膨大な量は、今や彼に対して働くことになります。まるで枝が彼の顔に跳ね返るように。自動取得スパムフィルターは、スパマーのcostsを押し上げ、彼の売上を減少させるでしょう。彼の帯域幅の使用量は急増し、サーバーは負荷の下で停止し、スパムに反応するはずだった人々に対して利用できなくなります。
1時間に100万通のメールを送信し、サーバーで100万回のヒットを得る。
私たちは、これが疑わしいスパムに対してのみ行われることを確実にしたいと考えています。一般的に、何百万もの人々に送信されたURLはスパムURLである可能性が高いため、すべてのメール内のすべてのHTTPリクエストを送信することはほぼ常にうまく機能します。しかし、これが当てはまらないケースもいくつかあります。たとえば、Yahoo MailやHotmailなどの無料メールサービスから送信されたメールの下部にあるURLです。
そのようなサイトを保護し、悪用を防ぐために、自動取得はスパム広告サイトのブラックリストと組み合わせるべきです。ブラックリストに載っているサイトのみがクロールされ、人間によって検査された後にのみサイトがブラックリストに載せられます。スパムの寿命は少なくとも数時間である必要があるため、新しいサイトを宣伝するスパムに干渉するのに十分なタイミングでそのリストを更新するのは簡単であるべきです。[2]
高ボリュームの自動取得は、高帯域幅接続のユーザーにとってのみ実用的ですが、そのようなユーザーはスパマーに深刻な問題を引き起こすのに十分な数がいます。実際、この解決策は問題を巧妙に反映しています。スパムの問題は、少数の騙されやすい人々に届くために、スパマーが全員にメールを送信することです。騙されない受信者は単なる巻き添え被害です。しかし、騙されない大多数は、騙されやすい人々が反応するのを止める(または止めると脅す)ことができるまで、スパムを受け取り続けます。自動取得スパムフィルターは、彼らにその方法を提供します。
それはスパムを撲滅するでしょうか? そうではありません。最大のスパマーは、おそらく自動取得フィルターからサーバーを保護することができるでしょう。しかし、彼らがそれを行う最も簡単で安価な方法は、メールに機能する退会リンクを含めることです。そして、これは小規模なスパマーや、スパマーを雇って宣伝する「合法的」なサイトにとって必要不可欠なものとなるでしょう。したがって、自動取得フィルターが広まれば、それらは自動退会フィルターになります。
このシナリオでは、スパムはOSのクラッシュ、ウイルス、ポップアップのように、正しいソフトウェアを使用することを気にしない人々だけに影響を与える疫病の一つとなるでしょう。
ノート
[1] 自動取得フィルターはリダイレクトに従う必要があり、場合によっては(たとえば「ここをクリック」とだけ書かれたページなど)複数のリンクのレベルをたどるべきです。また、HTTPリクエストが人気のあるWebブラウザのものと区別できないように、順序やリファラーも含めて確認してください。
応答がx時間以内に返ってこない場合は、かなり高いスパム確率にデフォルト設定します。
nを一定にするのではなく、サイトに言及しているスパムの数の関数にするのが良いアイデアかもしれません。これにより、悪用や事故に対するさらなる保護レベルが追加されます。
[2] この記事の元のバージョンでは、「ブラックリスト」の代わりに「ホワイトリスト」という用語が使用されていました。ブラックリストのように機能するものでしたが、法的攻撃に対して脆弱にならないようにホワイトリストと呼ぶ方が良いと考えました。しかし、これは読者を混乱させたようです。
おそらく複数のブラックリストが必要です。単一の障害点は攻撃や悪用に対して脆弱です。
感謝をBrian Burton、Bill Yerazunis、Dan Giffin、Eric Raymond、Richard Jowseyに、草稿を読んでくれたことに感謝します。