關(guān)于HTML5的安全問題開發(fā)人員需要牢記的_HTML5教程
推薦:關(guān)于HTML5的22個初級技巧(圖文教程)HTML5來了.讓我們看一下有什么技巧
應(yīng)用程序安全專家表示,HTML5給開發(fā)人員帶來了新的安全挑戰(zhàn)。蘋果公司與Adobe公司之間的口水戰(zhàn)帶來對HTML 5命運的諸多猜測,盡管HTML 5的實現(xiàn)還有很長的路要走,但可以肯定的一點是,運用HTML 5的開發(fā)人員將需要為應(yīng)用程序安全開發(fā)生命周期部署新的安全功能以應(yīng)對HTML5帶來的安全挑戰(zhàn)。
那么HTML5將會對我們需要覆蓋的攻擊面帶來怎樣的影響?本文將探討關(guān)于HTML 5幾個重要安全問題。
客戶端存儲
早期版本的HTML僅允許網(wǎng)站將cookies作為本地信息存儲,而這些空間相對較小,僅適用于存儲簡單的檔案信息或者作為存儲在其他位置的數(shù)據(jù)(例如會話ID)的標(biāo)識符,Denim集團(tuán)應(yīng)用程序安全研究部門的主管Dan Cornell表示。然而,HTML5 LocalStorage則允許瀏覽器本地存儲大量據(jù)庫,允許使用新類型應(yīng)用程序。
“隨之而來的風(fēng)險就是,敏感數(shù)據(jù)可能被存儲在本地用戶工作站,而物理訪問或者破壞該工作站的攻擊者,就能夠輕松獲得敏感數(shù)據(jù),”Cornell表示,“這對于使用共享計算機的用戶更加危險。”
“從定義上來說,它真的只是能夠在客戶端系統(tǒng)存儲信息,”Rapid7公司的安全研究人員Josh Abraham表示,“那么你就具備基于客戶端SQL注入攻擊的潛在能力,或者可能你的某個客戶端的數(shù)據(jù)庫是惡意的,當(dāng)與生產(chǎn)系統(tǒng)同步時,則可能出現(xiàn)同步問題,或者客戶端的潛在惡意數(shù)據(jù)將被插入到生產(chǎn)系統(tǒng)。”
為了解決這個問題,開發(fā)人員需要能夠驗證數(shù)據(jù)是否為惡意的,這其實是個很復(fù)雜的問題。
對于這個問題的重要性并不是所有人都贊同。Veracode公司首席技術(shù)官Chris Wysopal表示,例如web應(yīng)用程序通過使用插件或者瀏覽器擴展存儲數(shù)據(jù)客戶端就一直存在很多方法。
“有很多已知的方法可以操控目前部署的HTML5 SessionStorage屬性,但是標(biāo)準(zhǔn)最終確定時,這個問題才會解決,”Wysopal表示。
跨域通信
而其他版本的HTML可能直允許JavaScript發(fā)出XML HTTP請求調(diào)用回原來的服務(wù)器,而HTML5放寬了這個限制,XML HTTP請求可以發(fā)送給任何允許這種請求的服務(wù)器。當(dāng)然,如果服務(wù)器不可信任的話,這也會帶來嚴(yán)重安全問題。
“例如,我可以建立一個mashup(糅合,將兩種以上使用公共或者私有數(shù)據(jù)庫的web應(yīng)用合并形成一個整合應(yīng)用)通過 JSON(Javascript Object Notation)將第三方網(wǎng)站的比賽比分拉過來,”Cornell表示,“這個網(wǎng)站可能會發(fā)送惡意數(shù)據(jù)到我的用戶瀏覽器正在運行的應(yīng)用程序上。雖說 HTML5允許新類型的應(yīng)用程序的建立,但如果開發(fā)人員在開始使用這些功能時,并不理解他們所建立的應(yīng)用程序的安全意義,那么將會給用戶帶來很大安全風(fēng)險。”
對于依賴于PostMessage()來編寫應(yīng)用程序的開發(fā)人員而言,必須仔細(xì)檢查以確保信息是來源于他們自己的網(wǎng)站,否則來自其他網(wǎng)站的惡意代碼可能會制造惡意信息,Wysopal補充說。這個功能本身并不是安全的,開發(fā)人員已經(jīng)開始使用不同的DOM(文檔對象模型)/瀏覽器功能來效仿跨域通訊。
另一個相關(guān)問題是,萬維網(wǎng)聯(lián)盟目前為跨源資源共享設(shè)計提供了一種使用類似與跨域機制繞過同源政策的方法。
“IE部署的安全功能與Firefox、Chrome以及Safari都不相同,”他指出,“開發(fā)人員需要確保他們創(chuàng)建過于寬松訪問控制列表的危害,特別是因為某些參考代碼目前非常不安全。
Iframe安全
從安全角度來看,HTML5也有不錯的功能,例如計劃支持iframe的沙盒屬性。
“這個屬性將允許開發(fā)者選擇數(shù)據(jù)如何解譯的方式,”Wysopal表示,“不幸的是,與大部分HTML一樣,這個設(shè)計很可能被開發(fā)人員誤解,很可能因為不便于使用而被開發(fā)人員禁用。如果處理得當(dāng),這個功能將能夠幫助抵御惡意第三方廣告或者防止不可信任內(nèi)容重放。”
分享:開發(fā)人員所需要知道的HTML5性能分析面面觀以下這篇文章是由一位名為張黎明的IT技術(shù)人員所寫,其發(fā)表于InfoQ的網(wǎng)頁上。這次他在全文里面從9個不同的方面分析HTML5的性能,還是很值得相應(yīng)的開發(fā)人員閱讀的。
相關(guān)HTML5教程:
- 只要五步 就可以用HTML5/CSS3快速制作便簽貼特效(圖)
- 網(wǎng)易微博Web App用HTML5開發(fā)的過程介紹
- HTML5 對各個標(biāo)簽的定義與規(guī)定:body的介紹
- 關(guān)于HTML5的22個初級技巧(圖文教程)
- 開發(fā)人員所需要知道的HTML5性能分析面面觀
- HTML5 Web Database 數(shù)據(jù)庫的SQL語句的使用方法
- HTML5實踐-圖片設(shè)置成灰度圖
- HTML5安全介紹之內(nèi)容安全策略(CSP)簡介
- HTML5 Web存儲方式的localStorage和sessionStorage進(jìn)行數(shù)據(jù)本地存儲案例應(yīng)用
- Bootstrap 學(xué)習(xí)分享
- input元素的url類型和email類型簡介
- HTML5自定義data-* data(obj)屬性和jquery的data()方法的使用
HTML5教程Rss訂閱Div+Css教程搜索
HTML5教程推薦
- html5 Canvas畫圖教程(4)—未閉合的路徑及漸變色的填充方法
- html5 web本地存儲將取代我們的cookie
- 突襲HTML5之Javascript API擴展3—本地存儲全新體驗
- html5 canvas-2.用canvas制作一個猜字母的小游戲
- input元素的url類型和email類型簡介
- HTML5中微數(shù)據(jù)概述及在搜索引擎中的使用舉例
- html5 Canvas畫圖教程(1)—畫圖的基本常識
- HTML5之SVG 2D入門6—視窗坐標(biāo)系與用戶坐標(biāo)系及變換概述
- HTML5安全介紹之內(nèi)容安全策略(CSP)簡介
- HTML5之SVG 2D入門7—SVG元素的重用與引用
- 相關(guān)鏈接:
- 教程說明:
HTML5教程-關(guān)于HTML5的安全問題開發(fā)人員需要牢記的
。