国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2015-04-23 00:52:50錢文祥
關(guān)鍵詞:攻擊者瀏覽器內(nèi)存

王 麗,錢文祥

(安徽理工大學(xué)計(jì)算機(jī)學(xué)院,安徽 淮南 232001)

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

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

1 攻擊檢測

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

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

1.1 XSS 的動態(tài)檢測

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

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

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

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

1.2 CSRF 的動態(tài)檢測

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

表2 軟件的同源判斷邏輯

1.3 點(diǎn)擊劫持的動態(tài)檢測

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

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

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

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

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

2 程序效率和分析

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

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

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

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

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

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

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

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

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

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

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

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

3 結(jié)語

瀏覽器中添加安全模塊是一種自由、可定制的輕便服務(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ā)方向。

對互聯(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ù)水平的提高,在未來,可以預(yù)見的是將有更多的互聯(lián)網(wǎng)威脅,同時(shí)也會有更多的安全保護(hù)措施的誕生,安全防護(hù)意在提升黑客攻擊的門檻,同時(shí)給予用戶更好的互聯(lián)網(wǎng)瀏覽體驗(yàn),從而推動整個(gè)行業(yè)的發(fā)展。

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

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

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

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

[5]WADE ALCORN,CHRISTIAN FRICHOT,MICHELE ORRù.The Browser Hacker’s 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.模糊測試——強(qiáng)制性安全漏洞發(fā)掘[M].北京:機(jī)械工業(yè)出版社,2009.

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

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

猜你喜歡
攻擊者瀏覽器內(nèi)存
基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
“春夏秋冬”的內(nèi)存
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
環(huán)球?yàn)g覽器
再見,那些年我們嘲笑過的IE瀏覽器
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
基于內(nèi)存的地理信息訪問技術(shù)
上網(wǎng)本為什么只有1GB?
瀏覽器
武功县| 广平县| 汶上县| 电白县| 怀远县| 通城县| 河间市| 双牌县| 黎城县| 醴陵市| 日喀则市| 石家庄市| 芜湖县| 石狮市| 青川县| 鹤山市| 泸溪县| 茂名市| 进贤县| 丽水市| 鹿邑县| 太湖县| 乌拉特中旗| 卫辉市| 调兵山市| 壶关县| 贞丰县| 平舆县| 柳林县| 阳西县| 鹿泉市| 武冈市| 江华| 伊金霍洛旗| 贡嘎县| 西乌| 唐山市| 太仆寺旗| 方正县| 农安县| 伊金霍洛旗|