Адъюнкт-профессор факультета информатики Бостонского университета Шарон Голдберг (Sharon Goldberg) хорошо помнит тот холодный февральский день. Ее аспирант Аанчал Малхотра (Aanchal Malhotra), писавшая тогда диссертацию о безопасности маршрутизации, раз за разом штурмовала RPKI (resource public key infrastructure, инфраструктура открытых ключей ресурсов) и все время терпела неудачу из-за сброса кэша.

Упорства экспериментатору было не занимать, и под занавес она прибегла к последнему средству — откату компьютерного времени. К всеобщему удивлению, это сработало. «Ей удалось воспроизвести атаку, и я поинтересовалась, что конкретно она сделала, — рассказывает Голдберг. — Она сказала, что просто изменила время в компьютерной системе и все получилось. И мы в один голос воскликнули: «Вот это да!»

Волей случая Малхотра открыла серьезные уязвимости в сетевом протоколе времени, который используется для синхронизации внутренних часов компьютера. С их помощью атакующий из позиции «человек посередине» может откатить время на всех машинах в сети и вмешаться в процесс шифрования, вызвать отказ в обслуживании или снизить порог защиты при использовании таких технологий, как DNSSEC.

«Поразительно, что никто не додумался использовать этот вектор атаки, — комментирует Голдберг. — Мы поняли, что это мощный инструмент атаки на системы, для которых время — важный фактор. Большинство систем шифрования используют временные метки, и на то есть своя причина. Если они ошибочны, жди неприятностей».

На этой неделе Голдберг, Малхотра и их коллеги по университету Айзек Коэн (Isaac E. Cohen) и Эрик Бракке (Erik Brakke) опубликовали статью под названием Attacking the Network Time Protocol («Атакуем сетевой протокол синхронизации времени»), в которой рассматриваются несколько вариантов атаки на NTP. Все эти PoC обречены на успех, так как неполноценность аутентификации и ошибки в реализации криптосистем позволяют произвести откат времени, способный посеять хаос в Интернете.

Это не единственный пример использования уязвимостей протокола NTP. В конце 2013-го и начале 2014 года злоумышленники использовали NTP-серверы для усиления DDoS-трафика, подменяя IP-адрес источника запросов, чтобы направить мощный мусорный поток на мишень.

По свидетельству Голдберг, уязвимости, обнаруженные университетскими исследователями, можно использовать для проведения атак разной сложности. Самая простая осуществляется посредством эксплойта ограничителя скорости передачи, встроенного в NTP. Атакующему потребуется лишь отослать специально созданный пакет, так называемый «поцелуй смерти» (kiss-of-death), подделав источник. Это эффективно заблокирует все запросы целевого клиента к серверу на долгие годы, и он не сможет обновлять свои часы.

«Поскольку число пакетов kiss-of-death для каждого атакуемого клиента невелико, можно слегка модифицировать стандартный сетевой сканер (nmap, zmap) и использовать его для ковровых атак на ntpd-клиенты в Интернете», — пишет Голдберг на сайте Бостонского университета, попутно давая рекомендации по защите NTP-серверов и клиентов.

По ее словам, такую масштабную атаку можно провести, сканируя адресное пространство IPv4 и прослушивая ответы с уязвимых серверов. Выпущенный на днях патч для NTP заметно снижает шансы на использование kiss-of-death.

Все предыдущие PoC-атаки на NTP, по свидетельству Голдберг, проводились из позиции «человек посередине», в том числе вариант, представленный на прошлогодней Black Hat Хосе Селви (Jose Selvi), который использовал NTP для обхода HSTS. Голдберг и ее коллеги в своем исследовании использовали один из инструментов Селви — Delorean.

«За последние пару лет количество работ по атакам, запущенным с адреса ложного источника, заметно увеличилось, — констатирует Голдберг. — Атака off-path — это не перехват трафика, атакующий просто отправляет пакеты со своего компьютера. Такая угроза намного опаснее».

В своей статье университетские исследователи также описывают атаку на отказ в обслуживании, которая даже при наличии патча для kiss-of-death позволяет деактивировать NTP на клиенте жертвы. «В данном случае атакующий выявляет действенность KoD-пакета для серверов, заданных в настройках клиента, буквально «выкачивая» эту информацию, — например, посылая серверам большое количество поддельных запросов, якобы исходящих с клиента, — поясняют соавторы. — В ответ серверы ограничивают скорость передачи для клиента и на каждый последующий запрос отдают валидный KoD-пакет. Получая KoD, клиент перестает обращаться к своим серверам и теряет возможность обновлять свои часы».

Третья атака, рассмотренная исследователями, проводится из положения «человек посередине» и позволяет перехватывать трафик, направляемый на NTP-сервер, посредством угона BGP или DNS. Результатом является откат времени на клиентах в обход аварийного 16-минутного порога, предусмотренного в NTP; в итоге атакующий получает возможность манипулировать кэшем клиента и, к примеру, представить срок действия криптографического объекта как истекший.

Еще один вариант атаки off-path с откатом времени на стороне клиента использует ошибки фрагментации IPv4-пакетов.

Категории: Аналитика, Главное, Уязвимости