999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于XSS攻擊防御的安全CDN研究

2017-07-24 17:47:53錢銘銘康錦濤陳舟寧
網絡安全技術與應用 2017年7期
關鍵詞:用戶分析

◆錢銘銘 康錦濤 陳舟寧

(三江學院計算機科學與工程學院 江蘇 210012)

一種基于XSS攻擊防御的安全CDN研究

◆錢銘銘 康錦濤 陳舟寧

(三江學院計算機科學與工程學院 江蘇 210012)

本文提出了一種安全CDN解決方案,主要針對XSS攻擊進行防御,通過對現有的CDN系統進行改進,對流經CDN服務器的數據流量進行安全監測,將安全的評估方在 CDN服務器上,實時分析流量中存在的安全威脅,并通過云計算技術與態勢感知技術將安全威脅與安全防御可視化,并對安全事件做出決策。

XSS攻擊;XSS防御;CDN;安全CDN

0 引言

互聯網飛速發展在為人類帶來種種便利的同時,也帶來了諸多安全問題,近年來,網絡安全形勢不斷嚴峻,國內外重大安全事件頻頻出現,為了保障網絡安全、維護國家利益、推動信息化的發展,2014年2月27日,中央網絡安全和信息化領導小組成立,習近平主席擔任組長。隨著國家網絡安全戰略的實施,人們對網絡安全越來越重視,部分安全機構推出了各類安全解決方案,已經應用在網絡安全的各個領域。

跨站腳本 (Cross-Site Scripting,XSS) 攻擊是一種經常出現在應用程序中的計算機安全漏洞,是由于應用程序對用戶的輸入過濾不足而產生的。攻擊者利用網站漏洞把惡意的腳本代碼(通常包括客戶端JavaScript腳本代碼)注入到網頁中,當其他用戶瀏覽器訪問這些網頁時,就會執行其中的惡意代碼,對受害者可能采取資料竊取、會話劫持、釣魚欺騙等各種攻擊。隨著Html5技術的成熟,越來越多的網站和移動應用開始使用更加高級的前端技術,XSS攻擊也在逐年升級。從2007年至今,在OWASP統計的所有網絡安全威脅中,跨站腳本攻擊無論是嚴重性還是普遍性都穩居前三的位置。

1 安全CDN技術

目前已有的解決方案有如下幾類:

(1)服務器端防御

服務器通常是Web服務器,在服務器端對用戶的連接請求進行分析過濾,對危險的標簽與符號進行轉義,從源頭封堵XSS攻擊,但大多數程序員沒有安全知識,軟件測試人員也僅僅根據標準化測試方法進行測試,在軟件開發過程中并無安全人員參與,所以無法對Web程序進行整體評估,造成漏洞的產生。近年來,百度貼吧,騰訊郵箱,新浪微博等著名的互聯網平臺都爆出XSS漏洞,可見僅靠Web程序安全的做法無法達到顯著的效果。

(2)客戶端防御

2006年,E.Kirda等人首次提出了Noxes客戶端防御解決方案0,它分析瀏覽過的頁面中的超鏈接,阻止不可信的訪問,防止敏感信息泄露的可能。目前大多數客戶端防御通過瀏覽器對XSS請求進行過濾器,使惡意代碼無法在瀏覽器中執行,其中Chrome、IE11等針對XSS過濾較為強大,但仍無法徹底防御人為XSS攻擊,惡意腳本和普通腳本也沒有明顯的界限計算機系統難以分辨。

(3)專用安全設備防御

專用安全設備通常是網絡應用防火墻 (Web Application Firewall,WAF),其中分為硬件防火墻與軟件防火墻兩個類別。硬件防火墻主要以綠盟、啟明星辰等安全公司為產品代表,在網關處進行部署,對流量進行全面審查可以達到比較理想的效果,但此類產品價格一般較高,主要應用在大型網絡企業,一般的中小型企業難以承受。軟件防火墻,典型代表是安全狗(safedog),但是安全狗作為軟件系統需要占用大量服務器本身硬件資源,用戶流量越大系統資源占有率就越高,這對于中小企業的服務器壓力較大,而且用戶普遍反映安全狗誤報率也較高,沒有智能分析的能力,僅依靠規則進行匹配,雖然能解決部分攻擊問題,但安全狗自身軟件的安全風險也存在,所以也不是一個優秀的防御方案。

(4)安全CDN服務防御

安全CDN服務的發展取決于云計算技術的成熟,目前眾多安全廠商推出了CDN服務,如:安全寶、加速樂、360網站衛士等,通過分布在各地的CDN服務器對流經網站的流量進行檢測,對異常流量進行清洗,通過負載均衡技術,將請求會均衡地分配到附近的CDN服務器上使得單個服務器網絡流量壓力不大,可以實現網絡訪問的加速功能,但是傳統CDN服務只負責存儲、緩存和轉發,其本身的運算資源難以發揮。

本文主要研究一種安全CDN解決方案,通過對現有的CDN系統進行改進,對流經CDN服務器的數據流量進行安全監測,將安全的評估放在CDN服務器上,實時分析流量中存在的安全威脅,并通過云計算技術與態勢感知技術將安全威脅與安全防御可視化,并對安全事件做出決策。

2 安全CDN系統總體方案設計

2.1 系統總體結構

系統總體結構主要由 CDN服務器和云服務器構成,如圖1所示:

圖1 安全CDN解決方案圖

根據系統整體解決方案設計了幾個模塊分別為:CDN服務器,可疑請求判斷模塊、反向代理模塊;云服務器;態勢感知模塊;請求分析模塊;請求過濾模塊;日志模塊。

CDN服務器,可疑請求判斷模塊、反向代理模塊:主要對用戶訪問的請求進行判斷,如果請求可疑則提交云服務器進行分析。擬使用NginxServer和Python語言實現,使用Lua與C語言模塊為Nginx編寫擴展,在反向代理中判斷是否為可疑請求,將可疑請求發送至云服務器,根據云服務器反饋結果完成對應操作。

態勢感知模塊:運用網絡態勢感知技術將網絡設備運行狀況、網絡行為以及用戶行為進行整體分析,對能夠引起網絡態勢發生變化的所有安全要素進行獲取、理解、顯示,將新型威脅行為進行提取,對安全威脅等級進行評估,構建新態勢感知庫。此操作主要對日志數據進行分析,對數據進行整體處理結合用戶的行為進行判斷,并將數據生成狀態視圖。

請求分析模塊:主要負責安全威脅檢測和安全威脅等級評定。此模塊涉及到系統底層操作,擬采用C/C++語言開發,將請求報文中的GET/POST內容進行拆解、分析,檢測出潛在的安全威脅,并評定威脅等級,將結果反饋給服務器,等待下一步處理。

請求過濾模塊:根據請求分析模塊進行結果分析,對危險的字段、操作行為進行過濾、轉義等操作,將安全的結果輸出,返回給服務器。

日志模塊:將所有的威脅與分析結果進行存儲。

2.2 系統工作流程

主要業務流程如圖2:

圖2 主要業務流程圖

首先客戶向CDN服務器發送HTTP請求,CDN服務器接受到請求后,將請求初步判斷,篩選是否為可疑威脅(一些特殊字符組合、JavaScript函數等)提交云服務器進行分析,若不存在可疑威脅,則直接將請求使用反向代理方式轉發給WEB服務器。

云服務器經過二次分析后,判斷為無威脅則通告WEB服務器此內容放行,有威脅則要調用態勢感知庫進行深度分析,判定威脅等級,根據對不同的威脅做出不同的決策。如果經過分析后認為是入侵行為,立即通告CDN服務器終止此次訪問連接;若判定為用戶誤操作行為,則將危險代碼轉義、替換后返回給CDN服務器,再由CDN服務器提交WEB服務器。

所有的操作均記錄到日志系統,云服務器上的態勢感知模塊定期對日志系統進行評估,提取相關特征信息,將分析結果會存入態勢感知數據庫中,并對新型威脅設置相應等級以供下次請求決策,詳細結果通過圖表、分析報告等形式呈現。

(1)將云計算與傳統的CDN服務融合,使之在網絡攻擊防御方面產生良好的效果。

開發人員為了防止XSS攻擊,一般直接使用編程語言的替換函數將危險字符轉義或過濾,但 Web服務器只是機械性的針對預定義的關鍵字進行替換,無法將攻擊行為反饋給用戶。而傳統的WAF、安全CDN檢測到潛在風險后則會直接丟棄該請求,可能影響正常用戶的體驗。本項目結合直接過濾與檢測并丟棄兩種技術的優點,先檢測,后針對性進行過濾或轉義,不影響正常用戶行為,而攻擊指令則被無效化。

(2)將用戶的真實主機地址進行隱藏,用戶、攻擊者與云安全 CDN服務器構成一個環路,避免用戶和攻擊者直接碰面,更好的保護用戶服務隱私。

用戶訪問一個域名時,DNS(Domain Name System)把域名解析成了CDN服務器的地址,CDN服務器去獲取用戶請求的網站的內容,并且檢查該網站內容有沒有存在威脅的因素。經過檢查后,判斷沒有存在威脅再去向原服務器請求內容返還給用戶。在這個過程中,有效地將用戶的真實主機地址隱藏了起來,避免了用戶與攻擊者的直接接觸,更好地保護用戶服務隱私。

(3)提供可視化攻擊日志

目前,已有CDN雖然也可以提供一定的可視化圖表,但缺乏對威脅的分析與預警功能。云服務器作為CDN節點的中樞,同時負責維護可疑請求日志,利用態勢感知技術,從海量日志數據中進行分析,對危險的請求進行過濾,感知新型威脅行為,利用云強大的數據處理能力將安全威脅用可視化的方式呈現給用戶。

3 系統實現

3.1 總體實現

圖3 基于云的安全CDN架構圖

本系統于傳統CDN架構中加入云計算技術,為WEB安全提供了一種新的解決方案。用戶向 CDN服務器發送請求后,CDN服務器初步判斷請求是否含有可疑內容,提交給云服務器進行處理。在此架構中,CDN服務器只負責初步的判斷,詳細的分析策略則部署在云端,系統管理員可以在云服務器上定義安全策略,若使用傳統的安全CDN體系架構,則需要向每臺服務器分別下發安全策略。

OpenResty是基于Lua語言與Nginx的Web服務器。他支持Nginx的所有功能,并且支持使用Lua編寫擴展模塊。為實現本系統,采用OpenResty作為反向代理服務器,并通過Lua擴展調用可疑請求判斷模塊。為保證可疑請求判斷模塊、請求分析模塊在大流量、高并發環境下的處理效率,代碼完全使用C語言進行開發。日志記錄模塊采用Mysql數據庫完成日志記錄,日志記錄主要包括用戶請求鏈接、源IP、目的網站、請求時間、威脅等級、攻擊向量、用戶瀏覽器特征等內容。態勢感知系統采用B/S架構設計使用了一系列的統計算法,攻擊行為與攻擊特征聯系起來,并將結果輸出為JSON,傳輸到瀏覽器端。瀏覽器解析JSON后生成對應圖表,使用HTML5與CSS3實現數據可視化,使得用戶可以無需安裝任何客戶端程序,直接在瀏覽器中獲得直觀的數據體驗。

3.2 主要功能模塊實現

(1)反向代理模塊實現過程

反向代理需要對接收到的請求進行判斷與分流,在請求進入服務器處理流程時,Nginx將訪問控制權交給請求判斷模塊。配置文件如下:

http {

server {

listen 80;//配置反向代理監聽端口

location / {

default_type text/html;//配置返回類型

access_by_lua_filerequest_judge.lua;//將頁面訪問控制權交給判斷模塊

proxy_passhttp://target-site.com/;//將請求傳遞給目標網站

}

}

當請求被傳遞到請求判斷模塊(request_judge.lua)后,請求判斷模塊會讀取出請求中的url、源IP、請求體、請求參數等信息,并調用C語言編寫的可疑請求判斷模塊對用戶傳入參數的威脅程度進行初步打分。分值范圍為0-5,若大于0分,則將請求信息以JSON的方式傳遞給后端服務器進行判斷,后端云服務器判斷完成后會返回結果,并根據結果執行阻斷或放行的操作。

(2)可疑請求判斷模塊實現過程

可疑請求判斷模塊每秒將處理大量數據,作為一個CPU-bound(計算密集型)的程序,如何提高效率是實現該模塊的關鍵點。

針對檢索效率問題,基于DFA(Deterministic Finite Automaton)理論的Trie樹可以說是一種快速而又高效的解決方案。

在此給出trie樹相關定義及原理:

Trie樹是一種數字查找樹,也是一種基于DFA理論的高效索引方式。在整個樹結構中,每個節點對應一種DFA狀態,每條從父節點指向子節點的邊對應DFA的一個變化過程。

遍歷過程從根節點開始,依據目標字符串中的字符,依次確定下一個狀態的位置。如果在目標字符串中的字符用盡之前匹配到葉節點,則搜索成功并結束搜索;否則表示搜索失敗。并且Trie樹的搜索靈活性也很高,通過跳過目標字符串中的特定字符可以做到不受輕微的拼寫錯誤影響,但考慮到安全問題,這個特性意義并不大。

關于Trie樹使用的主要方法有創建字典樹、插入節點元素、返回Trie中某一節點被添加的次數、對數字字典樹按實際數值大小排序即廣度優先搜索……

但是由于樸素Trie樹結構稀疏,會造成服務器運算、存儲資源的極大浪費。

本項目使用DAT(Double Array Trie)算法進行流量審查,在此對DAT的原理及其狀態轉移過程進行舉例說明:

假設有一段用戶輸入:I'm a aa hack hacker

生成的DFA圖如圖4:

圖4 生成的DFA圖

上圖經過簡化,圖中每個節點代表一個“狀態”,每條邊代表一個“變量”,從一個節點到下一個節點的轉變稱為“狀態轉移”。狀態轉移機制將傳統的文本正則檢索轉變為對狀態的操作,通過對狀態的記錄與處理,極大地提升了匹配效率與精準度,節省了服務器運算資源、存儲空間,對類regex-DDOS攻擊也有較好的緩解作用。

以下說明DAT的狀態轉變過程:

圖5 DFA的狀態轉變過程圖

如圖5所示,在輸入字符c從狀態s到t的轉變過程中,轉變前的狀態(s)被保存在check數組中,即check[t] = s,這就是DAT的狀態轉變過程。與Tripple-Array Trie相比,將base與next合并為base節省了空間,同時增強了算法局部性,提高了效率。

根據上述過程,可以得到如下偽代碼:

t := base[s] + c;

if check[t] = s then

next state := t

else

fail

endif

check數組中保存的是某個狀態(s)的前一個狀態(t),base數組的index是DFA中的狀態號,base[s]保存的是狀態s尋找下一個狀態時的offset,offset用于尋找后續的可用內存空間。在s狀態下輸入一個字符,根據base[s]處保存的offset和輸入字符編碼將狀態轉移到t。

當算法檢測到危險關鍵字(如雙引號,成對出現的尖括號,script關鍵字等)則對響應危險關鍵字進行風險評估打分,并返回結果給反向代理模塊處理。

(3)請求分析模塊實現過程

云服務器上運行著請求分析模塊,負責判斷請求是否為XSS。請求分析模塊擯棄了基于規則的XSS防御方式,而是基于HTML語義對內容進行分析與判斷,大大降低了誤報率與漏報率。請求分析模塊在發現HTML標簽后,首先會對HTML語義進行分析,解析出HTML標簽的標簽名、屬性名、屬性值等。解析完成后,會對各個屬性進行關聯分析。例如在標簽中出現了onload屬性,該屬性的值不為空,則為XSS。因為該屬性會在頁面載入完成后執行屬性值中的代碼。在完成判斷分析后,將結果返回給CDN服務器。

4 實驗分析

系統完成后對該系統進行了實驗,以某網站作為 CDN的源站。在參數中輸入對攻擊向量進行測試,檢測該系統的誤報率與漏報率。測試使用真實生產環境環境下記錄的攻擊向量,隨機抽取1000條使用該系統進行測試,記錄誤報率與漏報率。并針對誤報結果和漏報結果進行優化,結果如表1:

表1 漏報誤報趨勢表

在測試過程中,我們發現在生產環境數據中經常會遇到XML(擴展標記語言)形式的數據,而XML與HTML語法相近,導致了大量誤報的產生。針對這個問題,對檢測算法進行了優化,單獨解析XML文檔內容,并在解析后判斷是否存在XSS,大大降低了誤報率。

經過對規則與算法的數次優化,誤報率與漏報率均降低到了10%以下。

5 結束語

本文以普通網站所有者對安全防御的需求為切入點,對這個問題的解決方案進行了探究。WEB應用防火墻與CDN技術都是較為成熟的技術,然而在探究的過程中,我們發現二者的結合并不是那么簡單。安全+CDN解決了用戶的核心痛點。我們采用CDN服務器和云服務器相結合。其中,CDN服務器主要針對用戶訪問的請求進行判斷,將請求可疑提交至云服務器進行分析;云服務器則運用網絡態勢感知技術將網絡設備運行狀況、網絡行為以及用戶行為進行總體分析并采取相應的措施去處理問題。我們的安全CDN通過分布在各地的CDN服務器對流經CDN服務器的數據流量進行安全監測,將安全的評估放在 CDN服務器上,實時分析流量中存在的安全威脅,并通過云計算技術與態勢感知技術將安全威脅與安全防御可視化,并對安全事件做出決策。同時用戶不用擔心網絡訪問的速度問題,因為我們安全 CDN通過負載均衡技術,將請求會均衡地分配到附近的 CDN服務器上,使得單個服務器網絡流量壓力不大,可以實現網絡訪問的加速功能。當然,這套系統的潛力不應止步于此:在未來本系統的研究方向可以融入機器學習,把本系統與機器學習相結合,對用戶的請求行為進行建模,從而更好地實現安全防御。

[1]XSS跨站腳本攻擊剖析與防御[J].邱永華.中國科技信息,2013.

[2]章明,施勇,薛質.基于約束分析的跨站腳本防御方法研究[J].計算機工程與設計,2013.

[3]李冬萌.Web前端安全問題的分析與防范研究[D].北京郵電大學,2014.

[4]何銳,李艷,劉紅.基于CDN內容分發的研究與應用[J].通信技術,2011.

[5]王瑋.CDN內容分發網絡優化方法的研究[D].華中科技大學,2009.

[6]王曉尉.CDN網絡中多鏈路負載均衡流量管理技術分析與研究[J].電腦知識與技術,2012.

[7]The top 10 most critical web application security risks.Wichers D.Journal of Women s Health,2010.

[8]Kirda E,Kruegel C,Vigna G,et al.Noxes:a client-side solution for mitigating cross-site scripting attacks[C]//Proceedings of the 2006 ACM symposium on Applied computing.ACM,2006.

猜你喜歡
用戶分析
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
電力系統及其自動化發展趨勢分析
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
中西醫結合治療抑郁癥100例分析
主站蜘蛛池模板: 亚洲成人一区在线| 国产乱子伦视频在线播放| 国产在线视频二区| 国产精品va| 毛片网站在线播放| 色综合五月| 日本免费高清一区| 毛片卡一卡二| 国产特级毛片| 制服丝袜 91视频| 9啪在线视频| 97综合久久| 日本不卡视频在线| 一区二区日韩国产精久久| 欧美人与性动交a欧美精品| 手机成人午夜在线视频| 99热最新网址| 欧美成人日韩| 丁香婷婷在线视频| 日韩麻豆小视频| 国产青榴视频| 国产精品女同一区三区五区| 无码国产偷倩在线播放老年人| 国产呦视频免费视频在线观看| 狼友av永久网站免费观看| 久久美女精品| 人妻少妇乱子伦精品无码专区毛片| 久久午夜夜伦鲁鲁片无码免费 | 免费在线国产一区二区三区精品| 国产免费久久精品99re不卡 | 无码精品福利一区二区三区| 日韩精品中文字幕一区三区| 996免费视频国产在线播放| 国产精品亚洲一区二区在线观看| 国产特级毛片| 最新日本中文字幕| 国产人妖视频一区在线观看| 精品一区二区三区自慰喷水| 在线看片中文字幕| 日韩乱码免费一区二区三区| 乱人伦中文视频在线观看免费| 欧美午夜在线播放| 国产91视频免费观看| 亚洲国产天堂久久综合226114| 无码'专区第一页| 日本免费一区视频| 欧美 亚洲 日韩 国产| 狼友视频国产精品首页| 婷婷综合在线观看丁香| 久久青草视频| 亚洲欧美极品| 成年A级毛片| 永久免费无码成人网站| 日韩欧美国产成人| 第一区免费在线观看| 国产人人射| 午夜高清国产拍精品| www.91中文字幕| 免费中文字幕一级毛片| 欧美亚洲日韩不卡在线在线观看| 亚洲av片在线免费观看| 国产精品专区第1页| 日本道综合一本久久久88| 好紧好深好大乳无码中文字幕| 亚洲区欧美区| 波多野结衣一二三| 国内精品自在欧美一区| 色婷婷在线播放| 国产精品白浆在线播放| 1769国产精品视频免费观看| 欧美福利在线观看| 欧美亚洲日韩中文| 免费毛片全部不收费的| 激情综合婷婷丁香五月尤物| 国产欧美日韩综合在线第一| 97国产一区二区精品久久呦| 巨熟乳波霸若妻中文观看免费| 免费在线a视频| 无码AV日韩一二三区| 97一区二区在线播放| 伊人久久久大香线蕉综合直播| 四虎永久免费地址|