Найден способ предотвращения атак путем манипуляций со временем по NTP
Израильские специалисты предлржили проект Chronos, призванный защитить от атак путем манипуляций со временем.
Одной из целого ряда проблем в уязвимом протоколе Network Time Protocol (NTP) является возможность атаковать сервер путем манипуляций со временем. Превратив сервер в «путешественника во времени», злоумышленник может спровоцировать настоящий хаос в критически важных системах. Группа специалистов компании Marvell Semiconductor и Еврейского университета Иерусалима предложили способ решения данной проблемы. Согласно докладу, представленному на конференции Network and Distributed Systems Security (NDSS) Symposium, атаки, предпролагающие манипуляции со временем, «могут затрагивать TLS-сертификаты, DNS и DNSSEC, RPKI, Kerberos, BitCoin и прочее».
Как отметили авторы доклада, подобные атаки возможны, даже если соединение по NTP зашифровано и авторизовано. Несмотря на шифрование и авторизацию, злоумышленник все равно может осуществить атаку «человек посередине» и манипулировать временем путем задержки и повторения отправляемых жертве пакетов.
Исследователи предложили проект Chronos — «альтернативный набор клиентских механизмов […] обратно совместимых с NTPv4». Chronos предполагает получение клиентом информации о времени от нескольких серверов. Получив информацию, клиент использует «доказуемо безопасный алгоритм» для устранения подозрительных запросов и принимает среднее время оставшихся ответов как истинное.
Сервер по-прежнему будет получать NTP-запросы в существующем формате, поэтому системным администраторам не придется менять конфигурацию своих серверов.
При отправке запросов на ближайшие доступные серверы времени (не более десяти серверов) клиент отбрасывает две трети ответов (самые высокие и самые низкие значения). Весь пул запрашивается только в одном случае — если несколько итераций выборки не могут удовлетворять условиям успеха клиента. Авторы проекта назвали это условие «режимом паники», в котором проверяется каждый сервер в пуле.
По словам исследователей, на успешное изменение времени на клиенте Chronos даже с небольшим сдвигом (например, 100 мс) у атакующего уйдут годы.