Ломаем игрушки: уязвимости в детском роботе

Наши эксперты нашли дыры в популярном детском роботе-игрушке, позволявшие злоумышленникам сделать на него видеозвонок, угнать родительский аккаунт и модифицировать прошивку.

Проблемы безопасности детского робота-игрушки

Эксперты «Лаборатории Касперского» изучили безопасность популярного детского робота и нашли серьезные проблемы, из-за которых злоумышленники получали возможность сделать видеозвонок на любого робота, перехватить управление над родительским аккаунтом или — потенциально — загрузить на робота модифицированную прошивку. Рассказываем обо всем этом подробнее.

Что умеет игрушечный робот

Изученная нами модель детского робота — это своеобразный гибрид смартфона (или планшета, если угодно) и умной колонки, поставленный на колесное шасси, позволяющее ему перемещаться в пространстве. Конечностей у робота нет, так что возможность ездить по дому — единственный вариант его физического взаимодействия с окружающим миром.

Центральным элементом робота служит крупный сенсорный дисплей, на который могут выводиться интерфейс управления, интерактивные и обучающие приложения для ребенка, а также мультяшное лицо, хорошо и разнообразно анимированное. Естественно, анимация зависит от контекста — над персоной робота разработчики очень неплохо потрудились.

Также роботом можно управлять с помощью голосовых команд, но это работает далеко не со всеми функциями — часто робота все же приходится ловить и тыкать пальцем ему в лицо во встроенный дисплей.

Помимо встроенного микрофона и весьма громкого динамика, у робота есть широкоугольная камера, расположенная прямо над дисплеем. И одна из важных функций, активно рекламируемых производителем, — это возможность родителям совершать видеозвонки ребенку прямо на робота.

На передней стороне робота — примерно посередине между дисплеем и колесами — находится дополнительный оптический датчик для распознавания объектов, чтобы робот мог избегать препятствий при перемещении. Поскольку распознавание препятствий никак не зависит от основной камеры, то разработчики предусмотрели очень полезную штуку: физическую шторку, позволяющую полностью эту камеру закрыть.

Так что если вы опасаетесь, что через камеру кто-нибудь может подсматривать за вами или вашим ребенком (увы, небезосновательно, но об этом ниже), то ее можно просто прикрыть шторкой. Ну а если вы переживаете о подслушивании через встроенный микрофон, то робота можно полностью выключить — судя по тому, как долго после этого он загружается, это действительно честное отключение, а не «режим сна».

Разумеется, на стороне родителей для управления и контроля за игрушкой используется специализированное приложение. И, как вы вероятно догадываетесь, все это подключено к Интернету и под капотом задействует массу различных облачных сервисов (если вам интересны технические подробности, то их можно найти в полной версии исследования безопасности, опубликованной на Securelist).

А чем сложнее система, тем больше вероятность того, что в ней есть дыры, которые позволяют сделать с ней что-то нехорошее. И тут мы подходим к основной теме этого поста: внимательно изучив робота, мы обнаружили несколько серьезных уязвимостей.

Неавторизованные видеозвонки

Первое, что мы выяснили в процессе исследования, — злоумышленники потенциально могли совершать видеозвонки на любого робота. Сервер производителя робота позволял получить токен для установки сеанса видеосвязи, зная ID робота и идентификатор родителя. ID всех роботов состоят из девяти символов (первые два всегда одинаковы) и схожи с серийным номером, напечатанным на корпусе, поэтому их легко подобрать. А идентификатор родителя можно было получить, отправив запрос с ID робота на сервер производителя без какой-либо аутентификации.

Таким образом, злоумышленник, желающий позвонить какому-нибудь ребенку, мог либо постараться узнать ID конкретного робота, либо устроить чат-рулетку, перебирая ID и звоня на случайных роботов.

Полный перехват контроля над родительским аккаунтом

Помимо этого, благодаря излишней «доверчивости» системы можно было отправить на сервер производителя запрос, используя только ID робота, а в ответ получить массу персональных данных — IP-адрес, страну проживания, имя, пол и возраст ребенка, плюс информацию родительского аккаунта — адрес электронной почты и номер телефона родителя, а также код для привязки родительского приложения к роботу.

А это, в свою очередь, открывало возможность для куда более серьезной атаки: полного угона родительского аккаунта. Для этого злоумышленнику достаточно было удаленно выполнить несколько несложных действий.

  • Со своего устройства войти в родительский аккаунт, используя полученную электронную почту или номер телефона. Для авторизации нужно также указать одноразовый код из 6 цифр, но количество попыток его ввода не ограничено, так что подобрать код можно банальным перебором.
  • В один клик отвязать робота от настоящего родительского аккаунта.
  • Привязать его к собственному аккаунту. Для подтверждения этого действия используется тот самый код привязки, о котором мы говорили выше, — его сервер отдавал любому желающему.

После угона аккаунта родители полностью потеряли бы доступ к роботу: для его восстановления пришлось бы связаться с техподдержкой. Причем злоумышленник мог бы легко повторить всю процедуру с начала и снова угнать аккаунт, ведь все, что для этого нужно, — ID робота, который остается неизменным.

Загрузка модифицированной прошивки

Наконец, в процессе изучения механизмов работы различных систем робота мы обнаружили проблемы с безопасностью обновления его ПО. Пакеты обновлений не имели цифровых подписей, и робот без каких-либо проверок устанавливал сформированный определенным образом архив с обновлением, который ему отдавал сервер производителя.

Это давало потенциальную возможность совершить атаку на сервер обновлений, подменить архив на модифицированный и загрузить на игрушки вредоносную прошивку, позволяющую исполнять на всех роботах произвольные команды с привилегиями суперпользователя. Таким образом, в теории злоумышленники могли бы получить контроль над перемещением роботов в пространстве, использовать встроенные камеры и микрофоны для подглядывания и подслушивания, звонить на роботов и так далее.

Как оставаться в безопасности

Впрочем, у этой сказки хороший конец. Мы рассказали разработчикам игрушки об обнаруженных проблемах, они приняли меры для их исправления, и сейчас описанные уязвимости уже устранены.

Напоследок хотим дать несколько советов, как защитить себя при использовании разнообразных смарт-гаджетов.

  • Помните, что всевозможные умные устройства — это, как правило, очень сложные цифровые системы, разработчики которых далеко не всегда обеспечивают безопасное и надежное хранение пользовательских данных.
  • При выборе подобного устройства внимательно изучите его обзоры и отзывы пользователей, а в идеале — и исследования безопасности, если таковые получится найти.
  • Имейте в виду, что сам по себе факт обнаружения уязвимостей в том или ином устройстве не делает его хуже, — проблемы можно найти где угодно. Обращать внимание надо на реакцию производителя: если недостатки устранены, то это хороший знак. А вот если производитель решил на них наплевать — это плохо.
  • Чтобы избежать подсматривания и подслушивания с помощью умных устройств, стоит выключать их, когда они не используются, закрывать встроенную камеру специальной шторкой, если она есть, или заклеивать стикером.
  • И, конечно же, нужно защищать все устройства всех членов вашей семьи с помощью надежного защитного решения. Взлом детского робота — довольно экзотическая опасность, но вероятность столкнуться с другими интернет-угрозами в наше время очень велика.
Советы