양파 껍질 벗기기
관리되는 규칙의 내부 작동을 검토하기 전에 WAAP의 다양한 보호 계층(PUN 의도됨)을 살펴보겠습니다. WAAP의 모든 계층은 중요한 역할을 합니다. 아래 정보는 해당 기능에 대한 개요를 제공합니다.액세스 제어 규칙
액세스 제어 규칙은 모듈식 허용 목록, 거부 목록 및 긍정적 보안 액세스 목록을 생성하여 IP 주소, 익명 프록시, 국가, ASN, 지역 코드, 사용자 에이전트, 쿠키, 참조자, URL, HTTP 요청 메서드, 콘텐츠 형식, 파일 확장자, 파일 크기 및 요청 헤더별로 보호된 사이트에 대한 액세스를 제어하는 기능을 제공합니다.속도 제한 규칙
속도 제한 규칙은 WAAP에 의해 보호되는 애플리케이션으로의 HTTP 요청 흐름을 제한하여 악의적이거나 의도하지 않은 애플리케이션 DDoS 트래픽을 방지하고 공격 또는 예상치 못한 트래픽 급증으로 인한 요청으로 인해 고객의 애플리케이션 서버에 과부하가 걸리는 것을 방지합니다.Bot Manager 규칙
Bot Manager는 이로운 봇과 해로운 봇을 모두 탐지합니다. 원치 않는 자동화 또는 악성 봇을 차단하고 애플리케이션에 도달하는 것을 방지하기 위한 다양한 옵션을 제공합니다. 이는 인증정보 스터핑, 콘텐츠 스크레이핑, 카드 지정, 스패밍, DDoS 공격, 광고 사기 등의 악성 봇으로부터 사이트를 보호합니다.사용자 지정 규칙
사용자 지정 규칙은 강력한 WAAP 엔진을 사용자에게 제공하여 사용자 고유의 보안 규칙을 만듭니다. 악성 트래픽은 변수(예: 요청 헤더, 본문, 쿼리, 메서드, URL, 쿠키 등)의 조합을 사용하여 식별됩니다. 이 방법을 사용하면 위협 탐지에 유연성을 더할 수 있으며 특정 악성 요청을 필터링하고 이를 완화하기 위한 조치를 취할 수 있습니다. 신속한 테스트 및 배포와 결합된 맞춤형 위협 식별을 통해 가상 패치를 생성하여 장기적 및 제로데이 취약점을 신속하게 해결할 수 있습니다.관리되는 규칙
Edgio의 관리 규칙은 Edgio가 관리하는 독점 규칙 집합을 통해 악성 트래픽을 식별합니다. 관리되는 규칙은 다음 세 가지 범주에 걸쳐 분포된 500개 이상의 규칙으로 구성됩니다.- Edgio 독점 규칙.
- 고급 응용 프로그램별 규칙.
- 일반 OWASP 규칙입니다.
혼돈에서 질서 만들기
고성능 멀티 테넌트(multi-tenant) 환경에서 확장할 수 있도록 특별히 설계된 강력한 자체 제작 waflz 엔진을 보유하는 것 외에도 WAAP를 가장 효율적이고 효과적으로 실행하기 위한 적절한 작업 순서를 만드는 것이 핵심입니다. 이를 위해 WAAP는 다음과 같은 순서로 다른 규칙 모듈 계층을 실행합니다.- 액세스 제어 규칙: 모든 요청은 앞서 언급한 변수로 구성된 고객이 구성한 허용/거부/액세스 목록의 정적 집합을 기준으로 필터링됩니다. WAAP는 거부 목록과 일치하는 요청을 삭제하여 원치 않는 트래픽이 추가로 처리되지 않도록 합니다.
- 속도 제한 규칙: 액세스 제어 규칙을 통과하는 요청은 속도 제한 규칙에 의해 추적되며, 이 규칙은 구성에 지정된 기간 내에 각 클라이언트에 대한 요청을 추적합니다. WAAP는 특정 요청 속도 임계값을 초과하는 요청을 삭제하여 요청 양을 줄여 다음 단계로 넘어갑니다.
- Bot Manager 규칙: 이 단계에 도달하는 각 요청은 ML 플랫폼에서 검사하여 요청 시그니처와 동작의 조합을 기반으로 봇 기반인지 확인합니다. 모든 악성 봇 요청은 브라우저 챌린지, 맞춤형 응답, 캡차 등 다양한 수단을 통해 방어할 수 있습니다. 대부분의 공격은 자동화된 클라이언트를 통해 이루어지므로 봇 관리자는 이러한 공격을 완화하고 후속 규칙 모듈에서 처리해야 하는 요청의 양을 줄이는 효과적인 솔루션입니다.
- 사용자 지정 규칙: 이 단계에서 WAAP는 고객이 만든 다양한 사용자 지정 필터를 사용하여 요청을 검사하여 원치 않는 요청을 탐지하고 완화합니다. 여기에는 고객이 관리되는 WAAP 규칙 집합이 업데이트될 때까지 기다리지 않고 제로 데이 취약점을 완화하기 위해 실시간으로 배포할 수 있는 애플리케이션별 규칙이 포함될 수 있습니다. 이는 특정 공격에 대한 가시성과 제어 능력을 확보하는 데 매우 유용한 도구입니다. 사용자 지정 규칙의 특수성 때문에 Edgio가 관리하는 규칙보다 우선하며 최종 계층으로 전달하기 전에 요청을 처리합니다.
- 관리되는 규칙: 이 단계에 도달하는 모든 요청은 Edgio 독점, 고급 응용 프로그램 특정 및 일반 OWASP 범주에 걸쳐 관리되는 500개 이상의 규칙에 의해 처리됩니다.
모든 요청을 순서대로 처리하면(그림 1 참조) 여러 계층의 필터링이 수행됩니다. 이를 통해 IP/국가 거부, 애플리케이션 DDoS/HTTP 플러드, 자동화된 클라이언트, 특정 맞춤형 요청 시그니처 등 요청이 관리되는 규칙에 도달하기 전에 고객이 원하는 공격을 포착할 수 있습니다.
그러나 이것은 보안 이야기의 일부에 불과합니다.
WAAP의 효과는 공격 방어 능력(진정한 긍정)뿐만 아니라 정상적인 트래픽이 차단되는 것을 막는 능력(오탐성)에 의해 결정됩니다. 오탐률을 줄이면서 대부분의 애플리케이션 공격을 포착하는 방법을 살펴보겠습니다.
Edgio 관리 규칙에 대한 심층 분석
요청이 관리되는 규칙에 도달하면 광범위한 애플리케이션 공격을 완화하기 위해 생성된 500개 이상의 규칙으로 구성된 Edgio Ruleset의 독점 규칙을 통해 해당 요청을 평가합니다. 이것은 규칙의 너무 많은 카테고리[즉, 일반 SQL 인젝션(SQLi), 크로스 사이트 스크립팅(XSS), 원격 코드 실행(RCE) 규칙]와 특정 WordPress, Joomla 및 Apache Struts 규칙이 있기 때문에 추가적인 복잡성을 야기합니다. 정확성을 극대화하기 위해 서로를 보완하기 위해서는 신중한 우선 순위가 필요합니다.
앞서 언급한 규칙 모듈과 마찬가지로, 핵심은 관리되는 규칙 집합의 각 범주 간의 작업 순서입니다.
Managed Rules 내에서 요청은 Edgio 독점 규칙 > Advanced Application-Specific Rules >Generic OWASP Rules 순서로 다른 규칙 범주에 의해 처리됩니다.
-
Edgio 독점 규칙 및 응용 프로그램 특정 규칙은 특정 유형의 응용 프로그램의 특정 취약점과 관련된 서명을 찾습니다. 이러한 규칙은 응용 프로그램(예: Apache Struts, WordPress, Joomla, Drupal, SharePoint, cPanel 등)에 대한 적용 범위를 제공하며 이러한 응용 프로그램에 대한 공격을 감지하는 데 매우 정확합니다. 이러한 규칙은 서명(일명 바이너리) 모드에서 실행되도록 설계되었으며, 이는 이러한 규칙을 트리거하는 모든 요청이 동작을 유발한다는 것을 의미합니다. 이러한 규칙은 특정 공격 벡터를 애플리케이션에 매칭하고 필터링하는 데 보다 수술적인 접근 방식을 제공하므로 Edgio Ruleset 필터의 첫 번째 레이어가 됩니다. 독점 및 앱별 규칙과 일치하지 않는 요청은 여전히 고객의 애플리케이션에 위험을 초래할 수 있으므로 다음 단계에서 잠재적인 공격을 탐지하기 위한 또 다른 접근 방식이 필요합니다.
-
Edgio Ruleset 내의 일반 OWASP 규칙은 다양한 범주의 공격(예: SQLi, XSS, RCE, 프로토콜 위반, 로컬 파일 인클루전(LFI), 원격 파일 인클루전(RFI) 등)과 관련된 서명의 조합을 찾습니다. 이러한 규칙은 함께 작동하여 요청에 공격 범주에 맞는 서명 조합이 표시되는지 여부를 결정합니다. 이러한 일반 규칙은 이상 점수 부여 모드에서 실행되며, 고객은 이상 점수 임계값을 조정하여 해당 요청이 악성으로 간주되기 위해 트리거되어야 하는 규칙 수를 제어함으로써 규칙 민감도를 정의할 수 있습니다. 이상 점수 임계값이 낮을수록 일반 규칙 집합의 민감도가 높아지거나 엄격해지고 악의적인 요청이 임계값을 초과하기 쉽습니다. 고객은 애플리케이션 유형과 위험 허용 한도에 따라 WAAP의 민감도를 유연하게 조정할 수 있습니다. 일반 OWASP 규칙은 특정 공격 특성에 부합하지만 특정 응용 프로그램 취약점에 반드시 부합하지는 않는 요청에 대한 최종 catch-all 역할을 합니다.
그림 1: Edgio WAAP 워크플로
그림 2: 관리되는 규칙은 탐지를 극대화하고 오탐률을 최소화하기 위해 특별히 설계된 순서로 실행됩니다.
관리되는 규칙의 정확성을 향상시키는 또 다른 중요한 기능은 규칙을 사용자 지정할 수 있다는 점입니다. 500개 이상의 관리되는 규칙 각각을 특정 요청 매개 변수(예: 요청 헤더, 쿠키, 쿼리 및 본문 매개 변수)를 무시하도록 사용자 지정할 수 있습니다. 이를 통해 고객은 간단한 사용자 인터페이스 또는 API를 사용하여 오탐률을 신속하게 제거할 수 있습니다.
모든 조각을 합치기
이제 WAAP를 통해 HTTP 요청을 처리했습니다. Akamai의 고성능 WAAP가 콘텐츠 전송 서비스를 실행하는 동일한 스택에서 기본적으로 실행되기 때문에 전 세계 300개 POP(Points of Presence)의 모든 Edgio 서버에서 매일 수십억 번 발생합니다. 이 블로그를 시작할 때 WAAP에 대해 많은 질문을 받았다고 언급했습니다. 이제 다른 솔루션과 차별화되는 점이 무엇인지 이해하셨기를 바랍니다. 인텔은 성능을 저해하지 않는 보안을 위해 ACL에서 속도 제한에 이르기까지 다양한 WAAP 규칙 모듈, Managed Rules(특정 규칙에서 일반 규칙까지), 하이브리드 서명 및 이상 점수 부여 모드와 지능적인 작업 순서를 결합합니다.
WAAP 구성 요소를 설계하고 조립하는 것은 햄버거를 만드는 것과 같습니다. 그것은 단지 올바른 재료를 갖는 것이 아니라, 좋은 식사를 만들기 위해 올바른 방법으로 그들을 결합하는 것입니다. 동일한 성분을 다르게 조합하면 맛과 고객 경험에 큰 영향을 줄 수 있습니다.