檢測抓取攻擊的類型有哪些?

      Web 抓取攻擊,或簡稱為“抓取”,發生在機器人自動從您的網站收集數據時,通常是出于惡意目的,如內容轉售和降價。爬蟲機器人模仿真實用戶在常規瀏覽器上訪問網站,在那里他們提取機器人程序員想要存儲在本地數據庫中的數據。

      檢測抓取攻擊的類型有哪些?-南華中天

      爬蟲與其他類型的機器人有何不同?

      與不需要執行很多請求的scalpers這樣的機器人相反,抓取程序經常需要發出數百萬個請求來抓取網頁。盡管他們執行的請求量很大,但 Scraper 機器人被設計為有利可圖。

      例如,與剝頭皮機器人相比,爬蟲可能使用質量較低的代理,但它們傾向于使用與其他機器人相同的底層技術。爬蟲可以基于自動化(無頭)瀏覽器,或者它們可以利用 HTTP 客戶端,如 aiohttp 和 Axios。爬蟲機器人可以定制,或者欺詐者可以利用不同的專門框架,例如 Scrapy,使爬蟲的創建更容易。許多機器人即服務 (BaaS)也專門用于抓取——他們所要做的就是使用 API 來抓取網站。

      如何檢測抓取攻擊?

      與其他類型的攻擊一樣,可以使用三種主要類型的信號檢測抓取攻擊:

      • 行為
      • 名聲
      • 簽名

      行為

      可以在服務器端和客戶端收集行為信號。在服務器端,該引擎分析用戶如何瀏覽網站或移動應用程序,以檢測一段時間內請求數量中的可疑異常值——因為機器人發出請求的速度比任何人都快得多。

      在客戶端,JavaScript(用于網站)或 SDK(用于移動應用程序)將收集瀏覽器中事件的詳細信息,例如點擊、觸摸事件、打字速度和鼠標移動。然后可以通過機器學習 (ML) 模型分析這些細節,以檢測交互是否與人類行為一致。

      名聲

      信譽信號僅在服務器端以不同的粒度級別(如 IP 地址或用戶會話)和時間窗口(如分鐘、小時、天或月)計算。有了信譽信號,檢測引擎可以使用先驗知識來調整決策。例如,如果某個自治系統經常與數據抓取相關聯,ML 模型將決定更積極地阻止來自該系統的流量。

      由于抓取工具需要擴大攻擊規模才能抓取數千或數百萬頁,因此他們往往嚴重依賴代理。最先進的爬蟲使用住宅代理來訪問類似于人類用戶的 IP 地址。這就是為什么能夠檢測代理以阻止爬蟲很重要的原因。

      簽名

      簽名信號在服務器端和客戶端都被收集,可以包括:

      • HTTP 指紋:HTTP 標頭的詳細信息(服務器端)。
      • TLS 指紋:在 TLS 握手(服務器端)期間提取的元數據。
      • 瀏覽器指紋:JavaScript (JS) 收集有關操作系統 (OS)、瀏覽器和設備(客戶端,在瀏覽器中)的信息。
      • 移動指紋:SDK 收集有關操作系統和設備(客戶端,在移動應用程序中)的信息。

      最徹底的檢測將始終利用瀏覽器和移動指紋,因為使用 JS 或 SDK 制作的高級解決方案可以檢測流行的無頭瀏覽器和自動化框架,如無頭 Chrome、Puppeteer、Playwright和Selenium。

      客戶端挑戰還可以幫助檢測和跟蹤旨在繞過傳統機器人檢測技術的爬蟲經常使用的修改后的機器人框架,尤其是:

      • 傀儡師額外隱身
      • 修改后的 Selenium ChromeDriver
      • 修改編劇

      關于抓取檢測和保護的問題和誤解

      大多數網站和移動應用程序都實施了針對爬蟲的反制措施,其中包括驗證碼、速率限制、Web 應用程序防火墻 (WAF) 等。但一些常見的反制措施不足以保護您的網站免受復雜的爬蟲攻擊——更糟糕的是,其中一些可能會產生誤報。

      傳統的 CAPTCHA 是否足以對抗爬蟲?

      不會。大多數爬蟲可以偽造傳統的驗證碼,使用基于人工智能的圖像或音頻識別或驗證碼農場,人類工人代表機器人解決驗證碼挑戰。最重要的是,向用戶顯示驗證碼(也稱為“誤報”)會顯著降低真實用戶的用戶體驗。

      在我的網站和 API 端點上使用基于 IP 的速率限制可以確保我的安全嗎?

      雖然基于 IP 的速率限制可以阻止最簡單的機器人程序(僅從一個或幾個 IP 運行的機器人程序),但它無法捕捉到最復雜的爬蟲程序。復雜的爬蟲利用代理將他們的攻擊分布到數千個不同的 IP 地址。因此,每個 IP 地址僅發出少量請求,這使攻擊者能夠保持在速率限制閾值以下。

      此外,阻止整個 IP 地址是危險的,因為許多 IP 地址被大量共享。事實上,大多數移動 IP 地址在任何給定時間都由成百上千的用戶共享。因此,阻止 IP 會導致許多誤報(挑戰真正的人類用戶),從而損害您的用戶體驗并使您的消費者感到沮喪。

      阻止來自數據中心 IP 的所有流量是否足以阻止爬蟲?

      不幸的是,阻止所有數據中心 IP 流量是不夠的,更糟糕??的是,它會觸發誤報。許多合法流量來自數據中心 IP,包括 VPN 用戶和大公司代理。您不想阻止您的合法用戶。最重要的是,攻擊者可以訪問數百萬個住宅代理——而不僅僅是數據中心代理。一些代理服務以每 GB 帶寬幾美元的價格提供對住宅 IP 的訪問。因此,攻擊者可以使用屬于 Comcast、AT&T 和 Verizon 等知名互聯網服務提供商 (ISP) 的 IP ,就像您的真實用戶一樣。

      如果我使用地理封鎖來阻止來自我的業務未開展業務的國家/地區的所有流量,爬蟲能否繞過它?雖然地理封鎖可能會阻止從單個 IP 或外國數據中心代理運行的簡單爬蟲,但它不會阻止利用住宅代理的更復雜的攻擊者。住宅代理網絡允許欺詐者選擇位于特定國家/地區的代理。

      我們在觀察到的是,大多數攻擊者選擇與他們所針對的網站位于同一國家/地區的代理——這有助于他們顯得更人性化并繞過地理封鎖技術。

      地理封鎖也會產生誤報,因為您的一些用戶可能正在國外旅行或暫時居住。此外,請記住 IP 地址位置并非 100% 準確。因此,IP 位置數據庫中可能存在一些國家/地區錯誤分類,地理封鎖可能會在這些 IP 上產生誤報。

      我的 WAF 可以防止抓取嗎?

      不,不完全是。WAF 無法與當今復雜的爬蟲機器人相提并論,因為 WAF 旨在使用一組二進制規則檢測和過濾惡意流量。盡管昨天的簡單機器人程序和已知威脅可能會受到 WAF 中指定規則的約束,但爬蟲現在可以輕松訪問使用代理和 ML 來模仿人類行為的復雜機器人程序。今天復雜的爬蟲可以輕松繞過基于規則的安全工具,如 WAF。