Home Blogs Edgio WAAP規則–創建混亂秩序
Applications

Edgio WAAP規則–創建混亂秩序

About The Author

Outline

我的一天充滿了來自當前和潛在客戶的問題。 我喜歡回答的一個問題是,我們的Web應用程式和API保護(WAAP)以及安全規則集如此準確。 在考慮過去幾年中新攻擊媒介和漏洞的沖擊時,準確性至關重要。 事實上,網路安全與基礎架構安全局(CISA)最近在其已知漏洞目錄中添加了66個新漏洞,而新的CVE在2022年的年增長率超過25 %。 CISA並不是唯一關心安全性和性能的人。 根據最近的一項調查,企業希望減少誤報,誤報,警示疲勞,並改善安全管理。 那麼,是什麼讓Edgio WAAP規則更有效? 在較高的層面上,它與我們執行WAAP規則的特殊順序以及使用託管規則的混合簽名和異常評分模式有關。 我們通過自己研發的waflz引擎在幾毫秒內完成這些過程,以提供安全性而不犧牲性能。 讓我們更詳細地探討一下這一點。

去皮洋蔥

在我們回顧託管規則的內部運作之前,讓我們先看看WAAP中保護的不同層(雙關語)。 WAAP的每一層都起著重要作用。 下麵的資訊概述了其功能。

訪問控制規則

訪問控制規則提供了創建模塊化允許列表,denylist和肯定安全訪問列表的功能,以便按IP地址,匿名代理,國家/地區,ASN,地理區域代碼,用戶代理,cookie,引用者,URL,HTTP請求方法,內容類型,文件擴展名,文件大小和請求標頭來控制對受保護站點的訪問。

速率限制規則

速率限制規則限制HTTP請求流向受WAAP保護的應用程式,以防止惡意或無意的應用程式DDoS流量,並防止客戶的應用程式伺服器因攻擊或計劃外流量峰值請求而過載。

Bot Manager規則

機器人程式管理員同時偵測好與壞的機器人程式。 它提供了多種選項來緩解不必要的自動化或壞爬蟲程序,並防止它們進入您的應用程式。 這可保護您的網站免受惡意爬蟲程序的攻擊,這些爬蟲程序執行撞庫,抓取您的內容,攔截,垃圾郵件發送您的表單,發起DDoS攻擊和實施廣告欺詐。

自定義規則

自定義規則將我們強大的WAAP引擎放在您手中,以創建您自己的安全規則。 惡意流量是使用多種變數(例如要求標頭,本文,查詢,方法,URL,Cookie等)加以識別。 此方法為威脅檢測提供了更大的靈活性,使您能夠篩選特定的惡意請求並採取措施來緩解這些請求。 自定義威脅識別與快速測試和部署相結合,使您能夠通過創建虛擬增補程序快速解決長期和零時差漏洞。

受管理的規則

Edgio的託管規則通過Edgio管理的專有規則集識別惡意流量。 託管規則由分布在三個類別中的500多個規則組成:
  1. Edgio專有規則。
  2. 高級應用程式特定規則。
  3. 一般OWASP規則。
這會針對不同的攻擊類別和應用程式全面收集各種安全策略和規則。 執行威脅評估時,可以自定義每個託管規則,通過排除某些變量(即Cookie,標頭和請求參數/查詢字元串)來防止誤報。 如您所見,我們的WAAP規則有許多層,在每個層中,WAAP必須執行的規則和條件可能從數十個到數百個不等。 每個規則都表示引入誤報和影響性能的概率。 更復雜的是,Edgio WAAP提供了在雙WAAP模式下執行的獨特功能,在這種模式下,您可以為生產流量同時執行兩個版本的安全配置,以執行訪問控制規則,自定義規則和託管規則。 我們將在不斷增強安全解決方案的同時增加額外的保護層。 這就提出了這樣一個問題:在所有這些功能和規則混亂的情況下,我們如何確保我們的WAAP準確高效地處理數百萬個請求?

創造混亂秩序

除了擁有專為在高性能多租戶環境中擴展而設計的強大的自產waflz引擎外,關鍵在於創建正確的操作順序,以最高效和最高效地執行WAAP。 為此,我們的WAAP按以下順序執行其不同層的規則模塊:
  1. 訪問控制規則:所有請求均由一組靜態的客戶配置的允許/拒絕/訪問列表進行過濾,該列表由前面提到的變量組成。 WAAP會丟棄與拒絕列表匹配的任何請求,從而防止任何不需要的流量被進一步處理。
  2. 速率限制規則:通過訪問控制規則的請求隨後將被速率限制規則跟蹤,該規則在配置指定的時間窗口內跟蹤每個客戶端的請求。 WAAP會丟棄超出特定請求速率閾值的請求,從而進一步減少請求量,使其無法繼續執行下一步。
  3. Bot Manager規則:我們的ML平臺會檢查達到此步驟的每個請求,以確定它們是否基於請求簽名和行為的組合。 任何惡意爬蟲程序請求都可以通過各種方法緩解,包括瀏攬器挑戰,自定義響應或CAPTCHA。 大多數攻擊都是透過自動化用戶端進行,因此機器人程式管理員是有效的解決方案,可減輕這些攻擊,並進一步減少後續規則模組所需處理的要求數量。
  4. 自定義規則:在此步驟中,WAAP使用客戶創建的各種自定義篩選器檢查請求,以檢測和緩解不需要的請求。 這可能包括客戶可以實時部署的任何特定於應用程式的規則,以緩解零日漏洞,而無需等待受管WAAP規則集更新。 這是一種非常有價值的工具,可讓您瞭解並控制特定攻擊。 由於自定義規則的特殊性,它們優先於Edgio管理的規則,並在將請求傳遞到最後一層之前對其進行處理。
  5. 託管規則:任何到達此階段的請求都由Edgio專有,高級應用程式特定和通用OWASP類別中的500多個託管規則處理。

按順序處理每個請求(如圖1所示)可確保執行多層過濾。 這有助於我們在請求達到託管規則之前捕獲客戶正在尋找的攻擊(即未列出的IP/國家/地區,應用程式DDS/HTTP洪水攻擊,自動化客戶端和特定自定義請求簽名)。

但是,這只是安全問題的一部分。

WAAP的有效性不僅僅取決於其抵禦攻擊(真陽性)的能力,還取決於其阻止合法流量(假陽性)的能力。 讓我們回顧一下我們如何捕獲大多數應用程式攻擊,同時減少誤報。

深入了解Edgio管理的規則

當請求達到託管規則時,我們的專有Edgio Ruleset會對其進行評估,該規則包含500多條規則,這些規則旨在緩解廣泛的應用程式攻擊。 這會增加一層復雜性,因為規則有很多類別[即常規SQL注入(SQLi),跨站點腳本(XSS)和遠程代碼執行(RCE)規則]和特定的WordPress,Joomla和Apache Struts規則。 需要仔細確定優先級,以確保它們相互補充,從而最大程度地提高準確性。

與前面提到的規則模塊一樣,關鍵是託管規則集每個類別之間的操作順序。

在託管規則中,請求按以下順序由不同的規則類別處理:Edgio專有規則>高級應用程式專用規則>通用OWASP規則。

  1. Edgio專有規則和應用程式專用規則查找與特定類型應用程式的特定漏洞相關聯的簽名。 這些規則涵蓋應用程式(即Apache Struts,WordPress,Joomla,Drupal,SharePoint,cpanel等),並且在檢測對這些應用程式的攻擊時具有高度準確性。 我們將這些規則設計為在簽名(又稱二進制)模式下執行,這意味著任何觸發這些規則的請求都會導致操作。 這些規則為匹配和過濾應用程式的特定攻擊向量提供了一種更具外科性的方法;因此,它們是Edgio規則集篩選器的第一層。 由於請求與專有規則和應用程序特定規則不匹配,仍會給客戶的應用程序帶來風險,因此我們需要另一種方法來在下一階段檢測潛在的攻擊。

  2. Edgio規則集中的通用OWASP規則查找與不同常見攻擊類別(即SQLi,XSS,RCE,協議違規,本地文件包含(LFI),遠程文件包含(RFI)等)關聯的簽名組合。 這些規則協同工作以確定請求是否顯示符合攻擊類別的簽名組合。 這些通用規則在異常評分模式下執行,客戶可以通過調整異常評分閾值來定義規則敏感度,以控制需要觸發多少個規則才能將請求視為惡意請求。 異常分數閾值越低,通用規則集就越敏感或更嚴格,潛在惡意請求越容易超出閾值。 客戶可以根據應用程式類型及其風險承受能力靈活調整其WAAP的敏感度。 通用OWASP規則可作為符合特定攻擊特徵但不一定符合特定應用程式漏洞的請求的最終全部捕獲。

WAAP/Dual WAF Diagram

圖1:Edgio WAAP工作流程

圖2:我們的託管規則以專門設計的順序執行,以最大程度地提高檢測並最大程度地減少誤報。

另一項可提高受管理規則準確性的重要功能是規則的可自定義性。 500多個託管規則中的每個規則都可以自定義,以忽略特定的請求參數(即,請求標頭,cookie,查詢和正文參數)。 這使客戶能夠使用簡單的用戶界面或API快速消除誤報。

將所有部件整合在一起

現在,您已經通過我們的WAAP完成了HTTP請求的過程。 在全球所有300個入網點(POP)中,每臺Edgio伺服器每天發生數十億次的事件,因為我們的高性能WAAP在執行內容交付服務的同一堆棧上本機執行。 在這篇部落格的開頭,我提到我有很多關於WAAP的問題。 我希望您現在了解它與其他解決方案有何區別。 我們將智能操作順序與各種WAAP規則模塊(從ACL到速率限制,再到機器人程序和自定義規則),託管規則(從特定規則到通用規則)以及混合簽名和異常評分模式相結合,以實現不影響性能的安全性。

試想這個比喻:設計和裝配WAAP組件就像製作漢堡一樣。 這不僅僅是要擁有正確的食材,而是要以正確的方式將食材結合起來,製作一頓美味的大餐。 以不同的方式組合相同的食材可能會大幅影響口感和顧客體驗。