您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)HTML5開發(fā)需要牢記的安全問題有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
應(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將會對我們需要覆蓋的攻擊面帶來怎樣的影響?
客戶端存儲
早期版本的HTML僅允許網(wǎng)站將cookies作為本地信息存儲,而這些空間相對較小,僅適用于存儲簡單的檔案信息或者作為存儲在其他位置的數(shù)據(jù)(例如會話ID)的標識符,Denim集團應(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屬性,但是標準最終確定時,這個問題才會解決,”Wysopal表示。
跨域通信
而其他版本的HTML可能直允許JavaScript發(fā)出XML HTTP請求調(diào)用回原來的服務(wù)器,而HTML5放寬了這個限制,XML HTTP請求可以發(fā)送給任何允許這種請求的服務(wù)器。當(dāng)然,如果服務(wù)器不可信任的話,這也會帶來嚴重安全問題。
“例如,我可以建立一個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ā)人員而言,必須仔細檢查以確保信息是來源于他們自己的網(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)容重放?!?
關(guān)于HTML5開發(fā)需要牢記的安全問題有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。