NGINX App Protect Denial of Service로 레이어 7 DoS 공격으로부터 애플리케이션 보호하기

NGINX | 2021년 9월 09일

사용자 경험이 가장 중요합니다. 소비자와 고객이 사용하지 않는다면 앱과 웹사이트는 아무런 의미가 없습니다. 따라서 긍정적이고 일관된 사용자 경험을 보장하는 것이 중요합니다. 특히 사용자가 지연, 서비스 중단, 오류를 점점 더 용납하지 않는 상황에서는 더욱 그렇습니다.

사용자가 앱이나 웹사이트에서 부정적인 경험을 하면 고객으로서 영원히 떠날 수도 있습니다. Salesforce 설문조사에 따르면 소비자의 61%가 단 한 번의 좋지 않은 경험 후 경쟁사로 옮겼다고 답했습니다. 좋지 않은 경험이 반복되면 고객 이탈은 피할 수 없습니다. 온라인에 선택지가 너무나 많은 상황에서 브랜드 충성도만으로 고객을 붙잡는 데는 한계가 있습니다.

소비자 불만의 주요 원인 중 하나는 서비스 중단이며, 서비스 거부(DoS) 공격은 장시간 서비스 중단을 일으키는 주된 요인입니다. 애플리케이션 설계가 변화하면서 새로운 위협 벡터가 등장했고, 공격자들은 20년 넘게 사용되어 온 DoS 공격을 현대적인 아키텍처를 악용하도록 진화시켰습니다. 2020년 1월부터 2021년 3월까지 애플리케이션 계층(계층 7)에 대한 DoS 공격이 급증했으며, 전체 DDoS 사고의 16%를 차지했습니다. 실제로 F5 보안 사고 대응 팀에 접수되는 요청 중 절반은 애플리케이션 계층 DoS 공격에 대한 지원 요청입니다.

중앙 집중식 보안 완화 조치는 네트워크 계층(계층 4)의 대규모 DoS 공격에는 효과적일 수 있지만, 애플리케이션 계층 DoS 공격은 표적성이 더 강하므로 점점 더 분산되고 API와 마이크로서비스로 구성되며 클라우드와 같은 유연한 인프라에서 운영되는 최신 애플리케이션을 보호하려면 특화된 방어 체계가 필요합니다.

기존 보호 방식의 한계를 넘어

DoS 공격의 출처가 분산되어 있더라도(즉, DDoS 공격이 되더라도), 네트워크 계층의 기본적인 대용량 공격은 일반적으로 단일 장치나 서비스를 표적으로 하며, 기존 보호 도구 역시 이와 유사하게 단일 구조로 중앙 집중화되어 있습니다. 이러한 도구는 여전히 애플리케이션 보안 환경에서 중요한 역할을 하지만, 그것만으로는 충분하지 않습니다. 오늘날에는 클라우드 기반 DDoS 보호 서비스가 업계 표준으로 자리 잡았습니다. 하지만 애플리케이션이 더 이상 단일 서비스로 구성된 단일 구조가 아니라 보호해야 할 통합 지점이 많은 형태로 변화했다는 사실까지는 여전히 해결하지 못합니다.

디지털 트랜스포메이션과 그에 따른 API, 마이크로서비스 및 클라우드 기반 통합으로의 대규모 아키텍처 전환이 이루어지기 전에는 기본적인 웹 애플리케이션 방화벽(WAF)만으로도 취약점 악용과 DoS 공격을 대부분 완화할 수 있었습니다. 예를 들어 클라이언트 측에서 트래픽 폭주로 나타나는 대용량 공격의 경우, 트래픽이 중앙 집중화되어 있으므로 기본 WAF와 기존 DoS 방어 도구가 효과적입니다. 클라우드 스크러빙 서비스로 트래픽이 인입 경로에 진입하기 전에 공격을 완화하거나 애플리케이션 스택 앞단에 보호 기능을 배치할 수 있기 때문입니다. 또한 기본 WAF는 여전히 주로 속도 제한, 차단 목록, 봇 시그니처를 통해 기존 공격을 방어하지만, 위협 환경은 이미 이러한 수준을 넘어섰습니다.

요컨대, 상황은 달라졌으며 기본적인 WAF와 기존의 DoS 방어 방식은 최신 애플리케이션 아키텍처에서 효과적이지 않습니다.

최신 DoS 공격은 7계층에서 발생하며, 암호화된 채널에 숨어 애플리케이션 로직을 표적으로 삼기 때문에 탐지하기가 훨씬 더 어렵습니다. 따라서 DoS 공격의 가장 큰 두 가지 징후인 클라이언트 동작과 서버 부하를 측정할 수 있는 추가 보호 계층이 필요합니다.

이 문제를 해결하는 데 도움을 드리고자 최근 NGINX App Protect Denial of Service 모듈을 출시했습니다. 이미 WAF와 기존 DoS 방어 솔루션을 사용하고 있는데도 DoS 모듈이 필요한지 궁금하실 수 있습니다. 실제로 필요합니다. 그 이유를 계속 읽어보세요.

현대적인 아키텍처에는 현대적인 보호가 필요합니다

암호화가 보편화된 오늘날, 기존의 DoS 방어 체계는 대규모 복호화를 염두에 두고 설계되지 않았습니다. 모놀리식 애플리케이션 시대에는 암호화가 지금처럼 널리 사용되지 않았고 클라이언트 측만 살펴봐도 대부분의 공격을 탐지할 수 있었기 때문에 중앙 집중식 DoS 완화 방식이 효과적이었습니다. 하지만 오늘날에는 거의 모든 트래픽이 암호화되어 있어 인바운드 트래픽에만 초점을 맞춘 상태 비저장 DoS 완화 방식은 대체로 효과가 없습니다. 특히 공격자가 단 하나의 표적 요청으로 애플리케이션에 부하를 유발하는 경우에는 더욱 그렇습니다.

이제 애플리케이션은 마이크로서비스와 같은 분산 아키텍처에 맞게 설계되고 최적화되며, 사용자 개인정보 보호에 대한 관심 증대와 그에 따른 법제화, 암호화 기술의 발전에 힘입어 종단 간 암호화가 보편화되고 있습니다. 현대적인 아키텍처는 API에 크게 의존하며, API 간 통신(일명 동서 트래픽)은 중앙 집중식 보안 제어를 거치지 않을 수도 있습니다.

효과적인 애플리케이션 수준의 DoS 방어를 위해서는 클라이언트 측 이상 징후와 서버 측 부하를 감지하는 기능을 비롯해 엔드투엔드 가시성과 컨텍스트가 필요합니다. 고도화된 레이어 7 DoS 공격은 정상 트래픽으로 위장하는 경우가 많으므로 속도 제한, 차단 목록, 시그니처, 프로토콜 준수 여부 확인과 같은 기본적인 완화 조치만으로는 더 이상 충분하지 않습니다.

정교한 Layer 7 공격은 겉보기에는 정상적인 트래픽처럼 보이며, 기본적인 WAF에는 이를 탐지하는 데 필요한 행동 분석 기능이 없습니다. NGINX App Protect DoS는 클라이언트 이상 징후와 서버 부하를 모두 살펴보도록 특별히 설계되었으며, 이미 과중한 업무에 시달리는 보안 팀의 개입 없이도 공격을 동적으로 식별하고 완화하며 완화 효과를 측정할 수 있습니다.

기본적인 WAF 방어와 기존 DDoS 완화에만 의존하면 Layer 7 공격을 제대로 파악하는 데 필요한 가시성과 맥락을 확보할 수 없으며, 그로 인해 지연 시간 증가, 서비스 중단, 매출 기회 상실, 브랜드 이미지 훼손 등 막대한 피해가 발생할 수 있습니다. 행동 분석을 활용하면 클라이언트의 이상 징후와 서비스 상태를 지속적으로 분석하여 제로데이 DoS 공격을 탐지할 수 있습니다. 사이트의 동작을 면밀히 살펴보면 다음과 같은 질문에 답할 수 있습니다. 기준 트래픽 패턴과 비교했을 때 비정상적인 부분이 있는가? 브라우저에서 전송된 요청처럼 보이지만, 브라우저라면 포함해야 할 정보가 누락되어 있지는 않은가? CPU 사용률을 높이는 복잡한 데이터베이스 쿼리가 요청에 포함되어 있는가?

정상적인 성능과 동작 양상을 파악함으로써 NGINX App Protect DoS는 기존 방어 체계를 우회하고 애플리케이션에 부하를 유발하는 Layer 7 공격에 집중할 수 있습니다.

NGINX App Protect WAF 및 DoS가 차단하는 8가지 공격 유형을 보여 주는 다이어그램

여러 모듈을 활용한 완화

DoS 공격의 결과는 달라지지 않았습니다. 성능 저하, 사용자의 불만, 그리고 매출 손실로 이어집니다. 하지만 DoS 공격이 발생하는 방식은 매우 다양할 수 있으며, 해커들은 암호화 및 보안 도구를 사용해 위협을 정상적인 트래픽으로 위장합니다.

사용자는 아키텍처 간의 차이는 구분하지 못할 수 있지만, 사이트 성능이 좋은지 나쁜지는 알아차릴 수 있습니다. 대량의 공격 트래픽은 지연을 유발해 사용자 경험을 느리게 만듭니다. 속도가 지나치게 느려지면 아무리 인내심이 강한 사용자라도(그런 사용자는 많지 않습니다!) 거래를 중단하고 다른 사이트로 이동합니다. 단 한 건의 표적 요청만으로도 지연과 서버 부하가 발생할 수 있으므로, 애플리케이션에 특화된 DoS 방어가 매우 중요합니다.

웹 애플리케이션 보안 솔루션은 다음에 설명된 것과 같은 새로운 공격에 대응하기 위해 계속 발전하고 있습니다. OWASP 웹 애플리케이션에 대한 자동화된 위협. 하지만 애플리케이션 런타임에 기본적으로 통합되는 보호 기능이 필요합니다. 동적이고 적응력이 뛰어난 보호 기능이 필요합니다. 다른 DoS 솔루션은 SYN 플러드와 같은 네트워크 DDoS 공격에 대응하도록 설계될 수 있지만, NGINX App Protect DoS 솔루션은 애플리케이션 리소스에 부하를 주는 레이어 7 공격에 특화되어 있습니다. WAF와 레이어 7 DoS 솔루션을 결합하면 취약점 악용과 비즈니스 로직 남용으로부터 애플리케이션을 모두 보호하여 침해뿐만 아니라 지연, 성능 저하 및 다운타임도 방지할 수 있습니다.

이제 상거래는 대부분 온라인에서 이루어지고 사람들도 주로 온라인에서 활동합니다. 따라서 온라인을 안전하고 보안이 보장되는 공간으로 만들어야 합니다. NGINX App Protect WAF와 NGINX App Protect DoS 모듈을 함께 사용하면 환경, 애플리케이션 및 비즈니스에 적합한 강력한 보호 기능을 구현할 수 있습니다.

NGINX App Protect를 직접 사용해 보세요. 지금 30일 무료 평가판을 시작하거나 문의하여 사용 사례에 대해 상담해 보세요.


공유

작성자 소개

관련 블로그 게시물

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
NGINX | 2023. 11. 30.

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric

이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
NGINX | 2023. 03. 23.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법

앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
NGINX | 2021. 09. 27.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션

개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX | 2021. 07. 06.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법

NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX | 2021. 06. 30.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리

NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
NGINX | 2015. 03. 25.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유

Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.