2007/1/30

讀書心得:Symantec Spam Report ( Jan 2007)

Symantec 推出了一份 2007年關於Spam的報告,摘錄重點如下:

  1. Image Spam 達到 spam 數量的35%。
  2. Spam 佔了所有E-mail信件的80%。
  3. Captcha technology (圖片辨識碼) 應用到 image spam,藉以迴避 OCR technology的偵測。
  4. 以合法掩護非法,利用正常E-mail夾帶Spam訊息。
Spam 產出大國仍是North america、其次是europe,接下來才是asia喔!

New Spam Techniques:Captcha Image Spam
用來阻擋blogspam的技術 Captcha,果然如小弟先前在 blog 所預料的,被用來當成 spam 的技術。

Newsletter and Advertisement "Injection"
在 internet security area常見到的 SQL Injection也出現了,被拿來將Spam content插入 Newsletter / Advertisement 之中。

文件下載:[PDF] The State of Spam , A Monthly Report – January 2007

2007/1/16

使用心得:BigString 世界上最酷的郵件服務(支援自我刪除)

在 HEMiDEMi 看到一篇有趣的文章:「BigString 世界上最酷的郵件服務(支援自我刪除)」。

BigString是一家提供 E-mail 服務的公司,除了基本郵件服務的功能之外。還支援了許多在「Mission Impossible」電影情節才看得到的功能,例如:郵件自我摧毀、防止列印、避免轉寄、郵件追蹤…等等許多的功能。如下圖所列的支援項目:


BigString_0

申請方法很簡單,直接到官方網址註冊一組新的帳號即可。待註冊完了,當然就是先來相關的測試囉。

首先登入 BigString 的Webmail介面,點選左上方的「Compose」,實際寫一封信件來測試一下。

  1. 測試 BigString 是否支援中文:在「Subject」與「mail body」的部份,各自填入了中文字與英文字。
  2. 測試 BigString 是否會處理附檔或是圖片的內容。因此插入了一張圖片與一份純文字檔。

BigString_1

在寄信畫面的右手邊有「Message Type」可供選擇。除了正常信件之外,還能追蹤此封信件、取消信件,以及提供郵件開啟30秒、1分鐘、2分鐘後,進行自我摧毀的任務。此次測試我選擇「Quick Destruct: 2 Minutes」來進行測試。

確認一切無誤後,將信件直接寄出囉!

BigString_0_0

此次測試以 Seednet Webmail 為收件者的信箱,支援 Big5/GB18030/UTF-8 編碼。並且提供了網站會員免費的 E-mail 帳號,提供500MB的空間與免費 anti-spam 的服務。

如下圖,由 BigString 寄出的信件,在主旨部份出現亂碼,可見其不支援中文字。

BigString_2

接著點選該封信件,觀看其內容。
除不支援中文之外,BigString也處理過郵件的內容。圖片的品質明顯比原圖差上許多。
為什麼會造成此種情況呢?在本文的最後會做個說明。

BigString_3


測試郵件原圖如下(取自 Yahoo 購物中心 白鳥花子)
st-444514-14

嘿嘿,記得之前在 BigString 所選擇的「Message Type」是「Quick Destruct: 2 Minutes」。因此等了2分鐘後,郵件內容(含圖片)被AAAAAAAA字元給遮避了。這應該就是 BigString 所提供的 Destruct 的功能吧,自我摧毀的確沒令我有驚訝的感覺。

BigString_4


由於 Seednet Webmail 可以直接觀看郵件原始檔。因此我節錄了該封郵件 source code 的部份片段。

BigString_6

其實也蠻有意思的,整封郵件的內容都是以圖片的方法所呈現。整個 Quick Destruct的手法,推測如下:
  1. 開啟郵件。郵件的內容以圖片呈現,因此連結到 http://recallable.bigstring.com 的伺服器。
  2. recallable server 根據寄信人所設定的 message type,觸發相關的規則。
  3. 以本例而言,當使用者開啟郵件時間超過2分鐘時。recallable server自動更換圖片,以達到遮避郵件內容的目的。
如下圖所示,以 BigString 寄送的郵件內容是一張張的圖片。也因此可以利用圖片替換的方法來達到郵件自我摧毀的動作。



小弟所觀察發現 BigString 的運作流程如上,若是有錯誤的話,歡迎各位指正。

2007/1/15

關於BT下載錯誤區塊數明顯偏高的問題

閒逛 PCZONE 論壇時,看到有網友反應 BT 下載的錯誤區塊數比往常明顯偏高的問題。由於工作內容部份與此相關,因此經由主管的提示,利用「rubbish data」為關鍵字向 google 大神尋求問題的解答。

其中有二篇分析很仔細的文章:「BT中的垃圾數據(rubbish data)和幕後故事」、「騎驢看唱本,隔牆有耳」。

「騎驢看唱本,隔牆有耳」對於「間諜伺服器」的說明節錄如下:

間諜服務器是RIAA(Recording Industry Association of America,美國唱片工業協會)和MPAA(Motion Picture Association of America,美國電影工業協會)共同成立名為 MediaSentry 的組織,專門打擊網路盜版。MediaSentry建立了一系列fake server,看似性能優良的ED2K服務器,有幾十M文件幾十M用戶,但實際上是假的。你一連上它就開始偵測你共享了什麼文件,而且不幸的是,在 ED2K裡,你的IP是暴露的,所以MediaSentry能找到你,告你。
由於筆者並未具有法律背景,但以台灣目前的法令而言,違法的下載行為,極有可能判判。
依該文章的作者所論,將 fake server 設為黑名單,同時將可信賴主機設定為白名單。


而「BT中的垃圾數據(rubbish data)和幕後故事」一文則著墨在 BT 下載為主。節錄原作者的一段話:
當我兩週前開始下載HBO的熱門劇集《羅馬》的時候,我發現了我下載了大約5倍於正常數據的垃圾數據。
看來熱門的電影檔案,比較容易發生被 fake peer 塞垃圾數據,也就是在BT Client見到的「hash value error驗證碼錯誤,已丟棄的封包」。引述 windix 所述:
垃圾數據就是你的BT客戶端所丟棄的數據。
當收取到的數據未能通過hash檢查時,就會被作為垃圾數據所丟棄。或者當你的客戶端向某一用戶請求數據,但在該數據塊未抵達前,客戶端已經從另一個用戶處取得了該數據塊,那麼之前的數據塊就將成為垃圾數據。
解決的方法:1.) 選擇可信賴的發佈站(tracker) 2.) 過濾發送過量垃圾數據的peer,目前已有部份BT client支援。 3.) 使用 IPFfiter過濾黑名單 IP Address。

看完了相關的文章,是不是覺得這類的反制手法也蠻新奇的呢?以其人之道、還治其人之身。
再者,專門發送垃圾數據也能成為一門行業,天下事真是無奇不有。行行也能出狀元。

倘若沒有相關法律的強制規定,再好的反制手法,也會有被破解的一天。資訊科技的技術永遠是你追我跑,此消彼長,從不會有消失的一天。

2007/1/14

具有自動化註冊、破解圖形驗證碼 ( CAPTCHA )、啟用帳號後多執行緒的垃圾訊息張貼工具:「Scary Blogspam Automation Tools」

Blogger反制令人困擾的BlogSpam,常見有下列幾種方法:

  1. 需註冊帳號,方可允許登入發佈個人意見。
  2. 利用圖形辨識碼的方法。
最近有一篇文章「Scary Blogsam Automation Tools」。如「潛艦」所提到的:「具有自動化註冊、破解圖形驗證碼 ( CAPTCHA )、啟用帳號後多執行緒的垃圾訊息張貼工具。」

觀看demo video,請點我。(需安裝Marcomedia Flash Player)

筆者有一個想法:

因為anti-spam最近用來對抗圖像形垃圾郵件,是使用光學字元辨認(OCR)的方法。假使 BlogSpammer,利用相同的技術,在Blog頁面找尋圖形辨識碼的標籤,並自動分析其圖像內所隱藏的內容。並藉此分析出來的結果,用來發佈BlogSpam。如此一來,圖形驗證碼的技術…終有被淘汰的一天。

2007/1/13

Spamassassin plugin --> FuzzyOCR 偵測圖像式垃圾郵件

垃圾郵件無所不在,由早期文字形態的信件,進化到圖文並貌的HTML格式。而由於anti-spam技術的進步,幾乎可達到九成的攔阻率。但「道高一尺、魔高一丈」,spammer開始大量運用圖片形態的方式來寄送郵件。圖像式垃圾郵件在圖片內容加入大量的雜訊資料(noisy data),藉以迴避掃描引擎的偵測。

以目前anti-spam市場所推出的產品,若是缺少掃描圖像式垃圾郵件的功能,相信也無法在市場上生存,例如:IronPort、Sophos PureMessage等廠商皆推出具備相,關功能的產品。

中正大學 吳昇教授的研究團隊推出了「無痛式垃圾郵件過濾系統: Nopam」,其設計理念是「垃圾郵件與正常郵件最大的分野在於行為而非內容。」。等於是利用行為模式進行垃圾郵件的偵測,不知是否能有效判別圖像式垃圾郵件呢?

當然,開放源碼的SpamAssassin也不能在此一功能上缺席,也出現了不少相對應的solution,例如:OcrPlugin。

而此篇文章所要介紹的 FuzzyOCR,是一套修改自OcrPlugin的Spamassassin plugin。同樣是利用光學字元辨認(OCR)的方式,來識別圖像式郵件所包含的「文字訊息」,並利用Fuzzy word matching演算法判斷辨識出來的文字。

主要具備了下列的功能:

  • Optical Character Recognition using different engines and settings
  • Fuzzy word matching algorithm applied to OCR results
  • Image hashing system to learn unique properties of known spam images
  • Dimension, size and integrity checking of images
  • Content-Type verification for the containing email
Matching and learning techniques
  1. 可彈性支援不同的OCR interface,並利用fuzzy word matching演算法來處理辨識的結果。
  2. 支援DB,可將處理過的圖片,以feature vectors的形態儲存在資料庫。因此相同或是類似的圖片,便可以利用儲存在DB的特徵向量來處理。
  3. 能檢測不同維度、size與整合性的測試。
  4. 郵件內容檢測。
Resource saving techniques

  1. 僅掃描郵件,而非辨認該封信件是否為垃圾信件。信件的分類仍交由spamassassin所判別的分數高低來決定。
  2. 對於已達到spam分數門檻的郵件,FuzzyOCR在處理該封郵件時會忽略該封信件而不進行掃描,進而減輕系統負載。(3.5版之後提供)
  3. 藉由比對儲存於DB的feature vectors(dimensions and file size)。若比對成功,則忽略該封信件,而不再進行OCR辨識與處理。
Safety measures
  1. 可設定掃描郵件timeout的時間,藉以避免Denial of Service的攻擊。
  2. 使用word sets取代simple lists,避免FuzzyOCR錯判的可能。


列出幾張FuzzyOCR網站的範例圖片供各位參考:

An animated gif is scanned for the first time
normal_result

The same gif is scanned a second time
known_hash

Various tricks of Image Spammers
broken

FuzzyOcr Debug output when running SpamAssassin with -D (or enabling debug mode in the config)
debug

BitTornado 封鎖所有 BitComet User Connection 的心得

最近在測試 P2P cache 的設備,其中使用了二套 bt client:BitComet與比特精靈(BitSpirit)。

由於之前都是使用BitComet,所以想測試一下其他套bt client software的效能如何!

但據同事測試的結果,上述二套bt client捉取檔案的速度,的確如「BitTornado Bans All BitComet Users」所提到的,BitComet比較快。

「BitTornado Bans All BitComet Users」一文提到,BitComet使用了欺騙系統的方法,來盜取用放寶貴的網路頻寬。並且還有利用super seeding的原理來增快BitComet user的下載速度。但相對的,卻使得其他非屬BitComet的User降低了下載的速度。

因此,Shad0w決定要ban掉所有使用BitComet Client連線到 BitTornado Client的connection。
同時也呼籲BitComet developer能拿到那些惡意的code。

P2P下載,本來就該遵循一套規則,互謀其利的分享方式。現在BitComet破壞規則,想利用一些小手段,讓使用BitComet的使用者能獲得較快的下載速度。但卻拖慢了其他BT Client的下載速度,這不僅是侵犯了non-BitComet的使用權益,更是破壞了BT下載的體制真是令人髮指。

但是在台灣,BitComet仍擁有一群為數不少的擁護者。筆者僅能建議各位能選擇一個適合自己的BT Client。

2007/1/8

搬家公告:由Xuite搬家到BlogSpot

測試BlogSpot一段時間了,由之前的beta版本,一直到正式版推出。

BlogSpot提供使用者較大的客製化空間,也內建了許多基本的功能,其中筆者認為最有用的便是HTML/JavaScript的模塊。

之前使用的 BSP(Blog Service Provider) 是 Xuite ,該平台所提供的功能還算完整,但由於 Xuite 日誌沒有提供 blog 文章備份的機制。等於是間接綁架使用者所發佈的文章。

加上,前陣子也發生幾件 BSP 的大事,像是「Yam、樂多、天空部落」、「有名大站」,造成了許多 blogger 出走的事件。在在都顯示了,一個穩定的blog分享平台的重要性。

因此將 BSP 轉移到 Google 的 BlogSpot。

而 BlogSpot平台,有搜尋引擎龍頭--> Google 的加持,相信能提供十分穩定的服務。

期間也servey了 Wordpress 的免費空間,但由於提供客製化的程度不高,因此測試了 BlogSpot 一段時間,就決定將新家設在 BlogSpot。

最重要的是再也不用擔心無法備份blog資料的問題了。

也趁著此次Blog搬家的機會,把之前貼在 Xuite 上,一些對我比較有意義的文章給轉貼到BlogSpot。

這些文章主要是筆者就讀研究所時,所做的相關研究的一些心得。像是 LIBSVM、Intrusion Detection、model selection、parameter selection…等。伴隨筆者渡過許多既充實又痛苦的日子。

libsvm-easy.py, grid.py and parameter selection雜談

上一篇大概介紹了LibSVM這套軟體,在這一篇裡,我將介紹一下LibSVM底下附的幾隻好用的tool:easy.py、grid.py!

[easy.py]
林智仁老師為了能讓使用者能更方便的使用libsvm,因此開發了easy.py這隻程式,使用者只要將dataset格式處理成libsvm看得懂的格式,再執行easy.py,便能自動替使用者執行svmscale、grid.py( do cross-validation to find the best parameter)、svmtrain、svmpredict,最後會產生預測的結果。

至於.py的程式要如何執行,那就必須先安裝Python這套好用的程式語言。這是一套非常強大的工具,屬於Open Source的軟體。能夠撰寫OO的程式,也能撰寫scripts。最重要的是只要有安裝python就可以執行了,目前在Unix-like、 win32、Mac OS上面都有,跨平台的能力十分強大,尤其在linux上面,更是屬於內建的一套軟體,真是棒啊!

想想…小弟的研究dataset由於資料量非常大,因此利用文書處理軟體來進行處理的話,常常會發生遺失資料的情況,小弟猜想是不是在windows平台上的文字檔有檔案大小及行數的限制。所以小弟在處理資料的時候,也常常利用linux來進行處理。就連把資料餵進資料庫來做處理,SQL Server 2000遇到幾十、幾百萬的資料筆數,也是受不了…So...小弟就回歸最原始的方式來進行處理:寫幾隻小程式就解決了!

小弟是覺得easy.py是比較適合初學者來使用,因為可以下的參數不多,再加上程式自動化程度高,因此小弟未曾使用過這隻程式!倒是接下來要介紹的grid.py這隻程式,小弟還比較感興趣呢!

[grid.py]
由於Support Vector Machine predict的正確率的高低,有很大一部份取決於參數的選擇。parameter selection也是一項很值得研究的議題!

所以我們直接使用林智仁老師提供的工具來選擇最佳的參數。其實在實驗的過程中,可以發現參數的選取其實是很不容易的一件事…有時候利用grid.py找出的best parameter並不見得會比自己亂try的結果來的好!

我們來探討一下grid.py這隻程式好了(雖然我也沒看得很熟),主要是利用2個參數:cost、gamma,來對於使用C-SVC(RBF kernel function)尋找最佳參數!

參數V:指定cross validation的方式,預設是5。這代表什麼意思呢?代表著程式會將train dataset分成5個部份,然後利用4個部份的資料當做新的training data、1個部份當做testing data…依此類推來找尋參數

參數log2C:Cost的值,看給定的是多少?

參數log2G:Gamma的值,同樣也是看使用者要給多少值

========================================================================

程式呢?就是利用log2C、log2G的組合值來找參數,說了這麼多似乎都是廢話…不過值得注意的一點就是…事先分析自己要研究的資料特性,然後來給予參數的範圍…如果範圍給太大的話,浪費時間;如果範圍給的不好的話,不見得找得出最好的參數!因此在svm裡頭找參數真的是一件非常困難的一件事,似乎至今仍未有一個合理且通用的參數找尋方法!

========================================================================

ps.可能是libsvm的效率問題,我的實驗利用grid.py(by default parameter),跑了一個月…仍未有結果,試想…如果是加大參數的範圍或是利用10-fold的方式,是不是更浪費時間呢?

anyway....參數的確是一件很重要的問題,試問如果有人問你:參數怎麼來的,有理論依據嗎?我想這就會考倒很多人…

為瞭解決grid.py的計算問題,目前有實驗室的功能clustering…不過僅限於unix-like平台上面可以執行,藉由同時發送多個計算任務到不同的電腦系統,得出結果的時間也縮短的多!

矣,寫到不知道在說什麼了…我想還是等網友們發問吧!看大家想知道什麼…不過目前我的主力研究領域是feature selection…為的是解決計算時間、資料量、複雜度的問題!

不過…還是希望今年能畢業!

關於libsvm--回覆網友kenny

您好..謝謝您這麼快回應我這問題..:),我的研究是關於網路的,所以我必須收集網路封包在將它分類...研究過相關paper,最近幾年似乎SVM很紅,分類的效果也很好,所以就想利用它來分類。

如果想收集網路封包來做研究的話,這部份的data preprocessing loading會很重哦!而且也很花時間…因為光是要萃取特徵值出來,並且轉換成svm可以吃的格式,應該會花上你許多的時間!

anyway...你可以建立一個模擬的環境,利用sniffer or tcpdump…等等的工具來capture網路封包!然後再做feature extract的動作…

的確,據我研究的結果,svm拿來作分類的效果真的不錯,有許多文獻也支持此一說法!不過還是要看研究領域及資料的特性囉!

不過您可能誤會我意思了,我意思不是要將libsvm寫成php,因為我網頁是用php寫的,所以我想利用網頁來訓練data,但是不知道要怎麼呼叫 libsvm程式執行?...不過我想應該是不可能吧..哈...或許用java的applet還有一點可能...但是我看原始碼並沒有 svm_scale.java檔...真是麻煩...因為我的資料要scale過才能train(不知道您的會不會有這問題?)

小弟認為…svmscale這隻程式其實不難,主要是先找出每個特徵值的最大、最小值,然後再針對欄位的資料進行標準差…把特徵值的範圍scale到+1~-1之間!做scale有什麼好處呢?

1.計算較容易

2.增加預測正確率

如果你是要訓練網頁的話,那肯定是需要繁雜的資料前置處理了…如果我猜得沒錯的話,svmscale這支程式應該不會是難倒你的問題…反而是前置處理才最麻煩,因為這個步驟包含了特徵值萃取,如果你特徵值萃取得當的話,我想後續的實驗結果應該都會很不錯哦!

any...svmscale這隻程式原理不難,大概才300多行而已!主要處理的動作也很少…你可以去看一下程式!然後試著改寫囉!

我覺得最麻煩的是參數的選擇,因為要一直try...=.=||,之前將一組資料train再用其他資料test,train那組的參數來test反而很低,就感覺每組資料都需要自己的參數....哀...怎麼會這樣呢?

參數的選擇本來就需要不斷的try and error囉!依你的敘述的話,我想你應該有發生overfitting and underfitting之類的問題!你可以survey一下這部份的文獻…看能不能試著解決這個問題(前者應該比較容易發生吧,我猜)

good luck...

ps.我之前有規畫寫一些關於overfitting and underfitting的文章,因為我打算寫的完整有理論一點,所以可能會稍微慢一點吧!哈…

LIBSVM model selection tool--grid.py 心得參考

看過許多關於SVM尋找最佳參數的方法,很多都是用「猜」的…沒錯就是用猜的!

不過要猜參數也要有個系統化的方法的找最佳參數,LIBSVM所提供的model selection tool-- grid.py這個工具大家可以參考使用!

為什麼說參考使用呢?因為在我們實驗室裡頭…用這個tool所找出來的參數,往往都不是最好的,哭…還跑了那麼久!

不過既然是LIBSVM所附的工具,相信有他的價值,只是就目前結果而言,我只會把這個工具當成一種尋找最佳參數的「參考」而已!

大概前二個月吧…使用LIBSVM的grid.py來找參數…使用預設的設定值

近50萬筆資料…以5-fold的設定來執行,CPU是p4-2.8,RAM 512mb!終於在這個星期跑完了!我相信我的設定是沒錯的…dataset也經過scale的步驟

跑了這麼長的一段時間,說真的,我只是想知道這個工作能幫我到哪個程度!雖然讓我失望了(還花了二個月),不過呢?我想應該可以給大家參考吧!

針對大量dataset的,之前在kernel-machine看到…有一套heroSVM!看過這套svm tool的paper,覺得速度真的很快…只可惜,目前不提供…接下來要收費才能使用那套軟體…而且似乎也沒有用在非商業環境底下可以免費使用的條款…失望了!

或許接下來我會交叉測試一下SVMlight and LIBSVM or others...看何者的效能表現好!到時候再跟各位分享囉!

ps...累啊,只因為LIBSVM用的熟…所以懶得換其他的來試…呵!

Intrusion Detection in SVM's Research...

利用support vector machine來做classification and regression,已經有許多的實證研究,證明在某些領域的應用上,效果比decision tree、Neural Network、來得好!

因此我們利用由台大資工 林智仁老師所發展的LibSVM這套工具來進行研究,林智仁老師首頁:http://www.csie.ntu.edu.tw/~cjlin。此套軟體主要包含了svmtrain、svmpredict、svmscale這幾隻程式,當然還有easy.py、grid.py...等等的好用工具!

LibSVM工具簡單說明:

假設我們有train及test dataset,首先我們會先使用svmscale這隻程式,把feature給scaling到+1及-1二值之間。下列是林智仁老師在Kernel-Machine中所提到的重點。

Scaling is related to two issues:
1. whether learning results can be better
2. whether numerical difficulties in training svm are avoided

It's more difficult to see the effect of 1, so essential we are asking which of your two methods better handle the numerical problems..

If we think that larger attributes usually cause more numerical problems, the 2nd approach may be better.
For the 1st one, you may scale one set to [-1,1], and then
have another set to be [-1000,1000]..
Using the second if you decide everything should be in
[-10, 10], then one set becomes in [-0.01, 0.01] and another
in [-10,10].

待scaling完之後,便使用svmtrain來進行分類model的建立,在這個過程之中,必須指定最佳的參數給svmtrain (parameter selection的部份下篇文章再跟大家分享囉!),參數的選擇是很重要的,儘可能給予svmtrain一個best parameter,或許能得到一個比較好的結果。

最後再利用svmpredict.exe這隻程式來進行預測,進而得出預測的正確率…眾多學者、專長都喜歡看到很高的預測率。

當然囉…我也是希望論文所做出來的數據是很漂亮的…不然的話,都不知道怎麼才能順利畢業哦!

ps.接下來會有數篇相關的內容簡介,也許小弟不了解SVM這東西的精髓,所以有說錯的…希望各位大大能給予小弟一些建議或是更正。

2006/12/31

將 Google Calendar 嵌入 Blogspot

在 程式設計 NEXT SERVICE 有一篇 「有關Web2.0 的 Mash up 方式」的文章。

文章中,提到了幾種 Mash up 的方式,其中吸引我注意的「 iframe 崁入模式(Google Calendar)」。

實際的步驟,在Google Calendar網站的說明中心有一篇教學文章:「如何將 Google 日曆嵌入我的網站中?」。大家可以參考看看,若有問題的話,可以提出來一起討論。

2006/12/27

Blogspot --> 反向連結功能測試

blogspot 沒有提供 trackback 機制,而是以反向連結的功能來取代。

對於這項功能的運作原理,一直都有些疑問。

因此利用 HEMiDEMi 搜尋了相關的bookmark,找到二篇介紹blogger反向連結的文章,
並且利用此二篇文篇的URL進行相關的測試,目的在於了解反向連結的運作原理。

程式設計 NEXT SERVICE:Blogger.com的反向連結功能

想要旅行的念頭停不住:【Blog】引用與反向連結

反垃圾郵件技術心得分析 (ORDB --> 反垃圾郵件計畫喊停)

雖然 ORDB 這個著名的 RBL 已經宣佈終止了、Spamhaus 也面臨官司的糾紛。但不可誨言的是,RBL的確是anti-spam technology不可或缺的一環。

如同本文所提,RBL逐漸失去它的優勢,而且經常發生誤攔的情況。個人認為 RBL 的優勢能在垃圾郵件尚未進到組織內部,便利用對方伺服主機的 helo 訊息,利用 dns query的方式,判定該IP address是否被列進黑名單之中。若是,則 reject message;反之繼續進行郵件的流程。

其他相關的anti-spam technology包含了content inspect、grey list、message digest、SURBL等,以及結合了上述技術的全方面型的open source的spamassassin。

grey list能在郵件首次到達之時,將郵件相關訊息記錄在本地端郵件主機,並給予該封信件defer的訊息;而對方主機在收到defer訊息之後,會等待一段時間之後 query run,再次寄送該封信件。而本地端主機再次接收到該封郵件,會檢查grey list DB,檢視該封信件是否重送而來,再判斷是否接收該信件。

由於 spammer在寄送spam時,通常採用的都是一次性的投遞,而無對方主機回應4.x.x defer訊息的應對機制,這相對的也減少寄送的成本。也因此 grey list 對於處理spam,能得到不錯效果的原因之一。

至於 grey list的缺點則是「時效性」,信件經過第一次的defer,而queue在本地端的mail server,再經過queue run的時間,在在皆影響了郵件的時效性。而目前企業組織訊息傳遞多仰賴E-mail,也考驗著企業組織對於採用grey list的意願。

SURBL (Spam URI Realtime Blocklists)技術與RBL類似,主要是過濾信件中的URI是否被列進相關的黑名單之中。此技術需要parsing mail body中的URI,若是信件被MIME編碼過,則必須decode之後,再進行分析。

垃圾郵件有大半份是屬於廣告信,而此類廣告信件也都加入了相關的廣告網址。spammer總不會偽造不實的網址吧,頂多是將URI進行變化來逃避SURBL的過濾,這也是SURBL的優點之一。

但是缺點則是耗費資源與提高誤判的可能性。SURBL必須接收整封信件後,分析郵件內容中是否有被列入黑名單的URI,再進行處理,也因此浪費了網路頻寬與伺服器的資源;再者,此類信件多是利用使用者回報機制來更新資料庫內容,相對也增加了誤判與錯判的可能性。

Message Digest,則是將垃圾郵件的「部份」內容以相關的摘要演算法進行計算,得出一組訊息摘要 digest,並上傳此組digest至提供查詢服務的伺服器。

由於弟尚未使用過Message Digest此類的技術,因此由文件資料得知Message Digest是將spam的部份內容進行計算而得出digest,因此可以規避垃圾信件藉由「變種」的方法躲避相關技術的過濾。

至於 Message Digest 的缺點也是耗費網路頻寬與系統資源。但最重要的是垃圾信件的digest資料量的多寡,更可看出此類技術的效益所在。

Spamassassin 是一套 open source anti-spam software。但是小弟擅長歐洲大廠 SOPHOS 的 PureMessage。二套軟體功能類似,皆提供了全方位的防堵垃圾信的服務。日後再提供一些PureMessage的相關訊息供大家分享。


反垃圾郵件計畫喊停

CNET新聞專區:Richard Thurton  27/12/2006
友善列印 Email文章給朋友 儲存文章

為反制垃圾郵件氾濫所成立的Open Relay Database(簡稱ORDB),因無法持續提供有效的防護,於日前宣布終止。

ORDB是在5年前網路業泡沫破裂後不久,由一群志願者所成立。其目的是阻止垃圾郵件發信者使用SMTP代理伺服器(或稱開放郵件轉寄主機),在網路上濫發垃圾郵件。

這些代理伺服器最初被用作發信來源至收信目標的「中間者」,而非直接在網路上發信。但最後卻被有心人用來發送大量的垃圾郵件,並躲避查緝。ORDB提供一份開放轉寄主機的黑名單,以便系統管理員阻擋這些來源發出的郵件。

但近來ORDB的名單少有增加,志願者的興趣也逐漸減退。雖然在5年前,高達九成的垃圾郵件是透過開放轉寄主機發出,現在已降到1%以下。目前絕大多數的垃圾郵件轉而利用被病毒控制的疆屍網路發送。

ORDB是在18日宣布終止的決定。該組織以聲明表示:「我們很遺憾地通知各位,ORDB.org即將關閉。團隊的共識是,開放轉寄黑名單已不再是阻擋垃圾郵件進入網路的最有效方法,因垃圾郵件發信者在近年來改變手法,反垃圾郵件社群也隨之應變。」

ORDB表示,使用其名單的組織應立即移除其系統內的檢查機制,並考慮使用其他郵件過濾方法。他們建議採取結合可疑名單與內容分析的方法,如dspam計畫、bmf或Spam Assassin。

另一個製作垃圾郵件黑名單的組織近來也成為焦點。顧客遍及全球的英國公司Spamhaus,被其黑名單所列的一家公司求償1,100萬美元,並控訴其行為違法。

但不只是ORDB和Spamhaus在對抗垃圾郵件的大戰中受挫,負責維護大眾隱私權的英國資訊官辦公室(Information Commissioner's Office , ICO)也承認,僅管相關法令早在3年前通過,至今當局從未成功起訴任何英國的垃圾郵件發信商。 ICO表示他們缺少對抗垃圾郵件的力量,並將此歸咎於英國政府的無能。

在此同時,垃圾郵件數量仍持續暴增。根據電郵安全軟體商IronPort的統計,2006年10月份單日的垃圾郵件訊息高達630億封,去年同期為310 億封。11月則有兩個區段暴增至單日平均850億封,分別是11月13日至22日,和11月26日至28日。(陳智文/譯)

2006/12/22

DUMPR + Flickr = 富含趣味的相片

從[Library Views 圖書館觀點]看到了這篇:有趣的 Flickr 相片 mashup。

DUMPR 結合 Flickr mash-up 的應用,主要是利用 DUMPR 所提供的場景範本結合Flickr相簿內的相片,創造出另一張不同風味的相片。

目前DUMPR提供三種場景可供玩家做選擇,大家不妨動手玩玩看囉!

原圖:
松金洋子

場景1
Dumpr_tmpl_3

場景2

dumpr_tmpl_2

場景3

dumpr_tmpl_1

與Kaspersky相同核心的免費防毒軟體:AOL Active Virus Shield

Kaspersky 於12月份封鎖一把廣為流傳的Key,影響的人數約為50多萬人。據Kaspersky表示,尚有10餘把位於黑名單的Key,可能會在明年度進行封鎖。

Kaspersky在防毒軟體的評比上幾乎都居於領先地位,也因此造成大量的盜版出現。

不過早在Kaspersky進行封鎖黑名單Key之前,就改用了另外一套與Kaspersky相同的anti-virus engine與virus definition的軟體-->AOL Active Virus Shield。

這套防毒軟體是AOL請Kaspersky客製化的防毒軟體,除了移除部份功能之外,與現行Kaspersky的功能幾乎相同,申請方法很簡單,只要到下列網址輸入e-mail之後,序號就會寄到你的信箱。
http://www.activevirusshield.com/antivirus/freeav/index.adp?

我使用這套anti-virus software的心得是:仍然會耗費許多資源,可能因為使用者過多,導致在進行update時會卡住,而導致CPU 100% Usage。

Anyway,這真是一套不錯又免費的防毒軟體。


心得:圖片垃圾信猖獗 垃圾郵件加倍成長

看到這則消息,有幾點感想:

1. spammer 利用圖片型的 spam來突破封鎖。雖然anti-spam software可以利用OCR的技術來過濾圖片中的內容,但是spammer更可以在圖片內塞入許多的noisy data,藉以混淆anti-spam engine的判斷。所以pattern recognition的技術,相信也是很重要的!

2.僵屍電腦的出現,相信狀況難以改善,除非多加宣導相關的知識,或是強迫使用者接受相對應的方案吧!畢竟電腦新手仍佔多數,有資訊安全概念的,更是少之又少。

3.Bill Gates說2006年能解決垃圾郵件的問題。不過,我相信道高一尺、魔高一丈。 發送垃圾郵件會成為一門事業,有專門研擬破解anti-spam的技術的專業團隊。而更因為有需求(發廣告),所以更會有供給產生。

-------------------------------------------------------------------------------------------
圖片垃圾信猖獗 垃圾郵件加倍成長
文/陳曉莉 (編譯) 2006-12-08
圖片及檔案垃圾郵件的比例直線上升,同時全球的僵屍電腦更以每日25萬台的速度在增加下,今年垃圾郵件則比去年增加143%,明年則將更為嚴重。

訊息安全業者在近日相繼揭露全球的垃圾郵件在近幾個月來急速成長,網友所收到的郵件中,有9成以上為垃圾郵件,其中,圖片及檔案垃圾郵件的比例更是直線上升,同時全球的僵屍電腦更以每日25萬台的速度在增加。隨著垃圾郵件過濾軟體的普及,以及反垃圾郵件法案的通過,曾經稍稍紓解了猖獗的垃圾郵件,只是,好景不常,垃圾郵件過濾業者IronPort Systems及訊息安全業者Postini在近日相繼揭露垃圾郵件捲土重來,採用其他技術躲避過濾軟體,並擴大僵屍電腦數量,讓垃圾郵件問題更甚以往。 Postini指出,最近三個月的垃圾郵件數量增加了73%,今年垃圾郵件則比去年增加了143%,明年則將更為嚴重。Postini表示,日漸增加的垃圾郵件一方面來自於愈來愈多的僵屍電腦,另一方面駭客採用圖片及文件式的垃圾郵件,以閃避傳統主要針對文字的垃圾郵件過濾機制。Postini調查發現今年第四季的垃圾郵件中,圖像及文件式就佔了45%,去年同期該比例還不到2%。IronPort Systems也有同樣的發現,IronPort Systems表示,他們發現使用者所收到的每10封電子郵件中,有超過9封為垃圾郵件。此外,圖片垃圾郵件數量比去年成長了4倍,佔所有垃圾郵件的 25%~45%。

反垃圾郵件業者是在今年夏天發現圖片垃圾郵件暴增的趨勢,並與垃圾郵件發送者展開一場技術大戰。業者先是採用光學字元辨識技術來掃瞄郵件中的圖片以辨識其中的文字,而垃圾郵件發送者則利用圓點或雜亂的背景圖案來閃避辨識技術;此外,當業者能夠攔阻一圖片垃圾郵件時,郵件發送者所撰寫的軟體可自動更改圖片中的圖點,再度企圖闖關。

此外,駭客加強攻佔使用者電腦,讓使用者的電腦成為替駭客寄送垃圾郵件的僵屍電腦,也讓反垃圾郵件業者常用的黑名單過濾機制效率不彰。

根據反垃圾郵件業者Secure Computing的估計,每天全球新增的僵屍電腦約有25萬台。

Postini執行副總裁Dan Druker表示,雖然每年的第四季都會有較多的垃圾郵件,但今年第四季垃圾郵件增加的數量已超乎平常,這顯示明年使用者將會遇見更多的垃圾郵件,其中圖形垃圾郵件的數量將更甚以往。

微軟董事長Bill Gates在2004年曾經預測垃圾郵件問題將會在2006年被解決。Dan Druker說,每一個人都認為這是個能夠被解決的問題,但它現在卻愈來愈嚴重。(編譯/陳曉莉)

心得:Why Spam Won't Go Away

最近看到一篇有關於spam的文章,把心得摘錄下來,也做個記錄:

原文網址:Why Spam Won't Go Away

2006/12/20

Snap Preview Anywhere™ 使用心得

Snap Preview Anawhere 算是一種 search engine,不過特點是提供「連結預覽」的功能。

目前先嘗試在blogger加入此項功能來測試一番。

使用的方法其實很簡單:
只要登入snap,填寫一些相關的資料,取得一段snap提供的程式碼。
然後再加到blogger HTML範本檔的head結束標籤之前就行囉!

關於 SNAP 詳細的說明可以參考「轉化之記憶:Snap Preview Anywhere? Not Really.」的blog。

婚紗相片--by slide + flickr

mash-up:利用 slide 結合 flickr 所呈現出來的效果,能讓相簿看起來更活潑,更具吸引力。
slide 總共提供九種不同的特效,下列只是其中的二種,有興趣的朋友,可以到slide網站看看。





另一種特效: