架構(gòu)師需把HTML5安全排首位之HTML5安全問題集錦
新的性能同時(shí)也意味著新的挑戰(zhàn),網(wǎng)絡(luò)開發(fā)人員和管理員需要將HTML5安全性視為重中之重的問題。
HTML5作為一種約定俗成的標(biāo)準(zhǔn),推出了具有商業(yè)價(jià)值的基于PC瀏覽器的應(yīng)用程序新服務(wù),這同時(shí)也是移動(dòng)應(yīng)用程序領(lǐng)域內(nèi)最具影響力的舉動(dòng)。針對(duì)HTML5安全性,企業(yè)架構(gòu)師們需要采用一種謹(jǐn)慎而又全局的方法,以確保在缺陷問題出現(xiàn)之前就已經(jīng)設(shè)計(jì)出應(yīng)對(duì)方案。
“移動(dòng)戰(zhàn)略合作伙伴”的創(chuàng)始人、互聯(lián)網(wǎng)安全咨詢師 David Eads觀察到:“當(dāng)越來越多的人以一種安全的方式來提高移動(dòng)應(yīng)用程序的速度時(shí),HTML5安全問題就得到了改善。但是,仍然還有很長的一段路要走,而且會(huì)越走越快。你需要找一個(gè)切入點(diǎn)來獲取這個(gè)重要的突破口。”
企業(yè)架構(gòu)師們需要以企業(yè)軟件開發(fā)生命周期為核心來推出最佳的開發(fā)戰(zhàn)略,以此來提升應(yīng)用HTML5安全性。確保網(wǎng)絡(luò)應(yīng)用和服務(wù)器是否正確以及安全配置是否合理是非常重要的工作環(huán)節(jié)。大多數(shù)新開發(fā)的技術(shù)在網(wǎng)絡(luò)應(yīng)用或者服務(wù)器設(shè)置中都非常脆弱、容易受到攻擊,這可以通過改進(jìn)和禁用功能來解決種問題。Jerome Segura是Malwarebytes Labs的安全研究主管,他說:“不幸的是,這個(gè)問題取決于網(wǎng)絡(luò)開發(fā)人員和管理者是否能做好安全資源工作,當(dāng)然,這就意味著他們能否真正意識(shí)到其中的威脅。”
HTML5安全問題集錦
HTML5為標(biāo)準(zhǔn)瀏覽器應(yīng)用程序帶來了許多新功能,這些功能可以跨瀏覽器、跨客戶端運(yùn)行。然而,早期歐洲網(wǎng)絡(luò)信息安全局就發(fā)現(xiàn)了51個(gè)主要缺陷。
Geoffrey Vaughan是Security Compass公司的一名安全咨詢師,同時(shí)也是安全工具的供應(yīng)商,HTML5中包含一系列新的缺陷,而且比一般標(biāo)準(zhǔn)更脆弱、更容易出現(xiàn),其中包括安全配置錯(cuò)誤問題、跨站點(diǎn)腳本攻擊(XSS),它們可以進(jìn)入本地存儲(chǔ)、套件或者跨框架的腳本中:
在多配置平臺(tái)中更容易出現(xiàn)安全配置錯(cuò)誤和跨域資源共享(CORS)問題。所以多配置開發(fā)平臺(tái)在預(yù)配置環(huán)節(jié)中都會(huì)存在安全漏洞,這就意味著,如果配置沒有經(jīng)過“淬火”處理,那么應(yīng)用程序中會(huì)出現(xiàn)漏洞。
XSS更具攻擊性,因?yàn)椋梢宰尵W(wǎng)絡(luò)應(yīng)用程序具有本機(jī)訪問的功能。HTML 5應(yīng)用程序可以識(shí)別Java腳本,同時(shí)也可以訪問獲取到特殊的標(biāo)簽來訪問本地phone元素。如果攻擊者能夠利用XSS進(jìn)行攻擊,那么他們可能獲取到更多個(gè)人資源的訪問權(quán)限。
企業(yè)開發(fā)HTML5的額外存儲(chǔ)功能,就會(huì)引入更多的安全問題。其中存在的主要風(fēng)險(xiǎn)就是,如果你將一些敏感的數(shù)據(jù)存儲(chǔ)到設(shè)備中,并且數(shù)據(jù)丟失、被盜或者被破壞,那么數(shù)據(jù)就很容易被泄露。
HTML5可以跨框架和層級(jí)進(jìn)行操作,因此簡化了Web應(yīng)用程序的開發(fā)過程。這個(gè)特點(diǎn)再加上CORS方法,使得HTML5應(yīng)用程序與傳統(tǒng)的HTML規(guī)格相比更容易引起套件風(fēng)險(xiǎn)。這種風(fēng)險(xiǎn)是比較顯著的,但是對(duì)于移動(dòng)應(yīng)用程序來說,這種風(fēng)險(xiǎn)又很容易被隱藏起來。例如導(dǎo)航和URL欄這些瀏覽器元件中都很容易隱藏風(fēng)險(xiǎn)。
WebSockets協(xié)議中將一種新的矢量輸運(yùn)理論引入到企業(yè)架構(gòu)中。Wedge Network公司的系統(tǒng)架構(gòu)主管以及安全工具供應(yīng)商Joe Bulman 說:“這就意味著,原本對(duì)‘本地防病毒軟件或者Web應(yīng)用程序防火墻’具有防御作用的HTTP感知將不會(huì)輕易地就能夠?qū)νㄐ诺奶匦赃M(jìn)行分類。”
安全教育必不可少
Neohapsis安全、風(fēng)險(xiǎn)咨詢公司的高級(jí)總監(jiān) Mark Hammond認(rèn)為,企業(yè)在進(jìn)行開發(fā)人員培訓(xùn)時(shí)應(yīng)該考慮進(jìn)行一堂安全教育課程。其中包括訪問控制破壞、注入和CORS攻擊。開發(fā)人員同時(shí)也應(yīng)該考慮研究使用環(huán)境安全政策,從而有助于減少這些攻擊。
Bulman說,進(jìn)行一次包括正規(guī)應(yīng)用程序安全習(xí)慣在內(nèi)的訓(xùn)練也是非常重要的。開發(fā)人員需要熟知一些安全標(biāo)準(zhǔn)(如OWASP)和一些相關(guān)的安全工具、安全庫以及較佳的實(shí)踐方法,例如滲透測試。他說:“在一種安全的應(yīng)用程序開發(fā)過程中,例如本地存儲(chǔ)和跨域腳本這樣強(qiáng)大的HTML5功能可以安全地部署在應(yīng)用程序中。”