隨著SQL注入攻擊日益消沉,由于Web業(yè)務(wù)的代碼編寫(xiě)人員不嚴(yán)謹(jǐn)?shù)淖址拗贫鴮?dǎo)致的XSS漏洞出現(xiàn),XSS攻擊成為了一種新的安全挑戰(zhàn)。
1.什么是XSS(跨站腳本)攻擊?
XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫(xiě)混淆,故將跨站腳本攻擊縮寫(xiě)為XSS。XSS是一種經(jīng)常出現(xiàn)在Web應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意Web用戶將代碼植入到提供給其它用戶使用的頁(yè)面中,比如HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問(wèn)控制——例如同源策略(same origin policy)。這種類型的漏洞由于被駭客用來(lái)編寫(xiě)危害性更大的phishing攻擊而變得廣為人知。對(duì)于跨站腳本攻擊,黑客界共識(shí)是:跨站腳本攻擊是新型的“緩沖區(qū)溢出攻擊”,而JavaScript是新型的“ShellCode”。
XSS攻擊和前段時(shí)間甚囂塵上的SQL注入攻擊一樣,都是由于Web業(yè)務(wù)的代碼編寫(xiě)人員不嚴(yán)謹(jǐn)?shù)淖址拗贫鴮?dǎo)致的:當(dāng)某個(gè)站點(diǎn)允許用戶提交java script腳本(這在Web2.0年代非常普遍),而又沒(méi)有對(duì)這些腳本進(jìn)行嚴(yán)格分析,就有可能存在XSS漏洞。這就決定了XSS漏洞的獨(dú)特性:任何允許提交腳本的頁(yè)面都可能存在XSS漏洞,而且這些漏洞可能各不相同。
2.如何防御XSS攻擊?
業(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ì)其它的一律過(guò)濾。接下來(lái)就是實(shí)現(xiàn)Session標(biāo)記(session tokens)、CAPTCHA系統(tǒng)或者HTTP引用頭檢查,以防功能被第三方網(wǎng)站所執(zhí)行。最后一步就是確認(rèn)接收的的內(nèi)容被妥善的規(guī)范化,僅包含最小的、安全的Tag(沒(méi)有javascript),去掉任何對(duì)遠(yuǎn)程內(nèi)容的引用(尤其是樣式表和javascript),使用HTTP only的cookie。
但這種方法將降低Web業(yè)務(wù)的交互能力,用戶僅能提交少量指定的字符,不適應(yīng)那些交互性要求較高的業(yè)務(wù)系統(tǒng)。而且Web業(yè)務(wù)的編碼人員很少有受過(guò)正規(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攻擊來(lái)說(shuō),就是定義“javascript”這個(gè)關(guān)鍵字進(jìn)行檢索,一旦發(fā)現(xiàn)提交信息中包含“javascript”,就認(rèn)定為XSS攻擊。這種模式匹配的方法缺點(diǎn)顯而易見(jiàn):通過(guò)編碼或插入TAB鍵方式可以輕易躲避,而且還存在極大的誤報(bào)可能,如“http://www.xxx.com/javascript/kkk.asp?id=2345”這樣一個(gè)URL,由于包含了關(guān)鍵字“javascript”,也將會(huì)觸發(fā)報(bào)警。
比較好的方式是選擇那些基于攻擊手法或者說(shuō)基于攻擊原理檢測(cè)的入侵防御產(chǎn)品。啟明星辰公司于近期發(fā)布天清入侵防御系統(tǒng)的新版本,沒(méi)有采用傳統(tǒng)的特征匹配方式,而是采用了行為特征分析方式,通過(guò)分析XSS所有可能的攻擊手法,建立一個(gè)XSS攻擊行為庫(kù)來(lái)分析判斷XSS攻擊。采用了這種方法的入侵防御產(chǎn)品可以避免傳統(tǒng)安全產(chǎn)品在XSS攻擊檢測(cè)上的漏報(bào)和誤報(bào),實(shí)現(xiàn)精確阻斷,為面臨XSS威脅的廣大網(wǎng)絡(luò)管理員提供一個(gè)很好的選擇。
如果有需要服務(wù)器的租用與托管的敬請(qǐng)聯(lián)系QQ:1501281758(億恩星辰) 聯(lián)系電話:0371—63322220