NTP 서버를 이용한 DDOS

NTP 서버를 이용한 DDOS

새로운 종류의 DDOS에 대해 들었습니다.ntp는 반사에 사용됩니다..

내 질문은 정말 간단합니다.

  1. 어떻게 작동하는지 자세히 설명해 주시겠습니까? ntp는 UDP를 통해 실행되므로 어딘가에 위조된 패킷이 있을 것 같습니다.

  2. 일부 NTP 서버가 취약한지(공격에 연루될 수 없는지) 철저히 확인하는 것이 어떻게 가능합니까?

  3. 그러한 공격의 대상이 된다면 완화할 수 있는 방법이 있습니까?


이러한 종류의 공격은 2014년에 널리 사용되었으므로 다음은 몇 가지 자세한 내용입니다.

  • 이에 대한 자세한 정보를 찾을 수 있습니다.CVE.
  • "2014년 1월 30일 어제 저녁 22시 15분(CET)부터 파리의 Witbe 네트워크는 NTP 증폭을 사용한 분산 서비스 거부(DDOS) 공격으로 인해 심각한 영향을 받았습니다."
  • 아야, 350Gpbs, 아프다http://www.itnews.com.au/News/372033,worlds-largest-ddos-strikes-us-europe.aspx
  • DDoS에 대한 일반적인 동작은 여기에서 확인할 수 있습니다.나는 DDoS 공격을 받고 있습니다. 어떡해?
  • BBC는 NTP 공격에 대해 다음과 같이 말합니다.http://www.bbc.com/news/technology-26662051
  • 질문 하나 더: 올바르게 기록하면 openntpd는 기본적으로 127.0.0.1에서 수신하고 ntpd는 0.0.0.0에서 수신합니다. - 리플렉션 ddo와 관련된 모든 ntp 서버가 공개적으로 시간을 제공해야 하는지 잘 모르겠습니다. - 단지, 제 생각에는 일부 숙련되지 않은 시스템 관리자는 로컬에서 시간을 동기화하기 위해 ntp를 설치하고 기본 구성 파일을 그대로 두었습니다.

이런 종류의 문제를 예방하고 완화하는 간단한 방법은 기본적으로 127.0.0.1에서 수신 대기하는 것입니다. 이것은 모든 서비스(bind9, mysql, ...)에 해당되는 것 같은데요?

답변1

이러한 공격은 오랫동안 존재해 왔으며 최근 몇 달 동안 다시 인기를 끌었습니다. 이는 일반적인 증폭 공격처럼 작동합니다. 호스트는 소스 IP 주소가 대상 호스트인 것처럼 보이도록 쿼리를 스푸핑합니다. NTP 서버는 스푸핑된 주소로 응답을 보냅니다. 특정 쿼리 유형에 대한 응답은 상당히 클 수 있고 일반적으로 UDP이므로 이는 대상 호스트에 매우 빠르게 문제가 될 수 있습니다. 즉, NTP 패킷으로 가득 차 있습니다.

불행하게도 이는 NTP 서버의 취약점이 아니며 단지 남용되고 있는 기능일 뿐입니다. 고려해야 할 한 가지는 전체 인터넷에서 쿼리할 수 있는 NTP 서버를 실행해야 하는 경우입니다. 필요하지 않은 경우 액세스 목록이나 방화벽 정책을 만들어 신뢰할 수 없는 소스에서 들어오는 쿼리를 차단하세요. 그런 다음 NTP 서버가 취약한지 확인하기 위해 할 수 있는 일은 신뢰할 수 없는 소스에서 NTP 쿼리를 수행하고 응답을 받는지 확인하는 것입니다. 그러나 불행하게도 의도적으로 공개된 NTP 서버가 상당히 많습니다(예: 의 모든 서버 pool.ntp.org). 공용 NTP 서버를 실행해야 하는 경우 남용 시 대상 호스트에 미치는 영향을 줄이기 위해 쿼리 속도 제한 구현을 고려할 수 있습니다.

솔루션의 또 다른 보다 일반적인 부분은 네트워크가 다음을 구현해야 한다는 것입니다.BCP38, 이는 네트워크에서 나가는 트래픽을 필터링하여 스푸핑된 패킷을 보내는 것이 불가능하도록 지시합니다. 불행하게도 이러한 종류의 필터링을 구현하지 않는 네트워크가 여전히 많기 때문에 스푸핑된 소스 패킷(NTP, DNS 또는 유료와 같은 프로토콜 사용)을 사용한 모든 공격은 여전히 ​​가능합니다.

이러한 공격을 완화하기 위해 수행할 수 있는 작업은 사용 가능한 네트워크 및 도구에 따라 다르지만 고려해야 할 한 가지는 신뢰할 수 없는 소스에서 들어오는 NTP 패킷을 차단하는 것입니다(따라서 사용 중인 NTP 서버를 확인하세요). 물론 업링크가 혼잡한 경우에는 도움이 되지 않습니다. 이 경우 ISP에 트래픽 필터링에 대한 도움을 요청해야 합니다.

답변2

내 답변:

  1. 공격은 monlist 명령(tcpdump에 예약된 ntpv2로 표시됨)을 사용합니다. 이러한 명령은 일반 속도 제한에 따라 속도가 제한되지 않습니다. Monlist(및 기타 모니터링 명령)는 서버에 '쿼리'가 허용된 IP에서만 작동하므로 기본값에 'noquery'를 추가하세요.
  2. 외부 IP에서 ntpdc -nc monlist yourip를 시도하여 서버가 응답하는지 확인하세요.
  3. 들어오는 ntp 트래픽의 속도를 제한하세요. ntpd 자체가 아니라 데몬에 도달하기 전입니다. 리눅스에서 이것을 설정하는 방법은 다음에서 논의됩니다.NTP 풀 메일링 리스트의 "내 속도 제한 설정"

답변3

  1. 어떻게 작동하는지 자세히 설명해 주시겠습니까? ntp는 UDP를 통해 실행되므로 어딘가에 위조된 패킷이 있을 것 같습니다.

US-CERT에는 이 공격에 대한 훌륭한 설명이 있습니다.경보(TA14-017A) UDP 기반 증폭 공격" 그리고 "경고(TA14-013A) CVE-2013-5211을 사용한 NTP 증폭 공격".

TA14-013A가 가장 잘 말합니다:

설명

UDP는 설계상 소스 IP 주소의 유효성을 검사하지 않는 연결 없는 프로토콜입니다. 애플리케이션 계층 프로토콜이 세션 시작과 같은 대응책을 사용하지 않는 한, 임의의 소스 IP 주소를 포함하도록 IP 패킷 데이터그램을 위조하는 것은 매우 쉽습니다[7]. 많은 UDP 패킷의 소스 IP 주소가 단일 주소로 위조되면 서버는 해당 피해자에 응답하여 반사된 서비스 거부(DoS) 공격을 생성합니다.

최근 특정 UDP 프로토콜은 초기 요청보다 훨씬 큰 특정 명령에 대한 특정 응답을 갖는 것으로 밝혀졌습니다. 이전에는 공격자가 DoS 공격을 수행하기 위해 대상으로 직접 전송되는 패킷 수에 따라 선형적으로 제한되었지만 이제는 단일 패킷이 응답 시 수십 배 또는 수백 배의 대역폭을 생성할 수 있습니다. 이를 증폭 공격이라고 하며, 반사형 DoS 공격과 대규모로 결합하면 DDoS 공격을 비교적 쉽게 수행할 수 있습니다.

"BAF(대역폭 증폭 계수)"에 관한 포함된 차트는 NTP가 최악의 동작을 나타내는 것을 보여줍니다. NTP는 매우 일반적인 프로토콜이고 많은 Linux OS가 활성 NTP 서버와 함께 제공되므로 이 문제는 특히 심각합니다.

관련 정보