在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

識別網絡爬蟲的策略分析

恬靜簡樸1 ? 來源:恬靜簡樸1 ? 作者:恬靜簡樸1 ? 2022-09-14 09:08 ? 次閱讀

識別網絡爬蟲的策略分析

一、網絡爬蟲

爬蟲(crawler)也可以被稱為spider和robot,通常是指對目標網站進行自動化瀏覽的腳本或者程序,包括使用requests庫編寫腳本等。隨著互聯網的不斷發展,網絡爬蟲愈發常見,并占用了大量的網絡資源。由爬蟲產生的網絡流量占總流量的37.2%,其中由惡意爬蟲產生的流量約占65%[1]。如何在網絡流量中識別爬蟲,是判斷爬蟲行為意圖的前提,常見的使用爬蟲的場景包括:搜索引擎等使用爬蟲爬取網站上的信息,研究機構使用爬蟲搜集數據,以及攻擊者使用爬蟲搜集用戶信息、識別軟件后門等。

針對網絡爬蟲,目前常用的方法包括在服務器上的robots.txt文件中進行適當的配置,將用戶代理列入白名單等,這些操作可以檢測和阻止一些低級別的惡意爬蟲。然而,高級和復雜的網絡爬蟲仍然難以檢測,因為它們通常會偽裝成合法的爬蟲或正常用戶。此外,運營部門需要投入較多的時間和資源來收集和分析網絡流量記錄報告,以發現隱藏的網絡爬蟲的痕跡。網絡爬蟲通常會觸發大量告警,給安全運營人員帶來了較大的數據處理壓力。此外,部分惡意攻擊者也會使用爬蟲來收集信息,因此從海量的告警中,識別出網絡爬蟲,并判斷其行為意圖十分重要。在安全運營場景中,如何根據安全設備產生的告警數據,設計出識別爬蟲,并判斷其行為意圖的方案,目前仍需要不斷地探索以及深入的思考。

在往期內容中,筆者已經介紹了Aristaeus平臺使用瀏覽器指紋、TLS指紋和IP行為分析等方式識別爬蟲的行為意圖的工作[2],由于Aristaeus平臺使用的域名在實驗前均未注冊使用過,因此這一工作中采集到的流量均為爬蟲,并在此基礎上對良性/惡意的爬蟲進行了區分。本文對基于web日志信息識別爬蟲以及判斷其行為意圖的研究進行總結分析[3],包括常見的判斷爬蟲的方法,以及機器學習、深度學習等方法識別爬蟲,以及各種識別爬蟲行為意圖的方法。

二、識別網絡爬蟲的常見方法

常用的判定爬蟲的方法包括檢查其HTTP協議頭的User-agent字段,這一字段包含用戶訪問時所使用的操作系統及版本、瀏覽器類型及版本等標識信息。如果該字段中表明為瀏覽器等使用的爬蟲,使用DNS正向和反向查找的方法可以確定發起請求的IP地址是否與其聲明的一致,則可以將其進行判別。一個IP地址可能使用不同的用戶代理或者不同的自動化工具生成HTTP請求頭,這一現象可能是良性爬蟲使用NAT或者代理造成的,但也可能是惡意爬蟲在進行欺騙行為,包括在User-agent字段中更改操作系統、瀏覽器版本等[4],例如筆者在日常告警數據中觀察到User-Agent字段存在

“User-Agent: Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)”

這類情況。目前也有許多開源的項目使用上述方法檢測網絡爬蟲,例如CrawlerDetect 就是github上的一個開源項目[5],通過User-Agent和 http_from 字段檢測爬蟲,目前能夠檢測到 1,000 種網絡爬蟲。

由于上述方法只能判斷一部分網絡爬蟲,在安全運營場景中,對于其余無法識別的爬蟲,可以基于HTTP請求的速率、訪問量、請求方法、請求文件大小等行為特征,設計算法進行識別。由合法機構運行的網絡爬蟲,包括搜索引擎和研究機構等,通常不會造成網絡的阻塞。惡意的網絡爬蟲主要是在機器上運行的腳本編程,通常具有較高的 HTTP 請求率,且對URL訪問量很大。基于網絡爬蟲的這一特點,可以提取各個IP地址發出HTTP請求的速率、以及其URL的訪問量作為特征。由于爬蟲的主要目的是從網站下載信息,所以較多地使用GET方法,而不是使用POST方法進行上傳操作。此外,爬蟲通常需要在嘗試爬取文件之前確定文件的類型,所以與正常瀏覽相比,可能會使用更多的HEAD方法[4]。通過統計分析各個IP地址的HTTP請求中各類方法所占比例,可以提取出HTTP請求方法的分布特征。

通常網絡爬蟲對特定文件類型的請求更多,例如較多地請求 .html文件,而對 .jpeg等文件類型的請求較少。爬蟲通常會進行策略優化,以實現在最短的時間內將爬取效率最大化,往往會跳過大文件而去尋找較小的文件,所以HTTP的 GET方法可能會返回更多的小文件。如果某些被爬取的URL需要進一步驗證,爬蟲的請求將被定向到這些驗證頁面,因此會產生3XX 或 4XX 的 HTTP 請求返回碼[4]。通過統計分析各個IP地址請求的文件類型、大小的分布,以及響應碼的分布,可以提取出描述請求文件和響應特征,對應于告警信息中的URI,content_length,q_body和r-body等字段。

Lagopoulos等人提出了一種用于網絡機器人檢測的語義方法[6],這一方法主要是基于以人為主體的網絡用戶通常對特定主題感興趣,而爬蟲則是隨機地在網絡上爬行的假設,設計出了一套檢測方法。這一工作從會話中提取的典型特征包括:

請求總數:請求的數量。

會話持續時間:第一個請求和最后一個請求之間經過的總時間

平均時間:兩個連續請求之間的平均時間。

標準偏差時間:兩個連續請求之間時間的標準偏差。

重復請求:使用與以前相同的HTTP方法請求已經訪問過的頁面。

HTTP請求:四個特性,每個特性包含與以下HTTP響應代碼之一相關聯的請求的百分比:成功(2xx)、重定向(3xx)、客戶機錯誤(4xx)和服務器錯誤(5xx)。

特定類型請求:特定類型的請求占所有請求數的百分比,這一特征在不同的應用程序中表現不同。

除了上述特征外,這一工作從會話中提取到了一部分語義特征:包括主題總數、獨特主題、頁面相似度、頁面的語義差異等,并使用了四種不同的模型,包括使用RBF的SVM,梯度增強模型,多層感知器和極端梯度增強來測試檢測結果。從不同特征集上的實驗結果可以看出,RBF在語義特征上取得了最好的性能,GB在簡單典型特征上取得了最好的性能,GB在典型特征和語義特征的結合上也取得了最好的性能。

此外,Wan等人在2019年提出了一種名為PathMarker的反爬蟲技術,可以通過檢測網頁或請求之間的關系來檢測分布式爬蟲[7]。在這一方法中,通過向URL添加標記來跟蹤訪問該URL之前的頁面,并識別訪問該URL的用戶。根據URL訪問路徑和訪問時間的不同模式,使用支持向量機模型來區分惡意網絡爬蟲和普通用戶。實驗結果表明,該系統能夠成功識別96.74%的爬蟲長會話和96.43%的普通用戶長會話。PathMarker的體系結構如圖1所示,最后使用自動化的公共圖靈測試(CAPTCHA)實時地識別爬蟲和普通用戶。

poYBAGMhKaKAV_bXAABzA8KYw7I658.jpg

圖1 PathMarker的體系架構

上述兩個工作均引入了語義內容作為檢測爬蟲的特征之一,其核心思想在于普通用戶和爬蟲請求網頁的主題不同。基于這一結果,可以使用doc2vec 和 word2vec替換LDA,以更好地表示會話中訪問內容的語義[6]。

三、識別爬蟲的行為意圖

匹配黑名單是常用的識別惡意爬蟲的方式,然而在目前觀測到的攻擊中,大多數惡意IP都是被感染的個人設備,且爬蟲經常會切換新的IP地址,多數IP的生存周期都不超過一天,這些操作都可以避免被黑名單過濾。例如,在Aristaeus平臺監測到的發出惡意請求的IP地址中,只有13%出現在當前流行的惡意IP黑名單中,這表明黑名單對惡意爬蟲的IP地址覆蓋率較低[2]。此外,還可以根據訪問行為是否符合robots協議來判斷是否為惡意爬蟲。通常每個網站都會設置robots.txt,內容包含不要訪問某些文件夾或文件,或限制爬蟲訪問網站的頻率。通常我們認為惡意爬蟲不會遵守robots協議,并且會使用robots.txt來識別他們可能忽略的站點,這一行為模式可以用于識別惡意爬蟲。然而,在Aristaeus平臺的研究中,并未發現爬蟲發出的請求違背robots協議的現象[2],這表明爬蟲采取的策略中已明確避免出現上述行為,所以這類方式在實際應用中可能難以有效地識別爬蟲。

基于這一實際情況,采用更加細粒度的方式描述爬蟲行為,并提取相應的行為特征是后續識別爬蟲行為意圖的解決方向。例如,良性的爬蟲不會發送未經請求的POST或利用漏洞進行攻擊,與之相反,惡意爬蟲則會向身份驗證端點發送未經請求的POST或無效的請求,可以視為偵察行為。爬蟲請求中是否存在欺騙的行為也可以用于判斷其意圖,例如構建wget、curl、Chrome等工具的TLS指紋庫,通過將請求中聲明的用戶代理與其TLS指紋進行匹配[2],可以檢測出進行身份欺瞞的爬蟲,并在后續的分析中進一步分析其行為特征。

四、結論

通過使用User-Agent字段及DNS正方向查詢可以初步識別常見搜索引擎的爬蟲,基于IP地址發出HTTP請求的行為特征,并引入對請求行為的語義特征描述等,可以在剩余告警信息中檢測出使用腳本得到的爬蟲。隨著爬蟲策略的優化更新,使用靜態黑名單過濾或判斷爬蟲是否遵守robots協議,通常很難達到較好的效果。如果需要進一步辨別爬蟲的行為意圖,可以通過建立構建爬蟲程序的指紋庫,判斷爬蟲的真實身份是否與其聲明一致。針對IP的請求內容,構建描述是否對web應用程序進行指紋識別、是否在掃描可能存在的敏感文件等指紋庫,可以更加精確地檢測惡意爬蟲。在后續的研究工作中,筆者希望通過將上述檢測方法付諸實踐,基于告警信息對爬蟲進行檢測,并深入分析爬蟲的行為意圖,進而輔助安全運營人員研判。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9308

    瀏覽量

    86071
  • 網絡爬蟲
    +關注

    關注

    1

    文章

    52

    瀏覽量

    8722
收藏 人收藏

    評論

    相關推薦

    常見的幾種爬蟲策略

    抓取策略。幾種常見的抓取策略:1、深度優先遍歷策略:深度優先遍歷策略是指網絡爬蟲會從起始頁開始,
    發表于 11-22 17:25

    應對反爬蟲策略

    被機器人肆意地濫用,網站的安全和流量費用就會面臨嚴重威脅,因此很多網站都會想辦法防止爬蟲程序接入。為了能夠更好的爬蟲,我們需要使用可變的ip地址,建立網絡爬蟲的第一原則是:所有信息都可
    發表于 12-12 17:39

    網絡爬蟲之關于爬蟲http代理的常見使用方式

    鏈接,代理平臺自動實現毫秒級代理IP切換,保證了網絡穩定性和速度,避免爬蟲客戶在代理IP策略優化上投入精力。這種方式適用于專做爬蟲的用戶或者第一次使用http代理的用戶,使用方便更加簡
    發表于 04-26 17:43

    網絡爬蟲nodejs爬蟲代理配置

    隨著互聯網的發展進步,現在互聯網上也有許多網絡爬蟲。網絡爬蟲通過自己爬蟲程序向目標網站采集相關數據信息。當然互聯網的網站會有反爬
    發表于 09-01 17:23

    python網絡爬蟲概述

    的數據,從而識別出某用戶是否為水軍學習爬蟲前的技術準備(1). Python基礎語言: 基礎語法、運算符、數據類型、流程控制、函數、對象 模塊、文件操作、多線程、網絡編程 … 等(2). W3C標準
    發表于 03-21 16:51

    網絡爬蟲 Python和數據分析

    網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的
    發表于 09-25 08:25

    一種維護WAP網站的網絡爬蟲的設計

    本文提出了一種維護WAP 網站的網絡爬蟲系統,該系統可以自動遍歷WAP 網站,并對網頁進行分析,檢查語法和語義的錯誤。關鍵詞:WAP、網絡爬蟲
    發表于 06-11 16:26 ?24次下載

    一種新型網絡爬蟲的設計與實現

    網絡爬蟲是當今網絡實時更新和搜索引擎技術的共同產物。文中深入探討了如何應用網絡爬蟲技術實現實時更新數據和搜索引擎技術。在對
    發表于 02-26 14:23 ?9次下載

    網絡爬蟲的爬行策略

    本視頻主要詳細介紹了網絡爬蟲的爬行策略,分別是PartialPageRank策略、寬度優先遍歷策略、大站優先
    的頭像 發表于 03-21 17:08 ?7093次閱讀

    網絡爬蟲的原理是什么

    網絡爬蟲指按照一定的規則(模擬人工登錄網頁的方式),自動抓取網絡上的程序。簡單的說,就是講你上網所看到頁面上的內容獲取下來,并進行存儲。網絡爬蟲
    的頭像 發表于 03-21 17:13 ?1.3w次閱讀

    網絡爬蟲是否合法

    網絡爬蟲在大多數情況中都不違法,其實我們生活中幾乎每天都在爬蟲應用,如百度,你在百度中搜索到的內容幾乎都是爬蟲采集下來的(百度自營的產品除外,如百度知道、百科等),所以
    的頭像 發表于 03-21 17:20 ?1.3w次閱讀

    常用的網絡爬蟲軟件

    本視頻主要詳細介紹了常用的網絡爬蟲軟件,分別是神箭手云爬蟲、火車頭采集器、八爪魚采集器、后羿采集器。
    的頭像 發表于 03-21 17:25 ?3w次閱讀

    如何使用本體語義實現災害主題爬蟲策略

    為高效精確地提取存在于互聯網中的災害主題網頁文本信息,引入本體語義,提出一種新的災害主題爬蟲策略。給出本體語義支持的災害主題爬蟲框架和流程,改進本體概念語義相似度計算方法,利用語義相似度計算主題語義
    發表于 02-26 11:14 ?6次下載
    如何使用本體語義實現災害主題<b class='flag-5'>爬蟲</b>的<b class='flag-5'>策略</b>

    python網絡爬蟲概述

    網絡爬蟲(Web Spider)又稱網絡蜘蛛、網絡機器人,是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。 網絡
    的頭像 發表于 03-21 16:50 ?2094次閱讀

    網絡爬蟲,Python和數據分析

    電子發燒友網站提供《網絡爬蟲,Python和數據分析.pdf》資料免費下載
    發表于 07-13 09:27 ?2次下載
    主站蜘蛛池模板: 泰国一级毛片aaa下面毛多 | 国产三级日本三级在线播放 | 午夜免费理论片在线看 | 狠狠久| 国产欧美精品午夜在线播放 | 深夜动态福利gif进出粗暴 | 亚洲天天做日日做天天看2018 | 色综合88 | 4455永久在线毛片观看 | 欧美三级 欧美一级 | 沟沟人体一区二区 | 5151hh四虎国产精品 | 韩国理论三级在线观看视频 | 毛片不卡一区二区三区 | 日日日天天射天天干视频 | 天天干天天做天天射 | 美女网站黄在线看 | 色天天干 | 人人看人人做 | 欧美三级午夜伦理片 | 久久精品国产大片免费观看 | 国产精品久久久亚洲第一牛牛 | 午夜精品福利视频 | 欧美怡红院免费全部视频 | 饥渴少妇videos | a资源在线观看 | 日本免费一区二区老鸭窝 | 35pao免费视频 | 四虎伊人 | 欧美一级免费片 | 精品久久久久国产免费 | 天堂网在线.www天堂在线资源 | 天天色色色 | 亚洲第一综合 | 午夜色网站 | 美女露出扒开尿口让男人桶 | 日韩欧美高清色码 | 亚洲第一伊人 | 国产一级特黄全黄毛片 | 性free中国美女hd | 天天插天天干 |