Неправильное использование и злоупотребление сервером NTP охватывает ряд действий, которые приводят к повреждению или ухудшению работы сервера протокола сетевого времени (NTP), начиная от переполнения его трафиком (фактически DDoS- атака) или нарушения политики доступа к серверу или правил взаимодействия NTP. Один инцидент был назван вандализмом NTP в открытом письме Пола -Хеннинга Кампа производителю маршрутизаторов D-Link в 2006 году. [1] Позже этот термин был расширен другими, чтобы задним числом включать в себя другие инциденты . Однако нет никаких доказательств того, что какая-либо из этих проблем является преднамеренным вандализмом. Чаще всего они возникают из-за недальновидности или неправильного выбора конфигураций по умолчанию.
Намеренная форма злоупотребления сервером NTP стала известна в конце 2013 года, когда серверы NTP использовались в рамках усиливающихся атак типа «отказ в обслуживании» . Некоторые серверы NTP будут отвечать на один пакет UDP-запроса «monlist», при этом пакеты описывают до 600 ассоциаций. Используя запрос с поддельным IP-адресом, злоумышленники могут направить в сеть усиленный поток пакетов. Это привело к одной из крупнейших распределенных атак типа «отказ в обслуживании», известных на тот момент. [2]
Наиболее серьезные проблемы связаны с адресами NTP-серверов, жестко запрограммированными в прошивке потребительских сетевых устройств. Поскольку крупные производители и OEM-производители выпустили сотни тысяч устройств с использованием NTP, а клиенты почти никогда не обновляют прошивку этих устройств, проблемы со штормами запросов NTP будут сохраняться до тех пор, пока устройства находятся в эксплуатации.
Одной из наиболее распространенных ошибок программного обеспечения NTP является генерация пакетов запросов через короткие (менее пяти секунд) интервалы до тех пор, пока не будет получен ответ.
Хотя технически разумно отправлять несколько начальных пакетов через короткие промежутки времени, для работоспособности любой сети важно, чтобы повторные попытки подключения клиента создавались с логарифмически или экспоненциально уменьшающейся скоростью, чтобы предотвратить отказ в обслуживании .
Это экспоненциальное или логарифмическое снижение протокола применимо к любому протоколу без установления соединения и, как следствие, ко многим частям протоколов на основе соединения. Примеры этого метода отмены можно найти в спецификации TCP для установления соединения, проверки нулевого окна и передачи активности.
В октябре 2002 года один из самых ранних известных случаев неправильного использования сервера времени привел к проблемам с веб-сервером в Тринити-колледже в Дублине . В конечном итоге трафик был связан с некорректно работающими копиями программы под названием Tardis [3] , тысячи копий которых по всему миру связывались с веб-сервером и получали временную метку через HTTP. В конечном итоге решением было изменить конфигурацию веб-сервера, чтобы предоставить настроенную версию домашней страницы (значительно уменьшенную в размере) и вернуть фиктивное значение времени, что заставило большинство клиентов выбрать другой сервер времени. [4]
Первый широко известный случай проблем с NTP-сервером начался в мае 2003 года, когда аппаратные продукты Netgear завалили NTP -сервер Университета Висконсин-Мэдисон запросами . [5] Сотрудники университета первоначально предположили, что это была злонамеренная распределенная атака типа «отказ в обслуживании» , и приняли меры, чтобы заблокировать флуд на границе своей сети. Вместо того, чтобы уменьшиться (как это происходит в большинстве DDOS-атак), поток увеличился, достигнув к июню 250 000 пакетов в секунду (150 мегабит в секунду). Последующее расследование показало, что источником проблемы были четыре модели маршрутизаторов Netgear. Было обнаружено, что клиент SNTP (Simple NTP) в маршрутизаторах имеет два серьезных недостатка. Во-первых, он использует один NTP-сервер (в Университете Висконсин-Мэдисон), IP-адрес которого жестко запрограммирован в прошивке. Во-вторых, он опрашивает сервер с интервалом в одну секунду, пока не получит ответ. Всего выпущено 707 147 изделий с неисправным клиентом.
Netgear выпустила обновления прошивки для затронутых продуктов (DG814, HR314, MR814 и RP614), которые запрашивают собственные серверы Netgear, опрашивают только один раз каждые десять минут и прекращают работу после пяти сбоев. Хотя это обновление исправляет недостатки исходного клиента SNTP, оно не решает более серьезной проблемы. Большинство потребителей никогда не будут обновлять прошивку своего маршрутизатора, особенно если кажется, что устройство работает правильно.
Также в 2003 году еще один случай вынудил закрыть для публики серверы NTP Национальной измерительной лаборатории Организации научных и промышленных исследований Австралийского Содружества ( CSIRO ). [6] Было показано, что трафик исходит из-за плохой реализации NTP в некоторых моделях маршрутизаторов SMC , где IP-адрес сервера CSIRO был встроен в прошивку. SMC выпустила обновления прошивки для своих продуктов: известно, что они затронут модели 7004VBR и 7004VWBR.
В 2005 году Пол-Хеннинг Камп , менеджер единственного датского NTP-сервера Stratum 1, доступного широкой публике, заметил огромный рост трафика и обнаружил, что от 75 до 90% исходит от маршрутизаторов D-Link. Серверы NTP уровня 1 получают сигнал времени от точного внешнего источника, такого как GPS-приемник, радиочасы или калиброванные атомные часы. По соглашению, серверы времени уровня 1 должны использоваться только приложениями, требующими чрезвычайно точных измерений времени, такими как научные приложения или серверы уровня 2 с большим количеством клиентов. [7] Маршрутизатор домашней сети не соответствует ни одному из этих критериев. Кроме того, политика доступа к серверу Кампа явно ограничивала его серверами, напрямую подключенными к датской Интернет-бирже (DIX). Непосредственное использование этого и других серверов Stratum 1 маршрутизаторами D-Link привело к огромному увеличению трафика, увеличению затрат на полосу пропускания и нагрузке на серверы.
Во многих странах официальные услуги по хронометражу предоставляются правительственными учреждениями (например, NIST в США). Поскольку датского эквивалента не существует, Камп предоставляет свои временные услуги « на общественных началах ». Взамен DIX согласился предоставить бесплатное соединение для своего сервера времени при условии, что используемая полоса пропускания будет относительно низкой, учитывая ограниченное количество серверов и потенциальных клиентов. Из-за увеличения трафика, вызванного маршрутизаторами D-Link, DIX потребовал от него платить ежегодную плату за соединение в размере 54 000 датских крон [ нужна ссылка ] (приблизительно 9 920 долларов США или 7 230 евро [8] [9] ).
Камп связался с D-Link в ноябре 2005 года, надеясь, что они решат проблему и компенсируют ему время и деньги, потраченные на отслеживание проблемы, а также расходы на пропускную способность, вызванные продуктами D-Link. Компания отрицала какие-либо проблемы, обвинила его в вымогательстве и предложила сумму компенсации, которая, по утверждению Кампа, не покрыла его расходы. 7 апреля 2006 года Камп разместил эту историю на своем сайте. [10] Эту историю подхватили Slashdot , Reddit и другие новостные сайты. После обнародования Камп понял, что маршрутизаторы D-Link напрямую опрашивали другие серверы времени Stratum 1, нарушая при этом политики доступа как минимум 43 из них. 27 апреля 2006 г. D-Link и Камп объявили, что «любовно разрешили» свой спор. [11]
Уже более 20 лет ETH Zurich предоставляет открытый доступ к серверу времени swisstime.ethz.ch для оперативной синхронизации времени. Из-за чрезмерного использования полосы пропускания, составляющего в среднем более 20 ГБ в день, возникла необходимость направить внешнее использование на общедоступные пулы серверов времени, такие как ch. Pool.ntp.org . Неправильное использование, вызванное в основном синхронизацией ИТ-провайдерами своих клиентских инфраструктур, привело к необычно высоким требованиям к сетевому трафику, что заставило ETH принять эффективные меры. Осенью 2012 года [обновлять]доступ к swisstime.ethz.ch был изменен на закрытый. С начала июля 2013 года [обновлять]доступ к серверу полностью заблокирован по протоколу NTP.
В декабре 2016 года операторское сообщество NTPPool.org заметило значительный рост NTP-трафика, начиная с 13 декабря. [12]
Расследование показало, что приложение Snapchat , работающее на iOS, было склонно запрашивать все NTP-серверы, которые были жестко закодированы в сторонней библиотеке NTP iOS, и что запрос к домену, принадлежащему Snapchat, следовал за потоком запросов NTP. [13] После обращения в Snap Inc., [14] их разработчики решили проблему в течение 24 часов после уведомления, выпустив обновление своего приложения. [15] В качестве извинения и для того, чтобы помочь справиться с создаваемой ими нагрузкой, Snap также предоставила серверы времени пулам NTP в Австралии и Южной Америке. [16]
Настройки по умолчанию, подверженные ошибкам, были улучшены [17] после отзывов сообщества NTP. [18] [19] [ нужна полная цитата ]
В прошивке для расширителей Wi -Fi TP-Link в 2016 и 2017 годах были жестко закодированы пять серверов NTP, включая Университет Фукуока в Японии, а также пулы серверов NTP в Австралии и Новой Зеландии, и они неоднократно выдавали один запрос NTP и пять запросов DNS каждые пять секунд, занимая 0,72 ГБ. в месяц за устройство. [20] Чрезмерное количество запросов было использовано для проверки подключения к Интернету, которая отображала состояние подключения устройства в интерфейсе веб-администрирования. [20]
Проблема была подтверждена филиалом TP-Link в Японии, который подтолкнул компанию к перепроектированию теста подключения и выпуску обновлений прошивки, устраняющих проблему для затронутых устройств. [21] Затронутые устройства вряд ли установят новую прошивку, поскольку удлинители Wi-Fi от TP-Link не устанавливают обновления прошивки автоматически и не уведомляют владельца о доступности обновлений прошивки. [22] Доступность обновлений прошивки TP-Link также зависит от страны, хотя проблема затрагивает все расширители диапазона Wi-Fi, продаваемые по всему миру. [20] [22]
Сообщается, что серверы Университета Фукуока были отключены где-то в период с февраля по апрель 2018 года и должны быть удалены из списков общедоступных серверов времени NTP. [23]
После этих инцидентов стало ясно, что помимо определения политики доступа к серверу необходимы технические средства обеспечения соблюдения этой политики. Один из таких механизмов был предоставлен путем расширения семантики поля эталонного идентификатора в пакете NTP, когда поле Stratum равно 0.
В январе 2006 года был опубликован RFC 4330, в котором были обновлены детали протокола SNTP , а также предварительно разъяснены и расширены соответствующие протоколы NTP в некоторых областях. Разделы с 8 по 11 RFC 4330 имеют особое отношение к этой теме (Пакет «Поцелуй смерти», «Как быть хорошим гражданином сети», «Лучшие практики», «Соображения безопасности»). В разделе 8 представлены пакеты Kiss-o'-Death:
В NTPv4 и SNTPv4 пакеты такого типа называются пакетами Kiss-o'-Death (KoD), а передаваемые ими сообщения ASCII называются кодами поцелуя. Пакеты KoD получили свое название потому, что их раннее использование заключалось в том, чтобы сообщить клиентам прекратить отправку пакетов, которые нарушают контроль доступа к серверу.
Новые требования протокола NTP не имеют обратной силы, а старые клиенты и реализации более ранней версии протокола не распознают KoD и не действуют в соответствии с ним. На данный момент не существует хороших технических средств для противодействия неправомерному использованию серверов NTP.
В 2015 году из-за возможных атак на протокол сетевого времени [24] была предложена защита сетевого времени для NTP ( проект Интернета draft-ietf-ntp-using-nts-for-ntp-19
) [25] с использованием реализации безопасности транспортного уровня . 21 июня 2019 года Cloudflare запустила пробную услугу по всему миру [26] на основе предыдущего интернет-проекта. [27]
Мы изучаем риск того, что сетевые злоумышленники могут использовать неаутентифицированный трафик протокола сетевого времени (NTP) для изменения времени в клиентских системах.
Мы используем нашу глобальную сеть, чтобы обеспечить преимущество в задержке и точности. Все наши 180 офисов по всему миру используют Anycast для автоматической маршрутизации ваших пакетов на ближайший сервер. Все наши серверы синхронизируются с поставщиками услуг уровня 1, а затем предлагают NTP широкой публике, аналогично тому, как функционируют другие общедоступные поставщики NTP.