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

?

瀏覽器WEB安全威脅檢測(cè)技術(shù)研究與實(shí)現(xiàn)

2014-03-19 09:26:10導(dǎo)
關(guān)鍵詞:解析器服務(wù)端腳本

江 導(dǎo)

(順德職業(yè)技術(shù)學(xué)院 廣東 528000)

1 WEB 瀏覽器簡(jiǎn)介

WEB 瀏覽器是一個(gè)軟件程序,用于與 WWW 建立聯(lián)結(jié),并與之進(jìn)行通信,它可以在 WWW 系統(tǒng)中根據(jù)鏈接確定信息資源的位置,并將用戶感興趣的信息資源取回來,對(duì) HTML 文件進(jìn)行解釋,然后將文字圖像顯示出來,或者將多媒體信息還原出來。瀏覽器主要包括用戶界面、瀏覽器引擎、網(wǎng)絡(luò)、JS解釋器、數(shù)據(jù)存儲(chǔ)等組件。目前典型的 WEB 瀏覽器有 Internet Explorer、360極速瀏覽器、360安全瀏覽器、搜狗瀏覽器、獵豹瀏覽器等,它們適用于各種不同的環(huán)境。

2 WEB 安全簡(jiǎn)介

WEB漏洞:

WEB應(yīng)用程序的正常運(yùn)行,涉及到客戶端瀏覽器、網(wǎng)絡(luò)協(xié)議傳輸、服務(wù)器響應(yīng)、數(shù)據(jù)庫査詢等許多方面。其中無論哪一方面出現(xiàn)漏洞,均可能導(dǎo)致WEB安全問題。漏洞即某個(gè)程序(包括操作系統(tǒng))在設(shè)計(jì)時(shí)未考慮周全,當(dāng)程序遇到一個(gè)看似合理,但實(shí)際無法處理的問題時(shí),引發(fā)的不可預(yù)見的錯(cuò)誤。系統(tǒng)漏洞又稱安全缺陷,如漏洞被惡意用戶利用,會(huì)造成信息泄漏,如黑客攻擊網(wǎng)站即利用網(wǎng)絡(luò)服務(wù)器操作系統(tǒng)的漏洞。任何事物都非十全十美,作為應(yīng)用于桌面的操作系統(tǒng)—Windows 以及運(yùn)行于該環(huán)境中的 WEB 瀏覽器也是如此。這直接危害到我們使用計(jì)算機(jī)的安全行為,漏洞受病毒及惡意代碼利用,容易導(dǎo)致巨大損失。OWASP于2010年發(fā)布的Top 10應(yīng)用程序,其中涉及到WEB應(yīng)用程序的方面的有:客戶端的注入漏洞、跨站腳本漏洞、服務(wù)端的授權(quán)管理、安全誤配置、不安全的密碼存儲(chǔ)、網(wǎng)絡(luò)傳輸層的失效的 URL訪問重定向、弱保護(hù)等。

3 瀏覽器WEB安全威脅檢測(cè)與實(shí)現(xiàn)

3.1 XSS動(dòng)態(tài)檢測(cè)技術(shù)

跨站腳本是服務(wù)端代碼漏洞產(chǎn)生的問題,因此唯有從服務(wù)端入手才能徹底解決。下面我們就主要討論瀏覽器XSS動(dòng)態(tài)檢測(cè)技術(shù)。

動(dòng)態(tài)檢測(cè)技術(shù)之所以稱為“動(dòng)態(tài)”,是指它不直接在文本層次分析可執(zhí)行代碼的行為,而是在代碼運(yùn)行時(shí)進(jìn)行動(dòng)態(tài)調(diào)試、分析。動(dòng)態(tài)檢測(cè)技術(shù)將代碼語義分析工作交給現(xiàn)成的代碼解析器,可以極大降低系統(tǒng)復(fù)雜度,避免語法語義分析不到位導(dǎo)致的誤判。

在XSS攻擊檢測(cè)領(lǐng)域,動(dòng)態(tài)檢測(cè)意味著瀏覽器端XSS過濾器不再是一個(gè)相對(duì)獨(dú)立的附加組件,而是與瀏覽器各組件結(jié)合更緊密的一個(gè)安全機(jī)制。從瀏覽器架構(gòu)的角度看,動(dòng)態(tài)檢測(cè)技術(shù)工作在HTML解析器和Javascript解析器之間,即在HTML解析器生成的文檔對(duì)象模型(Document Object Model,簡(jiǎn)稱DOM)樹中檢測(cè)腳本節(jié)點(diǎn),完成后才將DOM樹中的腳本結(jié)點(diǎn)傳遞給JavaScript引擎執(zhí)行。因此,動(dòng)態(tài)檢測(cè)技術(shù)可以完全規(guī)避瀏覽器的 HTML解析“怪癖”,直接在 DOM樹中命中HTML文檔中的可執(zhí)行腳本,準(zhǔn)確率大幅提升。動(dòng)態(tài)檢測(cè)技術(shù)有其優(yōu)點(diǎn),動(dòng)態(tài)檢測(cè)技術(shù)在DOM樹的基礎(chǔ)上作檢測(cè),因此與靜態(tài)檢測(cè)技術(shù)相比,它最顯著的優(yōu)點(diǎn)就是不受瀏覽器解析怪癖的影響。無論多么復(fù)雜晦澀的HTML文檔,只要瀏覽器能解析出DOM樹,動(dòng)態(tài)檢測(cè)時(shí)就不會(huì)產(chǎn)生歧義。同時(shí),動(dòng)態(tài)檢測(cè)直接從DOM樹的腳本節(jié)點(diǎn)下手還有個(gè)優(yōu)點(diǎn),它無須重復(fù)掃描分析HTML文檔。與傳統(tǒng)的模擬解析方法相比,這可以提升一定的性能。有優(yōu)點(diǎn),自然也少不了缺點(diǎn),XSSAuditor假設(shè)服務(wù)端只采用簡(jiǎn)單的幾種參數(shù)變換,并使用字符串精確匹配算法從URL中查找可疑腳本,這顯然不能覆蓋所有場(chǎng)景。一旦攻擊者發(fā)現(xiàn)服務(wù)端采用了XSSAuditor未知的參數(shù)轉(zhuǎn)換方法,就可以繞過它的檢測(cè)。另外,檢測(cè)策略不夠完善,對(duì)間接腳本注入無能為力。常見的反射型XSS攻擊都是將可執(zhí)行腳本作為參數(shù)直接注入HTML響應(yīng)中的,而XSSAuditor也作了針對(duì)性的匹配檢測(cè)。然而,對(duì)于間接注入的惡意代碼,XSSAuditor就無能為力了。

針對(duì)XSSAuditor未考慮復(fù)雜的服務(wù)端參數(shù)轉(zhuǎn)換,攻擊者可以針對(duì)存在復(fù)雜參數(shù)轉(zhuǎn)換的服務(wù)端發(fā)起反射型XSS攻擊。

例如,下面的服務(wù)端代碼會(huì)把參數(shù)中的“you”改成“me”,然后返回給瀏覽器:

1

2 Hello

3

4 $name=$_GET[‘name’];

5 $new_name=str_replace("you",''me",$name);

6 echo $new_name;

7 ?>

正常的URL請(qǐng)求如下所示:

http://l 27.0.0.l/xss5.php?name=you

服務(wù)端收到請(qǐng)求后,會(huì)將參數(shù)中的“you”替換成“me”,因此正常的HTTP回應(yīng)內(nèi)容如下段代碼所示:

2

3 Hello

4 me

5

然而,XSSAuditor并不知道服務(wù)端有這樣奇怪的轉(zhuǎn)換,攻擊者就可以構(gòu)造—個(gè)惡意請(qǐng)求URL:

http://l 27.0.0.1 /xss5.php?name=

服務(wù)端收到請(qǐng)求后,仍然把參數(shù)中的“you”替換成“me”,于是HTML響應(yīng)如下:

1

2

3 Hello

4

5

XSSAuditor從DOM樹中知道返回的HTML文檔中存在一段JS腳本。但當(dāng)它把這段腳本與惡意請(qǐng)求URL做匹配時(shí),因?yàn)榉?wù)端把“you”替換成“me”,匹配失敗。XSSAuditor未能識(shí)別它是一個(gè)惡意攻擊。

3.2 XSSBreaker的設(shè)計(jì)與實(shí)現(xiàn)

現(xiàn)有的瀏覽器端XSS檢測(cè)技術(shù)均存在一定問題,這里將重新設(shè)計(jì)并實(shí)現(xiàn)一個(gè)瀏覽器端的XSS檢測(cè)機(jī)制,新的XSS檢測(cè)機(jī)制被命名為“XSSBreaker”。

3.2.1 XSSBreaker的核心架構(gòu)和工作流程

XSSBreaker的核心是采用動(dòng)態(tài)檢測(cè)技術(shù),這里著重參考XSSAuditor的架構(gòu)。XSSBreaker架構(gòu)中Web服務(wù)器和瀏覽器之間通過Internet連接。深入到瀏覽器內(nèi)部,XSSBreaker是瀏覽器的一個(gè)安全組件,將與瀏覽器的HTML解析器、DOM 樹、JavaScript 引擎等組件交互。HTML解析器負(fù)責(zé)將HTML文檔解析成DOM樹,DOM樹由HTML解析器生成,JavaScript引擎負(fù)責(zé)解釋執(zhí)行網(wǎng)頁內(nèi)容中的JavaScript腳本。在這個(gè)架構(gòu)內(nèi),XSSBreaker的主要工作流程是:瀏覽器向網(wǎng)站服務(wù)器提交一個(gè)HTTP請(qǐng)求,Web服務(wù)端向?yàn)g覽器返回一個(gè)html響應(yīng)文檔,瀏覽器調(diào)用XSSBreaker的init方法,進(jìn)入XSS檢測(cè)初始化流程,瀏覽器內(nèi)置的HTML解析器開始解析html響應(yīng)文檔,HTML解析器生成文檔對(duì)應(yīng)的DOM樹,其中包含文本節(jié)點(diǎn)和腳本節(jié)點(diǎn),XSSBreaker進(jìn)入檢測(cè)流程,檢測(cè)每一個(gè)腳本節(jié)點(diǎn),XSSBreaker使用字符串近似匹配算法,在腳本中査找GET/POST參數(shù),DOM 樹的剩余腳本節(jié)點(diǎn)傳遞給 JavaScript引擎執(zhí)行,若JavaScript引擎遇到evalO之類的動(dòng)態(tài)函數(shù),那么新腳本也將被傳遞到 XSSBreaker的 check()方法,重復(fù)前面兩步,若文檔通過document.writeO方法或DOM節(jié)點(diǎn)的innerHTML屬性產(chǎn)生了新的HTML文檔,那么新內(nèi)容也將被傳遞給HTML解析引擎,即重復(fù)第5步之后的步驟。

3.2.2 XSSBreaker的實(shí)現(xiàn)

XSSBreaker是基于 Firefox 瀏覽器的內(nèi)容安全策略(Content Security Policies,簡(jiǎn)稱CSP)實(shí)現(xiàn)的。XSS檢測(cè)策略可以分為內(nèi)聯(lián)策略、外部策略和白名單檢測(cè)策略。內(nèi)聯(lián)策略用于阻擋集成在內(nèi)聯(lián)腳本的XSS攻擊,外部策略應(yīng)用于外部代碼,如果外部腳本的URL指向的主機(jī)不是由參數(shù)提供,則可以信任,即使外部腳本的URL指向的主機(jī)是由參數(shù)提供的,只要該主機(jī)屬于當(dāng)前頁面的可信域,則直接放行。白名單并不是孤立的策略,而是貫穿于XSS檢測(cè)過程中,在參數(shù)匹配算法中,XSSBreaker首先排除小于8字節(jié)的參數(shù),因?yàn)樗踔敛荒軜?gòu)成一個(gè)腳本標(biāo)簽,不可能是XSS參數(shù)。這些白名單策略既可以減少檢測(cè)時(shí)間,又能降低誤報(bào)率,是優(yōu)化XSSBreaker的重要手段。

內(nèi)容安全策略是一套開發(fā)者工具集,用于幫助開發(fā)者預(yù)防多種類型的Web攻擊。它支持讓開發(fā)者預(yù)定義安全規(guī)則,以減少跨站腳本、點(diǎn)擊劫持、數(shù)據(jù)包嗅探等攻擊。當(dāng)CSP檢測(cè)到網(wǎng)頁內(nèi)容違反安全規(guī)則時(shí),會(huì)將信息報(bào)告給網(wǎng)站開發(fā)者,以幫助其修復(fù)網(wǎng)站程序漏洞。

總之,本文通過論述跨站腳本檢測(cè)技術(shù)的原理、優(yōu)缺點(diǎn),并構(gòu)造實(shí)例演示了攻擊方法。研宄表明,目前己有的瀏覽器端跨站腳本檢測(cè)技術(shù)存在諸多安全缺陷,而且未能在安全性、兼容性、性能之間取得較好平衡,為了提高瀏覽器整體安全性,我們?cè)O(shè)計(jì)XSSBreaker來檢測(cè)和實(shí)現(xiàn)瀏覽器的WEB標(biāo)準(zhǔn)的改進(jìn)的兼容性。這不僅能讓安全站點(diǎn)更容易部署,而且能夠減少試圖使網(wǎng)頁在所有平臺(tái)正確顯示所花的時(shí)間。

[1]吳健君,周兵.瀏覽器/Web服務(wù)器與C-B-S模式及其應(yīng)用.

[2]國(guó)家互聯(lián)網(wǎng)應(yīng)急中心,2010爾中國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全報(bào)告,[3]陳愛華.瀏覽器 Web安全威脅檢測(cè)技術(shù)研究與實(shí)現(xiàn).北京郵電大學(xué).2013(01)

[4]劉大勇.Web的安全威脅與安全防護(hù).大眾科技.2005(03)

[5]曾平.基于瀏覽器嵌入規(guī)則的非安全JavaScript檢測(cè)與分析.湖南大學(xué)2011(05)

[6]王欣 .WEB應(yīng)用系統(tǒng)安全檢測(cè)關(guān)鍵技術(shù)研究.北京郵電大學(xué).2011(05)

[7]韋銀.淺談Web的安全威脅與安全防護(hù).科學(xué)咨詢(決策管理).2010(01)

[8]劉慶平.瀏覽器安全問題的研究與解決方案.上海交通大學(xué).2011(10)

猜你喜歡
解析器服務(wù)端腳本
酒駕
基于多解析器的域名隱私保護(hù)機(jī)制
安奇奇與小cool 龍(第二回)
基于Wireshark的列控中心以太網(wǎng)通信協(xié)議解析器的研究與實(shí)現(xiàn)
如何防御DNS陷阱?常用3種DNS欺騙手法
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
一種基于無關(guān)DNS的通信隱私保護(hù)技術(shù)研究
電子世界(2018年14期)2018-04-15 16:14:25
在Windows Server 2008上創(chuàng)建應(yīng)用
远安县| 安国市| 桐梓县| 雅江县| 嫩江县| 中江县| 水富县| 佛冈县| 枞阳县| 武清区| 景洪市| 土默特左旗| 丽水市| 江源县| 上思县| 寿阳县| 岳池县| 禄丰县| 马龙县| 治多县| 贺州市| 广河县| 鸡东县| 商城县| 保康县| 嵊州市| 滦南县| 虞城县| 将乐县| 西峡县| 晋中市| 琼中| 获嘉县| 沙河市| 新乡市| 九寨沟县| 宜都市| 浦北县| 揭东县| 通许县| 江门市|