NTP 서버 오용 및 남용
NTP server misuse and abuseNTP 서버 오용 및 오용은 NTP(Network Time Protocol) 서버에 트래픽이 넘쳐흐르거나 서버의 액세스 정책 또는 NTP 참여 규칙을 위반하는 등 손상 또는 저하를 초래하는 여러 가지 관행을 포함한다.한 사건은 2006년 Poul-Henning Kamp가 라우터 제조업체 D-Link에 보낸 공개 서한에서 NTP 파괴 행위라는 낙인이 찍혔다.[1]이 용어는 나중에 다른 사건들을 소급해서 포함시키기 위해 다른 사람들에 의해 연장되었다.그러나 이러한 문제들 중 어떤 것도 고의적인 공공 기물 파손이라는 증거는 없다.그것들은 대개 근시안적이거나 잘 선택되지 않은 기본 구성에 의해 발생한다.
의도적인 형태의 NTP 서버 남용은 NTP 서버가 증폭 서비스 거부 공격의 일부로 사용되었던 2013년 말에 나타났다.일부 NTP 서버는 최대 600개의 연결을 설명하는 패킷으로 단일 "monlist" UDP 요청 패킷에 응답한다.스푸핑된 IP 주소와 함께 요청을 사용함으로써 공격자는 증폭된 패킷 스트림을 네트워크에서 지시할 수 있다.이로 인해 당시 알려진 가장 큰 분산 서비스 거부 공격 중 하나가 발생했다.[2]
일반적인 NTP 클라이언트 문제
가장 골치 아픈 문제는 소비자 네트워킹 장치의 펌웨어에서 하드 코딩된 NTP 서버 주소와 관련이 있다.주요 제조업체와 OEM 업체들은 NTP와 결합된 수십만 개의 장치를 고객들과 결합하여 생산해 왔기 때문에, NTP 쿼리 스톰 문제는 장치가 작동 중인 한 계속 지속될 것이다.
특히 일반적인 NTP 소프트웨어 오류 중 하나는 응답이 수신될 때까지 짧은(5초 미만) 간격으로 쿼리 패킷을 생성하는 것이다.
- 서버 응답을 차단하는 공격적인 방화벽 뒤에 배치될 경우, 이 구현은 차단된 NTP 서버에 대한 클라이언트 요청의 끝없는 스트림으로 이어진다.
- 이러한 과도한 클라이언트(특히 초당 1회 폴링)는 전체 클라이언트 중 극히 일부임에도 불구하고 공용 NTP 서버 트래픽의 50% 이상을 차지한다.
몇 개의 초기 패킷을 짧은 간격으로 보내는 것이 기술적으로 타당할 수 있지만, 서비스 거부를 방지하기 위해 클라이언트 연결 재시도가 로그적으로 또는 기하급수적으로 감소하는 속도로 생성되는 것은 네트워크의 상태에 필수적이다.
이것은 프로토콜 지수 또는 로그 백다운에서 모든 무연결 프로토콜에 적용되며, 확장자에 의해 연결 기반 프로토콜의 많은 부분에 적용된다.이 백다운 방식의 예는 연결 설정, 제로 윈도 프로빙 및 유지 전송을 위한 TCP 규격에서 찾을 수 있다.
주목할 만한 사례
타디스와 트리니티 대학교 더블린
2002년 10월, 타임서버 오용의 가장 초기 사례 중 하나가 더블린의 트리니티 칼리지의 웹 서버에 문제를 일으켰다.이 트래픽은 궁극적으로 전 세계의 수천 개의 복사본이 웹 서버에 접속하여 HTTP를 통해 타임스탬프를 얻는 등 타디스라는[3] 프로그램의 잘못된 복사본으로 추적되었다.궁극적으로, 해결책은 웹 서버 구성을 수정하여 홈 페이지의 사용자 정의된 버전(크기가 크게 감소됨)을 전달하고 가짜 시간 값을 반환하는 것이었는데, 이로 인해 대부분의 고객들이 다른 시간 서버를 선택하게 되었다.[4]이 문제를 해결하기 위해 타디스의 최신 버전이 나중에 출시되었다.[citation needed]
넷기어와 위스콘신 매디슨 대학교
널리 알려진 NTP 서버 문제의 첫 번째 사례는 Netgear의 하드웨어 제품이 위스콘신-매디슨 대학의 NTP 서버에 요청으로 쇄도하면서 2003년 5월에 시작되었다.[5]대학 관계자들은 처음에 이것이 악의적인 분산 서비스 거부 공격이라고 가정하고 네트워크 국경에서의 홍수를 막기 위한 조치를 취했다.(대부분의 디도스 공격이 그렇듯이) 흐름을 누그러뜨리기는커녕 6월까지 초당 25만 패킷(초당 150메가비트)에 도달하는 등 흐름이 증가했다.후속 조사 결과 넷기어 라우터의 4가지 모델이 문제의 원인인 것으로 밝혀졌다.라우터의 SNTP(Simple NTP) 클라이언트에 두 가지 심각한 결함이 있는 것으로 확인되었다.첫째, 펌웨어에서 IP 주소가 하드 코딩된 단일 NTP 서버(위스콘신-매디슨 대학)에 의존한다.둘째, 응답을 수신할 때까지 1초 간격으로 서버를 폴링한다.총 70만7,147개의 불량 클라이언트가 생산되었다.
Netgear는 Netgear 자체 서버를 조회하고 10분마다 한 번만 폴링하며 5번의 실패 후 포기하는 대상 제품(DG814, HR314, MR814, RP614)에 대한 펌웨어 업데이트를 출시했다.이 업데이트는 원래 SNTP 클라이언트의 결함을 수정하지만, 더 큰 문제를 해결하지는 않는다.대부분의 소비자는 라우터의 펌웨어를 업데이트하지 않을 것이며, 특히 기기가 제대로 작동하는 것처럼 보일 경우 더욱 그러하다.위스콘신 대학교-매디슨 NTP 서버는 Netgear 라우터로부터 높은 수준의 트래픽을 계속 수신하고 있으며, 때때로 초당 최대 10만 패킷의 홍수가 발생한다.[citation needed]넷기어는 위스콘신 대학교 매디슨 정보 기술 학부에 37만 5천 달러를 기부했다.[citation needed]
SMC 및 CSIRO
또한 2003년에는 또 다른 사례로 인해 호주연방과학산업연구기구(CSIRO) 국가측정연구소의 NTP 서버가 대중에게 접근하지 못하게 되었다.[6]트래픽은 CSIRO 서버의 IP 주소가 펌웨어에 내장되어 있는 일부 SMC 라우터 모델에서 잘못된 NTP 구현에서 오는 것으로 나타났다.SMC은 제품에 대한 펌웨어 업데이트를 발표했다: 7004VBR 및 7004VWBR 모델이 영향을 받는 것으로 알려져 있다.
D-Link 및 Poul-Henning Kamp
2005년에 일반 대중이 이용할 수 있는 유일한 덴마크 스트랫텀 1 NTP 서버의 관리자 Poul-Henning Kamp는 트래픽의 엄청난 증가를 관찰했고 75%에서 90% 사이가 D-Link의 라우터 제품에서 비롯되었다는 것을 발견했다.Stratum 1 NTP 서버는 GPS 수신기, 라디오 시계 또는 보정된 원자 시계와 같은 정확한 외부 소스에서 시간 신호를 수신한다.관례상, Stratum 1 타임 서버는 과학 애플리케이션이나 다수의 클라이언트가 있는 Stratum 2 서버와 같이 매우 정밀한 시간 측정이 필요한 애플리케이션에 의해서만 사용되어야 한다.[7]홈 네트워킹 라우터는 이러한 기준들 중 어느 것도 충족시키지 못한다.또한, 캄프의 서버 액세스 정책은 덴마크 인터넷 거래소(DIX)에 직접 연결된 서버로 명시적으로 제한했다.이것과 다른 Stratum 1 서버를 D-Link의 라우터에 의해 직접 사용함으로써 트래픽이 크게 증가하여 대역폭 비용과 서버 로드가 증가하였다.
많은 국가에서 공식적인 시간 기록 서비스는 정부 기관(미국 NIST 등)에 의해 제공된다.덴마크에 상응하는 것이 없기 때문에, 캄프는 그의 타임 서비스 "프로보노 퍼블리코"를 제공한다.그 대가로, DIX는 제한된 수의 서버와 잠재적 클라이언트를 고려할 때, 관련된 대역폭이 상대적으로 낮을 것이라는 가정 하에 그의 타임서버를 위한 무료 연결을 제공하기로 동의했다.D-Link 라우터로 인한 트래픽 증가로 DIX는 그에게 연간 54,000 DKK[citation needed](약 US$9,920 또는 €7,230[8][9])의 접속료를 지불할 것을 요청했다.
캄프는 2005년 11월 D-링크와 접촉해 D-링크 제품의 문제점과 대역폭 요금을 추적하는 데 사용한 시간과 돈을 그들에게 보상해 줄 것을 기대했다.회사측은 문제를 부인했고, 그를 강탈 혐의로 고발했으며, 캠프가 비용을 부담하지 않았다고 주장하는 보상금을 제시했다.2006년 4월 7일, 캄프는 자신의 웹사이트에 그 이야기를 올렸다.[10]그 이야기는 슬래시닷, 레드딧 그리고 다른 뉴스 사이트에 의해 픽업되었다.공개 후, Kamp는 D-Link 라우터가 다른 Stratum 1 타임서버를 직접 질의하고 있으며, 그 과정에서 적어도 43개의 접속 정책을 위반하고 있음을 깨달았다.2006년 4월 27일, D-Link와 Kamp는 그들의 분쟁을 "아름답게" 해결했다고 발표했다.[11]
IT 공급업체 및 swisstime.ethz.ch
ETH 취리히는 20년 이상 운영 시간 동기화를 위해 타임 서버 swisstime.ethz.ch에 개방적인 액세스를 제공해왔다.하루 평균 20GB를 초과하는 과도한 대역폭 사용으로 인해, 외부 사용을 ch.pool.ntp.org과 같은 공용 시간 서버 풀로 안내할 필요가 있게 되었다.주로 IT 제공자가 클라이언트 인프라를 동기화하는 데 기인하는 오용은 네트워크 트래픽에 대해 비정상적으로 높은 요구를 해 ETH가 효과적인 조치를 취하게 했다.2012년[update] 가을 현재, swisstime.ethz.ch의 이용 가능 여부는 폐쇄 접속으로 변경되었다.2013년[update] 7월 초부터 NTP 프로토콜에 대해 서버에 대한 액세스가 완전히 차단된다.
iOS에서 스냅챗
2016년 12월, 운영자 커뮤니티 NTPPool.org은 12월 13일부터 NTP 트래픽이 상당히 증가했음을 알아차렸다.[12]
조사 결과 iOS에서 실행 중인 스냅챗 애플리케이션은 제3자 iOS NTP 라이브러리에 하드코딩된 모든 NTP 서버를 쿼리하기 쉬웠으며, 스냅챗 소유 도메인에 대한 요청이 NTP 요청 홍수에 따르는 것으로 나타났다.[13]Snap Inc.에 연락한 후,[14] 개발자들은 애플리케이션 업데이트를 통해 알림을 받은 후 24시간 이내에 문제를 해결했다.[15]그들이 발생시킨 부하에 대처하는 것을 돕기 위해, Snap은 또한 호주와 남아메리카 NTP 풀에 타임서버를 기부했다.[16]
긍정적인 부작용으로서, 사용되는 NTP 라이브러리는 오픈 소스로서, NTP 커뮤니티로부터 피드백을 받아 오류 발생 가능성이 높은 기본 설정이 개선되었다[17].[18][19][full citation needed]
TP-Link Wi-Fi 확장기에서 연결 테스트
2016년과 2017년 TP-Link Wi-Fi 확장기용 펌웨어는 일본의 후쿠오카 대학, 호주와 뉴질랜드 NTP 서버 풀 등 NTP 서버 5대를 하드코딩했으며 기기당 월 0.72GB를 소비하는 NTP 요청 1개와 DNS 요청 5개를 5초마다 반복적으로 발행했다.[20]과도한 요청은 웹 관리 인터페이스에 장치의 연결 상태를 표시하는 인터넷 연결 확인의 전원을 켜는 데 악용되었다.[20]
이 문제는 TP-Link의 일본 지사로부터 인정받았으며, TP-Link는 이 회사에 연결 테스트 재설계와 해당 기기의 문제를 해결하는 펌웨어 업데이트 발행 등을 추진하였다.[21]TP-Link의 WiFi Extender는 펌웨어 업데이트를 자동으로 설치하지 않으며 펌웨어 업데이트 가용성에 대해서도 소유자에게 알리지 않으므로 영향을 받는 장치는 새 펌웨어를 설치하지 않을 가능성이 높다.[22]TP-Link 펌웨어 업데이트 가용성은 또한 국가마다 다르지만, 이 문제는 전세계적으로 판매되는 모든 WiFi 범위 확장기에 영향을 미친다.[20][22]
후쿠오카 대학의 서버는 2018년 2월에서 4월 사이에 종료된 것으로 보고되며, NTP 퍼블릭 타임 서버 목록에서 삭제되어야 한다.[23]
기술 솔루션
이러한 사건 이후, 서버의 액세스 정책을 명시하는 것 외에도, 정책을 시행하기 위한 기술적 수단이 필요하다는 것이 명백해졌다.그러한 메커니즘 중 하나는 Stratum 필드가 0일 때 NTP 패킷에 있는 참조 식별자 필드의 의미론을 확장함으로써 제공되었다.
2006년 1월에 RFC 4330이 발행되어 SNTP 프로토콜의 세부사항을 갱신하고 있지만, 일부 분야에서는 관련 NTP 프로토콜을 잠정적으로 구체화·확장하기도 하였다.RFC 4330의 섹션 8~11은 이 주제와 특히 관련이 있다(키스-오-죽음의 패킷, 좋은 네트워크 시민이 되기 위해, 모범 사례, 보안 고려사항).8절에서는 Kiss-o'-Death 패킷을 소개한다.
NTPv4와 SNTPv4에서는 이러한 종류의 패킷을 KoD(Kiss-o'-Death) 패킷이라고 하며, 이들이 전달하는 ASCII 메시지를 키스 코드라고 한다.KoD 패킷은 초기 용도는 클라이언트에게 서버 액세스 제어를 위반하는 패킷 전송을 중지하도록 지시했기 때문에 이름이 붙여졌다.

NTP 프로토콜의 새로운 요구사항은 소급적으로 작동하지 않으며, 이전 버전의 프로토콜의 클라이언트와 구현은 KoD를 인식하지 못하고 이에 따라 행동한다.당분간 NTP 서버의 오용을 막을 좋은 기술적 수단이 없다.
2015년에는 네트워크 시간 프로토콜에 대한 공격 가능성 때문에 NTP용 네트워크 시간 보안(인터넷 초안)[24] draft-ietf-ntp-using-nts-for-ntp-19
)[25]은 Transport Layer Security 구현을 사용하여 제안되었다.2019년 6월 21일, 클라우드플레어는 이전의 인터넷 드래프트를 기반으로 [26]전 세계에서 시범 서비스를 시작했다.[27]
참조
- ^ Kamp, Poul-Henning (2006-04-08). "Open Letter to D-Link about their NTP vandalism". FreeBSD. Archived from the original on 2006-04-08. Retrieved 2006-04-08.
- ^ Gallagher, Sean (2014-02-11). "Biggest DDoS ever aimed at Cloudflare's content delivery network". Ars Technica. Archived from the original on 2014-03-07. Retrieved 2014-03-08.
- ^ "Tardis 2000". Archived from the original on 2019-08-17. Retrieved 2019-06-13.
- ^ Malone, David (April 2006). "Unwanted HTTP: Who Has the Time?" (PDF). ;login:. USENIX Association. Archived (PDF) from the original on 2013-07-28. Retrieved 2012-07-24.
- ^ "Flawed Routers Flood University of Wisconsin Internet Time Server, Netgear Cooperating with University on a Resolution". University of Wisconsin–Madison. Archived from the original on 2006-04-10. Retrieved 2020-07-06.
- ^ "Network Devices Almost Take Down Atomic Clock". Taborcommunications.com. 2003-07-11. Archived from the original on 2013-02-04. Retrieved 2009-07-21.
- ^ Lester, Andy (2006-02-19). "Help save the endangered time servers". O'Reilly Net. Archived from the original on 2007-08-18. Retrieved 2007-08-07.
- ^ "Currency Converter - Google Finance". Archived from the original on 2017-03-31. Retrieved 2016-11-11.
- ^ "Currency Converter - Google Finance". Archived from the original on 2017-03-31. Retrieved 2016-11-11.
- ^ Kamp, Poul-Henning (2006-04-27). "Open Letter to D-Link about their NTP Vandalism: 2006-04-27 Update". FreeBSD. Archived from the original on 2006-04-27. Retrieved 2007-08-07.
- ^ Leyden, John (2006-05-11). "D-Link settles dispute with 'time geek'". The Register. Archived from the original on 2019-05-10. Retrieved 2020-05-26.
- ^ "Recent NTP pool traffic increase: 2016-12-20". NTP Pool. 2016-12-10. Archived from the original on 2016-12-21. Retrieved 2016-12-20.
- ^ "NANOG mailing list archive: Recent NTP pool traffic increase: 2016-12-19". NANOG/opendac from shaw.ca. 2016-12-19. Archived from the original on 2017-09-24. Retrieved 2016-12-20.
- ^ "NANOG mailing list archive: Recent NTP pool traffic increase: 2016-12-20 18:58:57". NANOG/Jad Boutros from Snap inc. 2016-12-20. Archived from the original on 2017-04-19. Retrieved 2017-04-19.
- ^ "NANOG mailing list archive: Recent NTP pool traffic increase: 2016-12-20 22:37:04". NANOG/Jad Boutros from Snap inc. 2016-12-20. Archived from the original on 2017-04-20. Retrieved 2017-04-20.
- ^ "NANOG mailing list archive: Recent NTP pool traffic increase: 2016-12-21 02:21:23". NANOG/Jad Boutros from Snap inc. 2016-12-21. Archived from the original on 2017-04-19. Retrieved 2017-04-19.
- ^ "iOS NTP library: advance to v1.1.4; git commit on github.com". GitHub. 2016-12-20. Archived from the original on 2020-07-05. Retrieved 2017-04-19.
- ^ "iOS NTP library: Issue #47: Hardcoded NTP Pool names; github.com". GitHub. 2016-12-19. Archived from the original on 2020-07-05. Retrieved 2017-04-19.
- ^ "NTP Pool Incident Log - Excessive load on NTP servers". NTP Pool. 2016-12-30. Archived from the original on 2017-04-19. Retrieved 2017-04-19.
- ^ a b c Aleksandersen, Daniel (2017-11-23). "TP-Link repeater firmware squanders 715 MB/month". Ctrl Blog. Archived from the original on 2017-12-20. Retrieved 2017-12-21.
- ^ "TP-Link製無線LAN中継器によるNTPサーバーへのアクセスに関して" (in Japanese). TP-Link. 2017-12-20. Archived from the original on 2017-12-20. Retrieved 2017-12-21.
- ^ a b Aleksandersen, Daniel (2017-11-20). "TP-Link serves outdated or no firmware at all on 30% of its European websites". Ctrl Blog. Archived from the original on 2017-12-22. Retrieved 2017-12-21.
- ^ "福岡大学における公開用NTPサービスの現状と課題" (PDF) (in Japanese). Fukuoka University. Archived (PDF) from the original on 2018-01-29. Retrieved 2018-01-29.
- ^ Malhotra, Aanchal; Cohen, Isaac E.; Brakke, Erik; Goldberg, Sharon (2015-10-21). "Attacking the Network Time Protocol" (PDF). Boston University. Archived (PDF) from the original on 2019-05-02. Retrieved 2019-06-23.
We explore the risk that network attackers canexploit unauthenticated Network Time Protocol (NTP) traffic toalter the time on client systems
- ^ Franke, D.; Sibold, D.; Teichel, K.; Dansarie, M.; Sundblad, R. (30 April 2019). Network Time Security for the Network Time Protocol. IETF. I-D draft-ietf-ntp-using-nts-for-ntp-19. Archived from the original (html) on 13 June 2019. Retrieved 23 June 2019.
- ^ Malhotra, Aanchal (2019-06-21). "Introducing time.cloudflare.com". Cloudflare Blog. Archived from the original (html) on 2019-06-21. Retrieved 2019-06-23.
We use our global network to provide an advantage in latency and accuracy. Our 180 locations around the world all use anycast to automatically route your packets to our closest server. All of our servers are synchronized with stratum 1 time service providers, and then offer NTP to the general public, similar to how other public NTP providers function.
- ^ Franke, D.; Sibold, D.; Teichel, K.; Dansarie, M.; Sundblad, R. (17 April 2019). Network Time Security for the Network Time Protocol. IETF. I-D draft-ietf-ntp-using-nts-for-ntp-18. Archived from the original (html) on 15 June 2019. Retrieved 23 June 2019.