2007年1月27日 星期六

帝國反擊戰

主動攻擊 --- 這是 SpammerSkewer 的哲學!!
SpammerSkewer 的作者認為只有耗盡發垃圾郵件的資源才可以使他們停手。所以提議攻擊 Spammer 的網站,在網站的表格內填上你們對垃圾郵件的投訴。這軟件的進一步方法就是用 P2P 的技術,每個參與的 peer互相通知大家新的 spammer 網站和攻擊指令。
Spammer 用 botnets 技術寄垃圾郵件,antispamming 今天也用類似技術反擊。

問題是: SpammerSkewer 的作者選擇不公開自己的身份 (恐怕比 spammer 報復 ??) ,大家憑甚麼相信他派的攻擊指令一定是 spammer 網站呢?? 再者這類攻擊是否合法還要法律界人仕澄清。

2007年1月26日 星期五

造市



一直很奇怪為何關於股票的垃圾郵件為何特別多的 (據統計,垃圾郵件中有 15% 是關於股票的)。此類郵件一般會推薦一或幾隻所謂「仙股」,用 pump and dump (aka pump'n'dump) spam email 方式發送出去,今日看到一篇文章講此類 spam email 對股價變化的分析先知道「造市」是那麼容易,利潤也不錯。這也解釋為何這類垃圾郵件的發送技術是最新和最有創意的。

2007年1月23日 星期二

到期啦

新聞得知 google.de 忘記了 domain name 續期,昨天給人取走!!
我也試過忘記替客戶續期,差點給人取去。那一次給客人駡到不似人形.....
從此之後,我在 Google Calendar 記下所有有關客戶的到期日,再加 email, SMS reminder!!


各位記得要續期呀 XDDDD

Nolisting -- Poor Man's Greylisting

今天從 Slashdot 看到這篇文章介紹一個 anitspam solution 叫 Nolisting。簡單來說就是:
1. Primary MX 故意地不接 SMTP connection , 而根據 RFC 2821 規定,Client connection 會
2. 轉接到 Secondary MX,而這才是真正的 Email server。
3. 根據作者所說,Spammer 用的軟件大部份是 non-RFC compliance ,所以當 primary MX 不接時就不會再寄垃圾郵件到此地址。

但我自己的實際觀察是:
1. Secondary MX 也有垃圾郵件的。這可以由 headers 中看到!! 有Spammer 反而是故意攻擊 secondary mx --- 因為認為這些 secondary mx 的保護一般會較差。
2. Slashdot 內的評論也說某些正常 SMTP 也是 non-RFC compliance。這些 smtp server 便永遠不能寄信給你了。

2007年1月22日 星期一

已所不欲,勿施於人

上一篇談到 backscatter 問題的文章提到有些 antispam gateway 是 catch all 的,判斷電郵地址正確與否交了給下層的 delivery agent ,這種做法是不正確的。大家看了 Richi Jennings 的兩篇文章,便知道這麼做的嚴重性。如果你不能在 SMTP 層面 reject unknown user ,而要等到 delivery 層面時才 rebound message 的話,最大可能是 rebound 到一些無辜的第三者身上。

我前幾個星期替一個客戶安裝 email server,他不需要我安裝 anitspam 和 firewall function,因為他用上了一間香港「著名」的 antispam 公司的產品 (據講還得了獎)。
當天大家上 datacenter ,分別完成了各自的安裝工作,我奇怪的問那公司的工程人員為何從不問我電郵戶口的資料,他說不需要了,所有 incoming 來信 antispam gateway 都會接收,判斷是否有問題 (virus 或 spam),無問題的就交給你的 email server ,由我的機器是否需要 rebound。
我跟着解釋這方法的問題所在,他才勉強的接受我 export 一個 text based account list ,好讓他能在 smtp 層面擋 dictionary attack。

2007年1月20日 星期六

發放垃圾郵件坐 101 年監??

這是美國第一宗針對發放垃圾郵件的案件:
Source

LA-area man first in nation convicted under anti-spam law

Associated Press

A man faces a sentence of up to 101 years in federal prison after being the first person in the U.S. convicted under a federal anti-spam law, authorities said.

Jeffrey Brett Goodin, 45, of Azusa, was found guilty Friday of running a "phishing" scheme that tricked people into believing they were giving personal information to a legitimate business. Prosecutors said Goodin then used the information to go on a spending spree.

Goodin is the first person in the nation convicted under the 2003 CAN-SPAM Act, the U.S. attorney's office said. The law forbids e-mail marketers from sending false or misleading messages and requires them to provide recipients with a way to opt out of receiving future mailings.

During trial, prosecutors presented evidence that Goodin used several compromised Internet accounts to send e-mails to America Online users. The e-mails appeared to be from the company's billing department and told customers to update their billing information or lose service.

The e-mails referred people to one of several Web pages controlled by Goodin where they could enter their personal information, prosecutors said.

In addition to the anti-spam conviction, Goodin was convicted of 10 other counts, including wire fraud, misuse of the AOL trademark and attempted witness harassment.

Goodin is scheduled to be sentenced June 11.


我已在 google calender 記下 6月11日這天,就看看到時判多少刑期。

2007年1月18日 星期四

ORDB 結束營業

ORDB 結束營業已經不是新消息了,這是我開始寫這 blog 之前的新聞。但到昨天才感受到它帶來的影響:

昨天一個舊客打比我說收不到電郵。他的 server 已經是兩年前安裝的,當時他堅持要安裝 qmail (這是一個我最不熟悉的 MTA ,我對 qmal 的評語一向都是「安裝容易,管理、除錯麻煩」的東東)。老實說,自此之後我從沒有再安裝過 qmail。
他打電話來時我也考慮過幫不幫他呢? 我心想,收錢都未必解決到問題喎,我對 qmail 的認識只是到了安裝階段,兩年都無問題真的要感恩了。聽他說得那麼緊急,即管上去看看吧。他公司電郵伺服器病徵是:

telnet mail.emailserver.com 25 後的 220 greeting response 要很久才有回應 (要等足足三分鐘!!)。一般來說這一定是 DNS 問題 (nameserver set 錯了),但為何同一部機的 pop3 就無問題!! 跟了足足一個鐘頭仍然毫無頭緒,正常告訴客人有錢也賺不到,準備離開時忽然醒覺這個 qmail 是有做 MTA level 的 DNSBL (RBL) blocking 的,立即找找它用的 RBL ---- 其中一個是 relay.ordb.org!!
我的天啊,難道真的是這一個。刪除了這一個 RBL,restart qmail。Bingo!!! 一切回復正常。
我回來後再看看資料,ordb 的 server 應該是 06年12月31日 shutdown 了,但為何我的客戶說他到前天才有問題呢?? 難道 31日後仍然運作了一段時間??
還有的是立即看看我其他客戶的電郵 server 有沒有相同問題..........

2007年1月14日 星期日

巴黎鐵塔 反轉再反轉

有客戶經常收到一些 user unknown rebound message 聲稱是由他發出的,他問我是甚麼原因。這類郵件叫 Backscatter 垃圾郵件 (Backscatter 這字我查來查去都找不到一個好的中文譯名,即管就叫「 巴黎鐵塔 反轉再反轉」吧 XDDD)


1. Spammer 首先會冒認 Victim B 的 domain 為 sender 寄垃圾信。
2. 通常這類郵件會用 Directory Harvest Attach (dictionary attack) 的方式攻擊 Victim A.
3. 如果 Victim B 未能在 SMTP 層面擋截 user known 攻擊,而要在 delivery agent 層面時才知道,(這類情況經常出現在一些 catch all 的 antispam gateway 機器,有機會講講這些 antispam gateway 的問題) 因為 sender domain 是 Victim B,所以 Rebound Message 會返回 Victim B。
4. 我的客戶就是這個 Victim B 了。根本他不認識 Victim A,也無寄電郵給他們。

Victim B 可以做的不多,雖然 Postfix 提供了一個 filtering 方法,但我認為很容易「殺錯良民」。還要詳細研究才敢應用。

自動登記科林的軟件

很厲害,15分鐘就可以幫你登記千多個科林,自動貼文,它的 feature list 還說可以看穿 CAPTCHA (圖片驗證) ,自動 Activation by email 。好笑在它在網頁說 spamming forum 是「不被禁止」的。各位看官,US$450 而已,不妨買個回來玩玩。

或者看看它的 demo

2007年1月13日 星期六

智能身份證電子證書



今天下午花了兩個鐘頭才可以替我的電子證書在網上續期!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

前幾天收到香港郵政的電郵通知我的電子就快到期。老實講,這張證書除了前兩年替郵政局辦研討會時研究過一陣子外,其餘時間一次也未用過!! 當天看過郵局的網上介紹怎樣續期後已經決定過幾天才搞吧,因為續期要用上身份證內的 e-cert。天呀!! 我的那個 身份證 card reader 早已放入倉底了。

今天花了半小時找回那個 card reader 便開始我的痛苦經歷。
開了 firefox 鍵入續期網頁地址,按入「立即申請」。怎麼搞的,為何只出了「檢查你的瀏覽器是否已經安裝數碼簽署所需的 plug-in...」便停了下來。試了幾次,關機開機再來都是一樣!!??這時才記起這個香港郵政電子證書系統是不支援 Microsoft IE 之外的所有 browser。但為何「檢查你的瀏覽器」時不會指示一下!!!

好了,轉用 IE!!! 再按「立即申請」。又為何又變了「無法顯示網頁」,試了兩次才發現 prompt 了我要安裝一個叫 CAPICOM 的 Active X,就是這一個 plugin ,我又花半小時都不能安裝在我那部新買的電腦上。最後我用上了另一部電腦,再花另外半小時才能安裝和辦理續期手續。但為何第一部電腦不能安裝這個 Plugin 呢?? 我迄今仍不知道,我在郵政局網上也找不到 trouble shooting 的資料。

香港郵政決定由私人辦理電子證書是正確的。無人材,無心,無在使用者角度考慮產品就無謂搞了!!!

討厭的 winmail.dat

不知各位有否收過內含 winmail.dat 附件的電郵,這是因為寄件者
1. 使用 Exchange/MS Outlook 的 RichText format 寄信。
2. 地址簿沒有指示你不收 RichText 電郵。

這些信件的特性是用了 Microsoft 專利的 TNEF (Transport Neutral Encapsulation Format) encode 了,有趣的是連 MS 的 Outlook Express 也不能開啟這類信件!! 當你收到這種信件,可以做的是:
1. 通知寄件者不要用 RichText 寄信給你!!
2. 使用一些 Third Pary software 來開啓。我是使用 AkeeSoft WMViewer 這一軟件。


更多資料:
Google Search

The Top 10 Ways to Eliminate Spam from Your Inbox

Source: The Top 10 Ways to Eliminate Spam from Your Inbox
雖然都是一些老掉牙的忠告,但也值得記下來:

1. Use Spam Filters.
2. Eliminate Viruses.
3. Keep Your Email Account Safe.
4. Test Who Is Spamming You.
5. Know What To Do When You See Spam In Your Inbox.
6. Opt-Out Letters.
7. Pick The Right Email Address.
8. Tailor Your Surfing To Minimize Viruses and Spam.
9. Report Violators.
10. Get Revenge

2007年1月11日 星期四

Greeting Pause

Sendmail 8.13 有一個新增的功能叫 greet_pause ,它的功能很簡單
當客戶端要連線至本機時, Greeting banner 不會立即出現,要等一個已設定時間才可以開始進行 SMTP conversation,對 spammers 來說,因為要大量寄信,等幾秒也是長時間,故此這方法可以阻擋一部份垃圾郵件,根據我的實際測試,大約少了 5%左右。
應用方法,在 sendmail.mc 檔上加上:

FEATURE(`greet_pause',5000)

Greeting banner 就會 5秒後才會出現。如果你有一些 trusted networks ,可以在 access 檔上加上:

GreetPause:localhost 0
GreetPause:123.124.0.1 0
這樣就可以 "whitelist" 以上 ip address。

我暫時在 Postfix 找不到這樣的一個 feature,因為她們認為 greeting pause 對正常郵件的「懲罰」太大了。

2007年1月10日 星期三

Composite RBL (DNSBL) checking

以下網址幫你一次過檢視大部份公開 (Public) 的DNSBL site
這些網址將會不定期更新!!!

http://openrbl.org
http://www.robtex.com/rbls.html (www.robtex.com 也有很多有用的工具可用)
http://www.completewhois.com/rbl_lookup.htm
http://moensted.dk/spam
http://ipremoval.sms.symantec.com/lookup/
http://www.myiptest.com/staticpages/index.php/check-Blacklisted-IP-DNSBL
http://www.dnsstuff.com (我最常用的,除了 RBL checking 外也有 DNS checking 和 Email address checking 等服務。
http://multirbl.valli.org

The Google blacklist for Phishing Sites

sb.google.com/safebrowsing/update?version=goog-black-url:1:-1

裝了 Google toolbar for Firefox 或 Firefox 2 就會自動用到。

2007年1月8日 星期一

Spamhaus PBL

Spamhuas 新推出的 DNSBL

The Policy Block List

The Spamhaus PBL is a DNSBL database of end-user IP address ranges which should not be delivering unauthenticated SMTP email to any Internet mail server except those provided for specifically by an ISP for that customer's use. The PBL helps networks enforce their Acceptable Use Policy for dynamic and non-MTA customer IP ranges.

PBL IP address ranges are added and maintained by each network participating in the PBL project, working in conjunction with the Spamhaus PBL team, to help apply their outbound email policies. Additional IP address ranges may be added and maintained by the Spamhaus PBL Team, particularly for networks which are not participating themselves, and where spam, rDNS and server patterns
are consistent with end-user IP space which typically contain high concentrations of "botnet zombies", a major source of spam.

A list of participating networks will be available soon. Spamhaus encourages all dialup, DSL and cable modem providers to participate and submit their own PBL ranges.

這是 ISP 自動參與的 DNSBL,ISP 指定那些 ip range 不是用她們指定的 SMTP server 寄信,而真接 email direct to MX.
但我的問題是: 為何這些 ISP 不 block 了 outgoing port 25,正如香港的ISP Netvigator那般,根本她們的用戶就不能 direct to mx!!

2007年1月3日 星期三

image spam

FuzzyOCR 是一個 Spamassassin 的 Plugin ,專門對付日益增加的 Image Spam。以下是 installation guide for RHEL/CentoS and Fedora OS: (source: MailScanner wiki)

Pre-requisities

a. You’ll need the netpbm and libungif RPMs from the RedHat / Centos YUM repository
b. You’ll also need the GOCR rpm (build it yourself or use the Dag Wieers repository).
c. Finally you’ll need the String::Approx perl module.

Install the natively available RPMS

YUM does a fantastic job here.
# yum install netpbm netpbm-devel netpbm-progs gtk+-devel libungif libungif-devel libungif-progs

Next we install the gocr RPM.
# mkdir /root/FuzzyOcrPlugin
# cd /root/FuzzyOcrPlugin
# wget http://jaist.dl.sourceforge.net/sourceforge/jocr/gocr-[latest-version].tar.gz
# tar xzf gocr-[latest-version].tar.gz
# cd gocr-[latest-version]
# perl -e "s/^%configure --with-netpbm=no/%configure/g;" -pi gocr.spec
# cd .. # tar czf gocr-[latest-version].custom.tar.gz gocr-[latest-version]
# rm -fr gocr-[latest-version]
# rpmbuild -ta gocr-[latest-version].custom.tar.gz
# cd /usr/src/redhat/RPMS/i386/
# rpm -ivh gocr-[latest-version]-1.i386.rpm gocr-devel-[latest-version]-1.i386.rpm
# cd -

Now we come to the String::Approx installation Don’t trouble yourself, simply use CPAN for this.
# perl -MCPAN -eshell cpan> install String::Approx

Finally we download and install the FuzzyOCR library and cf file.

The latest release is always available as fuzzyocr-latest.tar.gz (though it could change withut notice). The main download page is at http://fuzzyocr.own-hero.net/wiki/Downloads
# wget http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-latest.tar.gz
# tar xzf fuzzyocr-latest.tar.gz
# cd Fuzzy*
# mv FuzzyOcr.cf FuzzyOcr.pm /etc/mail/spamassassin
# mv FuzzyOcr.words.sample /etc/mail/spamassassin/FuzzyOcr.words
Test out the setup

And finally the test.
# spamassassin -x -D --lint

Check for lines like:
[4466] dbg: plugin: fixed relative path: /etc/mail/spamassassin/FuzzyOcr.pm
[4466] dbg: plugin: loading FuzzyOcr from /etc/mail/spamassassin/FuzzyOcr.pm
[4466] dbg: plugin: registered FuzzyOcr=HASH(0x9467294)
[4466] dbg: plugin: FuzzyOcr=HASH(0x9467294) implements 'parse_c

試驗:

上圖是其中一封垃圾電郵的 Image Span, 加上 FuzzyOcrPlugin 後,spamassassin 的分數加上
* 5.0 FUZZY_OCR BODY: Mail contains an image with common spam text inside
* Words found:
* "company" in 1 lines
* "trade" in 1 lines
* "target" in 1 lines
* (3 word occurrences found)
都算厲害,我肉眼都未能立時看到這三個字!!!

更多資料:

Google Search
FuzzyOCR 網站

2007年1月2日 星期二

maRBL

MTA level 的 antispam 方法一般是使用 RBL,但又恐怕會「殺錯」良民,經常跟中國大陸電郵聯絡的都知道很多 ip address 已經入了後多的 RBL,如果在 MTA level 已擋回,正常郵件真的無法進入,使用 spamassassin 只是可以針對 RBL 計分,實際郵件數量是沒有減少的。上文提到的 greylist 也有它的問題。現在就有一種融合兩者好處的方式: maRBL。它對郵件的處理方式是: 只針對 RBL 內的 ip address 做 greylisting,其它不做。
即就算是入了 RBL 的寄件者只要通過 greylisting 仍然可以寄到信給我們。
Greylist 也不需要考慮 smtp cluster 的問題了 (我想興建了 smtp cluster 的 ISP/mail providers 不會對 RBL 不處理吧)


更多資料:
Greylist (my blog)
maRBL

Greylist

上圖顯示我的 server 在 11月中開始啟動 greylisting 後郵件數量的變化,垃圾郵件減少了 2/3。Greylist 的原理很簡單:

1. 除了特定的 whitelist ip address 或 email address,所有 incoming 的 smtp connection 都會通知被告知 : Greylisting in action, please come back in 00:30:00 (時間可以控制!!)
2. 同時會記下 1. sending email address, sending smtp ip address 和 receiving email address
3. 大部份合乎 RFC 821 的 sending side MTA 會於稍後時間 retry 寄信,所以最後也會收到的。收信後也會自動做 whitelist (記下上述第 2 點的 tuples),下次同樣的 tuple 就不需要 Retry!
4. 一般 spammers 的 MTA 是不會 Queue 電郵的,一次試不到就會離開。

Greylist 是一項簡單而有效的阻擋垃圾電郵的方法,但也有缺點:
1. 對一些無法建立 whitelist 的企業,這意味電郵以後不會立即收到。這對一些經常有新客戶電郵查詢的行業未必適合。
2. 上面也說「大部份合乎 RFC 821 的 sending side MTA」,但也有例外的,所以在 greylist 設定檔必須加入 execptional list:
http://cvs.puremagic.com/viewcvs/greylisting/schema/whitelist_ip.txt?rev=1.12
http://www.assistant-soft.com/orf/GreylistIPexcptionList/GreylistIPexcptionList.txt (這個包括了中國大陸的 MTA)
3. 對行 cluster 的 sending side MTA, sending ip address 不一定每一次是相同的,我試過由 Gmail 寄信給我也要一整天才收到。

更多資料:
Google
Greylisting 首頁
milter-greylist (For Sendmail 的)
SQLGrey (For Postfix 的)