韓多成
摘 要:HTML5的推廣與應(yīng)用帶給了瀏覽器更多功能,屬于Web應(yīng)用最新標(biāo)準(zhǔn)。但同時(shí)HTML5新特性存在安全隱患,由不同新特性安全問題構(gòu)成。文章結(jié)合功能不同對(duì)HTML5標(biāo)簽和表單、通信、離線應(yīng)用的問題探究,將HTML5安全問題總結(jié)為不同類型,指出了HTML5安全研究今后發(fā)展,即:新特性安全性、惡意檢驗(yàn)、新安全應(yīng)用等。
關(guān)鍵詞:HTML5;新特性;安全
如今,Web成為人們生活、工作重要組成部分,例如網(wǎng)購(gòu)、銀行業(yè)務(wù)、新聞?dòng)^看、社交等。伴隨著人們需求的多元化,HTML5的出現(xiàn)有效滿足了人們多元化的需求。盡管HTML5應(yīng)用形式更為多樣化,但其安全性也隨之出現(xiàn),以往Web安全問題在HTML5條件下形成了新的發(fā)展。同時(shí),XML HttpRequest2,Web Storage等新API引進(jìn)了新的跨源、標(biāo)簽通信風(fēng)險(xiǎn)[1]。HTML5安全問題與瀏覽器有著密切聯(lián)系,因此,各國(guó)紛紛對(duì)HTML5新特性安全展開研究。
1 HTML5新特性安全研究
筆者結(jié)合新特性功能差異分析其安全現(xiàn)狀??缯军c(diǎn)腳本因其普遍性,可以作為其他侵入的決定條件,因此進(jìn)行單獨(dú)分析。另一方面,分析確保其完整性以及HTML5有關(guān)安全問題。
1.1 標(biāo)簽和表單
安卓平臺(tái)HTML5 APP發(fā)現(xiàn)了存在XSS供給。因此,也應(yīng)列為今后研究課題之一,例如:HTML5在移動(dòng)終端、WebTV等平臺(tái)安全、隱私保護(hù)、恢復(fù)力。HTML5對(duì)HTML解析器進(jìn)行規(guī)范,對(duì)其新的內(nèi)容展開定義,例如音視頻標(biāo)簽,MathML等。同時(shí),豐富原有表單、內(nèi)嵌窗口屬性。其內(nèi)容不僅帶有跨站點(diǎn)腳本威脅外,也會(huì)帶有其他風(fēng)險(xiǎn)。Iframe的sandbox屬性可以設(shè)定是否允許內(nèi)嵌窗口執(zhí)行腳本,進(jìn)而讓攻擊人員展開UI欺騙過程中越過FrameBusting檢驗(yàn)。HTML5增加表單功能也帶來(lái)了新的風(fēng)險(xiǎn),例如:autocomplete屬性提供自動(dòng)完成功能,讓W(xué)eb結(jié)合表單ID把輸入信息儲(chǔ)存在文檔中,為用戶提供方便,也與同源策略背道而馳,容易導(dǎo)致表單隱私外泄。不過,研發(fā)人員依然要在服務(wù)器終端對(duì)輸入展開認(rèn)證,忽略造成的安全風(fēng)險(xiǎn)。Formaction屬性涵蓋了form的action屬性,侵入者如果可以對(duì)表單輸入其屬性,就能夠操作表單提供的地址。同時(shí),因?yàn)椴⒎悄_本注入,因此不能受到CSP的保護(hù)[2]。
HTML5新標(biāo)簽豐富性造成的安全問題也是多元化的,為侵入者越過防御提供了條件,也容易導(dǎo)致研發(fā)者應(yīng)用過程中出現(xiàn)新的問題,例如資料外泄、表單注入。現(xiàn)階段,新標(biāo)簽安全性問題想要展開系統(tǒng)的研究,具有一定困難,需要以打補(bǔ)丁方式展開,有待進(jìn)一步研究其安全問題。例如各終端瀏覽器中的不同展現(xiàn)方式。
1.2 通信功能
1.2.1 postMessage API
立足于安全性問題考量,運(yùn)營(yíng)在相同瀏覽器的窗口間、標(biāo)簽頁(yè)的通信存在不同影響因素;實(shí)際合理需求使不同站點(diǎn)內(nèi)容可以在瀏覽器中交互。HTML5為跨文檔信息機(jī)制創(chuàng)造了postMessage API,進(jìn)而達(dá)到窗口通信、標(biāo)簽頁(yè)功能。利用響應(yīng)事件接受信息,經(jīng)過檢查信息來(lái)源判斷是否需要科學(xué)處理。對(duì)此,一些人進(jìn)行了研究,發(fā)現(xiàn)新型瀏覽器在設(shè)置postMessage技術(shù)過程中客戶端通信協(xié)議發(fā)生安全問題;具體origin源認(rèn)證發(fā)生漏洞,給了侵入者可乘之機(jī)。針對(duì)這一問題,提供跨文檔消息輸送形式SafePM確保安全性。
1.2.2 XMLHttpRequest2
XMLHttpRequest2 API為Ajax技術(shù)的應(yīng)用創(chuàng)造了條件,作為其修改后的版本,XHR2具有跨源與進(jìn)度事件功能??缭粗С忠矠镃SRE提供了條件,經(jīng)過XHR2目標(biāo)的setRequestHeader設(shè)定Content-type,multi/form-data,把屬性WithCredentials設(shè)定true,進(jìn)而實(shí)現(xiàn)cookie重放展開攻擊。
現(xiàn)階段,不同地區(qū)對(duì)postMessageAPI與WebSocket安全性展開研究,同時(shí)得到了推廣與應(yīng)用。其中,對(duì)postMessage的分析包括研發(fā)人員安全使用與瀏覽器bug,以及其他安全問題中的展現(xiàn)與新惡意使用形式。XHR2基于XHR下進(jìn)行提升,分析集中于跨源新特性帶來(lái)的風(fēng)險(xiǎn)。通信API包含客戶端和服務(wù)端,分析服務(wù)端達(dá)到安全性問題,也是其今后發(fā)展主導(dǎo)。
1.3 離線使用和保存
1.3.1 本地儲(chǔ)存API
WebStorage作為HTML新增的本地儲(chǔ)存有效形式,相對(duì)于cookie,WebStorage降低了通信流量,減少了被監(jiān)聽的風(fēng)險(xiǎn)。WebStorage應(yīng)用單一的字符串鍵值對(duì)本地儲(chǔ)存信息,具有簡(jiǎn)單簡(jiǎn)便的特點(diǎn)。不過,針對(duì)較大結(jié)構(gòu)化數(shù)據(jù)儲(chǔ)存具有一定困難。IndexedDB可以在客戶端儲(chǔ)存較大的結(jié)構(gòu)化數(shù)據(jù),同時(shí)檢索效果顯著。
1.3.2 應(yīng)用程序緩存
伴隨著互聯(lián)網(wǎng)的推廣與應(yīng)用,成為人們生活、工作重要組成部分。不過,在實(shí)際應(yīng)用中偶爾出現(xiàn)網(wǎng)絡(luò)中斷問題;而通過HTML5引進(jìn)應(yīng)用程序緩存,防止程序加載過程中的正常網(wǎng)絡(luò)請(qǐng)求。若緩存清單文件是最新的,瀏覽器則無(wú)需檢驗(yàn)氣態(tài)資源是否為最新,這樣一來(lái)能夠節(jié)省帶寬,快速進(jìn)入頁(yè)面,也降低服務(wù)器荷載。
2 HTML5新特性安全性劃分
現(xiàn)階段,安全界對(duì)HTML5安全性給予了高度重視,可以劃分為2類。
(1)對(duì)某個(gè)特性展開分析,例如,發(fā)現(xiàn)新的惡意形式、API自身存在問題、應(yīng)用漏洞等。其中,通信API與離線應(yīng)用、儲(chǔ)存關(guān)注較多,該方面是因?yàn)槠涮匦宰陨韽?fù)雜性,本地儲(chǔ)存客戶端的實(shí)現(xiàn),應(yīng)用程序緩存的長(zhǎng)久性與時(shí)間機(jī)制全部引進(jìn)了安全風(fēng)險(xiǎn)。一方面因?yàn)閼?yīng)用廣泛性,例如:postMessage在應(yīng)用對(duì)源驗(yàn)證漏洞。多媒體類特性也具有一定復(fù)雜性,包含到腳本接口和硬件連接特性,生成一些安全問題。屬性和設(shè)備訪問類特性因?yàn)樽陨硖卣?,其研究集中于社?huì)工程學(xué)的隱私泄露。標(biāo)簽和表單時(shí)常引入新的注入供給,供給思路固定,預(yù)防措施成熟受到了重視。
(2)主要是安全使用建議與整體安全分析、以往問題的總結(jié)、安全檢測(cè)等。例如HTML5總體展開安全性研究,把HTML5安全問題劃分成3類:HTML5安全泄漏、新型供給機(jī)制、新特性濫用。通過調(diào)查得出挖掘思路,基于漏洞出現(xiàn)原因分析能夠把HTML5安全問題劃分3類。①受傳統(tǒng)因素影響,即Web供給思路延伸至HTML5應(yīng)用,對(duì)原來(lái)預(yù)防制度造成影響。例如:新標(biāo)簽帶來(lái)的XSS對(duì)黑名單過濾出現(xiàn)挑戰(zhàn),移動(dòng)端HTML5 APP出現(xiàn)的XSS等。這種問題重點(diǎn)關(guān)注新供給和傳統(tǒng)供給在思路上是否相同。②新功能的惡意使用,即:新特性在提供研發(fā)便利條件過程中,為攻擊者提供了新的供給方法。③新特性錯(cuò)誤出現(xiàn)漏洞,即:研發(fā)人員在應(yīng)用新特性過程中因?yàn)閷?duì)新功能缺少了解,未對(duì)安全漏洞有所重視。例如:應(yīng)用CORS過程中缺乏對(duì)源的校正與數(shù)據(jù)檢驗(yàn)[3]。
3 HTML5新特性安全展望
現(xiàn)階段,HTML5標(biāo)準(zhǔn)體系趨于成熟,其安全性研究給予了大量投入,包含一些漏洞與研究成果。XML HttpRequest2,Web Storage等新API引進(jìn)了新的跨源、標(biāo)簽通信風(fēng)險(xiǎn)。接下來(lái),筆者就今后HTML5新特性安全研究展開分析。
3.1 新特性安全性
伴隨著HTML5的規(guī)范化發(fā)展,安全性研究同步發(fā)展。不過,在其新特性自身研究上仍然存在諸多問題,集中于兩點(diǎn):(1)雖然研發(fā)人員對(duì)一些新特性展開研究。不過,在Web高速發(fā)展的同時(shí)新特性也有了新的發(fā)展;例如:W3C推出Web Storage第二版,持續(xù)推出的新特性具有適用性廣與修補(bǔ)安全性,同時(shí)也出現(xiàn)了新的安全問題,有待優(yōu)化。(2)一些特性的安全性缺少綜合性考量,研究的特性不能規(guī)避其他惡意使用形式。例如:通信API服務(wù)端、多媒體API的底層兼容。
不同新特性應(yīng)用在瀏覽器中逐漸趨于復(fù)雜性。因此,對(duì)不同特性隱藏的安全性問題依然是今后研究重點(diǎn),其中包含隱私保護(hù)、新惡意使用形式、平臺(tái)差異等。筆者建議通過差異化形式對(duì)新的安全問題進(jìn)行研究。
3.2 惡意使用檢測(cè)
現(xiàn)階段,研究多集中于發(fā)現(xiàn)一個(gè)問題處理一個(gè)問題,具有局限性。一些研究注重現(xiàn)存在的漏洞檢驗(yàn),缺乏對(duì)HTML5惡意使用檢驗(yàn)與預(yù)防措施,考量惡意行為建模研究、特征提取,設(shè)備學(xué)習(xí)等方法,依據(jù)入侵檢驗(yàn)系統(tǒng)形式。
3.3 跨平臺(tái)安全性
W3C集中于統(tǒng)一不同平臺(tái)的Web標(biāo)準(zhǔn),便于研發(fā)功能多樣的Web應(yīng)用流程。但是,各平臺(tái)、終端有著不同的標(biāo)準(zhǔn),進(jìn)而埋下安全隱患。移動(dòng)網(wǎng)絡(luò)與物聯(lián)網(wǎng)的快速發(fā)展讓HTML5得到了應(yīng)用,瀏覽器也趨于多樣化,一些智能設(shè)備中也安裝了Web程序。這樣一來(lái),一些智能設(shè)備也會(huì)存在安全問題,例如:設(shè)備訪問API在各硬件特性平臺(tái)中存在隱患[4]?,F(xiàn)階段,安卓平臺(tái)HTML5 APP發(fā)現(xiàn)了存在XSS供給。因此,也應(yīng)列為今后研究課題之一,例如:HTML5在移動(dòng)終端和WebTV等平臺(tái)安全、隱私保護(hù)、恢復(fù)力。
4 結(jié)語(yǔ)
總而言之,Web現(xiàn)已得到了廣泛應(yīng)用,對(duì)HTML5安全性有著重要作用與意義。筆者圍繞HTML5新特性安全性,首先綜合國(guó)內(nèi)外研究分析,隨后結(jié)合功能不同分析HTML5不同新特性安全漏洞。同時(shí),將HTML5安全問題劃分為不同類型。最后,進(jìn)一步分析了其未來(lái)發(fā)展的安全問題。
[參考文獻(xiàn)]
[1]張玉清,賈巖,雷柯楠,等.HTML5新特性安全研究綜述[J].計(jì)算機(jī)研究與發(fā)展,2016(10):2163-2172.
[2]趙學(xué)銘,王剛.基于HTML5的交互式移動(dòng)學(xué)習(xí)平臺(tái)研究[J].現(xiàn)代教育技術(shù),2016(9):106-112.
[3]王淑慶,韓勇,張小壘,等.基于HTML5的時(shí)空軌跡動(dòng)態(tài)可視化方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2015(12):15.
[4]徐久成,孔德宇,駱陽(yáng)陽(yáng).基于HTML5的移動(dòng)在線教育平臺(tái)學(xué)習(xí)支持技術(shù)[J].河南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(3):143-147.