亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        瀏覽器中攔截Web攻擊的研究

        2015-07-21 14:19:57王麗錢文祥

        王麗++錢文祥

        摘要:瀏覽器是互聯(lián)網(wǎng)的重要入口,其脆弱性直接影響到用戶數(shù)據(jù)和財(cái)產(chǎn)的安全。本文在分析跨站腳本攻擊、跨站請(qǐng)求攻擊以及點(diǎn)擊劫持的攻擊方法和成因的基礎(chǔ)上,提出相應(yīng)的動(dòng)態(tài)檢測(cè)和攔截方式,從而加強(qiáng)瀏覽器的安全性。通過(guò)使用WebBrowser控件實(shí)現(xiàn)自定義瀏覽器,載入網(wǎng)頁(yè)腳本預(yù)過(guò)濾等相關(guān)模塊,實(shí)現(xiàn)防御功能。相關(guān)實(shí)驗(yàn)證明,本方案將有效提升瀏覽器安全性,減少網(wǎng)絡(luò)風(fēng)險(xiǎn)。

        關(guān)鍵詞:攻擊識(shí)別;瀏覽器安全;動(dòng)態(tài)檢測(cè)

        中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A

        文章編號(hào):1672-1098(2015)01-0060-04

        微軟推出Internet Explorer 3之時(shí)便同時(shí)開放了WebBrowser給開發(fā)者使用,開發(fā)者可以在自己的程序中使用WebBrowser控件以實(shí)現(xiàn)與瀏覽器類似的功能。

        截至2014年,服役13年之久的Internet Explorer 6由于安全性不足引發(fā)了人們的關(guān)注。微軟也多次勸告用戶升級(jí)至更高版本的瀏覽器。在版本6之后的瀏覽器中,Internet Explorer一直在增添新的安全功能。Internet Explorer 8中,微軟加入了基于請(qǐng)求字串的XSS檢測(cè)功能和對(duì)反點(diǎn)擊劫持的HTTP頭的支持;之后,Internet Explorer 9、10、11幾個(gè)版本加入了進(jìn)程層面的安全特性,例如加入硬件執(zhí)行保護(hù)、代碼地址隨機(jī)化、安全異常處理鏈以及瀏覽器的64位化。但是瀏覽器作為腳本宿主,針對(duì)腳本攻擊卻沒有更多的安全提升。因此,為了用戶的數(shù)據(jù)安全,有必要為其定制安全功能。

        1攻擊檢測(cè)

        由于網(wǎng)頁(yè)中代碼和數(shù)據(jù)的界限不明,導(dǎo)致了很多注入類的攻擊手段,針對(duì)腳本注入的跨站腳本請(qǐng)求攻擊(Cross Site Scripting,XSS,由于和層疊樣式表縮寫一樣,被改稱為XSS)。而瀏覽器自身的實(shí)現(xiàn),將導(dǎo)致表示層的攻擊,利用視覺欺騙的攻擊點(diǎn)擊劫持則是這類攻擊。而網(wǎng)站自身實(shí)現(xiàn)的不完善,則將導(dǎo)致其他針對(duì)網(wǎng)站的攻擊,例如瀏覽器中可以實(shí)現(xiàn)的跨域請(qǐng)求偽造(Cross Site Request Forgery,CSRF)。

        而超文本標(biāo)記語(yǔ)言是一個(gè)語(yǔ)法寬松的語(yǔ)言,在HTML標(biāo)簽的“屬性=值”對(duì)中,有很多字符會(huì)被瀏覽器丟棄,即使加入了也不影響執(zhí)行。Internet Explorer支持的VBScript和Javascript中,存在更多的編碼方式。由于對(duì)腳本的支持,字符和函數(shù)還可以通過(guò)Javascript的重載和庫(kù)函數(shù)、系統(tǒng)事件、對(duì)象強(qiáng)制轉(zhuǎn)換等方式獲得。

        1.1XSS的動(dòng)態(tài)檢測(cè)

        由于XSS屬于腳本注入,而且由于瀏覽器支持信息的多樣化,攻擊者注入的腳本采用普通字符比對(duì)方式將難以檢測(cè)。因此,將采用正則表達(dá)式,在用戶發(fā)出請(qǐng)求時(shí)進(jìn)行動(dòng)態(tài)檢測(cè)并修正。

        程序?qū)⒃贗nternet Explorer自帶的檢查之外再次做額外的檢查。主要檢測(cè)方式是針對(duì)請(qǐng)求字串在正文寫入的位置進(jìn)行判斷,對(duì)非文本節(jié)點(diǎn)通過(guò)Boost庫(kù)的TR1正則表達(dá)式引擎對(duì)請(qǐng)求內(nèi)容進(jìn)行正則匹配,實(shí)現(xiàn)掃描。通過(guò)導(dǎo)出mshtml.dll中的字符串組,可以得到Internet Explorer自帶的庫(kù),對(duì)其自帶的庫(kù)進(jìn)行判斷分析之后,可以知道其無(wú)法防御的攻擊方法,接著,針對(duì)這些內(nèi)容完善補(bǔ)充正則表達(dá)式即可防御攻擊者的防御。

        使用時(shí),如果用戶訪問(wèn)的請(qǐng)求匹配到了正則表達(dá)式,那么提示用戶可以選擇過(guò)濾或是繼續(xù)訪問(wèn)。如果用戶選擇過(guò)濾,程序?qū)?dòng)態(tài)刪除攻擊向量,達(dá)到動(dòng)態(tài)清除攻擊向量的作用。新增的正則表達(dá)式如表1所示。

        表1新增的正則表達(dá)式

        正則表達(dá)式作用

        (j|&[#()\[\].]x{0,1}0*(74|4a|106|6a);?)[\t]*(a|&[#()\[\].]x{0,1}0*(65|41|97|61);?)[\t]*(v|&[#()\[\].]x{0,1}0*(86|56|118|76);?)[\t]*(a|&[#()\[\].]x{0,1}0*(65|41|97|61);?)[\t]*(s|&[#()\[\].]x{0,1}0*(83|53|115|73);?)[\t]*(c|&[#()\[\].]x{0,1}0*(67|43|99|63);?)[\t]*(r|&[#()\[\].]x{0,1}0*(82|52|114|72);?)[\t]*(i|&[#()\[\].]x{0,1}0*(73|49|105|69);?)[\t]*(p|&[#()\[\].]x{0,1}0*(80|50|112|70);?)[\t]*(t|&[#()\[\].]x{0,1}0*(84|54|116|74);?)[\t]*(:|(&[#()\[\].]x?0*((58)|(3A));?)).

        過(guò)濾所有javascript:開頭的腳本和它的一切變形形式,包括八進(jìn)制、十六進(jìn)制和HTML實(shí)體編碼的轉(zhuǎn)※。

        (v|&[#()\[\].]x{0,1}0*(86|56|118|76);?)[\t]*(b|&[#()\[\].]x{0,1}0*(66|42|98|62);?)[\t]*(s|&[#()\[\].]x{0,1}0*(83|53|115|73);?)[\t]*(c|&[#()\[\].]x{0,1}0*(67|43|99|63);?)[\t]*(r|&[#()\[\].]x{0,1}0*(82|52|114|72);?)[\t]*(i|&[#()\[\].]x{0,1}0*(73|49|105|69);?)[\t]*(p|&[#()\[\].]x{0,1}0*(80|50|112|70);?)[\t]*(t|&[#()\[\].]x{0,1}0*(84|54|116|74);?)[\t]*(:|(&[#()\[\].]x?0*((58)|(3A));?)).endprint

        過(guò)濾所有vbscript:開頭的腳本和它的一切變形形式,包括八進(jìn)制、十六進(jìn)制和HTML實(shí)體編碼的轉(zhuǎn)※。

        [\S\s]*?<[-\{\}\[\]:;?/a-zA-Z0-9=+ \t\"\'`\n]+?[ /]{1}style[ \t]*=[ \t]*[\"'`]*[\S\s]+?[\n\t]*:[ \\t]*(e|E|\\(0)*45|\\(0)*65)+?[ \\\t\n]*(x|X|\\(0)*58|\\(0)*78)+?[ \\\t\n]*(p|P|\\(0)*50|\\(0)*70)+?[ \\\t\n]*(r|R|\\(0)*52|\\(0)*72)+?[ \\\t\n]*(e|E|\\(0)*45|\\(0)*65)+?[ \\\t\n]*(s|S|\\(0)*53|\\(0)*73)+?[ \\\t\n]*(s|S|\\(0)*53|\\(0)*73)+?[ \\\t\n]*(i|I|\\(0)*49|\\(0)*69)+?[ \\\t\n]*(o|O|\\(0)*4F|\\(0)*6F)+?[ \\\t\n]*(n|N|\\(0)*4E|\\(0)*6E)+?[ \\\t\n]*(\()+?.*\).*[\S\s]+?>[\S\s]*?過(guò)濾帶有style屬性而且style中有expression表達(dá)式的標(biāo)簽。同時(shí)過(guò)濾expression和它的一切變形形式,包括IE兼容的所有樣式表轉(zhuǎn)義符以及空格、縮進(jìn)符號(hào)等。

        1.2CSRF的動(dòng)態(tài)檢測(cè)

        CSRF屬于網(wǎng)站側(cè)的實(shí)現(xiàn)缺陷,因此,瀏覽器只能協(xié)助減少危害,而并不能保證消除所有危害。CSRF攻擊主要依靠同源準(zhǔn)則來(lái)檢測(cè),程序不僅會(huì)應(yīng)用較為嚴(yán)格的同源策略,還會(huì)對(duì)請(qǐng)求實(shí)體進(jìn)行XSS檢查,使用的XSS判斷方式如上節(jié)所述。之所以加上這類檢測(cè)是因?yàn)镮E自帶的XSS過(guò)濾器其實(shí)只會(huì)對(duì)GET請(qǐng)求進(jìn)行檢查,而POST XSS在某種程度上也是一個(gè)危害較大的攻擊方式,尤其是配合上CSRF,一樣可以達(dá)到同樣的危害。所以,如果瀏覽器的POST請(qǐng)求中發(fā)現(xiàn)了XSS攻擊代碼,瀏覽器將同樣會(huì)對(duì)POST的實(shí)體部分進(jìn)行凈化,然后詢問(wèn)用戶是將POST轉(zhuǎn)換為GET請(qǐng)求,還是將POST丟棄。軟件的同源判斷邏輯如表2所述。

        表2軟件的同源判斷邏輯

        規(guī)則例子級(jí)別

        一級(jí)域名相同其他不同均可http://1.MYSITE.com/https://2.MYSITE.com:81/在此模式下認(rèn)為同源寬松模式

        一級(jí)域名相同協(xié)議相同端口相同其他不同均可http://1.MYSITE.com/http://2.MYSITE.com/在此模式下認(rèn)為同源普通模式

        域名相同協(xié)議相同端口相同(互聯(lián)網(wǎng)標(biāo)準(zhǔn)的同源判定)http://A.MYSITE.com/1http://A.MYSITE.com/2在此模式下認(rèn)為同源嚴(yán)格模式

        1.3點(diǎn)擊劫持的動(dòng)態(tài)檢測(cè)

        在瀏覽器中有一個(gè)特性,即如果樣式表中存在opacity屬性,那么元素在瀏覽器中顯示的順序?qū)⒉粫?huì)再以其z-index大小來(lái)判定,而是使用一個(gè)特殊的判斷邏輯:誰(shuí)的opacity大,誰(shuí)顯示的時(shí)候排在前面。

        但是,同一個(gè)位置的元素的事件接受函數(shù)將依然使用z-index來(lái)判斷,如果一個(gè)位置上有多個(gè)元素,而這個(gè)位置上發(fā)生了某個(gè)事件,那么這個(gè)位置上的元素中誰(shuí)的z-index大,誰(shuí)就會(huì)接收到這個(gè)事件。

        因此,要實(shí)施點(diǎn)擊劫持攻擊,攻擊者最容易的是只通過(guò)iframe框架的方式來(lái)加載被害網(wǎng)站,而且通常是設(shè)置iframe全透明或者透明度非常大,以至于幾乎無(wú)法看見,通常是0%~1%的情況比較多。然后,在iframe上方覆蓋一層虛假頁(yè)面,例如“點(diǎn)擊某處開始游戲”的頁(yè)面,而要求用戶點(diǎn)擊的地方實(shí)際上覆蓋在下方iframe中一些敏感位置,例如微博的“關(guān)注”按鈕等位置。

        因此,攻擊者攻擊時(shí),只需要指定下方iframe的樣式為高z-index和低opacity,給自己偽造的內(nèi)容的樣式指定為低z-index和高opacity,那么就可以創(chuàng)建一個(gè)點(diǎn)擊劫持頁(yè)面。

        點(diǎn)擊劫持頁(yè)面的特性也正是檢測(cè)的突破口所在。通過(guò)遍歷元素的樣式表,找到存在opacity屬性的iframe,并對(duì)其進(jìn)行邏輯檢查,從而以最小的報(bào)警次數(shù)獲得較為準(zhǔn)確的判定結(jié)果,發(fā)現(xiàn)攻擊后,程序?qū)h除元素的透明元素,從而將真實(shí)頁(yè)面內(nèi)容展現(xiàn)給用戶。

        2程序效率和分析

        用系統(tǒng)函數(shù)可以得到較為精準(zhǔn)的時(shí)間量,測(cè)試中選用CPU時(shí)間/CPU時(shí)鐘頻率來(lái)獲取經(jīng)過(guò)時(shí)間。據(jù)此可以得出算法從開始處理數(shù)據(jù)到處理結(jié)束(不包括對(duì)話框彈出的等待時(shí)間)額外消耗的時(shí)間。試驗(yàn)3次,取平均值,得出耗時(shí)數(shù)據(jù)如表3所示。

        表3基準(zhǔn)耗時(shí)測(cè)試結(jié)果

        模塊時(shí)間1/ms時(shí)間2/ms時(shí)間3/ms平均時(shí)間測(cè)試網(wǎng)站頁(yè)面完全載入時(shí)間/s占頁(yè)面載入時(shí)間比例/%

        XSS檢測(cè)835.7×10-31.019994.8×10-3949.8×10-3

        CSRF檢測(cè)24.5 19.524.222.7

        Clickjacking檢測(cè)351.5×10-3298.4×10-3354.1×10-3334.7×10-3百度新聞1.761

        0.000 541.290.000 19

        需要注意的是,頁(yè)面完全載入時(shí)間指頁(yè)面完全下載的時(shí)間,不包括DOM樹渲染的時(shí)間。網(wǎng)絡(luò)時(shí)間采用IE的開發(fā)人員工具。

        安全模塊對(duì)用戶瀏覽時(shí)產(chǎn)生的可感知的影響極小,也即用戶幾乎無(wú)法感知到模塊加載前后瀏覽時(shí)間上的差異,從而不會(huì)產(chǎn)生由于用戶覺得安全模塊過(guò)于拖慢顯示速度從而關(guān)閉安全模塊的事情。安全模塊的執(zhí)行效率也會(huì)因此直接影響用戶瀏覽網(wǎng)頁(yè)時(shí)的安全性。

        而需要大量操作元素的Clickjacking模塊,事實(shí)上并不會(huì)對(duì)用戶瀏覽造成影響。因?yàn)楣粽吖魹g覽器時(shí)產(chǎn)生的頁(yè)面元素通常都非常少,否則將不利于攻擊代碼的傳播,因此過(guò)濾時(shí)大部分都將僅對(duì)大約20個(gè)左右的元素進(jìn)行操作。endprint

        而IE瀏覽器在實(shí)現(xiàn)直接通過(guò)IHTMLDOMNode接口操作瀏覽器元素的方法時(shí),其做的具體操作是,將對(duì)應(yīng)的DOM節(jié)點(diǎn)從IE的節(jié)點(diǎn)二叉伸展樹上移除,然后將元素對(duì)應(yīng)的類從內(nèi)存中刪除。這一操作具體實(shí)現(xiàn)起來(lái)資源開銷是十分少的。

        以下測(cè)試結(jié)果是在程序冷啟動(dòng)(開機(jī)后第一次運(yùn)行)下,開啟對(duì)應(yīng)標(biāo)簽后5秒時(shí)的資源情況。每個(gè)標(biāo)簽的占用數(shù)據(jù)均包括標(biāo)簽和主程序,用后者減去前者除以標(biāo)簽差量得出單個(gè)標(biāo)簽的占用,最終全部加起來(lái)除以總標(biāo)簽差量得到平均每個(gè)標(biāo)簽的占用。后單頁(yè)內(nèi)存消耗方法與此相同,內(nèi)存增量測(cè)試結(jié)果如表4所示。

        表4內(nèi)存占用增量測(cè)試結(jié)果KB

        模塊1標(biāo)簽程序占用內(nèi)存總量3標(biāo)簽程序占用內(nèi)存總量5標(biāo)簽程序占用內(nèi)存總量平均每個(gè)標(biāo)簽的占用測(cè)試網(wǎng)站單頁(yè)內(nèi)存消耗相對(duì)內(nèi)存增量

        XSS檢測(cè)15,78427,94038,6365,715

        CSRF檢測(cè)16,29630,00837,9165,405

        Clickjacking檢測(cè)16,64430,10839,2725,657百度首頁(yè)5,313

        +398+92+344

        標(biāo)簽內(nèi)占用的內(nèi)存大部分是由IE窗口導(dǎo)致的,而相對(duì)內(nèi)存增量則是保護(hù)模塊和IE自身共同作用帶來(lái)的增量,這可以部分反應(yīng)模塊對(duì)瀏覽時(shí)內(nèi)存增加所帶來(lái)的貢獻(xiàn)。

        瀏覽器自身就是一個(gè)資源密集型程序,如果模塊貢獻(xiàn)了過(guò)多的內(nèi)存增量,那么對(duì)用戶使用來(lái)說(shuō)將是不利的。但是上述測(cè)試可以發(fā)現(xiàn)安全模塊并沒有貢獻(xiàn)出過(guò)多的內(nèi)存占用。

        在日常使用過(guò)程中內(nèi)存占用是有一定波動(dòng)的,在實(shí)際測(cè)試和理論驗(yàn)證中內(nèi)存增量并不會(huì)太多。事實(shí)證明這還是一個(gè)簡(jiǎn)單易行而且對(duì)用戶機(jī)器資源消耗較少的方法。

        控制內(nèi)存增加的主要辦法是,盡量多利用棧上內(nèi)存,必要時(shí)才在堆中分配,因?yàn)闂I蟽?nèi)存結(jié)構(gòu)簡(jiǎn)單,不像堆中各個(gè)堆塊數(shù)據(jù)都有不少字節(jié)用于維護(hù)堆表信息。而這兩種內(nèi)存都將在函數(shù)函數(shù)結(jié)束時(shí)及時(shí)釋放,所以對(duì)用戶來(lái)說(shuō),內(nèi)存只是一個(gè)短期的增長(zhǎng)。而一段時(shí)間后內(nèi)存不斷增長(zhǎng)主要還是因?yàn)镮E自身的實(shí)現(xiàn)機(jī)制,與模塊并無(wú)多大聯(lián)系。因此本保護(hù)模塊可以實(shí)現(xiàn)使用少量?jī)?nèi)存占用實(shí)現(xiàn)安全功能。

        3 結(jié)語(yǔ)

        瀏覽器中添加安全模塊是一種自由、可定制的輕便服務(wù)形式。同時(shí),采用模塊化的防護(hù)函數(shù)可以保證在現(xiàn)今產(chǎn)品主程序迭代較慢的情況下達(dá)到產(chǎn)品的迅速迭代性,進(jìn)而可以及時(shí)防御互聯(lián)網(wǎng)攻擊,具有十分重要的現(xiàn)實(shí)性意義,這是目前產(chǎn)品開發(fā)所流行推崇的研究開發(fā)方向。

        對(duì)互聯(lián)網(wǎng)上存在的攻擊,在瀏覽器層面給用戶添加一層額外的保障,可以讓用戶在瀏覽互聯(lián)網(wǎng)時(shí)更加安心、省心。同時(shí),人性化的設(shè)計(jì)也可以照顧到各個(gè)層次的互聯(lián)網(wǎng)使用者,瀏覽器可以在安全和易用性上可以做到一個(gè)好的平衡點(diǎn)。隨著互聯(lián)網(wǎng)的進(jìn)步和技術(shù)水平的提高,在未來(lái),可以預(yù)見的是將有更多的互聯(lián)網(wǎng)威脅,同時(shí)也會(huì)有更多的安全保護(hù)措施的誕生,安全防護(hù)意在提升黑客攻擊的門檻,同時(shí)給予用戶更好的互聯(lián)網(wǎng)瀏覽體驗(yàn),從而推動(dòng)整個(gè)行業(yè)的發(fā)展。

        參考文獻(xiàn):

        [1]CHRISTIAN KANAMUGIRE.A Client-Side Solution Against Session Hijacking Through Xss Attacks[D].長(zhǎng)沙:中南大學(xué),2012.

        [2]溫凱,郭帆,余敏. 自適應(yīng)的Web攻擊異常檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2012(7):2 003-2 006.

        [3]徐少培,姚崎. 基于操作劫持模式的Web攻擊與防御技術(shù)研究[J].信息安全與通信保密,2011(1):86-89.

        [4]張偉,吳灝,鄒郢路. 針對(duì)基于編碼的跨站腳本攻擊分析及防范方法[J].小型微型計(jì)算機(jī)系統(tǒng),2013(7):1 615-1 619.

        [5]WADE ALCORN, CHRISTIAN FRICHOT,MICHELE ORR.The Browser Hackers Handbook[M] .America:John Wiley & Sons, Inc.,2014.

        [6]MICHAL ZALEWSKI.Web之困——現(xiàn)代Web應(yīng)用安全指南[M] .北京:機(jī)械工業(yè)出版社,2014.

        [7]MICHAEL SUTTON,ADAM GREENE, PEDRAM AMINI.模糊測(cè)試——強(qiáng)制性安全漏洞發(fā)掘[M]. 北京:機(jī)械工業(yè)出版社,2009.

        [8]PACO HOPE,BEN WALTBER.Web Security Testing Cookbook[M] .America:OReilly Media, 2008.

        [9]王文君,李建榮.Web應(yīng)用安全威脅與防治-基于OWASP Top 10與ESAPI[M] .北京:電子工業(yè)出版社, 2009.

        (責(zé)任編輯:李麗)endprint

        日本一二三区免费在线 | 久久精品亚洲国产成人av| 中美日韩在线一区黄色大片| 亚洲一区二区三区麻豆| 日本熟女中文字幕在线| 激情内射日本一区二区三区| 亚洲熟少妇在线播放999| 国产成人美女AV| 高潮毛片无遮挡高清免费| 天堂…在线最新版资源| 久久天天躁狠狠躁夜夜2020!| 日韩有码中文字幕av| 国产日韩精品中文字幕| 亚洲熟女乱综合一区二区| 欧美精品中文| 91国内偷拍一区二区三区| 久久精品国产亚洲av超清| 欧美极品少妇无套实战| 思思99热| 亚洲一本二区偷拍精品| 成人免费无码大片a毛片抽搐色欲| 台湾佬娱乐中文22vvvv| 国产欧美精品在线一区二区三区| 成年人视频在线播放视频| 媚药丝袜美女高清一二区| 国产莉萝无码av在线播放| 亚洲精品综合第一国产综合| 最新国产一区二区三区 | 中文天堂在线www| 蜜桃av无码免费看永久| 精品色老头老太国产精品| 级毛片内射视频| 色视频www在线播放国产人成| 亚洲AⅤ樱花无码| 亚洲免费一区二区三区四区| 日韩精品内射视频免费观看| 一本大道色婷婷在线| 无码伊人久久大杳蕉中文无码| 国产自拍精品在线免费观看| 少妇高潮流白浆在线观看| 在线观看视频亚洲|