API 보안 방어 전략 – NGINX App Protect DoS편

이번 포스트는 API 보안 솔루션인 NGINX App Protect가 발전하는 API 공격에 어떻게 적용하고 방어하는지를 전반적으로 설명합니다.

우리가 일상 생활의 더 많은 측면을 온라인으로 이동함에 따라 사이버 공격자들은 우리가 의존하는 애플리케이션에서 제공하는 서비스 수준을 저하시키는 중점으로 맞추고 있습니다. 그들의 동기는 보복에서 영향을 받는 회사의 주가에 영향을 미치고 데이터 유출로부터 보안 팀의 주의를 분산시키는 연막 생성에 이르기까지 다양합니다.

과거 보안 팀이 네트워크 및 전송 수준(Layer 3 및 4)에서 TCP/UDP 연결 요청으로 서버의 가용 대역폭을 소진하는 서비스 거부(Denial-of-Service, DoS) 및 (Distributed-Denial-of-Service, DDoS) 공격에 대한 새로운 방어를 지속적으로 개발해야 했던 방법에 대해 설명합니다. 이제 공격자는 HTTP 요청이나 API 호출을 사용하여 애플리케이션 레벨(Layer 7)에서 리소스를 소진하는 DoS 및 DDoS 공격이라는 새로운 툴을 추가했습니다.

기존의 네트워크 및 볼륨 공격에 대한 DoS 보호는 애플리케이션 수준에서 악의적인 요청이 합법적인 요청과 동일한 것으로 보이는 경우가 많기 때문에 Layer 7 공격에 효과적이지 않습니다. 또한 Layer 7의 HTTP 공격은 네트워크 수준 공격보다 훨씬 낮은 속도와 요청 볼륨으로 손상될 수 있습니다. Layer 7 API 보안 – DoS 보호는 완전히 새로운 요구 사항에 직면하여 더욱 민감해야 합니다.

  • 일반 트래픽 패턴과 공격 구분
  • 로드중인 서버 상태(Server Health) 평가
  • 공격이 시작된 시기 및 종료 여부 확인
  • 합법적인 사용자에게 영향을 미치지 않고 공격 완화
  • 애플리케이션 동작의 변화가 공격 때문인지 앱 기능 업데이트 때문인지 판단
  • 탐지 효율의 손실 없이 장기간의 공격에서 살아남기

API 보안 솔루션인 NGINX App Protect Denial of Service(DoS)는 이러한 모든 문제를 해결하여 효율적이고 구현하기 쉬운 Zero‑Day 보호를 보장하며 적응형 Zero‑Touch 정책 구성을 제공합니다.

목차

1. API 보안에서 DoS 공격을 자동으로 중지하도록 조정하는 방법
1-1. 통계 사이트 모델에서 일반적인 동작 캡처
1-2. 서비스 상태 확인

1-3. 이상 탐지
1-4. 악의적인 행위자 및 요청 패턴 식별

2. 공격 완화 중 오탐 최소화
3. Layer 7 DoS 보호를 사용하는 이유

1. API 보안 에서 DoS 공격을 자동으로 중지하도록 조정하는 방법

NGINX App Protect DoS는 Multistep 프로세스를 사용하여 Layer 7 DoS 공격을 탐지하고 완화합니다.

  1. 통계 사이트 모델에서 일반적인 동작 캡처
  2. 서비스 상태 확인
  3. 이상 감지
  4. 악의적인 행위자 및 요청 패턴 식별
  5. 다층 방어로 공격 완화

1-1. 통계 사이트 모델에서 일반적인 동작 캡처

프로세스의 첫 번째 단계는 사이트가 공격을 받고 있지 않다는 것을 알고 있는 시간 동안 사용자 및 애플리케이션 동작을 캡처하여 일반적인 동작의 기준을 캡처하는 통계 사이트 모델을 만드는 것입니다. API 보안 – NGINX App Protect DoS는 애플리케이션 배포에 대한 포괄적인 파악을 위해 320개의 사용자 및 애플리케이션 지표를 추적합니다. 또한 트래픽을 관찰하면서 통계 사이트 모델을 동적으로 업데이트합니다. 이를 통해 시스템 임계값을 수동으로 조정할 필요가 없으며 API 보안 – NGINX App Protect DoS가 시간이 지남에 따라 불가피하게 발생하는 트래픽 패턴의 변화를 고려하도록 보장합니다.

추적된 지표의 한 클래스는 HTTP 요청 특성(HTTP 메서드, User-Agent 헤더 값 및 그래픽에 표시된 것과 유사한 기타)과 관련됩니다.

Pie charts representing proportin of values for HTTP request characteristics (method, value of User-Agent header, and 6 others)

1-2. 서비스 상태 확인

많은 Layer 7 DoS 완화 도구는 클라이언트 트래픽 패턴에만 주의를 기울입니다. 뛰어난 공격 탐지를 위해 서비스 상태를 적극적으로 확인하도록 API 보안 – NGINX App Protect DoS를 구성할 수 있습니다. 응답 시간 및 손실된 요청 비율과 같은 여러 서버 성능 지표를 추적합니다. 이러한 지표의 값이 악화되면 애플리케이션이 공격으로 인해 “스트레스를 받고 있음”을 나타냅니다. 서버 지표를 추적하면 또 다른 이점이 있습니다. API 보안 – NGINX App Protect DoS가 공격이 진행 중이라고 판단하면 상태 확인에 대한 응답 패턴을 통해 공격이 시작된 시점을 식별할 수 있습니다.

1-3. API 보안 – 이상 탐지

API 보안 – NGINX App Protect DoS는 사이트 통계 모델의 편차 및 서버 응답 변경(구성된 경우)을 기반으로 공격이 진행 중이라고 판단하면 사이트 통계 모델 업데이트를 중지하고 대신 현재 지표 값이 설정된 기준선과 어떻게 다른지 분석합니다. 차이점은 Global Anomaly을 가리킬 수 있습니다.

1-4. 악의적인 행위자 및 요청 패턴 식별

그런 다음 API 보안 – NGINX App Protect DoS는 병렬로 실행되는 두 가지 절차를 시작합니다.

1. 개별 사용자의 동작을 분석하여 이상 징후를 생성하거나 이상 징후에 기여한 사용자를 탐지합니다.

API 보안 – NGINX App Protect는 처음에 모든 사용자를 용의자로 취급하고 그들의 행동을 분석합니다. 모든 사용자가 공격자일 가능성은 없지만 모든 사용자의 동작을 측정하면 NGINX App Protect가 공격에 기여한 사람과 기여하지 않은 사람을 나타내는 통계 그림을 생성할 수 있습니다. 탐지된 불량 행위자는 요청 IP 주소 또는 X-Forwarded-For 헤더를 사용하여 식별됩니다.

2. 합법적인 사용자를 차단하지 않고 공격 트래픽을 설명하는 규칙 목록 생성 – Zero‑Day 공격 보호를 위한 실시간 서명. 이전 공격 중에 생성된 서명을 재사용할 수 있습니다.

생성된 서명은 다음 예와 같이 공격과 관련된 HTTP 속성을 식별합니다:

http.request.method eq GET and http.user_agent contains Chrome and 
http.uri_parameters eq 6 and http.accept_header_exists eq false and 
http.headers_count eq 7

1-5. 다층 방어로 공격 완화

Layer 7 공격을 방어하는 주요 목표는 공격자가 피해를 입히기 전에 공격자를 잡는 것입니다.

다음 다이어그램에 표시된 것처럼 보수적 또는 표준 완화 전략을 구성할 수 있습니다. 두 전략 모두 첫 번째 방어 Layer은 이전 단계에서 IP 주소와 X-Forwarded-For 헤더로 식별된 악의적 행위자의 요청을 차단하는 것입니다. 다음 방어 Layer은 이전 단계에서 생성된 서명과 일치하는 요청을 차단합니다.

마지막으로, 표준 완화를 구성했는데 API 보안 – NGINX App Protect DoS가 처음 두 계층의 방어가 불충분하다고 판단하면 단기간 동안 글로벌 속도 제한을 적용합니다.

NGINX App Protect DOS provides multi-layer defense against attacks, incorporating conservative mitigation (block bad IP addresses and matching signatures) followed by standard mitigation (rate limiting) if necessary

2. 공격 완화 중 오탐 최소화

NGINX App Protect DoS가 글로벌 속도 제한을 적용할 경우 합법적인 사용자의 요청이 차단될 가능성이 있습니다. NGINX App Protect DoS는 일반적인 DoS 공격이 사람이 직접 실행하는 것이 아니라 Botnet Controller(감염된 컴퓨터의 Malware)가 실행하는 스크립트를 사용하여 생성된다는 사실을 기반으로 오탐을 줄일 수 있습니다. 웹 브라우저와 달리, 이러한 간단한 스크립트 중 다수는 HTTP 리다이렉션을 제대로 처리할 수 없으며 JavaScript를 처리할 수 있는 스크립트는 훨씬 더 적습니다. 스크립트와 브라우저 간의 이러한 기능 차이는 NGINX App Protect DoS가 의심스러운 트래픽을 생성하는 스크립트를 식별하는 데 도움이 됩니다.

따라서 모든 클라이언트의 속도 제한 요청 대신 NGINX App Protect DoS는 먼저 HTTP 리다이렉션을 전송한 다음 처리할 JavaScript Snippet을 보냅니다. 스크립팅된 봇은 성공적으로 응답할 수 없지만 브라우저는 응답할 수 있으므로 NGINX App Protect DoS가 브라우저 트래픽을 허용하면서 스크립트의 트래픽을 차단할 수 있습니다.

우리는 일부 사용자가 많은 오탐 가능성 때문에 적응형 학습에 의존하는 것을 불편해한다는 점을 인정하지만, 이것이 Layer 7 DoS 공격을 완화하는 가장 효과적인 방법이라는 것을 알게 되었습니다. NGINX App Protect DoS는 사용자 행동 분석, 서비스 상태 확인, 완화 전략의 효과 측정 등 여러 접근 방식을 결합하여 오탐을 줄입니다. 세 가지 접근 방식을 함께 사용하면 공격에 대응하여 수동으로 구성을 변경할 필요 없이 포괄적인 가시성과 보호 기능을 제공합니다.

API 보안 NGINX App Protect DoS 메커니

3. Layer 7 DoS 보호를 사용하는 이유

WAF가 이미 봇으로부터 보호하고 있다면 Layer 7 DoS 보호가 필요한 이유가 궁금할 것입니다. Layer 7 DDoS 공격이 일반적으로 봇에 의해 실행되는 것은 사실이지만, 그 목적은 다른 봇 활동과 동일하지 않습니다. 봇은 일반적으로 서비스를 방해하지 않고 정보를 얻으려고 시도하는 반면, 서비스 방해는 정확하게 Layer 7 Dos 및 DDoS 공격의 목표입니다.

또 다른 차이점은 표준 안티 봇 도구가 “좋은 봇”과 “나쁜 봇”을 구별하려고 시도한다는 점입니다. 이 작업은 일반적으로 오탐을 방지하기 위해 사람의 감독이 필요한 어려운 작업입니다. 반면에 NGINX App Protect DoS는 트래픽이 봇에 의해 생성되는지 아니면 다른 메커니즘에 의해 생성되는지 상관하지 않습니다. 즉, 행동을 기반으로 공격자와 합법적인 사용자를 구별하는 데 집중합니다. NGINX App Protect DoS는 봇이 Layer 7 DoS 공격에 참여하고 있다고 판단한 경우에만 Antibot 기술을 사용하기 때문에 표준 Antibot 소프트웨어보다 훨씬 적은 오탐을 생성합니다. 또한 NGINX App Protect DoS 완화 방법은 CPU 효율이 높기 때문에 Layer DoS 공격이 진행되는 동안 애플리케이션을 계속 보호할 수 있습니다.

4. API 보안 DoS 방어 결론

API 보안 솔루션인 NGINX App Protect DoS는 사용자 및 애플리케이션 동작과 관련된 320개 이상의 지표을 추적하여 가능한 가장 정확한 보호를 제공하는 Multifactor Statistical Model을 생성합니다. 고유한 알고리즘은 잘못된 탐지를 크게 줄입니다. 이러한 기능을 통해 NGINX App Protect DoS는 고도로 분산된 DoS 공격을 완화할 수 있습니다. 여기서 각 공격 요청은 완전히 합법적인 것처럼 보이고 공격자 한 명이 평균적인 합법적인 사용자보다 적은 트래픽을 생성할 수도 있습니다. 적응형 기술을 통해 NGINX App Protect DoS는 오늘날의 공격뿐만 아니라 미래에 발전할 공격으로부터 최신 인프라를 보호합니다.

DoS 보호를 보장하는 방법에 대해 자세히 알아보려면 솔루션을 확인하시거나 테스트 및 사용해 보려면 지금 30일 무료 평가판을 신청하거나 사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.