モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

Starpitでほぼ誤検出無く98%のスパムを排除 (S25R+tarpittingによるスパム対策)

(追記)
このStarpitの課題点を改善したtaRgreyというものを提案しています。
こちらのほうがいろいろな点でよりベターなものになっていますので、こちらのエントリーをご覧いただいた後は、このエントリーもご確認下さい。
taRgrey - S25R + tarpitting + greylisting (tarpit + greylist policy server)
モーグルとカバとパウダーの日記 - taRgrey - S25R + tarpitting + greylisting


(修正 2009/05/19)
現時点でのスパムに対応するように遅延時間を85秒に変更しました。またS25RのパターンをIPv6での誤検出が無いように変更されたのを、今更ながら反映しました。


Starpitというスパム対策方法を提案します。*1
これはMTAで「ほぼ誤検出無く」93%程度のスパムを排除できる手法です。さらに特定業者フィルタと組み合わせて98%強の排除率にすることが出来ます。(2006/7 時点で)


S25Rという接続元IPのFQDNから動的IPを見分けるパターンにマッチするものだけ、tarpitting*2という「返答の遅延」を掛けることで、スパム送信側が時間を待ちきれずに勝手に接続を切る*3、というものです。
ですから正確には、スパムを拒否しているのではなくて、スパム送信側が勝手に送信をやめているということになります。

同様な手法でRgreyという、S25Rにマッチするものだけgreylisting(一度再送要求を出し、再送してきた場合は受け取る)を掛ける、という手法を提案していますが、それのtarpitting版と考えても良いでしょう。


S25Rにマッチするような動的なIPから送ろうとしているメールで、かつ通常のMTAではタイムアウトが5分と設定されている*4ところを、例えば1分以内で送信するのをやめてしまうようなメールサーバの場合、ほぼスパムと断定出来ると考えられます。
自宅サーバなど動的IPからの送信の場合でも、通常のMTAを利用している場合はtarpittingタイムアウトしないため、問題なく送信することが出来ます。

弊社のメールサーバではこの設定で半年以上の運用実績がありますが、今のところまだ誤検出での問い合わせはありません。
また、もっと大規模(数万アカウント)な環境での5ヶ月ほどの運用では、数件の問い合わせ(しかもほぼDNSの設定ミスによるもの)でした。


Starpitはスパムの排除率ではなく、誤検出や副作用が少なくなることを目標として、まず間違いなくスパムだというものを排除するための1次フィルタとして利用することを想定しているため、単体ではそれほどの排除率は高くありません。
S25R単体での排除率は98%強ほどですが、S25R+tarpittingとすることで93%程度にまで排除率が落ちます。
しかし、他のフィルタ設定を併用することで、排除率も上げることが出来ます。
Starpit+Rgreyという構成では96%強の排除率でした。
Starpit+特定業者フィルタでは誤検出を増すことなく98%程の排除率でした。
tarpittingを掛ける時間や他のフィルタを併用した場合の、スパム排除率等のグラフ (小さくて見にくいですが、紫の線が最終的なスパムの検出率で、一番右の結果が、Starpit90s+特定業者フィルタのものになります。)
さらに排除率を上げるために、後段に検出手法が全く異なるベイジアンフィルタなどのコンテンツフィルタを利用することも効果的で、コンテンツフィルタの負荷低減や人間の誤検出確認の負荷*5にも効果が有ります。


また、Starpitではsmtpdプロセス数の増加が起るため、非常に負荷の高いメールサーバには向かない場合もあります。
その場合は、StarpitではなくRgreyのみで運用したほうが良いかもしれません。
そのサーバの状況や運用ポリシーに合わせて、どういう組み合わせで利用するかを決定すると良いでしょう。(参考 RgreyとStarpitの比較)

*1:Postfix2.3の正式版が出てから書こうと思ってたんですが、実は何度か日記やコメントにちょろっと書いてたんで、少しずつStarpitとその関連の情報をまとめることにしました。

*2:throttlingやgreet pauseなどとも呼ばれる

*3:スパムは時間内になるべく大量にメールを送りたいため、反応の遅いメールサーバには送信をあきらめるように設定されている

*4:RFC2821 #4.5.3.2 Timeoutsでは「RCPT Command: 5 minutes」と規定されている

*5:100通のスパム候補から1通の誤検出を検出するのは手間ですが、10通の中からならだいぶ楽です

続きを読む

株価操作系&画像貼り付け系スパムが届く

こないだエントリーしてた、株価操作系のスパムが届いてました。
しかも今はやり?の画像貼り付け系です。

ベイジアンフィルタ抜けるために、本文には意味無いアルファベットの組み合わせ語句をたくさん張ってありました。
画像の内容が同一(だがヘッダの情報や本文の内容は全く違う)のスパムが2通来ており、接続元IPはブラジルと韓国になっていました。たぶんボットからの配信なのだと思われます。
またこいつらは、70sのtarpittingを抜けてきていました。
だいぶ防ぎにくいタイプのスパムであると言えます。


続きを読む

中華フィルタの詳細

中国の検閲用ファイアウォール、ケンブリッジ大研究グループが突破 - CNET Japan

シスコのルータを使って、パケットレベルで見てて、中国様の指定する禁止語句にひっかかるものがあれば、(それが偶然バイナリ中でその文字列になちゃってたにせよ)通信を停止させてしまうらしい。
一応抜け方も見つけたそうだが、さすがに普通の人ではそんなことするの無理だろう。


なので冗談じゃなく、中国からのスパムをはじくために、Greetingメッセージに「Falun」(「Falun Gong」で「法輪功」らしい)と入れておくのは効果が有る模様。
しかし、中国からの一切のメールが届かなくなるので諸刃の剣なのだが、自宅サーバで絶対に中国発のメールなんてスパム以外こないよ、という方は使えるかも?


(関連)

中国からの spam を蹴る画期的な方法を思いついた - どさにっき


(追記)

2006/11/28
中国の検閲を利用できるか
ハートコンピュータさんで、SMTPバナーに「FalunDafa」(法輪功)と出すようにして試したそうですが、切断されなかったそうです。
なので、このアイデアは効果ないっぽいです。ネタとして面白かったのですが、残念。

WalkEZ アルペンブーツで歩きやすくするツール

登って滑って何所へでも! | スキースクールより、

:::WalkEZ International::: Revolutionizing The Way You Walk In Ski Boots

ブーツの裏に靴底が弓なりになってるラバー?をはめて歩きやすくするツール。ファンスキーみたいな簡単な留め具で固定する。
似たようなのにキャットトラックがあるが、あれはあくまで滑り止めと靴底を減らさないためだが、こちらは歩きやすさも改善されるらしい。
靴底の形状から、ちょっとMBTシューズも思い起こさせる。


これは結構良さそうだけど、重さはどのくらいなんだろうか?


(関連)

モーグルとカバとパウダーの日記 - mBTシューズ使ってみました

物理演算パズル

物理演算パズルArmadillo Run:ピタゴラ装置も作れます - Engadget Japanese

これすごい面白そう。
PS3世代では、こういう感じにお手軽に物理演算使ったシミュレータを楽しめるようになるんだろうか。
物理演算ツクールみたいなの。