Memcached 증폭 공격: UDP 프로토콜의 취약점 악용

EdgeOneDev-Dev Team
10 분 읽기
May 29, 2025
Memcached Amplification Attacks, Vulnerabilities in UDP Protocols, SecurityTutorial

이  분산 서비스 거부(DDoS) 공격은 피해자의 서버 네트워크를 과도한 트래픽으로 압도하여 서비스가 중단되도록 강요합니다. 공격자는 취약한 UDP Memcached 서버를 악용하여 기만적인 요청을 보내고, 이로 인해 해당 서버가 타겟 피해자에게 요청 트래픽을 홍수처럼 쏟아붓게 만듭니다. 피해자의 자원은 급격한 증가를 경험하게 되어, 타겟 서버는 과부하 상태가 되어 새로운 요청을 처리할 수 없게 됩니다. 정상적인 트래픽은 서비스에 도달할 수 없으며, 이는 서비스 거부 상황을 초래합니다.

Distributed Denial of Service (DDoS) attack diagram, attacker forges HTTP GET requests to compromised Memcached servers

Memcached란 무엇인가요?

Memcached는 메모리 및 데이터베이스 캐싱 기능을 분산하는 고성능 오픈 소스 시스템으로 작동합니다. 동적 웹사이트와 웹 애플리케이션은 키-값 쌍을 활용하여 일반적으로 접근되는 데이터를 인메모리 캐싱하여 성능을 향상시킵니다. Facebook, Twitter, YouTube 등 주요 기업들이 Memcached를 적극적으로 사용하고 있습니다.Memcached의 기본 UDP 지원은 공격자들이 공격을 수행하기 위한 인기 있는 선택이 되도록 만듭니다.

Memcached 공격은 어떻게 작동하나요?

웹사이트 속도를 극대화하는 도구인 Memcached는 무서운 어두운 면모를 숨기고 있습니다. 해커가 표적이 되었을 때, 이 인메모리 캐싱 놀이는 "디지털 포탄"으로 변모합니다 - 특별히 제작된 HTTP 요청을 사용하여, 취약한 Memcached 서버를 장악하여 속도를 높여야 하는 데이터 채널을 그들의 목표에 대한 폭풍 같은 "데이터 쓰나미"로 전환합니다.
공격은 정밀하게 설계된 덫처럼 전개됩니다:
신원 위조: 해커는 요청의 출처 주소를 위조하여 Memcached가 데이터를 피해자에게 보내야 한다고 믿게 만듭니다.
연쇄 반응 유발: 서버의 취약점을 악용하여 단순한 "GET" 요청을 무려 51,000배 증폭시킵니다.
데이터 쓰나미 생성: 몇 킬로바이트의 명령이 갑자기 기가바이트의 UDP 패킷으로 커집니다.
마치 누군가가 정원 호스에 불을 붙여서 50,000배의 정상 트래픽이 발생하는 것과 같습니다. 이러한 공격은 서버를 마비시키는 것뿐만 아니라 실제 공격 경로를 교묘하게 감추어 방어자들을 가짜 요청의 바다에 빠뜨립니다.

Memcached 증폭 공격은 마치 누군가 카페의 웨이터에게 '메뉴의 모든 것을 원해요. 다시 전화해 주세요, 전체 주문을 알려주세요.'라고 말하는 것과 같습니다. 웨이터가 회신 번호를 묻자, 그 사람은 타겟 피해자의 전화번호를 대신 줍니다. 그러면 타겟 피해자는 레스토랑에서 전화를 받아 보지 않은 정보의 대량 유입을 받게 됩니다.

특정 공격 과정

  1. 공격자는 인터넷을 스캔하여 취약한 Memcached 서버를 찾습니다. 종종 그들의 악성 프로그램은 타겟 프로그램과 동일한 물리적 머신에서 실행되며, 일반적으로 멀티 테넌트 환경에 배포됩니다;
  2. 그 다음, 공격자는 타겟 피해자의 IP 주소를 사용하여 HTTP GET 요청을 위조하여 서버가 대량의 UDP Memcached 공격 페이로드 데이터를 반환하도록 요구합니다. 이 요청은 출처 IP 주소를 스푸핑하여 피해자의 IP 주소에서 오는 것처럼 보이도록 합니다.
  3. 취약한 Memcached 서버는 요청을 받고 이에 대한 응답으로 대량의 데이터를 피해자의 IP 주소로 보냅니다.
  4. 피해자의 데이터 센터 서버는 대량의 요청에 응답하면서 압도당하게 되어 서비스 과부하와 정상 요청에 대한 응답 불가능 상태가 발생합니다.


왜 Memcached DDoS 공격이 이렇게 효과적인가요?

Memcache DRDoS는 2017년 6월 360 정보 보안 부서의 0kee 팀에 의해 처음 발견되어, 2017년 11월에 열린 PoC 2017 컨퍼런스에서 공개 보고되었습니다. 컨퍼런스 보고서에서는 이 공격의 원리와 잠재적 피해를 상세히 설명했습니다. 이 문서에서 저자들은 이 공격의 특성을 언급했습니다:

  • Memcache는 최소 50,000 이상의 매우 높은 증폭 계수를 가지고 있습니다;
  • 2017년 11월 기준으로 약 60,000개의 Memcached 서버(반사 지점으로서)가 존재하며, 이들 서버는 종종 높은 대역폭 자원을 가지고 있습니다.

US-CERT 보안 권고, 이 기사 또한 UDP 기반 증폭 공격의 원리와 잠재적 피해를 소개합니다.

연구 보고서를 바탕으로 다음과 같은 결론을 도출할 수 있습니다:
이 공격 방법은 대규모 DDoS 공격을 시작하는 데 악용될 수 있으며, 일부 소규모 공격 팀도 이전에는 가지지 못했던 대량 트래픽 공격 능력을 얻을 수 있습니다. 문서 내용을 바탕으로 Memcached DDoS 공격이 효과적인 이유는 공격 페이로드 트래픽을 최대 50,000배까지 증폭할 수 있기 때문입니다. 즉, 작은 요청이 피해자의 서버나 데이터 센터로 대량의 트래픽을 보내게 됩니다. 또한 Memcached 서버는 종종 고속 네트워크에 연결되어 있어 트래픽이 매우 빠르게 전송되므로 방어하기 더 어려워집니다. 또 다른 일반적인 이유는 공격자가 DDoS 공격을 수행하기 위해 자신의 인프라를 유지할 필요가 없기 때문입니다. 공격자는 IP 스푸핑, UDP 포트 공격 및 기타 엔드포인트 공격을 위해 오픈 인터넷 리소스를 사용할 수 있습니다.

주요 국제 공격 사건

DDoS 공격자와 방어자는 항상 실시간으로 대결하고 있습니다. 공격자는 종종 국가, 정부, 기업 및 인터넷 생태계에 막대한 피해를 주는 충격적인 사건을 일으킵니다. 아래에 몇 가지 실제 사례를 나열합니다:

GitHub, 1.35 Tbps 공격 피해

GitHub는 2018년 2월 28일 역사상 가장 큰 분산 서비스 거부 공격을 받았으며, 이때 트래픽은 최고 1.35 Tbps에 달했습니다.이 중단으로 인해 GitHub에서 서비스가 중단되었고, 사용자에게 높은 지연 시간이 발생하다가 사이트가 완전히 접근할 수 없게 되었습니다. 공격자는 Memcached 반사 증폭 공격을 실행하여 거의 50,000배의 증폭 계수를 초래했습니다. GitHub의 IP 주소를 위조하여 공격자는 노출된 Memcached 서버를 대상으로 통계 요청을 하였고, 이로 인해 서버가 GitHub로 응답 데이터를 보내게 되었습니다. 응답 데이터가 대량으로 증가하면서 서버가 과부하 상태가 되어 네트워크 혼잡이 발생했습니다. GitHub은 이 시점에서 Akamai의 CDN 서비스를 이용하고, 트래픽 스크러빙 센터를 활용하여 악성 패킷을 제거했습니다. 공격은 Akamai 통합 후 8분 만에 중단되었습니다.

 미국 서비스 제공업체, 1.7 Tbps 공격 피해

GitHub 공격 며칠 후, 한 미국 서비스 제공업체는 1.7 Tbps에 달하는 피크 트래픽 Memcached 반사 공격을 보고했습니다. 공격자는 약 20,000개의 노출된 Memcached 서버를 사용하여 IP 주소를 위조하여 트래픽 플러드를 시작했습니다. 주로 대상이 된 플랫폼은 Google, Amazon, Pornhub와 같은 잘 알려진 플랫폼과 Rockstar Games, Minecraft와 같은 게임 웹사이트 및 금융 기관 등이 포함되었습니다. 서비스 제공업체는 즉시 60,000개 이상의 노출된 Memcached 서버에 대한 수리 작업을 시작하고, Memcached UDP 트래픽을 차단 목록 필터링을 통해 제한했습니다.

뉴질랜드 증권 거래소에 대한 지속적인 공격

2020년 8월 마지막 주 동안 뉴질랜드 증권 거래소는 철저하게 계획된 사이버 공격의 희생양이 되었습니다. 해커들은 Memcached 반사 공격을 사용하여 끊임없는 5일간의 폭격을 퍼부었습니다. 이 공격은 사이버 범죄자 무기고의 "헤비 아르틸러리"로서 거래소에 트래픽 쓰나미를 쏟아부었습니다. 하루 평균 6시간에 걸친 서비스 중단으로 인해 주식 및 채권 거래가 마비되었고, 투자자들은 "연결 실패" 알림이 표시된 화면에 갇혀 있었습니다.
이 공격은 금전적 손실 이상의 영향을 미쳤습니다. 금융 인프라 내에서 취약점 폭탄이 detonated되었습니다. 투자자들이 자신의 계좌 데이터가 정체되고 시장 가격이 6시간 동안 정지된 채로 있는 것을 지켜보면서 개별적인 우려는 집단적인 공황으로 확대되었습니다. 거래소의 기술팀은 긴박한 시간 싸움에 돌입하여 뉴질랜드 정부 통신 보안국(GCSB) 및 ISP와 협력하여 방어 체계를 구축했습니다: 전용 고방어 IP를 통해 디지털 방벽을 세우고, 악성 데이터 토네이도를 무력화하기 위한 트래픽 스크러빙 시스템을 활성화했습니다. 그들의 끊임없는 노력 덕분에 거래 시스템이 결국 회복되었습니다.
비록 랜섬웨어 그룹의 정체는 부분적으로 모호하지만, 공격의 전례 없는 지속 기간은 역사적인 규모의 사이버 폭풍을 시사합니다. 이 사건은 경고의 종소리를 울립니다: 암호화폐와 전자 거래가 지배하는 시대에서 모든 사이버 공격은 재정적 쓰나미를 촉발할 잠재력을 가지고 있습니다. 투자자의 디지털 자산을 보호하려면 전체 산업이 더 스마트하고 적응 가능한 방어 아키텍처를 구축해야 합니다.

Memcached 공격으로부터 보호하는 방법

  • 플러그 뽑기: UDP 프로토콜 비활성화: 이 메모리 캐싱 도구의 기본 UDP 프로토콜은 신원 확인이 없는 공항 보안 검색대와 같습니다 — 누구나 신원을 위조하고 통과할 수 있습니다. 해커는 UDP 프로토콜을 악용하여 요청을 보낼 때 피해자로 가장합니다. 필요하지 않을 경우 UDP를 완전히 비활성화하는 것이 좋습니다. 이는 서버에 인증된 TCP 프로토콜만 통과할 수 있는 보안 문을 설치하는 것과 같습니다.
  • 전자 경비원 설정: 스마트 방화벽 배포: 방화벽은 24시간 경비원처럼 작용하여 블랙리스트 IP로부터의 악성 트래픽을 정확하게 식별하고 차단합니다. 서버 진입점에 고방어 방화벽을 배포하여 실시간으로 공격 소스에서의 연결 요청을 모니터링하고 차단하는 것이 좋습니다. 이렇게 하면 해커가 서버의 문에 접근하는 것이 불가능해집니다.
  • 시스템 예방 접종: 소프트웨어 업데이트 유지: 취약점은 구형 소프트웨어를 통해 퍼지는 독감 바이러스와 같습니다. Memcached 팀은 알려진 취약점을 수정하기 위해 정기적으로 보안 패치를 출시하며, 최신 버전으로 신속하게 업데이트하는 것이 좋습니다. 이는 서버를 예방 접종하여 새로운 유형의 공격에 대한 면역력을 부여하는 것과 같습니다.
  • 탄약 공급 차단: 응답 데이터 볼륨 제한: 해커의 증폭 공격은 본질적으로 최소한의 요청으로 대량의 응답을 유도하는 것입니다. 각 UDP 요청의 응답 데이터를 원래 요청 크기로 제한하는 코드 최적화를 통해 제어하는 것이 좋습니다. 이는 대포를 물총으로 대체하여 공격자의 '데이터 탄약 창고'를 완전히 무력화하는 것과 같습니다.

Edgeone 는 우리의 네트워크 엣지에서 UDP 트래픽을 필터링하여 이러한 증폭 공격의 위험을 제거합니다. Edgeone의 보호 시나리오는 게임, 인터넷, 금융, 정부 및 기업 등 다양한 분야를 다루며, 모든 연결된 서비스에 대해 L3/L4 트래픽 기반 DDoS 공격 보호를 제공하고 활성화합니다. 네트워크 트래픽을 실시간으로 모니터링하며, DDoS 공격 탐지 시 즉각적으로 트래픽 스크러빙 및 필터링을 수행합니다. DDoS 보호 기능은 공격 프로파일, 행동 패턴 분석 및 AI 기반 지능적 인식을 기반으로 하는 방어 알고리즘을 활용하여 다양한 유형의 DDoS 공격을 식별하고 필터링할 수 있는 사전 설정된 보호 전략을 제공합니다. 또한 EdgeOne은 EdgeOne에 연결된 모든 서비스에 대해 기본적인 DDoS 보호 기능 및 리소스를 제공하여 대부분의 사이트 서비스 및 TCP/UDP 애플리케이션의 일상적인 사용에 충분한 기본 보호를 제공합니다. 이를 바탕으로 상당한 DDoS 공격의 위험이 예상되는 기업이나 지속적인 연결을 유지해야 하거나 맞춤형 트래픽 제어 전략이 필요한 기업에게 EdgeOne은 전용 DDoS 보호를 제공합니다. 관심이 있으시면 Edgeone의 고급 DDoS 보호를 탐색해 보시기 바랍니다.

DDoS 위협에 대한 차세대 방패, EdgeOne 무료 체험판을 사용하세요!

무료로 시작하기

Memcached DDoS 공격 FAQ

Q1: Memcached 반사 공격을 어떻게 감지할 수 있나요?

A1: 

트래픽 모니터링 도구(예: NetFlow, SIEM)를 사용하여 비정상적인 UDP 11211 포트 트래픽을 감지할 수 있으며, 특히 요청과 응답 패킷의 크기에 상당한 차이가 있을 때(응답 패킷이 요청 패킷보다 훨씬 큼) 감지할 수 있습니다.

Q2: 공격의 출처를 추적하기 어려운 이유는 무엇인가요?

A2: 

공격자는 타겟 IP를 위조하며, Memcached 서버는 전 세계에 분산되어 있어 트래픽 출처가 분산됩니다. 또한 공격은 종종 다른 반사 기술(NTP 등)과 결합되어 추적의 어려움을 증가시킵니다.

Q3: 기업이 대규모 공격(예: Tbps 수준)에 어떻게 대응할 수 있나요?

A3:

  • 계층 방어: CDN 및 DDoS 고방어 서비스를 배포하여 백본 네트워크와 IDC 입구에서 트래픽을 정화합니다.
  • 프로토콜 제한: Memcached UDP 프로토콜을 비활성화하고 TCP만 유지하며 SASL 인증을 활성화합니다.
  • 중복 아키텍처: 다중 회선 BGP 액세스를 사용하여 단일 실패 지점을 피합니다.

Q4: 공격 완화를 위한 오픈 소스 도구가 있나요?

A4:

  • Mem-Fixed: 공격 서버에서 Memcached 서비스를 종료하기 위해 특정 명령을 보내는 Corero에서 개발한 도구입니다.
  • Shodan 스캔: 노출된 Memcached 서버를 발견하여 시기적절하게 강화하거나 차단하는 데 사용됩니다.

Q5: 공격에 랜섬 요구가 포함되나요?

A5: 

일부 공격은 Monero와 같은 암호 화폐로 지불을 요구하는 랜섬 이메일과 함께 진행됩니다. 예를 들어, GitHub 공격에서는 공격자들이 랜섬웨어를 심어서 이익을 얻으려고 했습니다.

Q6: Memcached 공격의 미래 경향은 무엇인가요?

A6: 

노출된 서버 수가 줄어들면서 공격은 더 은밀한 프로토콜(QUIC 등)로 이동하거나 AI 기술과 결합하여 공격 경로를 최적화할 수 있습니다. 따라서 기업은 정기적으로 보호 전략을 업데이트하고 0day 취약점 모니터링을 강화하는 것이 좋습니다.

Q7: 개인 사용자는 Memcached 공격에 대비해야 하나요?

A7: 

개인 사용자는 일반적으로 직접적인 타겟은 아니지만, 라우터와 스마트 홈 기기가 Memcached 서비스를 노출하고 있는지 주의해야 합니다. 장치에서 공개 인터넷 액세스를 비활성화하고 정기적으로 펌웨어를 업데이트하는 것이 좋습니다.