Эксперты «Лаборатории Касперского» изучили безопасность популярного детского робота и нашли серьезные проблемы, из-за которых злоумышленники получали возможность сделать видеозвонок на любого робота, перехватить управление над родительским аккаунтом или — потенциально — загрузить на робота модифицированную прошивку. Рассказываем обо всем этом подробнее.
Что умеет игрушечный робот
Изученная нами модель детского робота — это своеобразный гибрид смартфона (или планшета, если угодно) и умной колонки, поставленный на колесное шасси, позволяющее ему перемещаться в пространстве. Конечностей у робота нет, так что возможность ездить по дому — единственный вариант его физического взаимодействия с окружающим миром.
Центральным элементом робота служит крупный сенсорный дисплей, на который могут выводиться интерфейс управления, интерактивные и обучающие приложения для ребенка, а также мультяшное лицо, хорошо и разнообразно анимированное. Естественно, анимация зависит от контекста — над персоной робота разработчики очень неплохо потрудились.
Также роботом можно управлять с помощью голосовых команд, но это работает далеко не со всеми функциями — часто робота все же приходится ловить и тыкать пальцем ему в лицо во встроенный дисплей.
Помимо встроенного микрофона и весьма громкого динамика, у робота есть широкоугольная камера, расположенная прямо над дисплеем. И одна из важных функций, активно рекламируемых производителем, — это возможность родителям совершать видеозвонки ребенку прямо на робота.
На передней стороне робота — примерно посередине между дисплеем и колесами — находится дополнительный оптический датчик для распознавания объектов, чтобы робот мог избегать препятствий при перемещении. Поскольку распознавание препятствий никак не зависит от основной камеры, то разработчики предусмотрели очень полезную штуку: физическую шторку, позволяющую полностью эту камеру закрыть.
Так что если вы опасаетесь, что через камеру кто-нибудь может подсматривать за вами или вашим ребенком (увы, небезосновательно, но об этом ниже), то ее можно просто прикрыть шторкой. Ну а если вы переживаете о подслушивании через встроенный микрофон, то робота можно полностью выключить — судя по тому, как долго после этого он загружается, это действительно честное отключение, а не «режим сна».
Разумеется, на стороне родителей для управления и контроля за игрушкой используется специализированное приложение. И, как вы вероятно догадываетесь, все это подключено к Интернету и под капотом задействует массу различных облачных сервисов (если вам интересны технические подробности, то их можно найти в полной версии исследования безопасности, опубликованной на Securelist).
А чем сложнее система, тем больше вероятность того, что в ней есть дыры, которые позволяют сделать с ней что-то нехорошее. И тут мы подходим к основной теме этого поста: внимательно изучив робота, мы обнаружили несколько серьезных уязвимостей.
Неавторизованные видеозвонки
Первое, что мы выяснили в процессе исследования, — злоумышленники потенциально могли совершать видеозвонки на любого робота. Сервер производителя робота позволял получить токен для установки сеанса видеосвязи, зная ID робота и идентификатор родителя. ID всех роботов состоят из девяти символов (первые два всегда одинаковы) и схожи с серийным номером, напечатанным на корпусе, поэтому их легко подобрать. А идентификатор родителя можно было получить, отправив запрос с ID робота на сервер производителя без какой-либо аутентификации.
Таким образом, злоумышленник, желающий позвонить какому-нибудь ребенку, мог либо постараться узнать ID конкретного робота, либо устроить чат-рулетку, перебирая ID и звоня на случайных роботов.
Полный перехват контроля над родительским аккаунтом
Помимо этого, благодаря излишней «доверчивости» системы можно было отправить на сервер производителя запрос, используя только ID робота, а в ответ получить массу персональных данных — IP-адрес, страну проживания, имя, пол и возраст ребенка, плюс информацию родительского аккаунта — адрес электронной почты и номер телефона родителя, а также код для привязки родительского приложения к роботу.
А это, в свою очередь, открывало возможность для куда более серьезной атаки: полного угона родительского аккаунта. Для этого злоумышленнику достаточно было удаленно выполнить несколько несложных действий.
Со своего устройства войти в родительский аккаунт, используя полученную электронную почту или номер телефона. Для авторизации нужно также указать одноразовый код из 6 цифр, но количество попыток его ввода не ограничено, так что подобрать код можно банальным перебором.
В один клик отвязать робота от настоящего родительского аккаунта.
Привязать его к собственному аккаунту. Для подтверждения этого действия используется тот самый код привязки, о котором мы говорили выше, — его сервер отдавал любому желающему.
После угона аккаунта родители полностью потеряли бы доступ к роботу: для его восстановления пришлось бы связаться с техподдержкой. Причем злоумышленник мог бы легко повторить всю процедуру с начала и снова угнать аккаунт, ведь все, что для этого нужно, — ID робота, который остается неизменным.
Загрузка модифицированной прошивки
Наконец, в процессе изучения механизмов работы различных систем робота мы обнаружили проблемы с безопасностью обновления его ПО. Пакеты обновлений не имели цифровых подписей, и робот без каких-либо проверок устанавливал сформированный определенным образом архив с обновлением, который ему отдавал сервер производителя.
Это давало потенциальную возможность совершить атаку на сервер обновлений, подменить архив на модифицированный и загрузить на игрушки вредоносную прошивку, позволяющую исполнять на всех роботах произвольные команды с привилегиями суперпользователя. Таким образом, в теории злоумышленники могли бы получить контроль над перемещением роботов в пространстве, использовать встроенные камеры и микрофоны для подглядывания и подслушивания, звонить на роботов и так далее.
Как оставаться в безопасности
Впрочем, у этой сказки хороший конец. Мы рассказали разработчикам игрушки об обнаруженных проблемах, они приняли меры для их исправления, и сейчас описанные уязвимости уже устранены.
Напоследок хотим дать несколько советов, как защитить себя при использовании разнообразных смарт-гаджетов.
Помните, что всевозможные умные устройства — это, как правило, очень сложные цифровые системы, разработчики которых далеко не всегда обеспечивают безопасное и надежное хранение пользовательских данных.
При выборе подобного устройства внимательно изучите его обзоры и отзывы пользователей, а в идеале — и исследования безопасности, если таковые получится найти.
Имейте в виду, что сам по себе факт обнаружения уязвимостей в том или ином устройстве не делает его хуже, — проблемы можно найти где угодно. Обращать внимание надо на реакцию производителя: если недостатки устранены, то это хороший знак. А вот если производитель решил на них наплевать — это плохо.
Чтобы избежать подсматривания и подслушивания с помощью умных устройств, стоит выключать их, когда они не используются, закрывать встроенную камеру специальной шторкой, если она есть, или заклеивать стикером.
И, конечно же, нужно защищать все устройства всех членов вашей семьи с помощью надежного защитного решения. Взлом детского робота — довольно экзотическая опасность, но вероятность столкнуться с другими интернет-угрозами в наше время очень велика.