Содержание статьи
Миллиарды потенциальных целей
По данным Statista.com, объем рынка интернета вещей в 2017 году превысил миллиард долларов. Общее число подключенных к интернету устройств оценивается на текущий момент в 23 с лишним миллиарда с перспективой увеличения до 30 миллиардов к 2020 году. После этого аналитическое агентство IHS Markit прогнозирует нелинейный рост до 125 миллиардов устройств к 2030 году. Такой объем производства вполне возможен, но уже сейчас ударные темпы выпуска IoT-устройств достигаются преимущественно за счет самых дешевых «китайских» девайсов, при разработке которых о безопасности думали в последнюю очередь.
Среди компонентов умного дома и даже охранных систем значительная часть имеет проблемы с безопасностью, причем характерные для целой плеяды устройств, а не просто какой-то одной серии не самого надежного вендора. Речь идет о массовых и грубых нарушениях принципов разработки. Это:
- использование неизменяемых (hardcoded) и скрытых сервисных учетных данных;
- применение одинаковых либо легко предсказуемых ключей и ПИН-кодов;
- отсутствие проверки прав доступа при обращении к известной странице настроек (например,
/settings.asp
в обход/index.htm
) или прямого вызова изображений и видеопотока IP-камеры (вроде/axis-cgi/jpg/image.cgi
); - некорректная обработка получаемых данных, вызывающая переполнение буфера. Как следствие, возможно выполнение произвольного кода при получении злонамеренно составленного TCP-пакета;
- принудительное переключение сервера на использование старых версий протоколов по запросу клиентского устройства (я старая глупая железка, давай со мной по-простому);
- десятки других типовых ошибок и намеренных ослаблений безопасности ради удобства конфигурирования неспециалистами (в том числе — удаленного и без надлежащей авторизации).
Как искать уязвимые IoT-девайсы
Исследователи предлагают множество алгоритмов поиска дружественных к хакеру устройств, и самые эффективные из них уже опробованы создателями ботнетов. Я вообще считаю использование уязвимостей в ботнетах наиболее надежным критерием оценки легкости их массовой эксплуатации на практике.
Кто-то пляшет от прошивки (точнее, тех диких ошибок, которые были обнаружены при ее анализе методами реверс-инжиниринга). Другие в качестве отличительного признака берут название производителя (его можно определить по первым трем октетам MAC-адреса) или версию ОС (большинство устройств сообщают ее в сетевом отклике, в том числе и роботам-паукам поисковиков). В любом случае для успешного поиска нам нужен некий отличительный признак уязвимого девайса, и хорошо бы найти несколько таких маркеров. Поэтому я предлагаю пойти следующим путем.
1. Обращаемся к базе уязвимостей — например, MITRE или Rapid7 — и находим интересующие нас бреши у определенных IoT-девайсов. Наиболее гарантированными в плане использования будут уязвимости следующих типов:
- обнаруженные после того, как производитель прекратил поддержку устройства и выпуск патчей;
- обнаруженные недавно (для которых еще нет исправлений, либо большинство пользователей не успели исправления применить);
- архитектурные баги, плохо исправляемые софтверными патчами и редко устраняемые до конца — вроде уязвимости Spectre, существующей в нескольких разновидностях и актуальной до сих пор;
- влияющие сразу на несколько моделей и даже типов устройств (например, из-за общего компонента веб-интерфейса или уязвимости самого протокола коммуникации).
2. Изучаем подробности о найденных уязвимостях и затрагиваемых ими устройствах. Читаем всю доступную документацию в поисках уникальных маркеров и деталей допущенных разработчиком ошибок. Нужно определить особенности, отличающие интересные нам девайсы от массы других подобных. Например, в отклике от уязвимого устройства содержится строка с номером определенной версии ОС, ревизии протокола или у него будет открыт нестандартный порт.
3. Составляем продвинутые поисковые запросы для Google и специализированных поисковиков по интернету вещей:
Подробнее о них и примерах продвинутого поиска читай в наших статьях по ссылкам выше.
INFO
Для предотвращения наплыва кулхацкеров мы не станем приводить айпишники уязвимых систем, некоторые детали и подробные запросы, позволяющие обнаружить легкие цели в один клик. Однако разгадка лежит на поверхности. Достаточно внимательно прочитать описание уязвимости и добавить к приведенному примеру один-два поисковых фильтра.
Дополнительный отсев недобросовестных исследователей мира IoT выполняют сами сервисы Shodan и Censys. Без регистрации они показывают только первые результаты поиска, ограничивают количество запросов в день и не позволяют их эффективно уточнять. Все самое интересное обычно начинается после первой сотни результатов, а то и дальше.
Поиск IoT-девайсов легко ускорить за счет скриптов. Например, RussianOtter Mult-API Network Scanner или GasMasK. Для их использования (как и для применения собственных скриптов) понадобится регистрация в Shodan и Censys.
4. Проверяем цели из поисковой выдачи и (при необходимости) просеиваем ее дополнительными запросами. Такая необходимость возникает практически всегда, поэтому для парсинга результатов часто используют скрипты. Например, скрипт от thesubtlety.
5. Подбираем инструментарий для подключения к найденным IoT-девайсам. В большинстве случаев будет достаточно браузера. Для управления камерами и DVR иногда потребуется поставить старую версию Java RE и специфический видеокодек. Часто бывают нужны Telnet- и SSH-клиенты. Реже потребуется софт от разработчика, например Cisco Smart Install Client.
6. В зависимости от того, как далеко ты намерен зайти, ограничиваемся сбором статистики или выполняем тестовое подключение и пробуем менять настройки. Последнее не рекомендуется делать, в том числе и потому, что ты с легкостью можешь нарваться на ловушку (honeypot). Интерполу тоже надо поднимать показатели раскрываемости преступлений в сфере ИБ, а не слишком осторожный исследователь — идеальная цель.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»