架構師需把HTML5安全排首位之新功能帶來新攻擊
前文我們介紹的企業架構師在進行HTML5開始時可能遇到的一些問題,本文將繼續介紹隨著HTML5功能的增增加,新安全性攻擊也會隨之增多。
新功能=新攻擊
安全專家們所關心的一個問題就是HTML5堆棧在移動和Web瀏覽器中都可以運行。Shreeraj Shah是一家名為 Blueinfy Solutions的網絡安全攻擊供應公司的創始人兼總監,他說:“因此,HTML5攻擊載體的類型就非常之多,會隨著不同的情況而變化不同的攻擊載體。”
有了HTML5就增多了許多不同的攻擊載體,在某些情況下,是由于新的特性而導致攻擊范圍的擴大,亦或者因為新的實施方案使得已經為人熟知的風險緩釋技術變得毫無用處。特別值得關注的是,在安全專家發現之前,黑客們是有可能發起一次攻擊的。
這些特征如下:
◆可編程的繪圖界面
◆繪制3-D圖形的WebGL
◆本地存儲
◆存儲于客戶端的數據
◆地理位置
◆操作歷史
◆跨域起源
◆媒介標志
◆環境安全政策
◆本地文件系統訪問權限
◆Web消息傳輸
◆Web工作人員
Shah解釋說:“大范圍攻擊面越來越明顯,并且隨著功能和組件的應用,安全問題也變得非常復雜。”
這個大型攻擊系統的安全問題可以讓黑客們利用HTML5組件達到啟動客戶端攻擊的目的,例如XSS和CSRF,這些是Web應用漏洞中OWASP排名前十的攻擊。Shah指出,由于在創立瀏覽器時,HTML5數據存儲以及系統文件中會存有一些用戶的重要信息,因此HTML5可以讓黑客們利用XSS漏洞來盜取用戶信息。畫布、操作歷史以及一些其他功能特性都屬于個人隱私范疇。例如,指紋識別界面就被用于識別特定的瀏覽者。
Shah提出,HTML5應用還擴大了應用程序后端服務器受攻擊的范圍。HTML5主要是利用 JSON、SOAP 或者 REST這些SOA后端來獲取JavaScript的。屏幕顯示、業務邏輯以及數據訪問層之間的界限變小了,許多組件也都是Java腳本、HTML5的一部分。Shah說:“因此,可以對業務邏輯進行反工程剖析。攻擊者們能夠執行和利用真正的業務功能層”
緩存及本地存儲
HTML5新功能使得客戶端上的數據存儲變得更容易。這些本地存儲技術兌現了應用程序性能提速以及允許應用程序離線操作的諾言。如果沒有正確的管理、安全及加密處理,那么惡意黑客就會獲取到一份相同的數據。
Eads認為,盡管客戶端上的數據有了安全和加密工具的保護,但是,這些工具卻無法起到故障防護的作用。“我們已經證明,該數據并非牢不可破。在大多數案例中都證實,將數據存儲與客戶端上太冒險了。同樣的,從管理的角度來考慮,我們還沒有發現將數據存儲在客戶端上的優勢。”
Eads指出,在一些案例中,尤其是iOS操作平臺上,本地應用可以為本地存儲帶來更好的安全性。但是另一個方面,Android平臺更常見的是root操作,這樣可以避免一些平臺內部的安全措施。
當企業對用戶使用移動設備管理(MDM)工具和移動應用程序管理 (MAM)工具有更大的控制權時,Eads確實也認為其打破了慣例。他說:“有了MDM 和 MAM可以降低控制。一種設計較佳的系統架構是能夠在適當時候進行控制。但是,有些企業將數據存儲在客戶端上,卻未能進行有效的控制,因此他們就會面臨非常嚴重的風險。”
第三方代碼(了解代碼庫)
許多企業都開始轉向開發HTML5函數庫,他們想要縮短時間和提高新應用的質量。而如果函數庫中存在風險,或者如果代碼源被黑客攻擊,那么這種做法就會帶來許多問題。對于大多數HTML5應用來說,包括第三方代碼在內的所有JavaScript代碼都是具有同等級別的安全性。這就意味著,來自第三方函數庫的潛在安全漏洞或者故障都可以擾亂企業瀏覽器的運行時間。
Brad Carleton是TechPines應用程序開發公司的創始人兼CTO,他認為:“使用越多的函數庫,安全問題就會變得越復雜。我要說的是,最好的安全防御措施是在使用之前對所有的第三方代碼進行徹底的審查。在一些特殊的情況下,許多潛在‘不被信任’的第三方代碼或許會運行于瀏覽器中,我們可以使用HTML5 Web Worker和iFrame沙箱來進行較為安全的設置。”