우리 일상생활의 많은 측면이 온라인으로 옮겨가면서 사이버공격자들은 우리가 사용하는 앱에서 제공하는 서비스 수준을 저하시키려는 노력에 박차를 가하고 있습니다. 그들의 동기는 다양하며, 복수부터 피해를 입은 회사의 주가에 영향을 미치는 것, 데이터 침해로부터 보안 팀의 주의를 돌리는 연막막을 만드는 것까지 다양합니다.
이전 블로그 에서는 과거 보안팀이 네트워크 및 전송 수준 ( 3계층 및 4계층 )에서 대량 서비스 거부(DoS) 및 분산형 DoS(DDoS) 공격을 방어하기 위해 지속적으로 새로운 방어 수단을 개발해야 했던 방식에 대해 설명했습니다. 이러한 공격은 서버에 TCP/UDP 연결 요청을 대량으로 쏟아부어 서버의 사용 가능한 대역폭을 고갈시킵니다. 이제 공격자는 HTTP 요청이나 API 호출을 사용하여 애플리케이션 수준( 7계층 )에서 리소스를 고갈시키는 DoS 및 DDoS 공격이라는 새로운 도구를 무기고에 추가했습니다.
네트워크 및 볼륨형 공격에 대한 기존 DoS 보호는 7계층 공격에는 효과적이지 않습니다. 애플리케이션 수준에서는 악성 요청이 합법적인 요청과 거의 동일하게 보이기 때문입니다. 게다가, 7계층에서 발생하는 HTTP 공격은 네트워크 수준 공격보다 훨씬 낮은 비율과 요청 볼륨으로 피해를 입힐 수 있습니다. 완전히 새로운 요구 사항에 직면했을 때 7계층 DoS 보호는 더욱 민감해야 합니다.
NGINX App Protect 서비스 거부 (DoS) 공격은 이러한 모든 과제를 해결하여 간소화되고, 구현하기 쉬우며, 적응형 제로터치 정책 구성을 제공하는 제로데이 보호를 보장합니다.
NGINX App Protect DoS는 다단계 프로세스를 사용하여 7계층 DoS 공격을 탐지하고 완화합니다.
이 프로세스의 첫 번째 단계는 사이트가 공격을 받지 않는 기간 동안 사용자 및 애플리케이션 동작을 파악하여 일반적인 동작의 기준선을 포착하는 통계적 사이트 모델을 만드는 것입니다. NGINX App Protect DoS는 앱 배포에 대한 포괄적인 보기를 위해 320개의 사용자 및 앱 메트릭을 추적합니다. 또한 트래픽을 관찰하면서 통계 사이트 모델을 동적으로 업데이트합니다. 이를 통해 시스템 임계값을 수동으로 조정할 필요가 없어지고, NGINX App Protect DoS가 시간이 지남에 따라 불가피하게 발생하는 트래픽 패턴의 변화를 고려하도록 보장할 수 있습니다.
추적된 메트릭의 한 종류는 HTTP 요청 특성, 즉 HTTP 메서드, User-Agent
헤더의 값 및 그래픽에 표시된 것과 같은 기타 사항과 관련됩니다.
많은 7계층 DoS 완화 도구는 클라이언트 트래픽 패턴에만 주의를 기울입니다. 더욱 뛰어난 공격 탐지 기능을 위해 NGINX App Protect DoS를 구성하여 서비스 상태를 적극적으로 확인할 수 있습니다. 응답 시간, 삭제된 요청 비율 등 여러 가지 서버 성능 측정 항목을 추적합니다. 이러한 메트릭의 값이 악화되면 애플리케이션이 "스트레스를 받고 있다"는 것을 나타내며, 이는 공격 때문일 수 있습니다. 서버 메트릭을 추적하는 것에는 또 다른 이점이 있습니다. NGINX App Protect DoS가 공격이 진행 중이라고 판단하면 상태 검사에 대한 응답 패턴을 통해 공격이 시작된 시점을 식별하는 데 도움이 됩니다.
NGINX App Protect DoS가 사이트 통계 모델과의 편차와 서버 응답의 변경(구성된 경우)을 기반으로 공격이 진행 중이라고 판단하면 사이트 통계 모델 업데이트를 중단하고 대신 현재 메트릭 값이 설정된 기준과 어떻게 다른지 분석합니다. 이러한 차이점은 전 세계적인 이상 현상을 가리키는 것 같습니다.
NGINX App Protect DoS는 병렬로 실행되는 두 가지 절차를 시작합니다.
개별 사용자의 행동을 분석하여 이상 현상을 만든 사람이나 이상 현상에 기여한 사람을 감지합니다.
NGINX App Protect는 처음에는 모든 사용자를 용의자로 간주하고 그들의 행동을 분석합니다. 모든 사용자가 공격자일 가능성은 낮지만, 모든 사용자의 행동을 측정하면 NGINX App Protect가 공격에 가담한 사람과 가담하지 않은 사람을 파악하는 통계적 그림을 만들 수 있습니다. 감지된 불량 행위자는 요청의 IP 주소나 X-Forwarded-For
헤더를 통해 식별됩니다.
합법적 사용자를 차단하지 않고 공격 트래픽을 설명하는 규칙 목록 생성 - 제로데이 공격 보호를 위한 실시간 시그니처. 이전 공격 중 생성된 서명을 재사용할 수 있습니다.
생성된 서명은 이 예와 같이 공격과 관련된 HTTP 속성을 식별합니다.
http.request.method eq GET 및 http.user_agent에는 Chrome 및 http.uri_parameters eq가 포함됩니다 .6 그리고 http.accept_header_exists 는 false 이고 http.headers_count 는 false입니다. 7
7계층 공격을 방어하는 주요 목표는 피해가 발생하기 전에 공격을 포착하는 것입니다.
다음 다이어그램에 표시된 대로 보수적 또는 표준 완화 전략을 구성할 수 있습니다. 두 가지 전략 모두 첫 번째 방어 계층은 이전 단계에서 IP 주소와 X-Forwarded-For
헤더로 식별된 악의적인 행위자의 요청을 차단하는 것입니다. 다음 방어 계층은 이전 단계에서 생성된 서명과 일치하는 요청을 차단합니다.
마지막으로, 표준 완화를 구성했고 NGINX App Protect DoS가 처음 두 계층의 방어가 불충분하다고 판단하면 짧은 기간 동안 글로벌 속도 제한을 적용합니다.
NGINX App Protect DoS가 글로벌 속도 제한을 적용하는 경우 합법적 사용자의 요청이 차단될 가능성이 있습니다(거짓 긍정). NGINX App Protect DoS는 일반적인 DoS 공격이 사람이 직접 공격하는 것이 아니라 봇넷 컨트롤러(감염된 컴퓨터의 맬웨어)가 실행하는 스크립트를 사용하여 생성된다는 사실에 기반하여 거짓 긍정을 줄일 수 있습니다. 웹 브라우저와 달리 이러한 간단한 스크립트 중 다수는 HTTP 리디렉션을 제대로 처리할 수 없으며, JavaScript를 처리할 수 있는 스크립트는 더욱 적습니다. 스크립트와 브라우저 간의 이러한 기능 차이는 NGINX App Protect DoS가 의심스러운 트래픽을 생성하는 스크립트와 브라우저를 파악하는 데 도움이 됩니다.
따라서 NGINX App Protect DoS는 모든 클라이언트의 요청에 대한 속도를 제한하는 대신, 먼저 HTTP 리디렉션을 보낸 다음 처리할 JavaScript 스니펫을 보냅니다. 스크립트화된 봇은 성공적으로 응답할 수 없지만 브라우저는 응답할 수 있으며, NGINX App Protect DoS를 사용하면 브라우저 트래픽은 허용하면서 스크립트에서의 트래픽은 차단할 수 있습니다.
일부 사용자는 대량의 거짓 양성 결과 가능성 때문에 적응 학습에 의존하는 것을 불편하게 여긴다는 사실을 알고 있지만, 우리는 이것이 레이어 7 DoS 공격을 완화하는 가장 효과적인 방법이라는 것을 알아냈습니다. NGINX App Protect DoS는 사용자 동작 분석, 서비스 상태 점검, 완화 전략의 효과 측정 등 여러 가지 접근 방식을 결합하여 거짓 긍정 오류를 줄입니다. 세 가지 접근 방식을 함께 사용하면 공격에 대응하여 구성을 수동으로 변경할 필요 없이 포괄적인 가시성과 보호 기능을 제공할 수 있습니다.
WAF가 이미 봇으로부터 보호하고 있다면 왜 Layer 7 DoS 보호가 필요한지 궁금할 것입니다. 레이어 7 DDoS 공격은 일반적으로 봇에 의해 시작되지만 그 목적은 다른 봇 활동과 동일하지 않습니다. 봇은 일반적으로 서비스를 중단시키지 않고 정보를 획득하려고 하지만, 서비스 중단은 바로 Layer 7 Dos 및 DDoS 공격의 목표입니다.
또 다른 차이점은 표준 봇 방지 도구가 "좋은 봇"과 "나쁜 봇"을 구별하려고 한다는 점입니다. 이는 일반적으로 거짓 양성을 피하기 위해 인간의 감독이 필요한 까다로운 작업입니다. 반면 NGINX App Protect DoS는 트래픽이 봇이나 다른 메커니즘에 의해 생성되었는지는 신경 쓰지 않습니다. 공격자와 합법적 사용자를 동작에 따라 구별하는 데 집중합니다. NGINX App Protect DoS는 봇이 레이어 7 DoS 공격에 참여하고 있다고 판단될 때만 봇 방지 기술을 사용하므로 표준 봇 방지 소프트웨어보다 훨씬 적은 거짓 긍정 결과를 생성합니다. 또한, NGINX App Protect DoS 완화 방법은 CPU 효율적이어서 레이어 DoS 공격이 진행되는 동안에도 앱을 계속 보호할 수 있습니다.
NGINX App Protect DoS는 사용자 및 앱 동작과 관련된 320개 이상의 지표를 추적하여 가장 정확한 보호 기능을 제공하는 다중 요인 통계 모델을 제공합니다. 고유한 알고리즘으로 거짓 양성 판정을 크게 줄일 수 있습니다. NGINX App Protect DoS는 이러한 기능을 통해 각 공격 요청이 완전히 합법적인 것처럼 보이고 단 한 명의 공격자가 평균적인 합법적 사용자보다 적은 트래픽을 생성하는 경우도 있는 고도로 분산된 DoS 공격을 완화할 수 있습니다. NGINX App Protect DoS는 적응형 기술을 사용하여 현대 인프라를 오늘날의 공격뿐만 아니라 미래에 진화할 공격으로부터도 보호합니다.
DoS 보호를 보장하는 방법에 대해 자세히 알아보려면 솔루션 간략 설명서 를 확인하세요. 또한 다음 관련 블로그를 참조하세요.
NGINX App Protect DoS를 직접 사용해보세요. 오늘 무료 30일 체험판을 시작하거나 저희에게 연락해 사용 사례에 대해 논의해보세요 .
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."