• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      江 導

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

      1 WEB 瀏覽器簡介

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

      2 WEB 安全簡介

      WEB漏洞:

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

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

      3.1 XSS動態(tài)檢測技術(shù)

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

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

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

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

      例如,下面的服務端代碼會把參數(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請求如下所示:

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

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

      2

      3 Hello

      4 me

      5

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

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

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

      1

      2

      3 Hello

      4

      5

      XSSAuditor從DOM樹中知道返回的HTML文檔中存在一段JS腳本。但當它把這段腳本與惡意請求URL做匹配時,因為服務端把“you”替換成“me”,匹配失敗。XSSAuditor未能識別它是一個惡意攻擊。

      3.2 XSSBreaker的設計與實現(xiàn)

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

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

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

      3.2.2 XSSBreaker的實現(xiàn)

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

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

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

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

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

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

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

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

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

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

      猜你喜歡
      解析器服務端腳本
      酒駕
      基于多解析器的域名隱私保護機制
      安奇奇與小cool 龍(第二回)
      基于Wireshark的列控中心以太網(wǎng)通信協(xié)議解析器的研究與實現(xiàn)
      如何防御DNS陷阱?常用3種DNS欺騙手法
      數(shù)據(jù)庫系統(tǒng)shell腳本應用
      電子測試(2018年14期)2018-09-26 06:04:24
      云存儲中基于相似性的客戶-服務端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務端開發(fā)》課程教學改革的研究
      消費導刊(2018年8期)2018-05-25 13:19:48
      一種基于無關(guān)DNS的通信隱私保護技術(shù)研究
      電子世界(2018年14期)2018-04-15 16:14:25
      在Windows Server 2008上創(chuàng)建應用
      游戏| 平江县| 那坡县| 金阳县| 达孜县| 西乡县| 新密市| 五河县| 威海市| 德清县| 黑水县| 东源县| 宜宾市| 巴林左旗| 电白县| 瑞安市| 太原市| 深州市| 留坝县| 莱州市| 伊金霍洛旗| 德兴市| 舒城县| 峡江县| 三原县| 襄城县| 弋阳县| 武邑县| 陇西县| 新密市| 鸡东县| 呼伦贝尔市| 大邑县| 额济纳旗| 通榆县| 勃利县| 灵台县| 丰县| 澄城县| 奈曼旗| 宿迁市|