HULK 공격 도구: 웹 서버에서 HTTP GET 플러드를 식별하고 완화하는 방법

EdgeOne-Product Team
20 분 읽기
May 29, 2025

HULK 공격 도구: 웹 서버에서 HTTP GET 플러드를 식별하고 완화하는 방법

HULK 이해하기

HULK 공격이란? 

HULK (HTTP Unbearable Load King)는 웹 서버를 압도하기 위해 높은 볼륨의 HTTP GET 요청을 생성하도록 설계된 복잡한 서비스 거부(DoS) 공격 도구입니다. 이는 속도 제한 및 침입 탐지 시스템(IDS)과 같은 표준 보안 조치를 우회하기 위한 다양한 트릭을 사용합니다. HULK 공격은 각기 다른 URL을 즉석에서 생성하고 헤더를 위조하며 세션을 플러드하는 스마트한 트릭을 사용하여 매우 효과적입니다. 이로 인해 공격이 은밀하게 이루어지고 감지하기 어렵습니다.

HULK 공격 흐름

HULK는 정규 속도 제한 및 침입 탐지 시스템(IDS)을 통과하도록 특별히 제작된 단계별 접근 방식을 사용하여 공격을 시작합니다. 공격 프로세스가 작동하는 방식을 간단히 설명하면 다음과 같습니다:

HULK 공격 생애 주기 다이어그램:

주요 회피 기술

  1. 즉석에서 URL 생성
  • 캐시 시스템을 우회하기 위해 캐시할 수 없는 URL을 생성합니다(예: /product?random=123abc). 공격자는 이러한 URL에 무작위 비트를 추가하여(예: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.XtZbQZvNjJlZmVlZw) 각 링크를 고유하게 만들어 캐시 한계를 우회하고 제어 조치를 피하는 데 도움을 줍니다.
  1. 헤더 스푸핑
  • 1,200개 이상의 User-Agent 문자열을 순환하며, 다음과 같은 문자열을 사용합니다: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36. 또한 X-Forwarded-For IP를 변경합니다. 또한 Accept-Language, Cookie, Cache-Control와 같은 헤더를 스푸핑하여 실제 사용자처럼 보이게 합니다. 예를 들어:
GET /api/v1/resource HTTP/1.1  
Host: example.com  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36  
X-Forwarded-For: 192.168.1.1, 203.0.113.1  
Cache-Control: no-cache  
  1. 세션 플러딩
  • 향상된 보안 프로토콜을 사용하여 수천 개의 동시에 TLS 1.3 세션을 생성합니다. 이는 서버의 세션 관리의 약점을 이용하여 메모리 문제 및 연결 부족으로 이어집니다. 해커는 TLS 1.3의 빠른 핸드셰이크 프로세스를 이용해 훨씬 높은 속도로 세션을 생성할 수 있습니다.

HULK 기반 HTTP GET 플러드 탐지

탐지 지표

카테고리레드 플래그도구/방법
트래픽 볼륨GET 요청의 갑작스러운 10배 이상 증가 (예: 50k/min → 500k/min)NetFlow 분석기 (Wireshark), 클라우드 모니터링 (Tencent Cloud Monitor, AWS CloudWatch, Google Stackdriver).
요청 패턴높은 URL 엔트로피 (>4.0 Shannon 값)
약간의 변형이 있는 반복 패턴
로그 분석 (ELK 스택), URI 빈도 매핑 (GoAccess).
IP 행동IP 스트레서 풀에서 발생하는 트래픽 (예: 192.168.1.0/24 범위).IP 평판 데이터베이스 (AbuseIPDB, Spamhaus DROP 목록), GeoIP 추적.
서버 건강CPU 사용률 >90%, 연결 시간 초과 및 메모리 소진시스템 모니터링 (Prometheus, Datadog), 애플리케이션 성능 메트릭.

단계별 탐지 프로세스

  1. 기준선 설정
  • 다음에 대한 트래픽 기준선을 설정하기 위해 Grafana와 같은 도구를 사용하십시오:
    • 분당 평균 요청 수 (RPM)
    • 고유 URI 패턴
    • 세션 지속 시간 분포
  1. 이상 징후 경고
index=web_logs  
| stats count as request_count  
| where http.method == "GET"  
| group by ip  
| threshold request_count > 5000, count where _time > now() - 5m  
  • 다음에 대한 알림을 설정하십시오:
    • RPM이 5,000을 초과하는 경우
    • 엔트로피 점수가 >4.2인 URL
    • TLS 세션 설정의 갑작스러운 증가
  1. 포렌식 분석
  • HULK 서명을 찾기 위해 로그를 검색하십시오:
grep -E "^GET|User-Agent:HULK|X-Forwarded-For:127\.0\.0\.1" /var/log/nginx/access.log  
  • 반복되는 공격 패턴을 분석하기 위해 Wireshark를 사용하십시오.

완화 프레임워크

방어 계층

완화 전술 비교

전술장점단점
속도 제한악성 IP를 신속하게 차단합니다플래시 세일 중 합법적인 사용자에게 영향을 줄 수 있습니다
WAF 규칙알려진 공격 패턴을 차단합니다 (예: HULK/1.0 User-Agent)지속적인 규칙 업데이트가 필요합니다
IP 차단 목록스트레서 IP에 대한 즉각적인 효과IP 회전 및 봇넷 사용에 취약합니다

고급 완화 전략

  1. 강력한 속도 제한
  • 다음과 같이 Nginx limit_req_zone을 구현하십시오. 강력한 임계값:
limit_req_zone $binary_remote_addr zone=dl:10m rate=1r/s;  
location / {  
    limit_req zone=dl;  
}  
  • 오늘날의 현대 ADC에서 글로벌 속도 제한 기능을 활용하여 더 나은 분산 보호를 제공합니다.
  1. 챌린지-응답 메커니즘
  • 고위험 엔드포인트(예: 로그인 페이지)에 대해 CAPTCHA를 배포합니다.
  • 봇과 인간 사용자를 구별하기 위해 클라이언트 측 엔트로피 검증을 통합합니다. 예를 들어:
// 참고: calculateEntropy 함수는 단순화된 예제이지만, 실제로는 엔트로피를 정확하게 계산하기 위해 더 복잡한 구현이 필요할 수 있습니다.
function calculateEntropy(str) {
    const charSet = new Set(str);
    const len = str.length;
    const entropy = [...charSet].reduce((sum, char) => {
        const p = str.split(char).length - 1;
        return sum - (p / len) * Math.log2(p / len);
    }, 0);
    return entropy;
}

// 클라이언트 측 검증  
function validateRequest() {  
    const entropyScore = calculateEntropy(document.userAgent + window.location.href);  
    if (entropyScore < 4.5) {  
    	// 이는 클라이언트에게 챌린지 토큰을 보내는 가상의 방법입니다. 실제로는 타사 CAPTCHA 서비스를 통합하거나 특정 웹 애플리케이션 방화벽(WAF)에서 제공하는 클라이언트 측 인증 기능을 사용할 수 있습니다.
        edgeone.sendChallengeToken();  
    }  
}  
  1. TLS 세션 관리
  • 다음과 같이 Apache 세션 캐싱을 최적화하십시오:
SSLSessionCache shmcb:/run/shm/sssession_cache(102400)  
SSLSessionCacheSize 102400  
SSLSessionTimeout 10m  
  • 고급 보호를 위해 최신 방화벽에서 세션 하이재킹 완화 기능을 활성화하십시오.

IP 스트레서

합법적인 사용 vs. 악의적인 사용

측면합법적인 사용악의적인 사용
트래픽 패턴명확한 테스트 계획에 따른 통제된 폭발무작위화된 대량 플러드
프로토콜 다양성HTTP/HTTPS만 사용혼합 UDP/ICMP/HTTP 페이로드
법적 준수서비스 제공자의 ToS 준수CFAA, GDPR 및 기타 사이버 보안 법률 위반

스트레서 트래픽 식별

  • 행동 분석:
    • 지리적으로 분산된 트래픽 급증을 찾아보십시오 (예: 5분 안에 동유럽에서 10,000개의 IP).
  • 패킷 분석:
    • 스트레서 서명을 확인하기 위해 tcpdump를 사용하십시오:
tcpdump -i eth0 -n 'tcp port 80 and http.request.method == "GET"'  
  • 평판 피드:
    • IP를 MaxMind GeoLite2 및 업계 최고의 위협 피드와 교차 참조하십시오.

사례 연구

공격 시나리오

중견 전자상거래 플랫폼은 블랙 프라이데이에 800k 요청/분 공격을 받았으며, 이로 인해 45분 동안 다운타임이 발생하고 $200K의 매출 손실이 발생했습니다.

응답 작업 흐름

  1. 트래픽 분석
  • Darktrace는 트래픽의 60%가 Luminati 스트레서 서비스와 연관된 IP에서 발생한다고 감지했습니다.
  • ELK 스택은 요청의 98%가 무작위 쿼리 매개변수를 가진 /api/cart를 대상으로 한다고 밝혔습니다.
  1. 완화 조치
  • 비상 속도 제한:
limit_req_zone $binary_remote_addr zone=emergency:10m rate=100r/m;  
location /api/cart {  
    limit_req zone=emergency;  
}  
  • IP 차단:
    • Spamhaus DROP 목록의 IP를 방화벽에 동기화했습니다:
// 기업 수준 방화벽을 위한 예제 규칙 템플릿  
{  
  "action": "block",  
  "priority": 1,  
  "source_ip": "192.0.10.0/24",  
  "geolocation": ["CN", "US"]  
}  
  • CAPTCHA 통합:
    • API 엔드포인트에 대해 위험 기반 검증을 활성화하여 보안성과 사용 편의성을 균형 있게 유지했습니다.
  1. 공격 후 조치
  • NGINX 최적화:
worker_processes auto;  
events {  
    worker_connections 4096;  
}  
http {  
    keepalive_timeout 65s;  
    ...  
}  
  • 위협 인텔리전스 파트너십:
    • HULK 변종과 같은 새로운 위협에 대한 실시간 공격 패턴 감지를 제공하는 공급자와 구독했습니다.

결과

  • 다운타임이 이후 공격에서 45분에서 2분으로 감소했습니다.
  • WAF 규칙을 개선한 후 false positive가 85% 감소했습니다.
  • 사전 조치를 통해 연간 DDoS 완화 비용이 $40k 감소했습니다.

사전 방어 체크리스트

인프라 강화

  • 다음과 같이 Nginx/Apache 연결 한도를 설정하십시오:
worker_processes 4;  
events {  
    worker_connections 4096;  
}  
  • Linux 커널에서 SYN 쿠키를 활성화하십시오:
net.ipv4.tcp_syncookies = 1  
net.ipv4.tcp_max_syn_backlog = 65535  

모니터링 및 경고

  • 비정상적인 트래픽 패턴을 감지하기 위해 행동 분석 플랫폼을 배포하십시오.
  • 다음에 대한 Prometheus 알림을 구성하십시오:
- alert: HighRequestRate  
  expr: rate(http_requests_total[5m]) > 1000  
  for: 10m  
  labels: severity=high  

사건 대응

  • HULK 변종에 대한 사전 구축된 WAF 규칙 템플릿을 유지하십시오.
  • 기업급 보호를 위해 DDoS 완화 제공업체와 파트너십을 구축하십시오.

결론

HULK 및 IP 스트레서 공격은 조직에 심각한 위협을 가할 수 있습니다. 그러나 트래픽 분석, 속도 제한 및 인프라 최적화를 포함한 포괄적인 방어 전략을 채택함으로써 그 영향을 크게 줄일 수 있습니다. 제로 트러스트 아키텍처를 강조하고 초저지연이 필요한 조직을 위해, EdgeOne 놀라운 솔루션을 제공합니다:

근원 근처 청소 : EdgeOne은 Anycast 기술(중국 본토에서는 Unicast)을 사용하여 근원 근처 청소 및 공격 트래픽 분산을 통해 15 Tbps+의 글로벌 보호를 제공하여 역사상 가장 큰 DDoS 공격을 초과합니다.

AI 지능형 인식 : EdgeOne은 AI 분석을 통해 악의적인 요청 식별을 정확하게 수행하여 false alarm을 줄이고 효율적이며 적응적이고 저유지 보수 DDoS 보호를 제공합니다. 몇 초 만에 99.995% 이상의 DDoS 공격을 차단합니다.

원스톱 솔루션 : EdgeOne은 인터넷 비즈니스를 위한 올인원 보안 및 가속 솔루션을 제공하여 네트워크 성능과 보안 문제를 해결하며 독립형 솔루션보다 비용 효율성과 관리 비용을 줄입니다.

다음과 같은 EdgeOne DDos 보호를 사용하여 기업은 대규모 DDoS 공격에도 불구하고 온라인 서비스의 가용성과 성능을 보장할 수 있습니다. 

현재 무료 체험를 시작했습니다. 자세한 정보는 문의해 주세요 하시기 바랍니다. 

HULK 공격에 대한 FAQ

1. HULK 공격이란 무엇인가요?

HULK (HTTP Unbearable Load King)는 높은 볼륨의 HTTP GET 요청을 생성하여 웹 서버를 압도하도록 설계된 복잡한 서비스 거부(DoS) 공격 도구입니다.

2. HULK 공격이 보안 조치를 우회하는 방법은 무엇인가요?

HULK 공격은 동적으로 캐시할 수 없는 URL을 생성하고, 요청 헤더를 스푸핑하며, 세션 플러딩 등의 기술을 사용하여 표준 속도 제한 및 침입 탐지 시스템을 우회합니다.

3. HULK 공격을 어떻게 탐지할 수 있나요?

HULK 공격을 탐지하기 위한 지표에는 GET 요청 볼륨의 갑작스러운 급증, 높은 URL 엔트로피 값, 알려진 공격 IP 풀에서 발생하는 트래픽 등이 있습니다.

4. HULK 공격에 대한 완화 조치는 무엇인가요?

완화 전략에는 속도 제한 구현, 웹 애플리케이션 방화벽(WAF) 규칙 사용, IP 차단 목록 관리, 고위험 엔드포인트에 대한 챌린지-응답 메커니즘(CAPTCHA) 배포 등이 포함됩니다.

5. HULK 공격의 심각성은 어느 정도인가요?

HULK 공격은 높은 서버 부하 및 서비스 중단을 초래하여 조직에 경제적 손실과 평판 손상을 일으킬 수 있습니다.

6. HULK 공격 방어를 위해 인프라를 어떻게 최적화할 수 있나요?

인프라 최적화는 연결 한도 설정, SYN 쿠키 활성화, 비정상적인 트래픽 패턴을 모니터링하기 위한 행동 분석 플랫폼 배포 등을 포함할 수 있습니다.

7. HULK 공격은 여러 IP 주소에서 실행될 수 있나요?

네, HULK 공격은 봇넷이나 IP 스트레서 서비스를 사용하여 다양한 IP 주소에서 공격할 수 있으며, 이를 차단하기 더욱 까다롭게 만듭니다.

8. 서버 로그에서 HULK 공격의 징후는 무엇인가요?

서버 로그에서 HULK 공격을 발견하려면 하나 또는 두 개의 IP 주소에서 오는 많은 GET 요청을 확인할 수 있습니다. 또한 URL에서 몇 가지 작은 변화가 있는 반복적인 패턴을 발견할 수 있습니다.

9. 조직은 잠재적인 HULK 공격에 대비하기 위해 무엇을 해야 하나요?

준비하기 위해 조직은 보안을 정기적으로 점검하고 트래픽 모니터링 시스템을 구축하며 사건 대응 계획을 수립해야 합니다.

10. HULK 공격 탐지를 위한 추천 도구는 무엇인가요?

HULK 공격 탐지를 위한 추천 도구에는 NetFlow 분석기(Wireshark와 같은), 로그 분석 도구(ELK 스택 등), 애플리케이션 성능 모니터링 솔루션(Prometheus 등)이 포함됩니다.

11. AI는 HULK 공격 방어에서 어떤 역할을 하나요?

AI는 실시간으로 트래픽 패턴을 분석하고 악의적인 요청을 식별하며 false positive를 줄여 보다 빠른 위협 완화에 기여할 수 있습니다.

12. HULK 공격에 대응하기 위해 보안 조치를 얼마나 자주 업데이트해야 하나요?

보안 조치를 정기적으로 점검하고 업데이트하는 것이 좋습니다. 이상적으로는 매 3개월마다 진행하되, 주요 보안 문제가 발생했거나 취약점을 발견했을 때는 즉시 검토해야 합니다.

13. HULK 공격과 다른 유형의 DDoS 공격의 차이점은 무엇인가요?

HULK 공격은 HTTP GET 요청을 통해 웹 서버를 특정적으로 목표로 하고 회피 기술을 사용하는 반면, 다른 DDoS 공격은 다양한 프로토콜(UDP 또는 ICMP 등)을 사용하여 리소스를 압도하는 방식으로 이루어질 수 있습니다.