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