클라우드 컴퓨팅이 필요하신가요? 지금 시작해보세요

Dark background with blue code overlay
블로그

Akamai 블로그 | TCP 미들박스 반사: 우리 가까이에서 자행되는 DDoS 공격

Akamai Wave Blue

에 의해 작성

Security Intelligence Response Team

March 01, 2022

작성자: Akamai 보안 인텔리전스 대응팀

Executive Summary

  • Akamai 보안 연구원들은 지난 한 주 동안 Akamai 고객을 대상으로 한 연속적인 TCP 반사 공격(1.5Mpps에서 최고 11Gbps에 달함)을 탐지하고 분석하였습니다.

  • TCP 미들박스 반사(TCP Middlebox Reflection)라는 기술로 증폭된 이 공격은 취약한 방화벽과 콘텐츠 필터링 시스템을 악용하여 TCP 트래픽을 공격 대상 시스템에 반영하고 증폭시켜 강력한 DDoS 공격을 실행합니다. 

  • 미들박스는 중국의 만리 방화벽(Great Firewall of China)과 같은 국가 차원의 검열 시스템에서부터 기업 엔터프라이즈 콘텐츠 필터링 시스템에 이르기까지 전 세계에서 나타날 수 있습니다.

  • 이 새로운 기술은 지난 8월 메릴랜드대학교와 콜로라도대학교의 연구진에 의해 그 이론이 소개되었지만, 실제로 보는 것은 처음입니다.

  • 이 같은 유형의 공격은 규모 차원에서 볼 때 공격자가 필요로 하는 대역폭이 1/75에 불과하기 때문에 DDoS 공격의 장벽을 위험할 정도로 낮춥니다.

  • 미들박스 구현의 일부 형태에서는 공격자가 대규모 TCP 공격을 기반으로 SYN, ACK 또는 PSH+ACK 플러딩을 추가할 수 있습니다.

  • 현재 금융, 여행, 게임, 미디어, 웹호스팅 업계에서 이러한 공격이 확인되었습니다.

  • 지금은 공격 트래픽이 상대적으로 적지만, 공격자가 이를 이용하여 증폭을 매우 크게 구현할 수 있어서 향후 이러한 유형의 공격이 증가할 것으로 예상됩니다. 

서론

최근 몇 주 동안 Akamai 연구자들은 Akamai 고객들을 대상으로 하며 SYN 플러딩과 대량의 트래픽을 동반한 분산 서비스 거부(DDoS) 공격(초당 150만 패킷(Mpps)으로 최대 11Gbps)을 여러 차례 확인하였습니다. 공격에 사용된 TCP 패킷들을 조사한 결과, 이들 공격이 TCP 미들박스 반사라는 새로운 기법을 이용하고 있다는 것을 알게 되었습니다.

TCP 미들박스 반사(TCP Middlebox Reflection)는 2021년 8월에 메릴랜드대학교와 콜로라도볼더대학교의 연구진이 작성한 논문에서 새로운 DDoS 공격 벡터로 처음 공개되었습니다. 이들은 “TCP 반사 증폭을 위한 미들박스 무기화(Weaponizing Middleboxes for TCP Reflected Amplification)”라는 논문을 통해 TCP 반사 공격을 위해 방화벽이나 콘텐츠 필터링 같은 디바이스를 어떻게 이용할 수 있는지를 보여주었습니다. 미들박스 DDoS 증폭은 인터넷에 위험 요소가 되는 완전히 새로운 유형의 TCP 반사/증폭 공격입니다.

우리가 이 기술을 실제로 확인한 것은 이번이 처음입니다. 이 블로그에서는 그 공격 벡터에 대해 논의하고 공격의 작동 방식을 설명하며 우리가 발견한 공격의 예를 보여주고, 네트워크에 가해지는 위협에 대한 정보와 공격 시 방어에 도움이 될 수 있는 방어 기법을 공유합니다.  

TCP 미들박스 반사 - 새로운 DDoS 공격 벡터

미들박스는 서로 통신하는 두 개의 최종 호스트 사이의 경로에 있는 네트워크 내 디바이스로, 전송 중인 패킷 스트림을 모니터링하거나 필터링하거나 변환할 수 있습니다. 라우터나 스위치 같은 기존의 네트워크 디바이스와 달리, 미들박스는 패킷의 헤더에서뿐 아니라 심층패킷분석(DPI)을 사용하여 패킷의 페이로드에서도 작동합니다. 

- “TCP 반사 증폭을 위한 미들박스 무기화(Weaponizing Middleboxes for TCP Reflected Amplification)”

앞서 언급한 바와 같이 TCP 미들박스 반사는 “TCP 반사 증폭을 위한 미들박스 무기화(Weaponizing Middleboxes for TCP Reflected Amplification).” 라는 논문에서 처음 공개되었습니다. 이 논문의 저자들은 TCP 기반 증폭의 가능성과 효율성을 잘 알려진 UDP 기반 기술과 비교하여 증명하려고 시도합니다. 저자는 미들박스에서 TCP가 준수되지 않는다는 점을 이용하여 매우 효과적인 TCP 기반 반사 증폭 공격을 생성할 수 있었습니다.   

저자는 이러한 미들박스 시스템 중 일부가 콘텐츠 필터링 정책을 적용하려고 할 때 TCP 스트림 상태를 고려하지 않는다는 사실을 발견했습니다. 이 미들박스는 Out-Of-State TCP 패킷에 응답하도록 만들 수 있습니다. 이러한 응답에는 사용자가 차단된 콘텐츠에 접근하지 못하게 하기 위해 클라이언트 브라우저를 "하이재킹"하도록 되어 있는 콘텐츠가 포함된 경우가 종종 있습니다. 공격자는 이렇게 손상된 TCP 구현을 다시 악용하여 TCP 트래픽(데이터 스트림 포함)을 DDoS 피해자에게 반영할 수 있습니다. 

이 논문의 저자는 전세계적으로 이 TCP 반사 공격에 취약한 미들박스 시스템이 수십만 개가 있다고 말합니다. 이들은 테스트를 통해, 널리 사용되고 있고 자주 악용되는 UDP 반사 벡터들을 능가하는 증폭률을 발견했습니다.  실제로 발견된 취약한 시스템들 중 일부는 NTP, RIPv1, 그리고 심지어 악명 높은 멤캐시드 같이 가장 큰 타격을 입히는 UDP 벡터들보다 더 빠른 증폭 속도를 보입니다.

공격: 미들박스의 TCP 비준수를 악용

공격자는 HTTP 요청 헤더를 포함하는 다양한 TCP 패킷 시퀀스를 만들 수 있습니다. 이러한 HTTP 헤더에서는 차단된 사이트의 도메인 이름이 호스트 헤더로 사용됩니다. 이러한 패킷이 사이트에 대한 액세스를 허용하지 않도록 구성된 미들박스에 의해 수신되면 미들박스는 일반적으로 HTTP 헤더로, 경우에 따라서는 전체 HTML 페이지로 응답합니다. 이러한 응답은 공격자에게 반사 기회를 제공하며, 경우에 따라 상당한 증폭 요인을 제공하기도 합니다.

이 미들박스를 DRDoS(Distributed Reflective Denial of Service) 공격에 악용하기 위해 공격자는 목표로 삼은 피해자의 소스 IP를 스푸핑하고, 이에 따라 응답 트래픽이 그 미들박스에서 피해자를 향하게 됩니다. 이러한 방식으로 구성된 미들박스 시스템은 인터넷 상의 네트워크에서 쉽게 찾아볼 수 있는데, 이는 이 시스템이 검열법을 시행하기 위해 국가들에서 널리 사용되거나 기업 컨텐츠 필터링 정책에 의해 많이 사용되고 있기 때문입니다.

 

그림 1. 취약한 미들박스의 응답 예시 Fig. 1. Example responses from vulnerable middlebox

그림 1의 트래픽 예시에서는 실제로 이 같은 방식으로 실행된 공격에서 미들박스가 활용된 것을 확인할 수 있습니다. 페이로드가 33바이트인 SYN 패킷 하나를 전송하면 2,156바이트의 응답이 트리거됩니다. 이것은 65배(6,533%)의 증폭 인자입니다. 공격자가 공격을 시작하는 데 필요한 대역폭이 방어자가 이에 대처하는 데 필요한 대역폭보다 작기 때문에 이와 같은 증폭은 전력 승수의 역할을 합니다.

이전에는 대규모 TCP 공격을 위해 공격자가 많은 컴퓨터와 많은 대역폭, 즉 일반적으로 고대역폭 연결과 소스 스푸핑 기능 또는 봇넷을 사용하는 매우 정교한 시스템용으로 준비된 영역에 액세스해야 했습니다. 그 이유는 지금까지는 TCP 프로토콜에 대한 대규모 증폭 공격이 없었기 때문입니다. 즉, 소규모의 증폭은 가능했지만그것은 거의 무시할 수 있는 수준이거나 UDP 대안에 비해 최소한 하위 수준이고 비효과적이라 여겨졌습니다.  

SYN Flood와 대규모 공격을 결합하려면 1:1 비율의 대역폭을 일반적으로 패딩 SYN 패킷 형태로 피해자에게 푸시해야 할 것입니다. 미들박스 증폭이 등장함에 따라, TCP 공격에 대해 사람들이 오랫동안 생각해왔던 이러한 내용은 더 이상 사실이 아닌 것이 되었습니다. 이제 공격자는 규모 면에서 겨우 1/75의 대역폭(일부 경우)만을 필요로 하며, 일부 미들박스 구현의 경우에는 그 특성상 공격자가 SYN, ACK 또는 PSH+ACK 플러드를 무료로 받게 됩니다.

 

그림 2. 미들박스가 RST를 무시함 Fig. 2. Middlebox ignores RST

그림 2에서는 미들박스가 SYN 패킷에 응답하는 것을 볼 수 있지만 여기서 중요한 것은 SYN 패킷에 응답을 할 때 미들박스가 (알 수 없는 이유로) 자체 SYN 패킷으로 응답을 한다는 것입니다. 설상가상으로, 여러 개의 SYN 패킷을 전송하는데, 그 모든 패킷에 데이터가 로드되어 있습니다. 여기서 주목해야 할 또 하나 중요한 점은 미들박스가 "피해자"의 RST 패킷을 완전히 무시하고 그 데이터를 유선으로 계속 푸시하여 완료가 될 때까지 데이터로 압축된 SYN 패킷을 계속 펌핑한다는 것입니다.  

원 저자가 발견한 또 다른 우려스러운 점은 RST 패킷을 처리하는 박스들이 존재한다는 것입니다. 이들 박스는 RST 패킷을 수신하면 처음에 미리 전송하여 RST를 트리거한 데이터 패킷을 다시 전송하는 형태로 반응합니다. 그러면 다시 또 다른 RST와 데이터 패킷이 생성되게 됩니다. 이 말은 결국 한 상자가 스스로 영원히 증폭하는 "무한 루프"에 도달할 수 있으며 결국에 그렇게 될 것이라는 뜻입니다. 

이 예시에서는 TCP/45678에서 수신 대기 중인 TCP 서비스가 없기 때문에 이러한 RST 패킷이 "피해자"로부터 전송되는데, 이것이 사실상 최상의 시나리오입니다. 아래의 스크린샷에서 볼 수 있듯이, 공격자가 TCP 서비스가 실행 중인 포트를 표적으로 삼으면 상황은 더욱 악화됩니다.

 

그림 3. TCP 서비스를 대상으로 하는 취약한 미들박스의 응답 예시 Fig. 3. Example responses from vulnerable middlebox targeting a TCP service

그림 3에서는 TCP 서비스가 현재 TCP/45678에서 실행되고 있는 것을 볼 수 있습니다. 이 대규모 공격은 이제 리소스 고갈 공격이 됩니다. TCP 애플리케이션/서비스로 전달되는 이러한 SYN 패킷은 해당 애플리케이션이 여러 SYN+ACK 패킷으로 응답하도록 하고 TCP 세션을 열어둬서 쓰리웨이 핸드셰이크의 나머지 부분을 기다리게 할 것입니다. 각 TCP 세션이 이렇게 반쯤 열림 상태로 유지되면서 시스템은 소켓을 소비하게 되고 그러면 다시 리소스가 소비되어 결국 리소스가 완전히 고갈될 가능성이 있습니다.

확인된 공격 - 성장하는 벡터

Akamai SOCC(Security Operations Command Center)는 금융, 여행, 게임, 미디어, 웹호스팅 업계를 겨냥한 다양한 미들박스 공격을 관찰하였습니다. 지금까지 이 기술을 활용한 것으로 확인되는 공격은 다른 공격 벡터에 비해 아직은 작은 규모이지만, 그 확산세와 규모가 점점 증가하고 있는 것으로 보입니다.

이들 공격 중 제일 처음 자행된 건에서는 최고치가 50Mbps에 달했습니다. 이러한 최근 공격들의 배후는 성능을 높이거나 선호하는 리프렉터 세트를 세밀하게 조정하는 것으로 보입니다. 이보다 더 최근에 이와 동일한 미들박스 공격 기법을 사용하여 동일한 공격 대상을 겨냥했던 공격에서는 최고치가 2.7Gbps와 11Gbps를 기록했으며, 11Gbps에 달했던 공격은 1.5Mpps였습니다.

지금은 이런 공격들이 비교적 규모가 작지만, 이는 공격자들이 미들 박스 공격 기법을 활용하기 시작했으며 이것을 DDoS 공격 기법의 또 다른 도구로 활용하기 시작했다는 것을 보여줍니다.

방어 제안

미들박스 반사 공격은 새로운 기법이지만 그렇게 독특한 것은 아닙니다. 그 실제적인 위협 요소는 이것을 활용하고자 하는 공격자들의 진입 장벽이 낮아진다는 데에서 비롯됩니다. 그렇긴 하지만, 패딩 SYN 플러딩은 공격자들이 수년간 활용해오고 있는 보편화된 기술입니다.  이러한 관점에서, 미들박스 공격을 방어하려면 동일한 기술과 전술을 사용하게 될 것입니다.

실제로 사용할 경우에는 거의 예외 없이 SYN 패킷이 TCP 핸드셰이크를 시작하는 데 사용되고 데이터 전송에는 사용되지 않습니다. 즉, 길이가 0바이트보다 큰 SYN 플러드는 의심을 해봐야 되며, 이 지표를 활용하여 방어를 할 수 있을 것입니다.

SYN 챌린지도 미드박스 리소스 고갈 효과를 막는 데 효과적일 수 있습니다.  미들박스는 결과적으로 발생하는 챌린지 패킷을 제대로 처리하지 못하므로 SYN 패킷은 완화 장치를 통과하지 못할 것이며, 핸드셰이크가 절대 완료되지 않으므로 데이터 플로우 역시 서버와 애플리케이션에 도달하기 전에 삭제될 것입니다.

또 다른 방법으로는 공격을 쉽게 차단할 수 있는 안티스푸핑 및 Out-Of-State 모듈의 조합을 사용하고 응답 트래픽에서 볼 수 있는 평문 패턴을 드롭해주는 스노트(snort)와 같은 서명 도구를 사용하는 방법이 있을 것입니다. 방화벽 ACL을 사용하여 알려진 잘못된 패턴을 차단할 수도 있습니다. 예를 들어 다음과 같은 규칙이 있습니다.

deny tcp any eq 80 host x.x.x.x match-all +syn -ack packet-length gt 100

이 규칙은 패킷 길이가 100보다 길고 포트 80에서 들어오는 SYN 패킷을 삭제합니다.

결론

새로운 공격 벡터가 발견되면 공격자가 이를 활용하기 시작할 가능성은 항상 반반입니다. 미들박스 공격은 우리가 처음 예상했던 것보다 훨씬 더 오랫동안 이론으로만 남아 있었고, 실제로 활용되는 것을 보기까지는 몇 개월이 걸렸습니다. 

TCP 미들박스 반사가 실제 네트워크를 상대로 테스트되고 검증된 이상, 공격자들은 계속해서 이 기법을 선택할 것입니다. 그리고 공격자들은 공격의 성능과 전체적인 영향력을 개선하고 확장하려고 시도할 것입니다. 

Akamai 보안 인텔리전스 대응팀의 목표는 새로운 공격 패턴을 추적하고 발견하고 문서화하고 공개하여 인터넷 전체의 보안과 안정성을 보호하는 것입니다. 우리는 이러한 공격에 대해 지속적으로 모니터링하고 그에 따라 이 블로그를 업데이트할 예정입니다. 

참조



Akamai Wave Blue

에 의해 작성

Security Intelligence Response Team

March 01, 2022