制圖 | 無右
“綠壩#8226;花季護航”讓過濾軟件一夜成名。但是根據業內人士分析,現在全世界都做不好過濾技術,而且過濾軟件和病毒木馬一樣危險。
離原定的強制預裝時間只差3個多小時,2009年6月30日晚上8點,工信部終于表示上網過濾軟件“綠壩#8226;花季護航”可以推遲預裝。無論如何,“綠壩”已經成為了史上盈利最快的國產軟件,只經過10天的競標就獲得了4170萬元的政府采購。與之相比,著名的國產殺毒軟件金山毒霸在2008年一個季度的盈利也只有1500多萬元。大多數網民此前從未聽說過這家河南小公司出品的“綠壩”,甚至都不知道“過濾軟件”是何方神圣。那么,一夜發跡的過濾軟件,究竟是什么來頭?
過濾軟件失敗史
過濾軟件不是什么新鮮玩意。早在1999年,幾個清華大學生就鼓搗出了“五行衛士”,中國第一個掃黃軟件,和“綠壩”一樣也可以過濾色情圖片和關鍵詞,號稱是過濾軟件的鼻祖。“五行衛士”誕生的盛況絕不亞于10年后的“綠壩”,它當時通過了各大部門專家的鑒定,CCTV進行了4次報導,其他媒體和專家都爭相叫好。但是很快“五行衛士”就被人們徹底遺忘了。
原因是“五行衛士”誤判率太高,用戶們不買賬。“那會兒,‘五行衛士’的客服接到最多的咨詢電話是,‘怎么刪掉這個玩意兒?’”曾經負責過“五行衛士”營銷的王澍秋在博客中這樣寫道。“五行衛士”和“綠壩”的毛病一樣,也會誤殺“很黃”的加菲貓,不同的是“五行衛士”沒有卸載程序,用戶很難刪掉它。沒多久,由于技術瓶頸無法解決,“五行衛士”從歷史舞臺默默退下。
但是“五行衛士”單方面的成功,也帶動了隨后一大批過濾軟件。據資深過濾軟件測試工程師徐小飛介紹,“五行衛士”后,各種過濾軟件大致有80款,但是生存狀況都不怎樣,“在這10年間,新產品不間斷推出,如果沒有獲得大訂單的預裝,僅靠零售,這些新產品多數會被迅速淘汰。” 目前,“家長無憂”、“網絡爸爸”都曾經獲得過預裝推廣,它們是為數不多依然在更新、擁有穩定用戶群的過濾軟件。而6年前紅極一時的“美萍反黃專家”3年前就停止更新,“網絡爸爸”的跟風之作“網絡媽媽”也嘎然而止。只有“健康上網專家”是個例外,它是由愛好者鄭恒開發的免費過濾軟件,現在差不多有40萬下載量,純粹是開發者的個人愛好,基本每月更新一次。據說,鄭恒有空就會蹲在網上,看破解者如何破解他的軟件,以便及時補漏洞。
其實國外也早有了過濾軟件,英文中稱為censorware。早在1997年10月,美國弗吉尼亞州的勞登縣就打算在公共圖書館里裝上色情過濾軟件。但最終這一類計劃全部落空,有的是被判為違憲,更多的是因為無法解決的技術困難。2007年8月21日,澳大利亞耗資1.89億美元部署了“網絡安全計劃”(NetAlert Scheme),其中有8400萬花在網頁色情內容過濾系統上。3天后,16歲小男孩湯姆#8226;伍德(Tom Wood)僅用30分鐘就破解了這個過濾系統。他諷刺政府的這個嘗試是“對納稅人金錢的巨大浪費”。因為依據澳大利亞政府自己的統計,每屏蔽一個鏈接需要花費9萬美元,投入產出完全不成比例。“過濾軟件一直在主流和非主流邊緣徘徊。”徐小飛這樣總結道,“做好過濾軟件很難,錯判率都比較高,雖然國外的過濾軟件錯判率會相對低些。”而多數過濾軟件都是硬著頭皮上戰場。
無法避免的誤殺
談到誤判率,綠壩比起10年前的“五行衛士”并沒有多少進步。美國密歇根大學研究網絡安全的哈德曼(J. Alex Halderman)教授在工信部強裝綠壩通知發布的第二天,就開始對“綠壩”進行為期12小時的測試和破解,挑中的對象是3.17版。從哈德曼教授的研究報告中可以看到,“綠壩”的過濾技術主要有三方面:圖像識別過濾、URL(網頁地址)過濾和關鍵詞過濾,而這三項技術本身都有缺陷。
圖片過濾是通過人體膚色來辨認色情圖片,身體裸露部位越多,被當成色情圖片的可能性越大。哈德曼教授發現,“綠壩”的圖片過濾程序包含了開源圖像識別軟件OpenCV的代碼庫。
OpenCV是英特爾公司于1999年啟動的計算機視覺庫,可以用來實現圖像模式識別的功能。圖像的模式識別,就是從圖像中提取有用的信息,例如從一張照片中認出人臉,從一頁書的照片上識別出字母。它最初是用于提高3D顯示效果,加快圖像處理速度的。任何人都能免費使用OpenCV,只要通過開源BSD許可。哈德曼教授指出“綠壩”未經許可使用了OpenCV,但是把OpenCV應用于色情圖片過濾是一項并不成熟的技術,更不用說還無法解決色情視頻識別的問題。所以“綠壩”無法過濾視頻,甚至圖片過濾功能也是默認關閉的。“綠壩”很難過濾黑人和白人的裸體,也會將嬰兒裸體照以及美術網站的裸體教學石膏像定義為色情圖片。開發“綠壩”的鄭州金惠公司否認他們使用了OpenCV。記者欲就此事向公司核實,但未得到回應。
問題不止這些。“拋開不成熟的圖像過濾,即使是成熟的UR L過濾和關鍵字過濾技術,錯判或者沒法判別也很正常。”“網絡媽媽”的開發者Leon(網名)說。依據Le o n的介紹,UR L過濾技術的原理其實非常簡單,建一個“問題網址庫”,對應上后,直接將“問題網址”關禁閉。“URL過濾方法的優點是節約帶寬,降低訪問延遲,減少誤判率。但是,URL過濾方法的缺陷也是顯而易見的:‘問題網址庫’實時更新的步伐實在難以跟上每日新增的web網頁。”而最具諷刺性的是,這個“問題網址庫”本身也可能被破解。有的網友就很感謝“綠壩”的無私奉獻,“經由破解,我們輕易獲取4000多條色情站點地址。”
而關鍵詞過濾技術屬于人工智能中還不成熟的自然語言理解的前沿領域。關鍵詞過濾是指對文字內容進行實時掃描,根據已知的關鍵字/詞構成特點,分析是否含有禁止訪問的內容。從理論上來說,只要建立一個足夠完全的關鍵字庫就可以杜絕不良信息。但實際情況是,關鍵詞過濾效果并不那么好。因為人類使用的是自然語言,是極其復雜的符號系統。一個中國人盡可以對漢語運用自如,卻無法把漢語的構成規律、意義的表達規律和語言使用規律,用計算機可以接受的方式說清楚。自然語言的各個層次上都存在著巨大的不確定性。
舉例說來,關鍵字過濾會用到分詞技術,因為中文沒有空格間隔,需要把句子切分,找出里面的詞來做成索引,做好對照、過濾的預先準備。分詞軟件的門檻很低,幾百行代碼就能實現一個分詞,但是這些方案都不完美,因為好的分詞方法需要能夠理解自然語言,需要能消除二義性(比如不能在“頭飾和服飾”里面提出來“和服”),需要在保留雙關語的時候保留。要做到這一步,需要一個程序員對語言學、心理學、邏輯學等有深刻的認識。例如二義性一般不能通過分析發生二義的語言單位(例如“頭飾和服飾”這個短語)自身獲得解決, 而必須借助于更大的語言單位(整個句子或者段落)乃至非語言的環境背景因素和常識來解決。另外,自然語言不是一成不變的死的語言,它在社會生活中發展。一個詞、一個說法可能在一夜之間突然流行起來,這些都要求理解自然語言的計算機程序要具有對外界語言環境的應變能力。由于網頁過濾與法律、文化、觀念有著很高的相關
性,無論是URL過濾、關鍵詞過濾都無法做到100%的準確判斷。
結構和木馬一樣
“綠壩”的一大爭議是安全性。雖然“綠壩”官方發言人張晨民認為“任何軟件都有漏洞”,但是“綠壩”的漏洞是致命的。因為“綠壩”嵌入到了操作系統的核心,很容易被黑客利用。這是由過濾軟件的結構本身造成的。
“綠壩”的結構和普通程序一樣,分為控制層和執行層。控制層沒任何特別之處,就是根據執行層傳上來的信息進行各種匹配,并將結果送回執行層。主要問題是,控制層需要從網絡上獲得更新。“和殺毒軟件的病毒庫一樣,都需要更新,更新后把意外的結果送回網絡上的管理控制中心進行分析。”Leon介紹道,“不同之處在于執行層,它是嵌入操作系統核心的底層驅動上的,需要最高的執行權限。”這等于是把自家的鑰匙插在大門上。
木馬程序也是同樣的體系結構。“以前做過濾軟件,執行層的東西一般都是根據某種黑客工具修改的。這個東西具有潛在的收集用戶信息并上傳的能力,這其中包括我們常用的帳號密碼等等。”Leon說。如此一來,過濾軟件的安全性一旦疏漏,用戶的任何個人信息都有可能泄露。“‘綠壩’說他們精于過濾,不精于安全,這很好笑也很危險。”Leon認為,“我對它的評價是危險,非常的危險,甚至如果你的電腦和安裝了這個軟件的電腦在局域網上有連接,有經驗的黑客也會很輕松盜取‘綠壩’的使用權限,并利用它的功能讓你的電腦失去任何防范。”
哈德曼教授也證明了綠壩的危險性。“我們只是測試了12小時,就發現了‘綠壩’有非常嚴重的安全漏洞。一旦安裝‘綠壩’,用戶訪問的網站可以充分利用這些漏洞來控制電腦。這可能允許惡意網站竊取個人資料,發送垃圾郵件,甚至成為一個“僵尸網絡”的成員(俗稱肉雞)。此外,我們發現‘綠壩’網址黑名單的更新的方式存在漏洞,可以讓軟件制造商或其他人在更新過程中安裝惡意代碼。綜合各種漏洞,最終形成一個巨大的攻擊面:因為綠壩過濾和處理所有的網絡流量,大部分的代碼將受到攻擊。這是頻繁使用不安全的編程技術造成的。”
哈德曼教授繼續跟蹤著“綠壩”,“新的版本已經給某些漏洞打上補丁,但如果要提供足夠好的安全補丁,不是短時間內能達成的。建議用戶暫時不要安裝,因為一旦安裝就很難卸載。綠壩只允許知道管理員密碼的用戶卸載該軟件。我們測試了卸載程序,發現它似乎能從計算機中有效移除綠壩,但是不能刪除一些日志文件,所以用戶行為的記錄仍然隱藏在系統中。它需要隱藏自己不被輕易發現,同時又不能被殺毒軟件殺掉,當然也不能給用戶輕易地卸載——因為過濾軟件和病毒一樣,這是產品本質的要求。”
Tips:
危險的過濾軟件:安全軟件還是木馬程序
1、防火墻
防火墻軟件是一種信息安全軟件,它不會干預操作系統的核心,只是像一道墻把網絡世界分為兩個區域:不可信任的區域(互聯網)和可以信任的區域(內部網或者本機)。
防火墻也有過濾作用,一切進出防火墻的信息都要經過它的檢查,是否匹配一定的規則。
2、綠壩
“綠壩”是一種過濾軟件,它的執行層需要嵌入操作系統的核心,以便執行過濾操作。過濾軟件的這一部分通常都是直接由黑客工具修改而成。
“綠壩”需要從網絡上獲得更新,就像殺毒軟件一樣。通過這個渠道,黑客可以很容易地發送危險信息,從而控制用戶的計算機。
“綠壩”聲稱不搜集任何用戶信息。但是程序結構使得它有這個潛在的可能性,也很容易被黑客利用。
3、木馬
木馬程序是一種黑客工具。它會悄悄獲得計算機的最高權限,而用戶毫不知情。
木馬程序還可以控制用戶的計算機,讓黑客隨意遠程操作,甚至把計算機變成被黑客操縱的“僵尸網絡”的一部分。
木馬程序擁有了計算機的控制權,就可以突破防火墻,竊取用戶的密碼和其他所有重要數據,發送給網絡另一端的黑客。