機器人管理
概觀
自動化機器人流量可能會對您的 Web 應用程式產生負面影響,包括可用性、基礎設施成本增加、分析不準確以及帳戶盜用等欺詐活動。機器人管理指定用於識別來自機器人的流量,然後封鎖意外流量。此類控制的複雜程度取決於惡意行為者在財務與政治方面對 Web 應用程式進行攻擊的程度。他們越是意在以 Web 應用程式為目標,就越會投資於偵測規避技術,這需要更先進的緩解功能。建議採用分層式的方法來管理機器人程式,並使用差異化工具,每個工具都適應特定的機器人複雜程度。 如需有關從何處開始的詳細資訊,請參閱有關實作機器人控制功能策略的 AWS 方案指引。
針對常見及普遍機器人程式的基於簽章的偵測
透過分析基於 IP、User-Agent 標頭或 TLS 指紋等 HTTP 屬性的請求簽章,可以在伺服器端識別及管理由掃描程式及編目程式等常見和普遍機器人程式產生的流量。AWS WAF 允許您使用以下基於簽章的規則:
- 用於封鎖 HTTP 洪水攻擊 (L7 DDoS 攻擊) 的規則,例如速率限制、受管的 IP 信譽規則群組 (Amazon IP 信譽評等清單、匿名 IP 清單等),以及 Shield Advanced 自動應用程式層 DDoS 緩解自動建立的規則。
- AWS WAF 機器人控制功能受管規則群組設定為通用防護等級來封鎖自身識別機器人程式,或具有高可信度的機器人簽章。此規則群組可進行精細性設定,以區分對不同機器人類別的管理,例如 Http Library 或 Scraping Framework。這篇部落格為您提供了具體範例,介紹 AWS WAF 機器人控制功能的精細設定,包含標籤和縮小範圍陳述式。
- AWS Marketplace 安全供應商提供的受管規則,例如 F5 的機器人保護規則及 ThreatSTOP 的主動惡意機器人程式。
進階機器人程式的行為偵測
當惡意人士有更高的動機自動訪問您的網站時 (例如,出於財務動機來抓取內容以轉售、竊取信用卡資料並轉售等…),他們會在規避偵測的技術投入更多的精力與金錢 (例如,使用住宅網路 IP、使用高級瀏覽器自動化框架、使用 CAPTCHA 農場等…)。對於複雜的機器人程式,基於簽章的偵測效率較低,因此您需要部署更高級且成本更高昂的行為偵測。 對於複雜的機器人程式,基於簽章的偵測效率較低,因此您需要部署更高級且成本更高昂的行為偵測。靜默挑戰和 CAPTCHA 動作用作進階機器人的常見緩解行動,並涉及與瀏覽器或行動裝置的互動。閱讀這篇部落格文章,進一步了解這些互動是如何發生的。
CAPTCHA
除了封鎖、計數或速率限制之外,AWS WAF 設定的規則還可以具有 CAPTCHA 動作。當使用 CAPTCHA 動作設定規則時,使用者需要解迷以證明是人類正在傳送請求。當使用者成功解決 CAPTCHA 挑戰時,會在他們的瀏覽器放置一個權杖,以避免使用可設定的免疫時間來挑戰未來的請求。瞭解設定 CAPTCHA 的最佳實務。
靜默的挑戰
除了封鎖、計數或速率限制之外,AWS WAF 設定的規則還可以具有 Challenge 動作。使用 Challenge 動作設定規則時,瀏覽器會出現靜默挑戰 (插播式挑戰),該挑戰需要用戶端工作階段驗證它是瀏覽器,而不是機器人。驗證在後台執行,而不涉及終端使用者。這是一個不錯的選擇,可驗證您懷疑是無效的用戶端,同時不會對 CAPTCHA 謎題的終端使用者體驗產生負面影響。當使用者成功解決靜默挑戰時,系統會在其瀏覽器放置一個權杖,以避免使用可設定的免疫時間來挑戰未來的請求。瞭解設定 Challenge 的最佳實務。
用戶端應用程式整合
獲取 AWS WAF 字符的另一種方法是使用 AWS WAF 應用程式整合 SDK。SDK 需要在您的用戶端應用程式中進行程式設計,但其可以提供更好的客戶體驗,可以免費使用,並且既可與執行 JavaScript 的瀏覽器搭配使用,亦可在 Android 或 iOS 行動應用程式中以原生方式使用。在無法選擇挑戰或 CAPTCHA 規則動作的情況下,SDK 整合非常實用,例如單一頁面應用程式。AWS WAF 提供兩個用戶端應用程式整合層級:
- 智慧威脅整合 SDK – 這些 SDK 旨在與智慧威脅緩解規則搭配使用。他們會驗證用戶端應用程式,並提供 AWS 權杖獲取和管理。它們的運作方式類似於 AWS WAF 挑戰規則動作。
- CAPTCHA 整合 JS API – 這些 API 透過客戶在其應用程式中管理的自訂 CAPTCHA 謎題來驗證最終使用者。這類似於 AWS WAF CAPTCHA 規則動作提供的功能,但新增了針對謎題放置和行為的控制功能。此功能可用於 JavaScript 應用程式。
AWS WAF 欺詐控制
AWS WAF 提供一組受管理規則,專門偵測登入或註冊工作流程的欺詐活動。帳戶盜用是一種線上非法活動,攻擊者透過使用遭竊的憑證或透過一系列嘗試猜測受害者的密碼,來取得未經授權存取使用者帳戶。您可以透過實作 AWS WAF 欺詐控制帳戶盜用預防措施 (ATP) 來監控並控制帳戶盜用嘗試。對於每個使用者工作階段,ATP 會監控登入嘗試的速率 (包括失敗的嘗試),以偵測密碼或使用者名稱瀏覽嘗試。此外,ATP 會根據被盜的憑證資料庫檢查使用者名稱與密碼組合,該資料庫會隨著暗網發現新的洩漏憑證而定期更新。
帳戶建立欺詐是一種線上非法活動,攻擊者試圖建立一個或多個虛假帳戶。攻擊者使用虛假帳戶進行欺詐活動,例如濫用促銷及註冊獎金、冒充某人以及網路釣魚等網路攻擊。您可以透過實作 AWS WAF 欺詐控制帳戶創建欺詐預防措施 (ACFP) 管理規則,來監控及控制詐欺性帳戶建立嘗試。對於每個使用者工作階段,ACFP 會監控被入侵憑證的使用情況,IP 風險分數,用戶端與頁面的互動性、偵測到的自動化框架或不合理的瀏覽器行為、同一個電話/地址/電子郵件的高度使用量來創建多個帳戶等。
若要使用不同的欺詐控制管理規則的完整功能,您需要將用戶端 SDK 新增至您的應用程式,以追蹤工作階段層級的行為。
針對目標機器人的 AWS WAF 機器人控制功能
機器人控制功能規則群組設定為目標機器人防護等級,透過建立智慧型流量模式基準,提供複雜的機器人偵測與緩解措施。針對目標機器人的機器人控制功能使用瀏覽器指紋辨識技術及用戶端 JavaScript 查詢方法,來幫助保護您的應用程式免受模仿人類流量模式及主動嘗試避開偵測的進階機器人程式之攻擊。AWS WAF 針對機器人的目標控制功能還提供了預測性 ML 技術,可防禦基於代理的分散式攻擊。受管 AWS WAF 機器人控制功能規則群組使用網站流量統計資料的自動化 ML 分析來偵測異常行為,這些行為可指示分散式的協調機器人活動。
這些選項包括動態速率限制、挑戰動作,以及根據標籤及可信度分數進行封鎖的能力。透過本講座及本部落格了解有關此進階功能的模式。
應用程式層級行為偵測
在應用程式層級,您可以根據應用程式的預期,使用自訂訊號來識別異常行為。例如,您可能希望使用者按特定順序瀏覽您的應用程式,或者您不可能希望使用者根據其註冊地址從/到某些國家/地區訂購某些商品。使用此類訊號,您可以使用 AWS WAF 自動化回應,例如透過封鎖或挑戰使用來自具有可疑應用程式層級行為的 IP 的 CAPTCHA 要求。若要開始使用基於應用程式訊號的 WAF 自動化概念,請考慮此 AWS 解決方案的範例。
進階自動化包括:
- 使用 Cognito 在登入/註冊過程發出的高風險事件。
- 使用 Fraud Detector 識別的高風險事件。Fraud Detector 使用機器學習 (ML) 以及 Amazon Web Services (AWS) 與 Amazon.com 超過 20 年的詐騙偵測專業知識,自動識別人類和機器人即時執行的潛在詐騙模式。Fraud Detector 可分析應用程式層級的使用者行為,並使用您自己的歷史詐騙資料來訓練、測試及部署適合您使用案例的定制詐騙偵測機器學習模型,藉此偵測詐騙。
第三方安全性供應商
AWS Marketplace 專門從事進階機器人偵測的安全性供應商可提供額外的保護層。供應商包括 DataDome、Distill Networks、PerimeterX、Cequence、Kasada 及 Imperva。
請注意,每個安全性供應商在產業特定的保護、功能及成本方面都有不同的優勢。一般而言,使用 CloudFront 的應用程式可以透過以下兩種方式之一整合供應商解決方案:
- 基於 SaaS 反向代理的解決方案,位於 CloudFront 和您的來源之間。
- 全域複製的 Bot Mitigation API,可由 Lambda@Edge 針對每個傳入請求 (即在檢視器請求事件設定) 呼叫,以決定如何管理請求。
資源
- AWS re:Inforce 2024 - Catch Group 如何在其電子商務平台上使用 AWS WAF 機器人控制功能
- AWS re:Inforce 2022 - 使用 AWS WAF 針對機器人程式提供進階保護
- 路由循環 - 保護您的應用程式免受機器人程式流量的侵害
- OLX 案例研究
- 使用 AWS WAF CAPTCHA 保護您的應用程式免受常見機器人程式流量的侵害
- 智慧型威脅緩解最佳實務
- 尋找 AWS WAF 交付合作夥伴
- 使用 AWS WAF 防止欺詐及機器人控制功能 - AWS 線上技術講座
- 使用 AWS WAF 智慧型威脅緩解與跨來源 API 存取
- Kasada 在自己的遊戲中擊敗機器人:如何識別和消除機器人攻擊