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

一種基于HTML動態化的惡意爬蟲主動防御方法

2019-10-08 07:45:24丁文豪武斌
軟件 2019年1期

丁文豪 武斌

摘? 要: 目前針對爬蟲的防御技術主要是根據檢測結果對惡意爬蟲進行封禁,檢測和防御機制單一,無法應對復雜多變的惡意爬蟲,檢測誤判率高,容易造成誤封、漏封。本文提出一種基于移動目標防御思想的惡意爬蟲主動防御技術,使用一種新型的HTML動態化方法,結合自適應跳變策略來遏制爬蟲規則的制訂和后續的惡意操作。通過實驗對比,本文提出的主動防御的方法可以有效地限制惡意爬蟲自動化、批量化的行為;在保證數據內容安全的前提下有效地降低了其對服務性能的影響。

關鍵詞: 主動防御;移動目標防御;惡意爬蟲;數據安全

中圖分類號: TP393? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.01.011

【Abstract】: Nowadays, the researches of malicious crawler defense mainly depends on the detection results to block the malicious crawler`s IP address. The single detection and defense mechanism unable to deal with the complex and changeable malicious crawlers, the high error rate of detection resulting in false blocking and leaky blocking. This paper proposes a malicious crawler active defense technology based on the idea of moving target defense, and uses a new dynamic method of HTML. Combined with adaptive jump strategy to curb the formulation of crawler rules and subsequent malicious operations. Through experimental comparison, the active defense method proposed in this paper can effectively limit the automated and batch behavior of malicious crawlers; in the premise of ensuring the security of data content, it can effectively reduce the impact on service performance.

【Key words】: Active defense; Moving target defense; Malicious crawler; Information security

0? 引言

大數據時代背景下,人們獲取有效信息的需求不斷增加,網絡爬蟲作為自動化獲取信息的有力助手得以迅猛發展[1]。網絡爬蟲能夠根據預設規則實現自動化、持續化、低成本地和網絡應用進行交互,使之被應用到了各個領域,如用以解決信息過載的搜索引擎[2]。

在享受網絡爬蟲帶來的便利的同時,網絡爬蟲也帶來了諸多安全隱患,企業核心數據被利用網絡爬蟲暴力批量獲取、非法批量采集敏感數據進行社會工程學攻擊、刷票/刷點評/秒殺工具帶來惡意競爭、批量檢測站點漏洞從而造成經濟損失以及占用網絡帶寬、虛耗網絡資源等[3],這些不按照網站給出的robots協議,未經授權進行惡意訪問的爬蟲本文中定義為惡意爬蟲,這些爬蟲的存在對網絡環境帶來了巨大的安全隱患。

Distil Networks 2018研究報告指出,互聯網中有約40%~60%的流量來自網絡爬蟲,其中惡意爬蟲占據一半的流量[4]。惡意爬蟲的存在給網絡安全帶來了新的挑戰,如何高效的防御惡意爬蟲成為網絡應用建設者和安全研究者的共同目標。

本文提出一種基于移動目標防御且自適應調整變換頻率的惡意爬蟲主動防御方法,能夠有效的對惡意爬蟲進行防御,并能夠在保證數據安全的前提下降低時間和資源的開銷。本文主要提出一種新型的HTML動態化方法,來增強HTML代碼的復雜性和不可預測性,并通過實驗驗證其有效性;提出一種自適應調整變換頻率的策略,通過實驗證明該策略可以有效的降低系統的開銷。

1? 研究現狀

惡意爬蟲帶來的安全隱患已經引起了研究人員和網絡應用從業者的廣泛關注,提出了很多防御機制,現階段常見的防御方式有依據檢測結果對相應的IP地址進行封禁,采用驗證碼進行限制和利用頁面元素隨機化進行主動防御的機制。

魯念平[5]檢測后利用圖形驗證碼進行攔截,該方案的主要觀點是,通過識別進行封禁,為了容錯性,選用了較為簡單的數字和字母混合的驗證碼方式進行攔截。然而,當前技術研究中已經出現了大量針對驗證碼識別的模型,能夠快速準確的進行識別、提交,該方案無法達到預期效果。

歐陽志友[6]等人提出行為式驗證碼,通過梯度提升模型的二分器對訪問者的鼠標軌跡進行分類,可以限制對惡意爬蟲的訪問,但是文章中并未提及該驗證碼的實際形式,并且,現有的惡意網絡爬蟲技術有能力可以事先錄制鼠標軌跡進行模擬,能夠完全繞過該類驗證碼。

任宏偉[7]提出基于BreakOut異常檢測算法,對異常流量的IP地址進行懲罰封殺,從而降低異常流量占比,緩解網站服務的壓力,該方法完全依賴檢測結果,如果檢測結果存在較高誤差,將會對正常用戶進行限制,影響系統的可用性;另一方面,考慮到IPv4的有限性,多數的客戶端都使用的一個出口IP,如果對IP地址進行懲罰,將會導致大量正常用戶無法訪問。因此該方法無法保證系統的用戶體驗。

Wang W[8]等人,利用將HTML頁面靜態的標簽隨機化用來限制對頁面內容的持續匹配從而限制惡意爬蟲和廣告過濾器,使用隨機數增加了爬蟲批量化的難度,但是靜態路徑問題依然存在,通過xPath方式進行路徑匹配可以完全定位,并沒能解決爬蟲問題。另一方面,該方案沒有考慮到頁面性能的問題,為了防御爬蟲增加的各類特征,都增加了系統的資源開銷。

以上研究都對惡意爬蟲的防御起到了一定作用,但是主要還依賴于檢測結果,由于檢測、防御機制的單一,在面對智能化的爬蟲檢測成功率越來越低,無法有效的檢測出目前復雜多變的惡意爬蟲,進而導致防御機制的誤封、漏封。本文提出的HTML動態化的惡意爬蟲主動防御方法,可以有效的增加爬蟲編寫者的分析難度,增加頁面的復雜性和不可預測性,通過主動、動態的方式預先加固了頁面的脆弱環節。

2? 基于HTML動態化的惡意爬蟲主動防御方法

該方法主要解決HTML內容靜態性、路徑單一性、確定性所帶來數據安全威脅的問題,旨在通過HTML代碼動態化的方式,在保證不影響瀏覽器的正常解析的前提下,消除靜態、唯一匹配的元素、路徑,并在此基礎之上提出一種自適應的跳變策略,降低系統因跳變所帶來的能耗。圖1所示為本文中主動防御方法的流程圖,接下來章節將對該方法中的頁面動態化和自適應策略進行進一步闡述。

2.1? 頁面動態化

惡意爬蟲的工作依賴于一系列預先設定好的規則,可以歸納為正則匹配和路徑匹配兩類。前者通過分析預匹配內容所在HTML內的位置,制訂相應的正則表達式;后者通過分析DOM樹的xPath路徑,來確定精準指向目標元素的路徑。為了更好地分析這些規則中存在的共性問題,本文通過針對Alexa排名前1000的站點編寫對應的爬蟲進行分析對比,如圖2所示,現有爬蟲通常依賴于HTML代碼中的靜態內容,如靜態class/id/name等屬性值或由于HTML 的DOM樹結構導致的確定性的路徑,因此本文提出動態加密算法和動態陷阱的概念對靜態屬性和路徑進行動態化處理。

2.1.1? 動態加密靜態元素

由于HTML靜態屬性值賦予了爬蟲匹配規則的唯一定位和持久可用性,本文采用動態加密的方式對靜態屬性進行加密處理,使得每次響應的HTML代碼中原有的HTML靜態屬性動態變化,且具有不可逆向和不可預測性。

文獻[8]提到的頁面隨機化技術應用于阻止AdBlock,其將HTML靜態屬性進行隨機化處理,需要將隨機化的內容進行映射存儲,存在逆向風險。本文引入一種動態加密算法,將Rijndael算法進行改進提升。Rijndael算法是基于代換-置換網絡(SPN,Substitution-permutation network)的迭代算法[9],具有較高的效率和安全性。

2.1.2? 動態陷阱

經過驗證,對HTML靜態屬性值動態化之后,靜態路徑仍然存在單一性和可匹配性的問題存在,由于HTML源代碼DOM(文檔對象模型)樹結構的緣故,父、子、同胞、先輩以及后代節點的上下級關系確定了任意子節點都至少存在一條從根節點到該節點的路徑支持精準定位,并且由于路徑是由元素標簽依次組成的,在沒有新的元素生成的前提下該路徑是靜態不變的,從圖中可以觀察到,即使其屬性或者文本發生變化也不會影響到該從根元素到該元素的路徑。惡意爬蟲可以利用xPath等selector方式進行精準定位,提取定位到節點的內容、屬性或者事件做相應操作。

通過實驗分析,指向指定節點的任一路徑如果中間插入了任一標簽,都會影響到該路徑的準確性,路徑會發生變化,從而消除靜態路徑的可匹配性。因此,本文提出一種動態陷阱技術,消除DOM樹結構導致的靜態路徑問題,使HTML在動態加密靜態屬性之后動態混淆DOM層級關系。動態陷阱的目標是動態地加入隱藏DOM樹節點,只是影響DOM樹的層級結構的相對位置,消除DOM路徑的單一性和可匹配性。本文提出自動抽取當前頁面結構,動態加入陷阱節點。

該模塊根據指定內容進行動態插入陷阱節點,主要分為插入點的選取和插入內容的選取兩部分。

(1)插入點的選取

路徑/html/body/div[5]/dl/dd/ul/li[7]/div[2]/div[1]/a表示的是一條指向a節點的路徑,路徑由節點、謂語等構成,其中謂語包含在[]中,表示在當前級別中選取的該類節點的第幾個節點。路徑的語法包含了根據DOM樹結構的特點可以看出,在此條路徑中a元素的上級添加任意節點都會改變指向當前a節點的路徑。

根據設定需要防護的內容首先找到該內容所處節點的路徑,DOM樹節點的精準路徑會因為該節點的先輩節點和前驅同胞節點的增減而變化,故選取插入點的方式便是在其先輩節點中進行插入或在其前面插入同胞節點。因此可以根據指定節點計算其先輩節點和前驅同胞節點的可能情況。

(2)插入內容的選取

DOM樹中節點包含標簽、標簽屬性以及內容,標簽一般包含起始標簽和結束標簽均嵌入在尖括號中,內容位于兩個標簽的中間,如這里是內容。插入內容應該至少滿足不影響代碼執行、不影響頁面顯示效果且具有不可預測性三個條件。首先,插入的DOM節點均為HTML中的合法節點即可滿足不影響代碼正常執行;動態插入的節點中不包含內容且不與已有節點產生沖突即可滿足不影響頁面顯示;滿足以上兩點的tag類型可以自行構造,因此滿足不可預測性。

(3)基于梅森旋轉算法的插入機制

插入機制通過隨機選擇的方式從插入點和插入內容中進行選取,為了能夠提升隨機性和不可預測性,需要對插入位置和插入內容進行隨機選擇,用來產生隨機數的方法有很多,如線性同余法、平方取中法以及梅森旋轉算法,考慮到隨機數質量以及生成效率都有很大的優勢[12],本文中引入梅森旋轉法做相應改造后來進行隨機選擇,通過實驗分析動態陷阱具有很高的不可逆向性和不可預測性,能夠高效地消除HTML中的靜態路徑問題。

2.2? 自適應調整動態頻率

移動目標防御最重要的三個問題,“變什么”、“什么時間變”以及“怎么變”,前邊章節已經講述了“變什么”和“怎么變”,而動態的改變就會給系統帶來負面影響,影響系統的響應時間,因此選取一個合理的跳變策略,能夠實現一個高效的移動目標防御系統[10-11]。

文獻[8]中忽略了對實際應用中并發的考慮,假設web頁面元素動態化頻率為1秒鐘一次,在t0時刻剛結束上一次跳變則t0+1時刻繼續跳變,這時,如果訪問量達到了原有系統(未加跳變模塊時)的最大承受量,且響應時間接近1秒,即系統將針對每一個響應都要進行一次跳變,系統的,進而無法繼續提供服務。

本文提出一種自適應調整變換頻率的策略,旨在降低因動態化帶來的系統開銷。自適應的初衷即是為了能夠更好的利用系統性能,保證系統的服務質量,引進一種對系統剩余性能狀態進行量化的方法,該方法對系統的性能指標實時采集、計算,從而得出目前的系統性能狀態。為了確保系統性能狀態對自適應策略影響的準確性,需要獲得較為全面的系統信息參數,采集和處理過程中過多的參數會帶來額外的開銷。如果對性能的改進不能彌補過程中額外的開銷,過多的參數易造成負載均衡服務器過載。因此,盡量避免引入過多冗余的參數。根據本系統實際情況分析,由于服務器節點在存儲方面對系統負載影響較小,本文中的方法不考慮硬盤利用率,采用CPU利用率、內存利用率和IO消耗。

3? 模型驗證

為了測試本文中的模型的安全性和效率,本文開發了支持各類請求和實際訪問的web應用,用于實驗測試。使用Python語言搭建一個涵蓋所有頁面類型的站點,其中包括各類可匹配的靜態元素、靜態路徑,支持惡意爬蟲的采集爬取、惡意模擬提交等150個web頁面。

3.1? 頁面動態化實驗分析

本文中頁面動態化主要采用了對靜態屬性動態加密和動態插入陷阱節點,增強了頁面數據的安全性,降低了冗余存儲以及加密時間,因此本實驗選擇本文方法(方案一)與文獻[8](方案二)以及普通方案(正常情況)進行比較,主要從爬蟲交互的成功率、動態化時間兩個維度進行實驗。

爬蟲交互成功率采用實際請求的方式,分別使用成熟的爬蟲工具(八爪魚、集搜客等)、GitHub成熟的爬蟲代碼以及針對性的編寫爬蟲代碼三種方式進行對自建站點的所有頁面惡意爬取和交互,并統計每種方案下的交互成功率。

分析不同方案對頁面加載時間的影響,為了更好地統計頁面加載時間,降低其它因素對響應時間的干擾,本次實驗中采用對不同大小頁面進行分組,分為了0-0.5*10^6byte,0.5-01*10^6byte以此類推共計六組來驗證三種方案下頁面加載時間;加載時間的記錄通過對每個重復頁面請求10次取均值處理。

表1中數值代表了不同防御方案、不同爬蟲工具對實驗站點所有頁面進行交互的成功率,通過對比實驗結果可以發現,由于文獻[8]中只是對靜態屬性值進行了隨機化,從一定程度上對惡意爬蟲進行了限制,但是針對性代碼仍能通過xPath路徑,仍可以精準定位到關鍵元素,并進行后續的惡意攻擊操作。而本文中提出的方案在各類攻擊工具面前成功率均在10%以內,幾乎能夠對所有頁面進行防護。因此,本文提出的方案能夠有效的對惡意爬蟲進行全面的防御。

可以看出本文中提出的方案在各類頁面大小分組下都具有較好的優勢,另外由于方案二中增加了過多的冗余存儲,當頁面過大,過多元素映射關系的存儲帶來檢索的壓力,導致時間變長,實驗結果也表明,當頁面不斷增大時,本文提出的方案(方案二)的效果也更為凸顯。

3.2? 自適應策略性能分析

增加動態化策略增大了系統的開銷,為了能夠選定一個高效率的動態頻率,將本文提出的自適應動態頻率和固有頻率進行對比,固有頻率選取保證安全性前提下的三個值與自適應頻率進行對比。

編寫實時獲取系統性能指標的代碼用于自適應跳變策略的,本實驗增加動態變換策略后主要影響的性能點事CPU利用率和頁面響應時間,本文中采用真實的用戶進行對站點的訪問進行實驗,實驗分組分為四組,各組配置如表2所示。

以上分析可以得出,當加入動態策略之后,系統的性能受到影響,并且隨著用戶并發量愈發顯著,在不考慮性能的情況下,每秒鐘對頁面進行一次動態加密,幾乎可以完全阻止頁面數據的采集行為,但是頻率越大,對性能影響也越大,在自建站點上正常最佳用戶量為40,當頻率達到一秒鐘一次自建系統最佳用戶量為25,自適應策略可以根據系統真實情況自適應動態調整變換頻率,從而減少了系統消耗并提升了數據安全性。

4? 總結

本文針對惡意爬蟲利用靜態路徑進行惡意操作的問題,提出了惡意陷阱技術,通過動態化的添加陷阱節點消除了靜態路徑帶來的精準匹配隱患;同時對靜態屬性隨機化進行優化,使用動態加密算法解決了利用正則等方式進行匹配目標元素的問題,這兩個主動、動態措施有效的遏制了復雜多變的爬蟲的惡意行為,彌補了現有被動防御技術中過于單一、誤判率高等問題。另外,本文考慮到動態化帶來的資源消耗問題,提出一種自適應的動態化機制,有效地降低了因附加動態化而帶來的系統性能問題。

參考文獻

Lee J, Cha S, Lee D, et al. Classification of web robots: An empirical study based on over one billion requests[J]. Computers & Security, 2009, 28(8): 795-802.

胡晟. 基于網絡爬蟲的Web挖掘應用[J]. 軟件, 2012, 7: 145-147.

Vikram S, Yang C, Gu G. NOMAD: Towards non-intrusive moving-target defense against web bots[C]//Communications and Network Security. IEEE, 2014: 55-63.

Distil Networks.2017 Bad Bot Report[R]. San Francisco, 2018.

魯念平. 針對信息披露網站的實時爬蟲檢測與攔截[D]. 哈爾濱工業大學, 2016.

歐陽志友, 孫孝魁等. 基于梯度提升模型的行為式驗證碼人機識別[J]. 信息網絡安全, 2017(9): 143-146.

任宏偉. 基于異常檢測技術的數據防爬系統設計與應用[D]. 中國科學院大學(工程管理與信息技術學院), 2016.

Wang W, Zheng Y, Xing X, et al. WebRanz: web page randomization for better advertisement delivery and web-bot prevention[C]//ACM Sigsoft International Symposium on Foundations of Software Engineering. ACM, 2016: 205-216.

趙凱,胡云琴. Rijndael加密算法的原理分析[J]. 網絡安全技術與應用, 2015(4): 14-15.

劉丹軍, 蔡桂林, 王寶生. AMTD: 一種適應性移動目標防御方法[J]. 網絡與信息安全學報, 2018(1): 15-25.

趙鑫. 跳變信息服務系統研究[J]. 軟件, 2018, 39(3): 204- 208.

焦然, 王宜敏. 引入梅森旋轉算法的三角網格模型部分隱寫算法[J]. 電子測量技術, 2017(12): 228-232.

主站蜘蛛池模板: 日韩精品专区免费无码aⅴ| 国产乱人伦AV在线A| 99热免费在线| 手机在线免费不卡一区二| 四虎成人在线视频| 99伊人精品| 精品1区2区3区| 国产欧美在线| 亚洲一道AV无码午夜福利| 四虎成人在线视频| 欧美日韩第二页| 潮喷在线无码白浆| av天堂最新版在线| 亚洲欧美综合精品久久成人网| 国产91精品最新在线播放| 欧美黄色网站在线看| 九色视频线上播放| 在线国产你懂的| 欧美 亚洲 日韩 国产| 午夜视频免费试看| 漂亮人妻被中出中文字幕久久| 国产成人欧美| 亚洲国产中文精品va在线播放| 欧美全免费aaaaaa特黄在线| 亚洲国产精品国自产拍A| 日本午夜影院| 亚洲AV无码久久精品色欲| 激情六月丁香婷婷| 久久久久亚洲av成人网人人软件 | 综合社区亚洲熟妇p| 亚洲国产天堂久久九九九| 国产麻豆福利av在线播放| 日韩视频免费| 特级毛片8级毛片免费观看| 国产精品永久在线| 欧美影院久久| 亚洲国产成人精品青青草原| 国产成人精品视频一区二区电影| 波多野结衣AV无码久久一区| 狠狠色成人综合首页| 亚洲第一成年网| 久久五月视频| 香蕉综合在线视频91| 国产欧美成人不卡视频| 国产高清在线丝袜精品一区| 国产一区在线视频观看| 2020最新国产精品视频| 亚洲精品视频免费| 国产精品福利尤物youwu| 91色综合综合热五月激情| 99精品一区二区免费视频| 亚洲人成影院在线观看| 亚洲资源站av无码网址| 国产无遮挡猛进猛出免费软件| 91成人免费观看| 天堂va亚洲va欧美va国产 | 国产高清精品在线91| 在线无码av一区二区三区| 99久久婷婷国产综合精| 最近最新中文字幕免费的一页| 午夜国产理论| 综合久久五月天| 99这里精品| a亚洲天堂| 国产91av在线| 狂欢视频在线观看不卡| 中文字幕欧美日韩高清| 99精品热视频这里只有精品7| 伊人色天堂| 91久久精品国产| 污视频日本| 狠狠色噜噜狠狠狠狠奇米777| 国产在线一区二区视频| 玩两个丰满老熟女久久网| 1769国产精品视频免费观看| 亚洲日本中文字幕天堂网| 亚洲人在线| 欧美在线伊人| 国产在线观看91精品| 亚洲高清中文字幕| 国产美女丝袜高潮| 亚洲成A人V欧美综合|