Защита IoT-устройств превратилась в серьёзную проблему.
Прогресс в этом есть, но некоторые уязвимости остаются.
Специалисты Barracuda Labs продемонстрировали это на примере камеры слежения, которая тоже является IoT-устройством: было показано, как происходит компрометация учётных данных при помощи веб- и мобильных приложений с целью последующей компрометации IoT-устройств.
Компрометация учётных данных IoT-устройств: выделенная угроза
Злоумышленники могут использовать уязвимости в веб- и мобильных приложениях определенных IoT-устройств для получения учётных данных, которые они затем могут использовать для просмотра видео, настройки, получения или удаления уведомлений, удаления сохраненных видеоклипов из облачного хранилища и чтения информации об учётной записи. Злоумышленники также могут использовать эти учётные данные для загрузки собственной прошивки в устройство с целью изменения его функциональности для последующей атаки на другие устройства сети.
Технические подробности
Чтобы проиллюстрировать эту угрозу, специалисты Barracuda Labs провели исследование подключенной камеры безопасности и выявили следующие уязвимости в веб-приложении камеры и экосистеме мобильных приложений:
- мобильное приложение игнорирует срок действия сертификата сервера;
- наличие межсайтового скриптинга (XSS) в веб-приложении;
- обход файлов на облачном сервере;
- контроль ссылки обновления устройства пользователем;
- отсутствие подписи обновления устройства;
- устройство игнорирует срок действия сертификата сервера.
Было продемонстрировано, как с помощью этих уязвимостей получить сведения об учётных данных и обеспечить взлом IoT-устройства без непосредственного подключения к самому устройству.
Получение учётных данных из мобильного приложения
Если злоумышленник может перехватить трафик мобильного приложения с помощью скомпрометированной или враждебной сети, то он легко узнает пароль пользователя. Вот как это работает:
- жертва подключается к скомпрометированной / враждебной сети с помощью мобильного телефона;
- подключенное приложение камеры попытается подключиться к серверам поставщика по протоколу https;
- враждебная / взломанная сеть перенаправляет соединение к серверу злоумышленника, который будет использовать свой собственный ssl-сертификат и прокси-соединение для связи с сервером поставщика;
- сервер злоумышленника теперь содержит несолёный md5-хэш пароля пользователя;
- злоумышленник также может изменить связь между сервером поставщика и приложением.
Получение учётных данных из веб-приложения
Этот тип атаки основан на функции совместного использования доступа к подключенной камере. Для совместного использования устройства получатель должен иметь действительную учётную запись от поставщика IoT, а отправителю необходимо знать имя пользователя, которое использует получатель. Обычно – это адрес электронной почты.
- Злоумышленник вставит XSS-эксплойт в имя устройства и затем делится этим устройством с жертвой.
- После того, как жертва вводит в свою учётную запись с помощью веб-приложения, на нём запускается XSS-эксплойт, который передаст злоумышленнику токен доступа (он хранится в виде переменной в веб-приложении).
- С помощью токена доступа злоумышленник может получить доступ к учётной записи жертвы и всем её зарегистрированным устройствам.
Благодаря этому исследованию команде Barracuda Labs удалось скомпрометировать устройство IoT (подключенную камеру) без какого-либо прямого подключения к самому устройству. Такие уязвимости облегчают жизнь злоумышленникам. Не нужно проводить сканирование на Shodan для поиска уязвимых устройств. Вместо этого атаковаться будет инфраструктура поставщика. Это угроза, которая может повлиять и на другие типы устройств IoT, независимо от их функции: она использует способ взаимодействия устройства с облаком.
Ошибки связаны не с продуктами, а с процессами, навыками и осведомленностью разработчиков. По мере того как доступ и контроль доступа для устройств IoT перешли на облачные сервисы, уязвимости тоже изменились, сделав возможными типы атак, обнаруженные командой Barracuda Labs.
Как защитить себя как потребителя?
Покупая устройство IoT, потребители должны думать о безопасности, а также об удобстве и цене. Вот несколько советов:
- Изучите производителя устройства. Не все компании, которые производят IoT-устройства, заботятся о безопасности программного обеспечения. Большинство из них - это компании, занятые производством подключаемых физических устройств, либо стартапы, старающиеся как можно быстрее вывести свои разработки на рынок. И те, и другие часто не уделяют должного внимания защите программного обеспечения.
- Узнайте о существующих уязвимостях в других устройствах этого же поставщика. Если одно устройство имеет уязвимость, вероятно, другие с аналогичными функциями тоже будут обладать теми же уязвимостями. Тот производитель, который имеет историю создания защищённых устройств, скорей всего, будет создавать защищенные устройства и в будущем.
- Оцените реакцию на обнаружение уязвимостей в прошлом. Если поставщик реагирует на людей, сообщающих об уязвимости, и быстро устраняет их, обновляя встроенное программное обеспечение, это говорит о серьёзном подходе к вопросам безопасности его продукции.
К сожалению, объем доступной информации о состоянии безопасности IoT-устройств очень мал. В идеале нам нужно создать мир, в котором все продукты IoT можно было бы оценивать по уровню безопасности, как и автомобили. Перед покупкой потребители должны обладать полной информацией о любом IoT-устройстве и степени его защищённости.