アドレス収集ロボットを捕獲する
sorry no english version
アドレス収集ロボット
spammerが送信に用いるメールアドレスの
入手方法
のひとつとして、 検索エンジンの巡回ロボットのようにリンクをたどって メールアドレスを収集する専用のソフトウェアがあります。 たとえばGoogleで"
アドレス収集 ソフト
"と入れてみれば、いろいろ出まわっていることがわかります。
国外ではaddress harvesting programとかspambotと呼ばれているものです。
アクセス元の特定
まともにUSER_AGENTなどを渡すわけがないspambotのアクセスをhttpdのログから見つけ出すことは困難です。 また、どのメールがspambotにより収集されたものなのかも区別がしにくいものです。
そこで、spambot用にわざとエサを置いておいて食べてもらい、 送られてきたメールでspambotがどこから来たのかを調べます。
もともとは
ここ
で見たアイデアなのですが、 エサのメールアドレスにアクセス元の情報を含ませます。
たとえば:
hirobo-127.0.0.1@example.com
というようにアクセス元のIPアドレス(httpアクセスまで特定したければ、さらに日時)をメールアドレスにまぎれこませます。 qmailのように拡張アドレスが使えるMTAなら簡単にできます。 MTAでできない場合は
spam gourmet
のように、必要なだけ必要な時に使い捨てできる転送アドレスを作成できるサービスを利用すれば可能になります。
spam gourmetなら:
特定できる文字列.1.アカウント@spamgourmet.com
というようなアドレスを渡してあげれば良いわけです。
CGIかSSIの使えるサーバならHello world!レベルですよね。:-)
設置
通常のページに埋め込んでも良いわけですが、 Googleなどに拾われてキャッシュされてしまうとややこしいことになるので、 別のページにしてrobot.txtかmetaタグでキャッシュが行なわれないように指定します。
<meta name="robots" content="noindex, nofollow">
そして通常のページに、人間によるアクセスが来にくいようにリンクを張ります。
<a href="http://example.com/honeypot.cgi"></a>
あとは釣れるのを待つだけです。:-)
メールアドレスから取りだしたIPアドレスを使って webのアクセス制限など二度とアドレスを持っていかれないように イジワルをするのも良いでしょうし、 送られてきたメールを元に受信拒否をするのも良いでしょう。 アイデアしだいです。
それでは、良いのが釣れますように!
おまけ
○ honeypotサンプル(CGI:djblib+build)
Cソース
(
tarball
:"package/compile"後コピーしてください)→
動作例
○ ついでにゴミのメールアドレスを食べさせてspambotにいじわるする版
1回目のみhoneypotアドレスを生成します
junkなメールアドレスを50個生成します
パラメータを変えて自分へのリンクを生成します
2回目以降は3秒sleepして過負荷にならないようにします
Cソース
(上のtarballに含まれます)→
動作例
(
clib+Apache版
はこれでいいのかな?)
ちょっとナチュラルな感じ(?)バージョン
Cソース
→
動作例
○ 釣果の研究に役立つ(?)USER_AGENT,REFERER,VIAの環境変数を取るためのpatch
publicfile用
shttpd(cgi-httpd)用
skahttpd用
さらにおまけ
賢くないspambotには拾えないようにwebに置くメールアドレスのタグをエンコードしてしまいましょう。
例:
使用前
hirobo-web@h1r.org
使用後
hirobo-web@h1r.org
エンコードしたmailtoタグを発生します。
mail address:
お持ち帰り用のほぼ同機能のjavaアプレット
(Hideaddr.zip 約4000byte)
古いjavaプラグインだと動作しないと思うので
動作確認
してからお持ち帰りください
関連情報
Spambot Beware!
robotはぢきについて
spewsのemail harvesterのリスト
INDEX
Hiroshi Tsukamoto
Last modified: Fri Aug 9 20:15:43 2002