從某種意義上說,垃圾郵件的歷史就是網際網路的歷史。這是一部駭客不斷探索網路能力極限的歷史,他們為了實現自己的意願,傳遞各種電子垃圾資訊。這也是一個關於科學家的故事,他們一直在進行一場註定失敗的戰鬥,試圖阻止他們,並在這樣做過程中,幫助塑造了網際網路作為商業媒介的演變。
接下來是密歇根大學教授芬恩·布倫頓(Finn Brunton)的新書中的一個長章節,講述了垃圾郵件傳送者與科學家之間無休止的戰鬥。這本書全面詳細地描述了垃圾郵件的整個歷史,從早期的前商業時代(到1995年),到狂熱的牛仔年代(“奈及利亞王子”詐騙和“拉高拋售”計劃)直到2003年和垃圾郵件立法的出現,再到隨後從2003年到2010年發生的全球化、犯罪化和軍事化。
您即將閱讀的章節分為四個部分,將從今天開始到星期五陸續釋出,講述了2003年之後垃圾郵件生態系統的變化。為了應對軟體過濾器和新的法律禁令,垃圾郵件傳送者在地球上一些最偏遠的地區建立了精密的自動化網路,使他們能夠不受阻礙地進行交易。事實證明,這些網路也正在成為各國政府之間正在萌芽的網路戰的關鍵。
正如布倫頓在導言中指出的那樣,垃圾郵件是我們社會的產物,“程式設計師、騙子、警察、律師、機器人及其操控者、科學家、藥丸商人、社交媒體企業家、營銷人員、駭客、身份竊賊、系統管理員、受害者、色情製品商、DIY治安維持者、政府官員和股票推銷員”共同作用的產物。他在導言的其他地方用稍微不同的方式——甚至更精彩地——表達了這一點:“一群引人注目的後國家無政府主義者、封建領主般的系統管理員、有遠見的協議設計師、社群建設‘流程女王’、技術自由主義工程師,以及一群憤怒的反垃圾郵件活動家。”
這本書是一顆寶石。那些充斥著賽博朋克文學的扭曲人物與垃圾郵件傳送者和致力於關閉他們的科學家的巧妙陰謀詭計相比,簡直不值一提。請在此處以及未來的日子裡閱讀關於這個迷人的奇異地下網路世界的故事。第一部分講述了為建立垃圾郵件過濾器而進行的精細的、幾乎是修道院式的學術研究。(一旦釋出新材料,將提供先前節選部分的連結。)
目錄
受害者雲
過濾:科學家與駭客
關於支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保關於塑造我們當今世界的發現和想法的具有影響力的故事的未來。
使垃圾郵件科學化,第一部分 科學家們構建過濾器,試圖透過建立用於軟體分析的文字語料庫來掌握垃圾郵件“詞源學上不安分”的本質。尋找垃圾郵件卡路里等價物的行動正在進行中
醜聞中的戰利品 研究人員使用來自聲名狼藉的安然公司的內部通訊,試圖構建垃圾郵件過濾器
使垃圾郵件可被駭客攻擊 軟體大師保羅·格雷厄姆的“垃圾郵件計劃”
轉載自芬恩·布倫頓的垃圾郵件:網際網路的陰影歷史。版權所有 © 2013,麻省理工學院。經出版商 MIT Press 許可使用。
受 害 者 雲: 2003 – 2010
過濾:科學家與駭客
使垃圾郵件科學化,第一部分
我們擁有能夠閱讀、分析和判斷任何書面文字的機器。但我們必須對執行這些儀器的可靠性進行一些檢查。
——伊塔洛·卡爾維諾,《如果在冬夜,一個旅人》
如果你無法透過法律、譴責和抗議來控制垃圾郵件傳送者,你能否轉而控制垃圾郵件本身?你如何掌握它,以及如何使其成為你可以衡量和量化、連貫地談論、理解——並因此攻擊的東西?它是一個詞源學上不安分的東西,既是名詞又是動詞,它在我們難以清晰地定義它以排除它,併為其制定精確的規則和法律的地方蓬勃發展。它是與同樣主觀的真誠人類互動的對立面。你如何將其變成你可以處理的材料?你如何使垃圾郵件成為一個物件?
這些是那些尋求分析垃圾郵件並使其成為他們可以阻止的東西的人實際關心的問題。這是一個關於兩類群體——科學家和駭客——的故事,以及他們如何劃定垃圾郵件的界限,定義邊緣和黑匣子和標準和工作流程,並將其變成他們可以應用工具的東西。這必然也是一個關於他們劃定的界限中遺漏的一切的故事,以及在改變垃圾郵件形態的過程中,它如何躲避他們併發生轉變,無論是作為一種技術還是一套實踐,都變成了比以前遠為陌生的東西:一個具有全新基礎設施的新物件,由一個新的犯罪群體生產。
垃圾郵件進入計算機實驗室,就像一塊鍅礦石一樣,帶著同樣奇怪的光環——H.G.威爾斯的幻想材料,它可以抵抗重力,科學家們用它升上月球——並具有類似奇怪且需要創新的效果。畢竟,這個人機結合、創新-犯罪、社會-技術、令人惱火但又無法阻止的東西是什麼?它是一種實踐,一種共同表達的態度,但也是一種人工製品,某種以單數和指示形式存在的東西——一條“垃圾郵件訊息”,這個 垃圾郵件——但 也 需要 以 複數形式 作為 垃圾郵件,這個問題,在更大的規模上進行分析。你如何指定這個概念,使其產生可重複和可證偽的結果,這些結果能夠進行基準測試和測試?垃圾郵件不斷波動;您收到的數量取決於您的 ISP、您的 ISP 使用的過濾器、您的作業系統和郵件應用程式、您使用的帳戶的數量和型別,甚至季節和一天中的時間。 垃圾郵件起初可能看起來像是科學測試的理想主題,因為您甚至不需要費心收集果蠅或架設望遠鏡來獲取材料——只需建立一個電子郵件帳戶並觀看它滾滾而來!然而,垃圾郵件的基礎設施非常複雜,以至於僅僅測試任何給定電子郵件帳戶的結果就像在中世紀醫學中證明一種療法一樣:病人可能會好轉或惡化,但很難明確地將這種變化與醫生所做的事情聯絡起來。顯然,必要的起點是某種商定的垃圾郵件物件,類似於垃圾郵件計量器或垃圾郵件卡路里,可以並且針對它來測試事物——一個語料庫。
然而,垃圾郵件語料庫始於隱私問題。僅僅擁有一批商定的垃圾郵件訊息是不夠的,因為垃圾郵件只有在上下文中才有意義,作為與合法郵件不同的東西。如果您的最終目標是生成可以阻止垃圾郵件的東西,那麼您需要準確模擬使用者或使用者組的入站電子郵件,其中嵌入了垃圾郵件。您不僅需要垃圾郵件,還需要其非垃圾郵件的上下文(在許多科學文獻中,以嚴肅的態度,被稱為“火腿”)。垃圾郵件過濾器會根據可供其使用的資料量增加而改進,因此您需要大量的垃圾郵件,以及相應的大量合法郵件,才能讓大數定律站在您這邊。顯然,電子郵件在很大程度上是一種私人媒介,或者至少被視為私人媒介。如何在保持隱私的同時,建立一個準確的垃圾郵件語料庫,其中包含至關重要的上下文非垃圾郵件?僅僅混淆個人詳細資訊(電子郵件地址、電話號碼、專有名稱)會嚴重干擾結果的準確性。分析電子郵件和垃圾郵件完全是關於量化和研究訊息和訊息中的單詞,因此擁有一個充滿“尊敬的 XXXXX”和“您可以透過 XXX-XXXX 聯絡我”的語料庫將使任何後續測試充其量是不準確的,最壞的情況是對旨在在實驗室外使用的過濾器具有誤導性。
如果您混淆語料庫中每條訊息的整個正文會怎麼樣?您可以擁有大量的個人訊息和垃圾郵件,而不會侵犯任何人的隱私。這是一種替換方法:“釋出基準,每個基準都包含特定使用者收到的訊息,在所有訊息中用唯一編號替換每個標記後。標記和編號之間的對映不會發布,使得除了常見的單詞和短語外,極難恢復原始訊息。”標記是詞彙分析中的一個術語,指其基本單位:文件的原子部分,通常但不一定是單詞。標記化是將文件變成用於計算詞彙分析的物件的過程:將我們作為讀者識別的字元字串變成一系列離散物件,這些物件具有值並且可以被計算機演算法作用於 (在這種情況下,“值” 例如 是單詞在整個文字中出現的次數)。在標記化文字中,單詞的人類意義幾乎無關緊要,因為它作為其他標記空間中的標記的價值才是最重要的:有多少個標記,它們是否經常與其他某些標記相關聯出現,等等。然後,透過博爾赫斯式的策略,即用訊息中每個標記的唯一編號替換來保持垃圾郵件語料庫中的隱私,這並不像聽起來那麼奇怪:“尊敬的”用 42187 表示,“您”用 8472 表示,等等。 如果您保持一致性,它就可以工作。
然而:“原始 標記 的 丟失 仍然 施加 限制;例如,不可能嘗試不同的標記器。”使用此編號的單一對映(未釋出,以防止人們逆轉混淆並閱讀私人郵件)製作混淆語料庫會將所有使用者鎖定到語料庫的一個版本中,阻止他們嘗試原始訊息上的不同方法。有許多執行詞彙分析、評估和解析的方法,這些方法可能會導致進一步分類和過濾實驗的其他遺漏的含義和創新。與一大堆已經以特定方式預處理的訊息的整數相比,從垃圾郵件和非垃圾郵件訊息的自然語言語料庫開始,提供了更多的實驗空間。(“42187 64619 87316 73140 . . . ”)。
還有其他構建垃圾郵件語料庫用於科學研究的方法,但每種方法都有其自身的缺陷。一系列語料庫是從郵件列表中製作的,例如 Ling-Spam 語料庫,該語料庫收集了傳送到學術語言學社群郵件列表的訊息——一個經過稽核的列表,有人在每條訊息傳送出去之前對其進行審查和批准,因此這是一個沒有垃圾郵件的郵件列表。理論上,該語料庫可用於建立合法非垃圾郵件的基準。在實踐中,列表中出現的材料比任何給定人員的實際電子郵件的輪廓都更具主題性——沒有來自電子商務網站的收據,沒有帶有色情語言的情書,沒有簡短的預約來回訊息。它從分類和過濾程式中產生了過於樂觀的結果,因為它們能夠識別合法文字。(垃圾郵件一方面,關於喬姆斯基語法和語言遞迴的論證另一方面,構成了一種相當傾斜的安排。)SpamAssassin 語料庫,收集用於測試同名垃圾郵件過濾器,使用了 從 公共 郵件列表 收集的帖子 和 志願者捐贈的電子郵件。它遇到了完全相反的問題,一組合法文字的基準集比任何給定人員的電子郵件帳戶都更加多樣化,並且僅使用了那些被收件人認為可以公開展示的訊息。
在早期文獻中,解決方案是快速而粗略的:研究人員會簡單地自願提供自己的電子郵件收件箱用於實驗,而不將其作為語料庫釋出。他們希望他們透過實驗獲得的結果可以在其他人的語料庫中重現,就像科學家使用自己的身體作為實驗物件一樣——皮埃爾·居里用鐳在自己的手臂上產生病變,或者約翰·威廉·裡特將電池的兩極連線到他的舌頭上。我們可以稱之為“我們都差不多”的方法。“據我所知,”傑森·D.M.雷尼(Jason D. M. Rennie)在 2000 年談到他早期的電子郵件過濾器和分類器檔案時寫道,該檔案最初於 1996 年釋出,並在本章後面描述,“沒有免費提供的郵件過濾資料集。. . . 我詢問是否有志願者願意讓他們的郵件集合進行此類實驗;四名使用者(包括作者)自願參加。”這是一個引人注目的想法,並且在許多方面,它比制度化科學更符合駭客的敏感性:程式碼執行,並且是免費的,所以自己做實驗。(例如,對於基因組學雜誌上的一篇文章來說,如果說實質性結果取決於您,讀者,啟動測序儀和質譜儀並自己進行實驗——而且是在您自己身上,那就太棒了。)
混淆、有問題的抽樣和收集、用於一次性測試的崇高志願者:缺乏“免費提供的郵件過濾資料集”,這些資料集準確地近似了個人和群體的郵件動態,這顯然是使垃圾郵件科學化的過程中要克服的問題。除了每個人都使用不同長度的標尺造成的制度和方法論問題之外,還有一個更微妙的擔憂,這是過濾電子郵件並將其分為垃圾郵件和非垃圾郵件的任務所固有的。“文獻表明,不同使用者之間的效能差異遠大於不同分類演算法之間的差異。”使用者、他們的資料夾、他們居住的網路和其他行為存在獨特的模式和拓撲結構。我們並非都差不多,並且認為所有電子郵件語料庫都是相同的,就像化學家決定忽略溫度一樣。使用少量志願者電子郵件的實驗基礎使得評估過濾器之間的差異變得困難,並且幾乎不可能分析個人和群體的電子郵件活動概況的差異——任何過濾器都必須考慮這些差異。建立一個科學物件來研究垃圾郵件似乎陷入了僵局。
醜聞中的戰利品
2003 年,美國聯邦能源監管委員會 (FERC) 作為其對能源市場價格操縱進行重大調查的一部分,公開了其從能源交易公司安然公司積累的所有資料。安然公司最初被譽為能源業務領域的創新企業,但在 2001 年末和 2002 年,隨著價格操縱和大規模會計欺詐的揭露,安然公司非常公開地走向破產,成為商業新聞報道的主導故事。安然公司破產案是美國曆史上最複雜的案件之一,其相關調查產生了大量資料:FERC 的安然公司收藏包括交易大廳電話的音訊檔案、公司內部資料庫的摘錄、150,000 份掃描文件以及安然公司管理層內部電子郵件的大部分內容——所有內容都向公眾開放(難度各不相同)。 因此,FERC 無意中產生了一個非凡的物件:一家大型公司高層管理人員的公開和私人郵件活動,像龐貝古城的遺蹟一樣被凍結在原地,供未來的研究人員使用。他們很快就來了。
安然公司收藏是一件非凡且略微令人恐懼的東西,它是電子郵件中公共和私人的相互作用的人工製品。作為一份人類文獻,它具有一部偉大的,如果說是可悲的小說的骨架:一部關於裙帶關係、貪汙、傲慢姿態、辦公室政治、股票交易、婚禮承包商和德克薩斯脫衣舞俱樂部的傳奇,在數十萬條訊息中上演。人類讀者辨別出一個圍繞兩個家庭構建的敘事,一個是生物學的,由血緣聯絡,另一個是公司精英,由金錢聯絡,走向毀滅並將他們的命運與布什/切尼競選活動捆綁在一起。這些是嵌入在大型企業單調乏味中的敘事興趣的脈絡。一個隨機的樣本行,來自“entex transition”,1999 年 12 月 14 日,00:13,帶有奇特的間距和小寫文字,作為資料提取過程的人工製品:“howard 將繼續履行他在小組內的領導職責 [原文如此],並在必要時回答問題或作為備份(感謝 howard 今年為該帳戶所做的所有辛勤工作)。”這種無情的平凡瑣事和偶爾具有法律訴訟價值的證據的集合,像戈壁沙漠一樣浩瀚無垠,當它變成適合垃圾郵件科學分析的物件時,發生了戲劇性的轉變。
在安然公司資料主體像捕鯨船“裴廓德號”旁邊的抹香鯨一樣被安全地儲存在研究人員的計算機中後,必須將其剝成有用的部分。首先,屬於 158 位使用者的 619,446 條訊息的龐大資料集必須進行“清理”,刪除資料夾和重複訊息,這些訊息是郵件系統本身的人工製品,不能代表人類如何分類和整理他們的郵件。此步驟將訊息數量減少到 200,399 條,這仍然是一個龐大的文字主體。為每個使用者收集的資料按時間順序排序並分成兩半,以建立機器的單獨訓練和測試材料集。文字被標記化,並注意集合中不同型別的資料——“非結構化文字”,如主題和正文等區域,包含自由的自然語言,“分類文字”,明確定義的欄位,如“收件人:”和“發件人:”,以及數字資料,如訊息大小、收件人數量和字元數。
然後開始測試和評估,其自身複雜的概念協商使此過程科學化。機器學習程式針對訓練和測試集執行,並分析其輸出;然後將這些結果與來自卡內基梅隆大學的學生和教職員工自願提供的訊息資料集進行比較。 透過清理和解析以進行計算處理的資料集,並且與志願者資料的結果相差不遠,語料庫作為適合科學探究的認知物件的建立幾乎完成。此過程提出了一個進一步的問題:製作語料庫的工作,特別是解決什麼是被認為是垃圾郵件的問題,是否以需要實驗考慮的方式改變了它?對於科學家來說,什麼是垃圾郵件,對誰而言,成為了社群協商的領域,就像對於反垃圾郵件喧鬧抗議者和言論自由活動家、網路工程師和系統管理員以及律師和立法者一樣。
科馬克和萊納姆(Cormack and Lynam),最近垃圾郵件過濾語料庫的主要框架的作者,直接解決了使用電子郵件語料庫為垃圾郵件分析建立“可重複的(即可控的和統計上有效的)結果”的問題。 在為過濾器建立“黃金標準”的過程中——黃金標準本身是迭代計算處理和人類判斷的有趣人工製品——他們引入了另一個改進,以 努力 定義 垃圾郵件:“我們 將 垃圾郵件 定義 為‘未經請求的、不需要的電子郵件,由與收件人沒有當前關係的傳送者直接或間接傳送。’”根據這個定義和一系列過濾工具,他們轉向我們已經看過的由卡內基梅隆大學處理和分發的安然公司語料庫:“我們發現很難裁定許多訊息,因為很難收集傳送者和接收者之間的關係。特別是,我們發現大量體育博彩彩池公告、股市提示和宗教群發郵件被裁定為垃圾郵件,但事後我們懷疑並非如此。我們發現來自供應商的廣告,我們發現他們與收件人的關係很薄弱。” 換句話說,除了某些文字問題——測試垃圾郵件過濾器的重要引數缺失,例如建立關係的訊息頭和附件的存在——語料庫反映了垃圾郵件定義本身的持續存在的問題。學術計算機科學的電子郵件文化並沒有充斥著宗教群發郵件和股票提示,除非這些訊息——尤其是後者——作為垃圾郵件到達。但是,一家大型公司高層管理人員的電子郵件文化卻截然不同,尤其是當該公司像安然公司一樣,既具有濃厚的基督教色彩又具有濃厚的德克薩斯州色彩時。隨著公司開始崩潰,FERC 資料集中的辦公室內部郵件包括許多祈禱的指示,以及為彼此祈禱和其他信仰宣告的承諾。同樣,體育運動和體育博彩也是對話的一部分,正如人們可能從休斯頓一群競爭激烈的商人那裡預期的那樣。
理論上,一個足夠先進和訓練有素的垃圾郵件過濾器將以演算法方式識別這些區別,並在安然公司企業文化中以及對於學者來說都是個人準確的,學會阻止後者的未經請求的股票提示,同時交付無休止的徵稿啟事。然而,在萊納姆和科馬克測試的安然公司語料庫中,此類過濾器的關鍵細節缺失了。關於什麼符合垃圾郵件標準的人為決定,加上使其難以對映關係的技術限制——“與收件人沒有當前關係的傳送者”是他們的垃圾郵件標準之一,因為它是一個鍋爐房垃圾郵件業務的股票提示與肯·萊恩在走廊盡頭的股票提示之間的區別——已使語料庫成為對一種工作有意義的物件,但對另一種工作則不然。它是研究自動分類的合適物件,但不適合垃圾郵件過濾。最後,他們從 FERC 檢索了原始資料庫,並基本上重新開始。“為安然公司語料庫構建黃金標準,以及促進構建的工具,仍然是一項正在進行的工作,”他們寫道,但:“我們相信 . . . 安然公司語料庫將構成比目前存在的更大的、更具代表性的公共垃圾郵件語料庫的基礎。”
這一切都是可靠的、被充分引用的、迭代的、銘文驅動的科學:適當的,而且緩慢。與垃圾郵件的速度相比,它確實非常緩慢。當科學界早期的一些檔案解釋垃圾郵件為何成為問題時,會散發出淡淡的悲劇氣氛:“為了顯示垃圾電子郵件問題的日益嚴重,這 222 條訊息包含 45 條訊息(超過收到的郵件的 20%),這些訊息後來被使用者認為是垃圾郵件。”截至本文撰寫之時,在各種垃圾郵件過濾器的另一端,這個百分比已經翻了兩番或三番。對正式的、科學的反垃圾郵件進展感到一定程度的不耐煩是可以理解的。
碰巧的是,聯網計算機託管著一個龐大且蓬勃發展的技術亞文化,該亞文化的自我定義是不耐煩程式上的繁文縟節,抵制制度化,風格隨意和即興,並渴望速度和實踐或“粗略共識和執行程式碼”:駭客。他們有自己的想法,並且有很多關於如何處理垃圾郵件的想法。這些想法中最重要的一種,將計算機科學、數學、駭客技術以及最終的文學圍繞著客觀化垃圾郵件的任務結合起來,始於駭客未能準確引用科學家。
使垃圾郵件可被駭客攻擊
我以為垃圾郵件機器人會變得更加複雜——機器人會與反機器人和反反機器人作鬥爭,最終所有垃圾郵件機器人都會成為律師,並統治世界。但過濾器非常好,所以那個預測是錯誤的。
——羅伯特·勞克林
“諾伯特·維納(Norbert Wiener)說過,如果你與奴隸競爭,你就會變成奴隸,而與垃圾郵件傳送者競爭也有類似的墮落之處,”保羅·格雷厄姆(Paul Graham)寫道,他是一位著名的 Lisp 語言程式設計師,並且作為第一個網際網路泡沫的成功人士,是風險投資公司 Y Combinator 的創始人之一。他的里程碑式文章“垃圾郵件計劃”是反電子郵件垃圾郵件運動歷史上最有影響力的文獻之一。格雷厄姆透過提出一種新的過濾形式而開始的專案,迅速被許多人接受,這很重要,原因有二:首先,因為他贏了——他推廣的想法,與美國法律的意外協同作用,有效地摧毀了當時存在的電子郵件垃圾郵件傳送,並且透過迴避垃圾郵件利用的社會複雜性和細微差別,並從一個簡單而有效的技術點對其進行攻擊而實現了這一點。其次,因為他輸了,以某種方式:他純粹而優雅的技術攻擊是基於一套關於垃圾郵件是什麼以及垃圾郵件傳送者如何工作的新假設,而電子郵件垃圾郵件傳送者利用了這些假設,改變了他們的行業並發展了許多今天塑造其特徵的特徵。
“垃圾郵件計劃”這篇文章引發了數千個程式設計專案,它是一系列策略,都打著一個策略的旗號。這些策略包括反垃圾郵件過濾器的經濟原理,基於測量機率的過濾器,數學的試錯方法,以及駭客對其他人將採用他提出的系統併為自己訓練和修改它的理解——對於垃圾郵件,科學家們尋求的可能沒有普遍的理解或“黃金標準”,而只有針對特定個人的具體案例。總體策略是將閱讀和分類垃圾郵件的勞動從人類轉移到機器——這就是諾伯特·維納的用武之地。
維納是一位數學家和博學家,他創造了“控制論”一詞,就像我們目前理解的那樣,他發現二十世紀中期人類與機器之間控制和通訊的緊密耦合有很多讓他擔憂的地方。他擔心將核武器的控制權委託給博弈論和電子計算機,以及來自機器對人類和人類社會的反饋。在 1948 年出版的著作控制論的引言中,維納發表了一個宣告,他將在後來的研究中,例如 1950 年代的人有人的用處中,間歇性地回到這個宣告:“[自動化和控制論效率] 給人類提供了一系列新的、最有效的機械奴隸來完成其勞動。這種機械勞動具有奴隸勞動的大部分經濟特性,儘管與奴隸勞動不同,它不涉及人類殘酷的直接墮落影響。然而,任何接受與奴隸勞動競爭條件的勞動都接受奴隸勞動的條件,並且本質上是奴隸勞動。這個宣告的關鍵是競爭。”
對於維納來說,與奴隸競爭在某種意義上就是成為奴隸,就像蘇聯工人在第二個五年計劃期間與不可能的斯塔漢諾夫式目標競爭一樣。格雷厄姆轉述維納,因為他想表達他對垃圾郵件的感受,將其作為一個平行的案例:“統計方法的一個巨大優勢是你不必閱讀那麼多垃圾郵件。在過去的六個月裡,我確實讀了成千上萬的垃圾郵件,這真的很令人沮喪。. . . 要識別單個垃圾郵件特徵,你必須嘗試進入垃圾郵件傳送者的思想,坦率地說,我希望儘可能少地花費時間在垃圾郵件傳送者的思想中。”這是一個其他研究人員會重複出現的抱怨——要真正理解垃圾郵件傳送過程,你必須在你的頭腦和你的程式碼中執行垃圾郵件傳送者的模擬,而由此帶來的骯髒感是令人墮落的。
不過,與維納的類比在一種資訊豐富的方式上是不精確的,這概括了格雷厄姆的策略。格雷厄姆不必透過與垃圾郵件傳送者競爭來處理他們。他沒有反過來發送垃圾郵件,也沒有試圖利用他們的輕信。他的工作絕不會使他降級為垃圾郵件傳送者的經濟地位,因為他沒有與他們競爭——他的機器正在與他們競爭。他正在做維納預測的事情,儘管他沒有明確說明:他正在構建一個系統,在該系統中,垃圾郵件傳送者將被迫與機器競爭,與機械閱讀器競爭,這些閱讀器以無情、非人的關注、永續性和敏銳度進行過濾和丟棄。憑藉他的機械奴隸,他反過來會將垃圾郵件傳送業務變成奴役,從而毫無價值。正如維納擔心自動化會結束建立在“基於買賣以外的人類價值觀”之上的穩定、社會民主主義社會的經濟和政治基礎一樣,格雷厄姆旨在結束垃圾郵件最初提供的利潤和少量努力的好處。
結束利潤承諾的方法是格雷厄姆的技術策略:透過採用基於樸素貝葉斯統計分析的系統來過濾垃圾郵件(稍後會詳細介紹)。格雷厄姆認為,垃圾郵件傳送者無法隱藏的一件事是他們的文字:垃圾郵件的特徵語言。他們可以偽造退回地址和訊息頭,並透過代理和開放中繼等傳送他們的訊息,但那種獨特的垃圾郵件語氣,勸誘或懇求,必須存在才能說服遠端的人類點選連結。他提出了一種將該語言變成駭客可用的物件的方法,從而有可能借助數學工具構建近乎完美的個人過濾器,這些過濾器可以根據垃圾郵件迅速改進。
格雷厄姆為此目的採用的貝葉斯機率是以托馬斯·貝葉斯的名字命名的,他在 18 世紀 50 年代就勾勒出了它的輪廓。 可以用一個常見的黑白彈珠的比喻來簡要概括它。 想象一下,一個剛來到這個世界的人看到了她人生中的第一個日落。 她的問題是:太陽明天還會升起嗎? 在一無所知的情況下,她預設機會各佔一半,並將一顆黑色彈珠和一顆白色彈珠放入袋子中。 當太陽昇起時,她再放入一顆白色彈珠。 從袋子中隨機抽出白色彈珠的機率——也就是根據她目前的證據,太陽昇起的機率——已經從 1/2 變為 2/3。 第二天,當太陽昇起時,她又加入一顆彈珠,使其變為 3/4,依此類推。 隨著時間的推移,她將接近(但永遠不會達到)太陽會升起的確定性。 如果在某個可怕的早晨,太陽沒有升起,她就會放入一顆黑色彈珠,機率會根據她的觀察歷史按比例下降。 這個系統可以擴充套件到非常複雜的問題,其中袋子裡的每個彈珠本身就是一個彈珠袋:一個由許多個體的、變化的機率組成的總體機率——這就是電子郵件和垃圾郵件進入視野的地方。
對於貝葉斯歸檔程式來說,文件就是一個“袋子”——一個總機率——包含著許多“小袋子”。 “小袋子”就是標記——即單詞——每個“小袋子”開始時都有一顆白色彈珠和一顆黑色彈珠。 您透過向程式展示此文件應放入“郵件”資料夾,彼文件應放入“垃圾郵件”資料夾等等來訓練程式。 當您對許多文件執行此操作時,貝葉斯系統會為每個重要的單詞建立機率,並放入彈珠。 如果它犯了錯誤,無論是“誤報”(將合法郵件標記為垃圾郵件)還是“誤報”(將垃圾郵件標記為合法郵件),您都可以糾正它,並且程式在面對您更正的新證據時,會稍微重新權衡將來在該文件中找到的單詞的機率。 它將語言轉化為機率,從而建立您通訊和收到的垃圾郵件的特徵詞彙。 它會注意到像“madam”、“guarantee”、“sexy”和“republic”這樣的詞幾乎從不出現在合法郵件中,而像“though”、“tonight”和“apparently”這樣的詞幾乎從不出現在垃圾郵件中。 很快,它就能攔截垃圾郵件,在垃圾郵件到達您的計算機之前將其彈回,或將其傳送到垃圾郵件資料夾。 貝葉斯歸檔器變成了貝葉斯過濾器。
當格雷厄姆發表他的文章時,這個想法並不新鮮。 由於一些神秘的原因,樸素貝葉斯演算法恰好非常擅長文件分類等歸納學習任務,並且之前已被研究並應用於郵件。 傑森·雷尼的 ifile 程式——他自願提供自己的電子郵件進行測試的程式——在 1996 年就將樸素貝葉斯應用於電子郵件歸檔和丟棄“垃圾郵件”。 “隨著電子郵件使用的增長,”他在 1998 年關於 ifile 的論文中寫道,“出現在使用者郵箱中的電子郵件型別出現了一些規律性。 特別是,未經請求的電子郵件,例如‘快速賺錢’計劃、連鎖信和色情廣告,變得越來越普遍。 過濾掉此類不需要的垃圾被稱為垃圾郵件過濾。” 同年,在格雷厄姆的文章發表前五年,有幾篇關於貝葉斯過濾系統在電子郵件垃圾郵件中的應用的文章發表; 這個想法顯然已經流行起來。 那麼,為什麼當時沒有流行起來呢? 這個問題的答案解釋了格雷厄姆的方法之所以如此成功的原因,以及它在最終阻止垃圾郵件方面的弱點。
理解這個答案需要深入研究過濾專案的一些技術材料。 過濾器可能存在的最大問題被稱為差異損失:即過濾前面提到的“誤報”,當它錯誤地將真實郵件識別為垃圾郵件並相應地刪除它時。 電子郵件處理的是具有時間依賴性和價值導向的材料,例如工作邀請、約會和需要及時回覆的個人資訊,並且訊息的重要性差異很大。 不同訊息的潛在損失可能大相徑庭。 (想想又一個自動郵件列表摘要與來自久違的朋友或客戶的工作信件之間的區別。) 將合法電子郵件錯誤分類為垃圾郵件,並在數百封實際垃圾郵件中被丟棄或被人的眼睛忽略的可能性是如此可怕,以至於它可能威脅到整個專案的失敗。 事實上,撇開金錢、時間和溝通失誤的潛在損失不談,在不確定的渠道上進行溝通的心理壓力是繁重的。 他收到我的訊息了嗎,還是被過濾了? 她只是在忽略我嗎? 我是否錯過了會改變我生活的問題? 這讓使用者陷入了經典認識論困境——你不知道你錯過了什麼,但你知道你“不知道”——並且始終面臨著丟失邀請、請求和報價的威脅。 如果誤報率足夠高,電子郵件就會變成一種完全站不住腳的媒介,始終受到溝通失敗的困擾。
與誤報可能造成的潛在災難和痛苦相比,某人手動重新歸檔被錯誤分類為合法並投遞的垃圾郵件所花費的時間損失是很小的——平均約四秒鐘。 因此,過濾器都稍微偏向容忍度。 如果您將過濾器設定得過於嚴格,只允許透過非常高機率被認為是合法的郵件,那麼您將面臨不可接受的高誤報率的風險。 您必須接受處於臨界狀態的訊息:過濾器對此類訊息持懷疑態度。 這是早期貝葉斯垃圾郵件過濾器的第一個缺陷,也是格雷厄姆提出的問題“如果人們在四年前就瞭解了貝葉斯過濾,為什麼沒有人使用它?”的部分答案。 Pantel 和 Lin 的貝葉斯系統 SpamCop 的誤報率為 1.16%,而格雷厄姆的個人誤報率為 0.03%。 儘管看起來微不足道,但垃圾郵件傳送者可能會利用這一空間及其產生的焦慮。
或許您可以透過新增一些已知的垃圾郵件特徵來稍微縮小這個比率——這些可靠的標記可以將垃圾郵件與您的郵件區分開來。 一組早期的垃圾郵件過濾器設計者嘗試了這種方法,並且構建到他們的過濾器中以指定垃圾郵件的屬性集合是一個引人入勝的人工製品,因為過去十年已經證明它們幾乎完全錯誤。 他們做出了穩定性的假設,而垃圾郵件傳送者將這種假設變成了弱點,格雷厄姆不斷發展的系統規避了這個問題。 程式設計師選擇了兩種“特定領域屬性”或將垃圾郵件標記為垃圾郵件的事物:三十五個短語(“FREE!”、“be over 21”、“only $”,如“only $21.99”)和二十個非短語特徵。垃圾郵件的語言顯然發生了巨大的變化——尤其是在貝葉斯過濾的影響下,我們稍後會看到——但這二十個附加特徵最能體現其可變性。 它們包括非字母數字字元(如 $ 和 !)的百分比、“附件文件(大多數垃圾電子郵件沒有附件)”、“收到給定訊息的時間(大多數垃圾電子郵件在夜間傳送)”以及發件人電子郵件地址的域型別,因為“垃圾郵件幾乎從不從 .edu 域傳送”。
“沒有附件”規則不再成立:許多種類的垃圾郵件都包含附件,包括病毒或其他惡意軟體,以文件和程式的形式(以及更巴洛克的附件,例如聲稱是語音郵件的 mp3 檔案,充當身份盜竊利用的誘餌)。 依賴投遞時間也不再有效,投遞時間變得更加複雜,並且與地球自轉時計算機的開啟和關閉有關的有趣的晝夜週期。 地址欺騙(訊息可以顯示來自任何給定地址)和徵用的學術地址(通常在具有高頻寬連線的大學伺服器上執行,非常適合快速移動數百萬條訊息)已使 .edu 地址變得毫無意義。 (更糟糕的是 SpamAssassin 過濾器中的一個疏忽,它給 2010 年傳送的任何訊息都打了非常低的分數——將其標記為可能是垃圾郵件——因為那一年“在未來非常遙遠”,或者在過濾器開發時是這樣。)
這些固定的過濾元素在短短幾年後變得不僅無用而且具有誤導性,這突顯了科學反垃圾郵件專案可能面臨的最大障礙:相對於其追蹤目標而言,它的行動太慢了。 獲得正式認可的科學家發表文章並且可以被引用,方括號中的數字將我們引向期刊中的參考文獻; 駭客(自稱)只是將他們的工作釋出到網上,無論多麼半生不熟或有漏洞,因為其他人會幫助修復它。 與科學反垃圾郵件專案中耐心的語料庫構建和對樸素貝葉斯變體的討論相比,駭客的反垃圾郵件倡議幾乎是可笑的破舊、廉價、快速、半功能性和失控。 格雷厄姆的“垃圾郵件計劃”是在他接觸到現有的研究論文之前寫的,但它解決了他們面臨的問題。 (在後來的演講中,他提出了他用於懶惰評估研究論文的演算法:“只需寫下你想寫的東西,不要引用任何以前的工作,憤慨的讀者就會給你傳送你應該引用的所有論文的參考文獻。”)它提供了更低的潛在誤報率,以及一種完全個性化的方法來訓練系統識別垃圾郵件——這種方法消除了對通用規範的需求。 從理論上講,它可以充當垃圾郵件的純粹、自動化的反映,其移動速度與世界上所有垃圾郵件傳送者的聰明才智一樣快。 隨著他們嘗試新訊息,它會學習並阻止它們,並且靠垃圾郵件賺錢變得越來越難。 最重要的是,格雷厄姆的方法是關於速度。
他的文章反映了這種速度。 除了用程式語言 Lisp 表示的公式外,沒有其他公式——問題不是“這是否推進了數學對話?”,而是“它是否執行,這是否有意義?” 沒有引用,儘管他在最後感謝了一些人(“懶惰評估研究論文”的方法是在他的文章在極客新聞網站 Slashdot 上被提及後才開始的)。 過程和實驗的語言完全不同:“(這裡可能還有改進的空間。)……[透過]試錯法,我發現一個好的方法是將good中的所有數字加倍……這裡可能還有調整的空間……我再次透過試錯法發現,0.4 是一個很好的使用數字。” 它提出了與之前描述的論文截然不同的智力挑戰,本質上是說,“這就是我所做的。 如果你認為你可以改進它,開啟一個終端視窗並開始工作。” 它是一份在類似巫師的環境中釋出的文件,在這種環境中,任何人,至少在理論上,都可以憑藉正確的態度和相關的技術技能成為同行——並且審查發生在事後,透過連結、評論和專案的進一步開發。
它以同樣的緊迫感和親身參與感被接受,引發了雪崩般的批評、編碼、協作和評論。 許多例子之一發生在 Python-Dev 郵件列表討論中(Python 是一種高階程式語言,碰巧以Monty Python命名)。 他們正在討論 bogofilter,這是一種應用了格雷厄姆樸素貝葉斯模型的垃圾郵件過濾器:“有人願意彙集語料庫(corpora?)嗎?” 一位程式設計師在格雷厄姆發表文章後幾乎立即寫道。 Tim Peters 為討論帶來了數學上的清晰性:“格雷厄姆憑空捏造了他的公式,並且評分設定的一部分非常可疑。 這需要詳細瞭解”——然後他提供了詳細資訊,深入探討了貝葉斯定理在格雷厄姆模型中的應用中存在的一個深刻問題。27 開源倡導者 Eric Raymond 回覆了一個可能的解決方法,並在訊息末尾向 Peters 提出了一個問題:“哦,你介意我使用你的代數作為 bogo-filter 文件的一部分嗎?” Peters 回覆道:“一點也不介意。” 幾天之內,基於格雷厄姆的樸素貝葉斯思想的 bogo-filter 專案被檢查到用於開發軟體的測試環境中。 垃圾郵件轉型的步伐似乎找到了它的對手。
要真正理解樸素貝葉斯模型對電子郵件和垃圾郵件的影響,可以將 Python bogofilter 專案的快節奏協作、社群努力擴充套件到幾種不同的程式語言和許多競爭專案。 格雷厄姆在他撰寫的“垃圾郵件計劃”之後的 FAQ 中列出了一些:Death2Spam、SpamProbe、Spammunition、Spam Bully、InboxShield、Junk-Out、Outclass、Disruptor OL、SpamTiger、JunkChief。 在另一篇文章中還提到了其他一些:“現在有超過 30 個可用。 蘋果有一個,MSN 有一個,據說 AOL 有一個正在測試中,你可以非常肯定雅虎正在開發一個。”28 格雷厄姆推廣的樸素貝葉斯過濾模型仍然是當今反垃圾郵件過濾器的預設方法,當然,正如 Python-Dev 對話所表明的那樣,它經過了許多修改、新增和調整。 經過大量修改和補充的樸素貝葉斯過濾器既在個人電子郵件程式級別執行,也在微軟的 Hotmail 和谷歌的 Gmail 等超大型網路郵件提供商級別執行(與其他眾多過濾技術協同執行)。
它的成功有很多原因。 其中之一是背景:格雷厄姆的文章是一篇閒聊式的文章,充滿了程式碼示例,由一位廣受歡迎的網際網路企業家釋出,然後在高流量新聞和討論網站上鍊接和轉發,而不是在關於文字分類的機器學習學術研討會上發表的技術研究論文。 憑藉其“這裡可能還有改進的空間”的語言,它旨在被駭客社群(如 Python-Dev 團隊)中有影響力的群體快速採用。 最重要的是,它為其優雅的技術技巧提供了經過深思熟慮且令人信服的論據,這是一個關於垃圾郵件的社會和經濟結構的論據——垃圾郵件在最一般的意義上是如何運作的,以及如何打破它。 這種論據與格雷厄姆的過濾器一起被隱性和顯性地採納,並且與誤報問題一起,構成了垃圾郵件做法在其轉型和生存中利用的失敗的縫隙。
格雷厄姆在最初的“垃圾郵件計劃”中的所有論點都圍繞著兩點。 第一點是“垃圾郵件傳送者的阿喀琉斯之踵是他們的訊息”。 可靠阻止垃圾郵件的唯一一點——垃圾郵件傳送者無法規避的一點——是他們需要讓收件人採取某種行動的詞語。 因此,使用貝葉斯過濾器來分析文字本身,並處理用於阻止它的語言本身。 第二個相關點是,這種阻止不需要完美地工作,但只需要非常好地工作,因為目標不是將垃圾郵件定為犯罪,公開羞辱垃圾郵件傳送者或教育接收者,正如以前的專案試圖做的那樣——目標只是降低垃圾郵件的盈利能力。 “垃圾郵件傳送者是商人,”他寫道。 “他們傳送垃圾郵件是因為它有效。 它之所以有效,是因為儘管回覆率低得令人髮指……但對他們來說,成本幾乎為零。……傳送垃圾郵件確實會給垃圾郵件傳送者帶來一些成本。 因此,無論透過過濾,還是透過使用過濾器迫使垃圾郵件傳送者淡化他們的推銷,我們都能將回復率降低得越低,就會有越少的企業認為傳送垃圾郵件是值得的。” 承諾是,垃圾郵件是罕見的一類問題,當被忽視時,實際上會消失。 “如果我們足夠擅長過濾垃圾郵件,它將停止工作,垃圾郵件傳送者實際上將停止傳送它。”
格雷厄姆認為,合法化和理論上守法的電子郵件營銷嘗試是垃圾郵件最危險的側翼,是網際網路的先鋒,在這個網際網路中,負擔得起遊說的垃圾郵件傳送者可以逍遙法外,而電子郵件已成為一個大型營銷機器。 選擇加入垃圾郵件是這種合法化垃圾郵件活動最流行的形式之一,其支持者認為,他們的垃圾郵件資訊的接收者已訂閱——通常是透過在網站上輸入他們的地址,而該網站的服務條款允許網站所有者將地址出售給營銷人員。 選擇加入垃圾郵件至少在理論上包括關於如何取消訂閱郵件的禮貌說明。 “選擇加入垃圾郵件傳送者是垃圾郵件領域中更合法的一端,”格雷厄姆寫道。 “更好的過濾器的到來將終結選擇加入的神話,因為選擇加入垃圾郵件特別容易受到過濾器的攻擊[由於訊息中出現的容易識別的法律和取消訂閱樣板文字]。……一旦統計過濾器得到廣泛部署,大多數選擇加入垃圾郵件將直接進入垃圾箱。 這應該將選擇加入垃圾郵件傳送者從他們目前的半合法性掩護中清除出來。”30 如果人們可以用他們的過濾器對什麼是垃圾郵件進行投票,那麼您就必須開始積極欺騙他們並從事不太合法但更有利可圖的做法才能使其有利可圖。 隨著此類過濾器得到廣泛部署,力求合法的“線上營銷人員”將無法再在遠端營銷和直郵的模糊法律先例的庇護下。 他們要麼退出業務,要麼完全變成犯罪分子,隨之而來的是額外的個人、社會和經濟成本。 您不需要將他們定為犯罪,因為您可以讓他們自己犯罪——然後您可以讓法律來對付他們。
“處於更合法一端的公司會遊說允許底層人士也溜過去的漏洞。……如果‘選擇加入’垃圾郵件傳送者消失了……[i]每個人都會清楚地知道營銷在哪裡結束,犯罪在哪裡開始,並且不會有遊說者努力模糊這種區別。”31 格雷厄姆因此製造了一個非凡的兩難困境。 可以使垃圾郵件合法化的法律規範以及用於顯示訊息符合 CAN-SPAM 等法律的材料——免責宣告、相關法律的引用、合規宣告以及取消訂閱連結——非常規範,因此是貝葉斯過濾的完美目標。 隨著良好的過濾器到位,合法化的過程——遵守法律——使您的業務盈利能力大大降低。 你必須成為罪犯,否則就退出。
與針對 Sanford Wallace 和 Alan Ralsky 等美國垃圾郵件社群的高調逮捕和法律訴訟一起,格雷厄姆的過濾器及其論點幾乎完全成功了。 法律和過濾共同消滅了合法化的線上營銷人員的世界,這類人希望透過直接向世界的電子郵件地址推銷來銷售大量利潤相對較低的產品,從而使他們陷入嚴重的財務困境。 在此過程中,該領域留給了敏捷、適應性強且更有計謀的罪犯。 在格雷厄姆的垃圾郵件計劃中,埋下了其自身相對失敗的種子。 它的成功之處在於,它扼殺了最容易受到攻擊的盈利模式,並引發了垃圾郵件向一種新的、更成問題的做法的轉變,這種做法更難控制。