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