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