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