跨站腳本攻擊XSS挑戰(zhàn)Web安全
以下的文章主要向大家介紹的是跨站腳本攻擊XSS“瘋狂”挑戰(zhàn)Web安全,當(dāng)前,跨站腳本攻擊XSS已經(jīng)成為Web安全界的公害,對(duì)于企業(yè)用戶而言,對(duì)于XSS的防御需對(duì)其右更新的思路,并且要進(jìn)一步提高認(rèn)識(shí)。
當(dāng)前,跨站腳本攻擊XSS已經(jīng)成為Web安全界的公害,對(duì)于企業(yè)用戶而言,對(duì)于XSS的防御需要新的思路,并且要進(jìn)一步提高認(rèn)識(shí)。
瘋狂的攻擊
2008注定是不平凡的一年,在網(wǎng)絡(luò)安全界也是一樣。2008年初,SQL群注事件使得SQL注入重新成為網(wǎng)絡(luò)安全界的一個(gè)關(guān)注焦點(diǎn),機(jī)械化的注入工具出現(xiàn),數(shù)以十萬計(jì)的網(wǎng)站在數(shù)天內(nèi)被攻擊。SQL群注風(fēng)暴硝煙未散,跨站腳本攻擊XSS又提馬殺到:6月25日,來自Darkreading.com的消息,Yahoo Mail中存在XSS漏洞,同一天來自Theregister.com的消息,安全網(wǎng)站xssed.com聲稱,英國匯豐銀行的多個(gè)網(wǎng)站上都存在跨站腳本漏洞,攻擊者可以藉由這些跨站腳本漏洞,將訪問這些合法銀行網(wǎng)站的用戶欺騙到其精心構(gòu)建的網(wǎng)絡(luò)釣魚網(wǎng)站上,從而獲取用戶敏感的銀行賬戶和密碼信息。由于匯豐銀行在修補(bǔ)網(wǎng)站漏洞方面動(dòng)作緩慢,因此這些網(wǎng)站上存在的漏洞將在較長(zhǎng)的時(shí)間內(nèi)對(duì)網(wǎng)站用戶的安全造成較大威脅。
XSS是一種經(jīng)常出現(xiàn)在Web應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意Web用戶將代碼植入到提供給其它用戶使用的頁面中,比如HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(Same Origin Policy)。這種類型的漏洞由于被駭客用來編寫危害性更大的釣魚攻擊而變得廣為人知。
對(duì)于XSS攻擊,記者曾經(jīng)走訪了啟明星辰總工程師萬卿,他的看法是:XSS是新型的“緩沖區(qū)溢出攻擊”,而JavaScript是新型的“ShellCode”。
XSS攻擊和前段時(shí)間甚囂塵上的SQL注入攻擊一樣,都是由于Web業(yè)務(wù)的代碼編寫人員不嚴(yán)謹(jǐn)?shù)淖址拗贫鴮?dǎo)致的。當(dāng)某個(gè)站點(diǎn)允許用戶提交Java Script腳本(這在Web2.0年代非常普遍),而又沒有對(duì)這些腳本進(jìn)行嚴(yán)格分析,就有可能存在XSS漏洞。換句話說,就決定了XSS漏洞的獨(dú)特性:任何允許提交腳本的頁面都可能存在XSS漏洞,而且這些漏洞可能各不相同。
防御XSS
據(jù)萬卿介紹,目前業(yè)內(nèi)對(duì)XSS漏洞的防御一般有兩種方式。第一種方式就是代碼修改,對(duì)用戶所有提交內(nèi)容進(jìn)行驗(yàn)證,包括URL、查詢關(guān)鍵字、HTTP頭、POST數(shù)據(jù)等,僅接受指定長(zhǎng)度范圍內(nèi)、采用適當(dāng)格式、采用所預(yù)期的字符的內(nèi)容提交,對(duì)其它的一律過濾。
接下來就是實(shí)現(xiàn)Session標(biāo)記(Session Tokens)、CAPTCHA系統(tǒng)或者HTTP引用頭檢查,以防功能被第三方網(wǎng)站所執(zhí)行。最后一步就是確認(rèn)接收的的內(nèi)容被妥善的規(guī)范化,僅包含最小的、安全的Tag(沒有Javascript),去掉任何對(duì)遠(yuǎn)程內(nèi)容的引用(尤其是樣式表和Javascript),使用HTTP的Cookie。
但要指出的是,這種方法將降低Web業(yè)務(wù)的交互能力,用戶僅能提交少量指定的字符,不適應(yīng)那些交互性要求較高的業(yè)務(wù)系統(tǒng)。而且Web業(yè)務(wù)的編碼人員很少有受過正規(guī)的安全培訓(xùn),即便是專業(yè)的安全公司,由于側(cè)重點(diǎn)的不同,也很難完全避免XSS:2008年1月,xssed.com的一份報(bào)告指出McAfee、Symantec、VeriSign這三家安全公司的官方站點(diǎn)存在約30個(gè)XSS漏洞。
第二種方式就是部署專業(yè)的防御設(shè)備,目前較為流行的有入侵防御產(chǎn)品,利用的就是入侵防御產(chǎn)品對(duì)應(yīng)用層攻擊的檢測(cè)防御能力。用戶在選擇相應(yīng)的產(chǎn)品之前,最好先了解一下相關(guān)產(chǎn)品的XSS、SQL注入等Web威脅的檢測(cè)方式,有一些入侵防御產(chǎn)品采用的還是傳統(tǒng)的特征匹配方法,如對(duì)經(jīng)典的XSS攻擊----IMG SRC="javascript:alert('XSS');"----來說,就是定義“Javascript”這個(gè)關(guān)鍵字進(jìn)行檢索,一旦發(fā)現(xiàn)提交信息中包含“Javascript”,就認(rèn)定為XSS攻擊。
這種模式匹配的方法缺點(diǎn)顯而易見:通過編碼或插入TAB鍵方式可以輕易躲避,而且還存在極大的誤報(bào)可能,如"http://www.xxx.com/javascript/kkk.asp?id=2345"這樣一個(gè)URL,由于包含了關(guān)鍵字“Javascript”,也將會(huì)觸發(fā)報(bào)警。
對(duì)此萬卿表示,比較好的方式是選擇那些基于攻擊手法或者說基于攻擊原理檢測(cè)的入侵防御產(chǎn)品。比如沒有采用傳統(tǒng)的特征匹配方式,而是采用了行為特征分析方式,通過分析XSS所有可能的攻擊手法,建立一個(gè)XSS攻擊行為庫來分析判斷XSS攻擊。采用了這種方法的入侵防御產(chǎn)品可以避免傳統(tǒng)安全產(chǎn)品在XSS攻擊檢測(cè)上的漏報(bào)和誤報(bào),實(shí)現(xiàn)精確阻斷,為面臨XSS威脅的廣大網(wǎng)絡(luò)管理員提供一個(gè)很好的選擇。以上的相關(guān)內(nèi)容就是對(duì)跨站腳本攻擊XSS挑戰(zhàn)Web安全很瘋狂的介紹,望你能有所收獲。
【編輯推薦】