DDoS의 진화 : L7 DoS와 애플리케이션 보안

2024-12-16
게시물 보기
(DDoS 보안 백서) DDoS 의 진화_L7 DoS와 애플리케이션 보안.pdf

구시대적 공격 기법 DDoS?

2024년 11월은 디지털화된 행정 및 공공 서비스에서 정보 보호의 중요성을 다시금 일깨워준 시기였습니다. 

다수의 정부 부처 및 공공기관과 공기업 홈페이지, 그리고 온라인 공공 서비스를 제공하는 웹사이트가 11월 5일부터 7일까지 3일간 DDoS 공격을 받은 것입니다.  

평소 보안 시스템을 철저히 구축해둔 일부 기관들은 피해를 최소화했지만, 그렇지 못했던 기관들은 서비스 중단이라는 결과를 피할 수 없었습니다.

그리고 그 피해는 고스란히 사용자들에게 돌아갔습니다. 이제는 평범한 일상으로 자리 잡은 온라인 공공 서비스 이용이 악의적인 공격으로 인해 마비되고 이러한 공격은 일반 사용자들에게 직접적인 영향을 미치고 있습니다. 

DDoS는 2000년대 초반부터 성행해 온 사이버 공격으로 ICT의 발전과 디지털화가 가속화되던 시점부터 주목받아 왔습니다.

그 역사가 오래되었기 때문에 이번 사태를 보고 ‘아직도 DDoS와 같은 구시대적 공격에 영향을 받느냐’라는 의문을 가질 수 있습니다. 하지만 이를 두고 단순히 ‘구시대적 공격 기법’이라 치부하기에는 DDoS의 방어는 결코 간단하지 않습니다.  

 

왜 DDoS 방어가 어려울까요?

  • 공격의 비대칭성: 공격자들은 클라우드 서버나 좀비 네트워크를 활용해 압도적 규모의 트래픽을 생성 할 수 있습니다. 공격자가 만들어낼 수 있는 공격 트래픽량은 제한이 없지만 보안 관리자는 한정된 자원 만으로 대량의 공격 트래픽을 실시간으로 차단해야만 합니다.

     

  • 다양한 공격 기법: SYN Flooding, UDP Flood, HTTP GET/POST Flood 등 네트워크 계층과 애플리케이션 계층을 넘나드는 다양한 DDoS 기법이 혼합되어 사용되며, 이는 방어를 더욱 어렵게 만듭니다.

     

  • 공격 비용 대비 방어 비용: 공격자는 비교적 적은 비용으로 대규모 트래픽을 발생시킬 수 있는 반면, 방어자는 고가의 장비와 솔루션을 유지하며 지속적으로 대응해야 하는 부담을 안고 있습니다.

     

  • 정상 트래픽과의 구분: 애플리케이션 계층(L7) 공격에서는 정상적인 사용자 요청과 악의적인 요청을 구분하기가 어려워, 이를 방어하기 위해 더 많은 리소스와 세밀한 분석이 요구됩니다. 이러한 이유로 많은 기관의 보안 관리자들이 DDoS 방어에 난항을 겪고 있습니다. 지금도 DDoS 공격 기법은 다양한 형태로 진화하고 있으며 공격자의 목표 역시 다양해지고 있습니다. 

     

파이오링크에서 분석한 결과 이번 DDoS 공격 역시 앞서 설명한 것처럼 다양한 공격 기법이 적용된 것으로 확인되었습니다.  

이번 공격에 사용된 주요 기법은 SYN Flooding, Slow HTTP Header DoS(이하 Slowloris), 그리고 Slow HTTP POST DoS(이하 RUDY)로 이 백서에서 각 공격 기법에 대해 자세히 설명하고 이에 대한 대응책도 함께 소개하고자 합니다. 

 

SYN Flooding

SYN Flooding 이란 네트워크 계층(L3/L4)에서 이루어지는 공격으로 대량의 SYN 패킷을 전송하여 대상 서버의 네트워크 자원을 소진하는 공격 기법입니다. 우리가 흔히 알고 있는 좀비 PC와 C&C 서버를 활용 하는 DDoS 공격이 바로 SYN Flooding 기법입니다. 

SYN Flooding은 명절에 고속도로에서 발생하는 병목 현상에 빗대어 표현할 수 있습니다. 명절에는 고속 도로가 수용할 수 있는 교통량 이상으로 차량이 몰리게 되고 차량이 더 이상 이동할 수 없을 정도로 도로가 마비됩니다. 

SYN Flooding 공격도 이와 유사합니다. 네트워크 대역폭을 초과하는 TCP 연결 요청 패킷 (SYN 패킷)을 대상 서버에 보내게 되면 서버는 정상적인 연결을 처리하지 못하게 됩니다. 또한 세션을 완전히 수립되지 않은 상태로 유지시켜 리소스를 점차 고갈시키기 때문에 네트워크 대역폭과 장비 성능을 동시에 마비시키는 특징이 있습니다. 

다행히 SYN Flooding 공격은 전통적인 DDoS 방어 솔루션으로 효과적으로 차단할 수 있습니다. DDoS 방어 솔루션의 트래픽 필터링이나 SYN 쿠키 기술을 활용하여 서버 자원을 보호하고, 초당 연결 요청 수를 제한함으로써 과도한 연결 요청에 대응할 수 있습니다.  

 


<그림1> SYN Flooding

 

Slowloris

Slowloris는 HTTP 요청 헤더를 작은 단위로 쪼개서 느리게 전송하여 서버 연결을 장시간 열어 두어 서버 연결 자원을 고갈시키는 공격 기법입니다.  

Slowloris는 마치 은행 창구를 차지하고 앉아 한 번에 업무를 끝내지 않고 조금씩 요청을 이어가는 악성 고객과 비슷합니다. 이 악성 고객은 요청을 한 번에 끝내지 않고 조금씩 이어가며 다른 고객이 창구를 이용할 수 없게 만듭니다. 

Slowloris도 이와 마찬가지로 서버 연결 자원을 점유하고 고갈시켜 다른 사용자들이 정상적으로 서비스를 이용할 수 없게 만드는 것 입니다. 이런 유형의 공격은 애플리케이션 계층(L7) 에서 이루어지므로 네트워크 계층(L3/L4)에서의 방어만으로는 대응이 어렵습니다. 

 


<그림2> Slowloris

 

RUDY

RUDY 역시 애플리케이션 계층(L7)에서 이루어지는 공격입니다. RUDY는 서버에 HTTP 요청을 보낼 때 분할된 POST 요청을 대량으로 전송하여 서버가 데이터를 처리하고 저장하는데 필요한 자원을 소모하는 공격 기법입니다. 

이는 엘리베이터에 이삿짐을 실어 보낼 때 작은 단위의 짐을 하나씩 실으며 엘리베이터를 독점하는 모습으로 표현할 수 있습니다. RUDY 공격을 받은 서버는 CPU와 메모리 사용량이 급증하여 성능이 저하되기 때문에 다른 사용자의 요청을 처리할 수 없게 됩니다. 

RUDY 공격은 데이터 처리 및 저장을 담당하는 서버의 자원 고갈을 목표로 삼기 때문에 이를 방어하려면 데이터 크기 제한이나 요청 속도 제한 같은 세부적인 보안 설정이 필요합니다.  

 


<그림3> RUDY


이렇듯 Slowloris와 RUDY는 네트워크 계층(L3/ L4)을 목표로한 SYN Flooding과는 다르게 애플리케이션 계층(L7)을 목표로 하며 서버의 자원을 고갈 시키는데 초점이 맞춰져 있습니다. 
 

이 두 공격은 네트워크 단에서 발생하는 트래픽 폭주와는 달리, 웹 애플리케이션 서버에서 HTTP 요청 패킷을 처리하는 과정을 악용합니다. 이러한 공격을 효과적으로 방어하기 위해서는 애플리케이션 계층(L7)에서 동작하는 웹 방화벽(Web Application Firewall, WAF)이 강력한 해결책이 될 수 있습니다. 

 

L7 DoS와 애플리케이션 보안

웹 방화벽은 서버로 들어오는 HTTP/HTTPS 트래픽을 분석하여 비정상적인 요청은 차단하고 정상적인 사용자의 요청은 허용하여 웹 애플리케이션 서버가 원활한 서비스를 제공할 수 있도록 지원하는 보안 솔루션입니다. 

특히 Slowloris 공격으로 인한 비정상적으로 느린 요청이나 RUDY 공격으로 발생하는 과도한 데이터 요청을 탐지하고 차단하는데 특화된 기능을 제공합니다.
파이오링크의 WAF/WAAP인 WEBFRONT-K 역시 애플리케이션 계층(L7)을 목표로 한 DoS 공격으로부터 서버를 보호하기 위한 다양한 보안 기능을 제공합니다.  

 

WEBFRONT-K L7 DoS 보안기능

  1. 요청 세션 헤더의 최대 전송 시간을 설정함으로써 HTTP/HTTPS 헤더 정보를 조작해 서버 연결을 장시간 유지하려는 공격(Slowloris 등)을 탐지 및 차단
  2. 요청 세션 바디의 최대 전송 시간과 최소 허용 바디 크기를 설정함으로써 HTTP/HTTPS 바디를 천천히 전송하여 서버 연결을 유지하려는 공격 (RUDY 등)을 탐지 및 차단 
  3. 응답 세션의 처리가 비정상적으로 느린 경우를 탐지함으로써 클라이언트가 작은 수신 버퍼로 데이터를 천천히 읽어 서버 리소스를 고갈시키려는 공격(Slow Read DoS 등)을 탐지 및 차단
  4. 각 세션별 또는 프록시별로 요청 횟수를 제한하고 과도한 요청을 보낸 IP를 금지 IP로 설정함으로써 비정상적인 트래픽을 탐지하고 서버 자원을 고갈시키려는 공격(HTTP Flooding 등)을 근본적으로 방어 
  5. URL 별 허용 메소드 종류 및 요청 횟수를 제한하고, JSON 포맷 데이터의 최대 중첩 깊이를 설정하여 API를 악용한 L7 DoS 공격(JSON Bomb 등)을 탐지하고 차단 
  6. HTTP/2 요청과 RESET 프레임이 동시에 요청될 때 시간당 허용 임계치를 설정하여, 프레임 자체는 정상적이지만 비정상적인 사용 패턴으로 서버 리소스를 소모시키는 공격(HTTP2 Rapid Reset DDOS)을 탐지하고 차단 

 

웹 방화벽은 서버로 들어오는 HTTP/HTTPS 트래픽을 분석하여 비정상적인 요청은 차단하고 정상적인 사용자의 요청은 허용하여 웹 애플리케이션 서버가 원활한 서비스를 제공할 수 있도록 지원하는 보안 솔루션입니다. 

특히 Slowloris 공격으로 인한 비정상적으로 느린 요청이나 RUDY 공격으로 발생하는 과도한 데이터 요청을 탐지하고 차단하는 데 특화된 기능을 제공합니다. 

파이오링크의 WAF/WAAP인 WEBFRONT-K 역시 애플리케이션 계층(L7)을 목표로 한 DoS 공격으로부터 서버를 보호하기 위한 다양한 보안 기능을 제공합니다.  

 

DDoS/DoS 공격은 더 이상 단일 계층만을 목표로 하는 단순한 공격이 아닙니다. 방어가 어려운 만큼 공격 성공률이 높아 DDoS는 공격자들에게 마치 인기 있는 베스트셀러와 같은 공격 기법이 되었습니다. 하지만 우리는 익숙한 이름에 속아 방심하고 있는 건 아닌지 돌아봐야 합니다. 

공격자들이 노리는 것은 바로 이러한 방심이며, 그 틈을 놓치지 않고 더욱 거센 공격을 시도할 것입니다. 만약 잠재적인 DDoS 위협에 안일하게 대응한다면, 이번 사태와는 비교할 수 없을 만큼 더 큰 피해가 발생할 수 있습니다. 

 

파이오링크는 이런 피해를 막기 위해 고객과 시장에 경각심을 일깨우는 메시지를 지속적으로 던지고 동시에, 지속적으로 진화하는 공격에 대비하기 위한 연구와 투자를 이어가고 있습니다. 

문제는 함께 고민할 때 더 나은 답을 찾기 쉽습니다. 특히, 그 ‘함께’가 해당 분야의 전문가라면 그 효과는 배가 됩니다. 파이오링크는 고객의 인프라 환경이 조금이라도 더 개선되고 안전해질 수 있도록 끊임없이 연구하는 전문가 집단입니다. 

네트워크와 보안에 대한 고민이 있으시다면 언제든 편하게 파이오링크에 문의해 주십시오. 함께 해결책을 찾아 나가겠습니다. 

  • 글쓰기
문의