Автор статьи — архитектор решений безопасности (Security Solutions Architect) в подразделении CERT
В последнее время много внимания привлекла вредоносная программа VPNFilter, особенно после публичного объявления ФБР 25 мая и ряда объявлений от производителей устройств и компаний в области безопасности. Рассмотрим зловред VPNFilter: какие уязвимости он использует и как, оценим его влияние на интернет. Я также излагаю рекомендации для производителей устройств интернета вещей (IoT), в том числе домашних маршрутизаторов, которые стали целью VPNFilter. Поскольку в статье подчёркивается приоритетность нескольких критических уязвимостей, я повторю рекомендации, сделанные в марте 2017 года в статье о ботнете Mirai.
История уязвимостей
Статья в блоге Cisco о VPNFilter содержит подробные данные об устройствах, подверженных этой уязвимости, которая затронула «по крайней мере 500 тыс. сетевых устройств во всём мире». VPNFilter в некотором смысле похож на Mirai, поскольку тоже нацелен на устройства IoT, в частности, на домашние маршрутизаторы. Кроме того, сейчас известно, что ботнет Mirai использовал четыре 0day-эксплойта, кроме обычного подбора стандартных пар логин-пароль для компрометации устройств IoT. Недавно была обнаружена новая версия ботнета Mirai, тоже нацеленная на домашние маршрутизаторы.
Среди известных производителей маршрутизаторов, пострадавших от VPNFilter, моё внимание привлекли Linksys и Netgear, потому что, по данным Statistica, их популярные модели занимают 77% рынка домашних маршрутизаторов. Исследуя типичные уязвимости для этих популярных устройств, можно определить некоторые общие рекомендации, которые уменьшат риск атаки на такие слабо контролируемые устройства.
Подразделение CERT в Институте программной инженерии (SEI) сотрудничало со многими производителями домашних маршрутизаторов для выявления и отслеживания уязвимостей. Эта совместная работа направлена на снижение воздействия таких уязвимостей на интернет в целом.
На диаграмме ниже я отметил и классифицировал уязвимости на этих устройствах, которые с высокой вероятностью будут эксплуатироваться. Во многих случаях используются также учётные данные по умолчанию. Хакеры применяют эти уязвимости в своём инструментарии для расширения базы взломанных устройств.
В базе уязвимостей Координационного центра CERT опубликованы по крайней мере две серьёзные уязвимости в маршрутизаторах, которые широко затронули этих двух основных производителей:
- Множественные уязвимости переполнения буфера в нескольких маршрутизаторах. Популярная библиотека, которую используют несколько производителей маршрутизаторов, имеет уязвимость переполнения буфера, которая может использоваться для компрометации маршрутизатора и установки на него произвольных программ.
- Уязвимости внедрения произвольных удалённых команд в Netgear. Многочисленные маршрутизаторы Netgear уязвимы для удалённого выполнения произвольных команд.
Эти уязвимости можно отследить по нескольким эксплойтам, которые находятся в открытом доступе на сайте exploit-db.com. В некотором роде они демонстрируют, что программное обеспечение этих устройств содержит уязвимости, которые можно эксплуатировать удалённо. Чтобы не допускать таких багов, необходимо применять безопасные практики при программировании. Но понятно, что в массовом производстве, когда устройства быстро выпускаются на рынок, этих уязвимостей трудно избежать и практически невозможно устранить. Мы считаем, что координация и смягчение последствий из-за этих недостатков являются важнейшими мероприятиями по обеспечению надёжности и безопасности интернета. Но можно предпринять и дополнительные меры, чтобы из-за этих багов не происходил массовый взлом и злоупотребления, как сейчас.
Проблема почти постоянного аптайма
Подозреваю, что если я попрошу читателей этой статьи сказать, когда они в последний раз перезагружали свой домашний маршрутизатор, то многие прервут чтение, чтобы его перезагрузить. Близкое к бесконечному время непрерывной работы современных домашних маршрутизаторов даёт преимущество злоумышленникам, которые могут поддерживать долгосрочный доступ к скомпрометированной системе, как подробно описано в популярной модели пяти этапов взлома.
В реальности зловреды Mirai и VPNFIlter stage-2 представляют собой нестойкий вредоносный код, который не выживает после перезагрузки. Этот факт свидетельствует: злоумышленники уверены, что устройства не будут перезагружаться в течение длительного времени.
Роль небрежного обслуживания
Второй фактор, который делает домашний маршрутизатор уязвимым — отсутствие патчей или обновления. Обновление домашнего маршрутизатора обычно требует перезагрузки и, вероятно, кратковременного прерывания обслуживания. Многие домашние пользователи никогда не перезагружают свой маршрутизатор, потому что им нужен ежедневный бесперебойный интернет для получения медиафайлов, просмотра видео и даже образования. Во многих развивающихся странах, где маршрутизаторы поставляются интернет-провайдером, он рекомендует пользователям не обновлять устройство во избежание проблем несовместимости. В других местах, где распространена практика BYOD (использование своего устройства), провайдеры не в состоянии контролировать, какое оборудование установлено у пользователей (CPE).
Когда я недавно посетил Кот-д'Ивуар для лекции по DDoS и ботнетам, представители интернет-провайдеров объяснили, что у пользователей популярны дешёвые маршрутизаторы и даже неизвестные модели, которые провайдер не может обновить. Вот ещё одна причина, по которой эти устройства плохо обслуживаются и никогда не получают необходимых обновлений или патчей безопасности.
Призыв к действию
В предыдущей статье по Mirai я предложил некоторые рекомендации, которые практичны и доступны для домашних маршрутизаторов и устройств IoT. Надеюсь, что они станут толчком для производителей и провайдеров внедрять инновационные технические решения, чтобы снизить риск использования маршрутизаторов для вредоносных целей:
- Установка файловых систем в домашних маршрутизаторах и устройствах интернета вещей доступной только для чтения, что затрудняет установку вредоносных программ.
- Отключение любого режима пакетной обработки, спуфинга или «неразборчивого» режима [в котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы — прим. пер.] на уровне прошивки, чтобы избежать вредоносного использования сетевого ресурса на этих устройствах.
- Автоматическое обновление встроенного ПО для упреждающего устранения уязвимостей — или с запланированным временем простоя, или без простоя.
Задача этих простых и недорогих устройств — передавать данные по сети или транслировать поток в реальном режиме времени (как IP-камеры), здесь нет особых причин сохранять какой-то софт на устройстве. Фактически, некоторые из новых домашних маршрутизаторов поддерживают chroot и файловую систему только для чтения, что затрудняет установку эксплойтов. Даже если потенциальный злоумышленник узнает или угадает пароль администратора, то не сможет установить вредоносную программу типа VPNFilter или Mirai.
В обоих случаях зловред пытается получить полный контроль над сетевым стеком, что позволяет создавать пакеты, осуществлять спуфинг и перехват пакетов, а также устанавливать «неразборчивый» режим на заражённых устройствах. Такие функции на простых маршрутизаторах не требуются и обычно не используются. Удаление «неразборчивого» режима полностью устранит возможность использования скомпрометированных систем во вредоносных целях, таких как DDoS-атаки, установка зловредов, перехват сообщений и изменение сетевых пакетов.
Другие рекомендации
В дополнение к рекомендациям выше, есть другие практические рекомендации, которые могут помочь как производителям устройств, так и провайдерам. Автоматические обновления сейчас внедрены на многих устройствах — они стали неотъемлемой частью смартфонов, планшетов и ПК. Некоторые из этих обновлений выполняются без прерывания работы устройства.
В случаях, когда требуется прерывание обслуживания (например, перезагрузка), пользователь должен иметь возможность запросить предпочтительный период времени, например, полночь по местному времени или выходной день, чтобы обеспечить минимальное прерывание обслуживания. Этот тип обновления необходим для таких устройств, как домашние маршрутизаторы и устройства интернета вещей.
Если производители и провайдеры сумеют внедрить инкрементальные обновления без перезагрузки и если смогут внедрять новые методы, такие как установка патчей в реальном времени (kpatch) на уязвимые системы, то это ещё удобнее. Если же требуется перезагрузка, то производители и провайдеры могут предоставить своим клиентам выбор обновления, чтобы доставить минимум неудобств при поддержании устройств в актуальном состоянии
Рекомендации для пользователей
Первая и самая важная рекомендация заключается в том, чтобы изменить учётные данные по умолчанию на домашнем маршрутизаторе. Затем обновите и перезагрузите домашний маршрутизатор и другие устройства интернета вещей в доме. Еженедельная перезагрузка домашнего маршрутизатора не слишком обременительна и может даже улучшить его производительность.
Если вам нравится хорошо защищённый дом, не забудьте позаботиться о его цифровой безопасности, а она начинается с домашнего маршрутизатора.
Автор: m1rko