這項(xiàng)新科技帶動(dòng)的商機(jī)令人回想起90年代的網(wǎng)絡(luò)風(fēng)潮,許多所費(fèi)不貲的大型會(huì)議、多如過(guò)江鯽的新創(chuàng)公司,以及一些頗具創(chuàng)意的公司像是MySpace.com與Writely被以天價(jià)收購(gòu),這些都是當(dāng)時(shí)熱鬧景象不可或缺的元素。
“我們所犯的錯(cuò)還是一樣,我們都把安全擺到最后,”SPI Dynamics Web安全專家首席工程師Billy Hoffman說(shuō)。“大家都全心擁抱這個(gè)熱朝,把它和Web應(yīng)用兜在一起,但他們根本沒(méi)有考慮到安全的問(wèn)題,不知道這樣會(huì)置使用者于何種風(fēng)險(xiǎn)之下。”
Yammaner、Samy與Spaceflash是網(wǎng)絡(luò)上赫赫有名的攻擊程序。Yammaner蠕蟲鎖定雅虎Mail而來(lái),專門收集郵件賬號(hào)并將自己復(fù)制到雅虎使用者的所有通訊錄中。Samy與Spaceflash兩只蠕蟲都已在MySpace上擴(kuò)散,將這個(gè)知名社交網(wǎng)站的使用者信息(profile)加以變更。
Web 2.0其實(shí)沒(méi)有精準(zhǔn)的定義,而是一個(gè)籠統(tǒng)概念,涵括非靜態(tài)、非純網(wǎng)頁(yè)的網(wǎng)站。Web 2.0網(wǎng)站更具互動(dòng)性,讓使用者可以把照片貼在網(wǎng)站上等。而和過(guò)去的Web不同的是,它提供了與桌面應(yīng)用非常相似的使用經(jīng)驗(yàn)。
AJAX是實(shí)現(xiàn)更炫更互動(dòng)網(wǎng)頁(yè)的主要技術(shù)。Google去年推出的Google Maps是第一批向世人展示AJAX開發(fā)效果的網(wǎng)站之一,它讓使用者可以用鼠標(biāo)把地圖移到屏幕上任何一處。
但AJAX的“功能”不只是把網(wǎng)頁(yè)變得更互動(dòng)而已。專家說(shuō),它也提供黑客整垮Web服務(wù)器,攻擊使用者的渠道。
“我們可以用房子來(lái)比喻,”將在下周黑帽安全大會(huì)上針對(duì)AJAX安全發(fā)布演說(shuō)的Hoffman說(shuō),“傳統(tǒng)網(wǎng)站好比一幢沒(méi)有窗子、只有一扇門的房子,而AJAX網(wǎng)站則是一個(gè)有數(shù)不清窗子和旋轉(zhuǎn)門的房子,盡管你在前后大門上加了最安全的鎖,但我還是可以從窗口鉆進(jìn)去。”
以這種新技術(shù)開發(fā)的網(wǎng)站“攻擊面積”又更大,因?yàn)樗蜑g覽器有更多互動(dòng),而且可以在用戶端PC上執(zhí)行JavaScript。JavaScript是常見的描述性語(yǔ)言。傳統(tǒng)網(wǎng)站一般需通過(guò)表格來(lái)接收信息。
跨網(wǎng)站描述語(yǔ)言
AJAX也增加了跨網(wǎng)站指令碼(Cross-Site Scripting)的可能性,如果網(wǎng)站源代碼撰寫不留意就可能發(fā)生。專家指出,攻擊者可以利用這項(xiàng)弱點(diǎn)綁架使用者賬號(hào),發(fā)動(dòng)網(wǎng)釣詐騙竊取信息,或甚至把惡意源代碼下載到使用者電腦中。一些知名公司像是微軟、eBay、雅虎與Google等網(wǎng)站都曾出現(xiàn)跨網(wǎng)站指令碼的漏洞。
風(fēng)險(xiǎn)還不只如此。AJAX其他可能風(fēng)險(xiǎn)包括程序競(jìng)爭(zhēng)條件(race condition)、源代碼正確性(code correctness)、違反物件模型(object model violation)、不安全隨機(jī)(randomness)以及錯(cuò)誤處理不當(dāng)?shù)鹊?,源代碼分析工具供應(yīng)商Fortify Software首席科學(xué)家Brian Chess說(shuō)。
上述錯(cuò)誤都可能導(dǎo)致信息外泄、A使用者控制B使用者的通訊,惡意源代碼被執(zhí)行或引發(fā)其他攻擊等等,F(xiàn)ortify說(shuō)。該公司研究人員發(fā)現(xiàn)在去年一本針對(duì)軟件開發(fā)人員所著的《Foundation of Ajax》中,揭露了上述AJAX源代碼樣本分析結(jié)果。
“書中的源代碼樣本可以當(dāng)成示范,讓許多軟件開發(fā)人員學(xué)到不安全的程序撰寫習(xí)慣有哪些。”Chess說(shuō)。
本書作者之一Ryan Asleson表示目前還沒(méi)聽到有源代碼樣本中的漏洞,但他表示,如果有也不令人意外,因?yàn)檫@種源代碼太簡(jiǎn)單了,大家都學(xué)得起來(lái)。“我們從來(lái)沒(méi)有假設(shè)這種源代碼已存在企業(yè)應(yīng)用中。”他說(shuō)。
確保長(zhǎng)治久安之道是開發(fā)人員訓(xùn)練與作法,Asleson說(shuō)。“如果有人說(shuō)他的程序沒(méi)有安全問(wèn)題,我覺(jué)得他是在癡人說(shuō)夢(mèng),”他說(shuō)。“開發(fā)人員只要一個(gè)不小心,就會(huì)讓安全洞開。”
Chess說(shuō),AJAX本身不會(huì)引發(fā)漏洞,只是它讓舊有問(wèn)題變得更容易發(fā)生。軟件產(chǎn)業(yè)現(xiàn)在還停留在桌面應(yīng)用時(shí)代,緩沖溢位(buffer overflow)在那是相當(dāng)嚴(yán)重的問(wèn)題。但AJAX中的JavaScript則為老問(wèn)題注入索尼量。“簡(jiǎn)直就是歷史重演。”
寫過(guò)兩本AJAX相關(guān)著作的Asleson同時(shí)也是開發(fā)人員,他并不同意網(wǎng)站開發(fā)人員忽視安全問(wèn)題。“有時(shí)這牽涉到桌面電腦十多年來(lái)發(fā)展的軌跡,十多年前大家都不注重安全,現(xiàn)在這個(gè)問(wèn)題已沒(méi)人敢輕忽,”他說(shuō)。
兩大網(wǎng)絡(luò)巨人Google與AOL也有同樣看法。Google工程部門副總裁Douglas Merrill在電子郵件中說(shuō)道,Google是AJAX的愛(ài)用者。
“和其他軟件開發(fā)一樣,AJAX的開發(fā)也需相當(dāng)注重安全,時(shí)時(shí)謹(jǐn)記使用者的最大利益,”Merrill說(shuō)。Web應(yīng)用好處之一是修補(bǔ)漏洞又快又簡(jiǎn)單,而不需要?jiǎng)趧?dòng)到使用者。
他表示,雖然Google還無(wú)法百分之百免除網(wǎng)站漏洞,但安全卻是該公司產(chǎn)品與服務(wù)設(shè)計(jì)、開發(fā)、上線及運(yùn)營(yíng)不可或缺的一環(huán)。
“在我們經(jīng)驗(yàn)里,只由安全小組做完的流程無(wú)法適用到別的部門,不夠有效,因此我們?cè)囍寻踩谌氲秸麄€(gè)產(chǎn)品開發(fā)過(guò)程當(dāng)中。”Merrill說(shuō)。
愈大愈好?
AOL則相信大型網(wǎng)絡(luò)公司在安全上做得比新創(chuàng)公司來(lái)得好。“我們有二十多年經(jīng)驗(yàn),又有很大的安全專業(yè)部門確保我們既有與新推出的產(chǎn)品的安全,”該公司發(fā)言人Andrew Weinstin說(shuō)。
MySpaces、Flickr或Google Maps的成功引發(fā)網(wǎng)絡(luò)另一波拓荒潮,而且進(jìn)入門檻也不高,Hoffman說(shuō)。但他表示,事情可不只是架個(gè)網(wǎng)站那么簡(jiǎn)單。開發(fā)人員得要具備安全意識(shí),留心軟件瑕疵,或是內(nèi)建功能遭人以惡意程序?yàn)E用。
上個(gè)月發(fā)現(xiàn)的Yamanner蠕蟲就是利用雅虎 Mail可在信息中附加JavaScript的功能而來(lái),專家出。只要使用者一打開件,描述語(yǔ)言就會(huì)執(zhí)行,并對(duì)雅虎 Mail服務(wù)下指令把使用者的通訊錄寄到遠(yuǎn)端服務(wù)器。這只蠕蟲也會(huì)命令郵件服務(wù)把惡意信息寄給所有聯(lián)絡(luò)人。
雅虎表示會(huì)努力保護(hù)用戶信息。“我們已成立項(xiàng)目小組確保工程師對(duì)安全的重視,并且以各種方法確保整個(gè)開發(fā)過(guò)程中的安全品質(zhì),包括開發(fā)人員教育、基礎(chǔ)架構(gòu)、檢測(cè)及工具等等,”該公司代表說(shuō)。
MySpaces方面,去年十月爆發(fā)的Samy被視為第一個(gè)跨網(wǎng)站指令碼漏洞攻擊。它攻擊了MySpace網(wǎng)站,把數(shù)百萬(wàn)用戶加入到作者的“好友名單”上。MySpace用戶看到被感染的使用者信息(profile)時(shí),他自己的使用者信息也會(huì)被感染,并且會(huì)去感染別人。
兩種攻擊都沒(méi)有引發(fā)損害,但專家警告這些漏洞未來(lái)可能遭到更嚴(yán)重攻擊。“我認(rèn)為AJAX還沒(méi)有這種攻擊或防護(hù)。”Chess說(shuō)。
專家表示,網(wǎng)站開發(fā)人員對(duì)使用者及服務(wù)器的安全意識(shí)將漸成Web 2.0安全之所系。網(wǎng)絡(luò)使用者的PC安全軟件,像是殺毒與反網(wǎng)釣工具的能提供一定程度的防護(hù)。但此類應(yīng)用一般只在攻擊發(fā)生后效果最大,因?yàn)樗鼈冃枰艉灻蛞阎獝阂饩W(wǎng)站的黑名單為之。
“使用者一定被弄得一頭霧水,但是Web應(yīng)用真的存在漏洞,”Hoffman說(shuō)。“解鈴還需系鈴人,只有實(shí)際撰寫Web應(yīng)用程序的人才能真正解決安全問(wèn)題。”Hoffeman說(shuō)。
聯(lián)系客服