Маленькая секс-игрушка с большими проблемами

Вернер Шобер (Werner Schober) работает в компании Sec Consult и параллельно учится в Австрийском Университете прикладных наук. И однажды — на пятом курсе — перед ним встал сложный вопрос, который наверняка многим знаком: какую же тему для диплома выбрать? Вернер начал с того, что составил облако тегов со словами из тех тем, которые выбрали его однокурсники.

И там, конечно же, оказались все стандартные ключевые слова современного ИТ — биткойн, GDPR, облака и так далее. Но почему-то там не было Интернета вещей — тоже крайне популярной нынче темы. Ей-то Вернер и решил заняться, тем более что благодаря работе в Sec Consult у него был немаленький опыт пентестов (по сути, взлома устройств или сетей), который вполне можно было применить в данной области.

Однако Интернет вещей — понятие очень широкое. Туда входит буквально все — от умных светофоров и модуляторов сердечного ритма до умных чайников. Надо было как-то сузить тему, выбрать что-то более конкретное. Но по той части Интернета вещей, которая относится к более-менее критической инфраструктуре, вроде тех же светофоров или модуляторов, и без Вернера Шобера достаточно исследователей и их публикаций. А про умный дом с чайниками и лампочками, с которыми знакомо множество людей, тоже написано изрядно, да и совсем уж критических уязвимостей там нет. Ну, устроил кто-то DDOS на вашу газонокосилку — ладно, покосите разок вручную.

Поэтому Вернер решил выбрать такую подкатегорию Интернета вещей, про которую и исследований не так уж много (хотя они тоже есть — хакеры любят это ломать), и уровень проблемности уязвимостей в ней весьма высокий, — его диплом посвящен «умным» секс-игрушкам.

Вернер протестировал три устройства — два китайских и одно немецкое. В каком нашлось больше уязвимостей? Забежим чуть вперед: в немецком. И еще каких! Они оказались настолько критическими и их было так много, что Вернер забросил китайские устройства и весь диплом посвятил немецкому. О нем же он и рассказывал в своем докладе на 35-м Chaos Communication Congress (35C3).

Немецкое устройство называется Vibratissimo Panty Buster. Оно подключается к смартфону на Android или iOS при помощи Bluetooth и управляется через специальное приложение — либо локально, либо удаленно, с другого смартфона. Впрочем, возможности приложения куда шире — по сути, это полноценная соцсеть с чатами, групповыми чатами (интересно, зачем они здесь?), галереями фотографий, списками друзей (тоже интересная функция для секс-игрушки) и так далее.

Программная часть: как познакомиться со всеми пользователями секс-игрушек

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

Интерес там представляет папка Config, в которой обнаружился одноименный файл, содержащий логин и пароль для доступа к базе данных, записанные без какого-либо шифрования. Вернер смог найти интерфейс для подключения к ней, ввел логин и пароль — и получил доступ к данным всех пользователей устройств Vibratissimo. В том числе к их логинам и паролям (которые опять-таки хранились без шифрования), а также чатам, изображениям и видео. Догадываетесь, какие чаты и изображения могут быть в соцсети, посвященной секс-игрушке? Довольно приватные.

Или вот еще проблема: при создании галереи в приложении ей присваивается некоторый ID. Когда вы хотите просмотреть галерею, приложение отправляет запрос, в который в том числе включен этот ID. Для тестовых целей Вернер создал галерею с двумя фотографиями котиков, узнал, какой у нее ID, а потом подумал: а что если изменить в запросе этот ID, скажем, вычтя из него единичку? В результате он получил доступ к чьей-то галерее, в которой были совсем не котики.

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

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

Интерфейсная часть: как «порадовать» незнакомку в метро

Как уже упоминалось, Vibratissimo Panty Buster подключается к смартфону при помощи Bluetooth. В данном случае это энергоэффективная версия Bluetooth LE, и она подразумевает наличие одного из пяти методов «спаривания» устройств, то есть обмена ключами между ними для установки соединения. Код для подключения может быть написан на самом устройстве, или, скажем, подключаемое устройство покажет вам его на своем дисплее — и его потребуется ввести на смартфоне. Или же этот код заранее известен (скажем, это 0 или 1234). Также устройства могут обмениваться кодом при помощи интерфейса NFC, ну или никакого обмена может вообще не происходить.

NFC и дисплея у Panty Buster нет, так что эти варианты отпадают. Остается еще два ну хоть сколько-то безопасных варианта, но создатели устройства, видимо, решили максимально упростить подключение и выбрали самый простой и самый небезопасный — никак ключами не обмениваться. Это значит, что если записать команду активации устройства и постоянно отправлять ее, то все оказавшиеся рядом Panty Buster дружно завибрируют. То есть кто-то может просто ходить, скажем, по метро с активированным приложением и «радовать» случайных встречных, кому «посчастливилось» иметь устройство при себе.

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

Аппаратная часть: как узнать, что внутри у вибратора

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

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

Вместо заключения

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

Так что вывод здесь один — и мы повторяем его едва ли не в каждом посте про «умные» вещи: прежде чем покупать «умную» вещь, почитайте про нее в Интернете. А главное, десять раз подумайте, действительно ли вам нужны ее умные функции. Может, можно обойтись обычной вещью, которая не подключается к Интернету и не управляется через приложение? Она наверняка окажется безопаснее — и дешевле.