멤캐시드 DDos 공격

멤캐시드는 웹 사이트의 속도를 높일 수 있지만, 멤캐시드 서버를 악용하여 DDoS 공격을 수행할 수도 있습니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 멤캐시드 DDoS 공격의 정의
  • 멤캐시드의 작동 방식 설명
  • 멤캐시드 공격 완화 방법 핵심 요약

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

멤캐시드 DDoS 공격이란?

멤캐시드 분산 서비스 거부(DDoS) 공격은 공격자가 인터넷 트래픽으로 대상 피해자에게 과부하를 가하려고 시도하는 사이버 공격의 한 유형입니다.공격자는 취약한 UDP 멤캐시드* 서버로 요청을 스푸핑한 다음 대상 피해자에게 인터넷 트래픽이 폭주하게 하여 피해자의 리소스를 압도할 수 있습니다.대상의 인터넷 인프라가 과부하되는 동안에는 새 요청을 처리할 수 없고 일반 트래픽이 인터넷 리소스에 액세스할 수 없어 서비스 거부가 발생합니다.

*멤캐시드는 웹 사이트 및 네트워크 속도를 높이기 위한 데이터베이스 캐싱 시스템입니다.

Cloudflare 멤캐시드 트래픽 지도

다음은 Cloudflare의 전역 네트워크에 있는 데이터 센터와 해당 데이터센터에서 최근 공격 중에 수신한 멤캐시드 공격 트래픽의 상대적인 양입니다.

멤캐시드 공격은 어떻게 작동할까요?

멤캐시드 공격은 NTP 증폭DNS 증폭과 같은 모든 DDoS 증폭 공격과 유사하게 작동합니다.이 공격은 스푸핑된 요청을 취약한 서버로 보낸 다음 해당 서버에서 최초 요청보다 더 많은 양의 데이터로 응답하여 트래픽 양을 확대하는 방식으로 작동합니다.

멤캐시드 증폭은 레스토랑에 전화해 "거기 있는 메뉴를 모두 1인분씩 주문할 테니 내게 전화해서 내가 주문한 걸 다 말해주세요"라고 말하는 악동을 생각하면 됩니다. 식당에서 어디로 전화하면 되느냐고 물을 때 공격 대상인 피해자의 전화번호를 알려주는 것입니다. 그러면 공격 대상인 피해자는 식당으로부터 본인이 요청하지도 않은 엄청난 양의 정보를 받게 됩니다.

이 증폭 공격 방법은 멤캐시드 서버가 UDP 프로토콜을 사용하여 작동하는 옵션을 가지고 있으므로 가능합니다. UDP는 양측이 통신에 동의하는 네트워크 프로세스인 핸드셰이크라고 알려진 것을 먼저 가져오지 않고도 데이터를 보낼 수 있는 네트워크 프로토콜입니다. UDP가 활용되는 이유는 대상 호스트에서 데이터를 수신할 의향이 있는지 여부에 대해 전혀 협의되지 않으므로 사전 동의 없이 대량의 데이터를 대상으로 보낼 수 있기 때문입니다.

멤캐시드 공격은 4단계에 걸쳐 이루어집니다.

  1. 공격자는 노출된 멤캐시드 서버에 대량의 데이터 페이로드*를 이식합니다.
  2. 공격자는 그런 다음 대상 피해자의 IP 주소HTTP GET 요청을 스푸핑합니다.
  3. 요청을 수신하는 취약한 멤캐시드 서버에서는 응답하여 도움을 주려고 하며 대상에 대량의 응답을 보냅니다.
  4. 대상 서버 또는 주변 인프라에서 멤캐시드 서버에서 전송되는 대량의 데이터를 처리할 수 없으므로 합법적인 요청에 대한 과부하와 서비스 거부가 발생합니다.
Memcached

이것이 바로 완화 중인 Cloudflare의 네트워크에 대한 초당 260GB의 멤캐시드 공격입니다

멤캐시드 증폭 공격은 어느 정도로 큰 규모일 수 있을까요?

이러한 유형의 공격의 배율은 정말 놀랍습니다. 실제로 우리는 최대 51,200배의 증폭 배율을 목격했습니다! 이 배율은 15바이트 요청의 경우 750kB 응답을 보낼 수 있음을 의미합니다. 이는 이러한 공격 트래픽 볼륨의 무게를 감당할 수 없는 웹 자산에 대한 엄청난 증폭 배율과 보안 위험을 나타냅니다. 취약한 서버와 결합되어 이처럼 큰 증폭 배율을 보이는 멤캐시드는 다양한 대상에 대해 DDoS를 시작하려는 공격자의 경우에 주요 사용 사례가 됩니다.

멤캐시드 공격을 어떻게 완화할 수 있을까요?

  1. UDP 사용 안 함 - 멤캐시드 서버의 경우 필요하지 않으면 UDP 지원을 사용하지 않도록 설정해야 합니다.기본적으로 멤캐시드에는 UDP 지원이 활성화되어 있으므로 서버가 취약해질 가능성이 있습니다.
  2. 방화벽 멤캐시드 서버 - 인터넷에서 멤캐시드 서버를 방화벽으로 보호함으로써 시스템 관리자는 필요한 경우 노출없이 멤캐시드에 UDP를 사용할 수 있습니다.
  3. IP 스푸핑 방지 - IP 주소를 스푸핑할 수 있는 한 DDoS 공격은 취약점을 이용하여 트래픽을 피해자의 네트워크로 보낼 수 있습니다.IP 스푸핑 방지는 어떠한 특정 시스템 관리자도 구현할 수 없는 더 큰 솔루션이며, 전송 공급자는 네트워크 외부에서 시작된 소스 IP 주소가 있는 패킷이 네트워크에서 나가는 것을 허용하지 않아야 합니다.즉, 인터넷 서비스 공급자(ISP)와 같은 회사에서는 네트워크에서 나가는 패킷이 다른 네트워크에서 온 것처럼 가장할 수 없도록 트래픽을 필터링해야 합니다.모든 주요 전송 공급자가 이러한 유형의 필터링을 구현하면 스푸핑 기반 공격은 하룻밤 사이에 사라질 것입니다.
  4. UDP 응답이 감소된 소프트웨어 개발 - 증폭 공격을 제거하는 또 다른 방법은 들어오는 요청에 대한 증폭 배율을 제거하는 것입니다. UDP 요청의 결과로 전송된 응답 데이터가 최초 요청보다 작거나 같으면 증폭은 더 이상 가능하지 않습니다.

Cloudflare에서는 네트워크 에지에서 UDP 트래픽을 필터링하여 이와 같은 증폭 공격으로 인한 위험을 제거합니다. Cloudflare의 고급 DDoS 보호 기능을 살펴보세요.

Cloudflare에서 발생하는 멤캐시드 공격 대처와 완화를 위한 특정 명령 및 프로세스에 대해 자세히 알아보려면 블로그 게시물 멤크래시드 - UDP 포트 11211의 주요 증폭 공격을 참조하세요.