您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關HTML5開發需要牢記的安全問題有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
應用程序安全專家表示,HTML5給開發人員帶來了新的安全挑戰。
蘋果公司與Adobe公司之間的口水戰帶來對HTML 5命運的諸多猜測,盡管HTML 5的實現還有很長的路要走,但可以肯定的一點是,運用HTML 5的開發人員將需要為應用程序安全開發生命周期部署新的安全功能以應對HTML5帶來的安全挑戰。
那么HTML5將會對我們需要覆蓋的攻擊面帶來怎樣的影響?
客戶端存儲
早期版本的HTML僅允許網站將cookies作為本地信息存儲,而這些空間相對較小,僅適用于存儲簡單的檔案信息或者作為存儲在其他位置的數據(例如會話ID)的標識符,Denim集團應用程序安全研究部門的主管Dan Cornell表示。然而,HTML5 LocalStorage則允許瀏覽器本地存儲大量據庫,允許使用新類型應用程序。
“隨之而來的風險就是,敏感數據可能被存儲在本地用戶工作站,而物理訪問或者破壞該工作站的攻擊者,就能夠輕松獲得敏感數據,”Cornell表示,“這對于使用共享計算機的用戶更加危險。”
“從定義上來說,它真的只是能夠在客戶端系統存儲信息,”Rapid7公司的安全研究人員Josh Abraham表示,“那么你就具備基于客戶端SQL注入攻擊的潛在能力,或者可能你的某個客戶端的數據庫是惡意的,當與生產系統同步時,則可能出現同步問題,或者客戶端的潛在惡意數據將被插入到生產系統。”
為了解決這個問題,開發人員需要能夠驗證數據是否為惡意的,這其實是個很復雜的問題。
對于這個問題的重要性并不是所有人都贊同。Veracode公司首席技術官Chris Wysopal表示,例如web應用程序通過使用插件或者瀏覽器擴展存儲數據客戶端就一直存在很多方法。
“有很多已知的方法可以操控目前部署的HTML5 SessionStorage屬性,但是標準最終確定時,這個問題才會解決,”Wysopal表示。
跨域通信
而其他版本的HTML可能直允許JavaScript發出XML HTTP請求調用回原來的服務器,而HTML5放寬了這個限制,XML HTTP請求可以發送給任何允許這種請求的服務器。當然,如果服務器不可信任的話,這也會帶來嚴重安全問題。
“例如,我可以建立一個mashup(糅合,將兩種以上使用公共或者私有數據庫的web應用合并形成一個整合應用)通過 JSON(Javascript Object Notation)將第三方網站的比賽比分拉過來,”Cornell表示,“這個網站可能會發送惡意數據到我的用戶瀏覽器正在運行的應用程序上。雖說 HTML5允許新類型的應用程序的建立,但如果開發人員在開始使用這些功能時,并不理解他們所建立的應用程序的安全意義,那么將會給用戶帶來很大安全風險。”
對于依賴于PostMessage()來編寫應用程序的開發人員而言,必須仔細檢查以確保信息是來源于他們自己的網站,否則來自其他網站的惡意代碼可能會制造惡意信息,Wysopal補充說。這個功能本身并不是安全的,開發人員已經開始使用不同的DOM(文檔對象模型)/瀏覽器功能來效仿跨域通訊。
另一個相關問題是,萬維網聯盟目前為跨源資源共享設計提供了一種使用類似與跨域機制繞過同源政策的方法。
“IE部署的安全功能與Firefox、Chrome以及Safari都不相同,”他指出,“開發人員需要確保他們創建過于寬松訪問控制列表的危害,特別是因為某些參考代碼目前非常不安全。
Iframe安全
從安全角度來看,HTML5也有不錯的功能,例如計劃支持iframe的沙盒屬性。
“這個屬性將允許開發者選擇數據如何解譯的方式,”Wysopal表示,“不幸的是,與大部分HTML一樣,這個設計很可能被開發人員誤解,很可能因為不便于使用而被開發人員禁用。如果處理得當,這個功能將能夠幫助抵御惡意第三方廣告或者防止不可信任內容重放。”
關于HTML5開發需要牢記的安全問題有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。