После того как мы написали о том, как можно взломать велосипед, нам некоторое время казалось, что вряд ли кому-то удастся удивить нас взломом более неожиданного предмета. Однако фантазия разработчиков устройств, по-видимому, безгранична — и хакеры от них не отстают в своей изобретательности.
Итак, встречайте: подключенный к Интернету матрас, разработанный компанией Eight Sleep, и несколько способов его взломать, которые обнаружил исследователь безопасности Дилан Эйри.
Умный матрас? Что это вообще такое?
Сперва стоит поговорить о том, что вообще представляет собой умный матрас Eight Sleep, а также о том, зачем и кому может прийти в голову приобрести себе такое чудо техники. Разработчики Eight Sleep позиционируют свое решение как «идеальную систему сна» и адресуют ее в первую очередь людям с различными проблемами со сном — страдающим от бессонницы, некачественного сна, храпа и тому подобных неприятностей, которые могут здорово испортить жизнь.
Основой этого продукта является наматрасник и дополняющий его внешний блок (в терминологии Eight Sleep — хаб), которые позволяют регулировать температуру постели, нагревая или охлаждая ее в зависимости от заданных владельцем настроек. Или автоматически — к этому мы вернемся чуть ниже. Для этого в наматрасник встроена система трубочек, по которым циркулирует вода, а подключенный к этой системе внешний блок занимается ее нагревом или охлаждением. При этом Eight Sleep Pod разделен на две независимые зоны, для каждой из которых можно задать разные настройки. Диапазон поддерживаемых температур весьма широк — от 12 до 43 °C.

Комплект Eight Sleep Pod 4 Ultra — самая дорогая версия умного матраса Eight Sleep стоимостью $4699. Источник
Но это еще не все! Также в наматрасник встроено несколько десятков «биометрических датчиков клинического класса», которые используются, чтобы отслеживать качество сна пользователей Eight Sleep. Заодно в наматраснике есть вибромоторы, позволяющие реализовать функцию будильника, а также датчики температуры и влажности окружающей среды. А в самой дорогой комплектации — Eight Sleep Pod 4 Ultra — в комплект входит еще и трансформируемое основание для кровати с электронным управлением.
Естественно, во внешнем блоке Eight Sleep есть Wi-Fi, через который вся система подключена к Интернету. Настраиваются и управляются умные матрасы Eight Sleep почти исключительно через приложение. «Почти», потому что самое новое (и дорогое) поколение наматрасников Pod 4 имеет по бокам чувствительные области, по которым можно «тапать», тем самым управляя некоторыми функциями.
Система Autopilot и сон по подписке
Главная программная составляющая Eight Sleep — это система Autopilot, которая собирает массу статистики о качестве и количестве сна пользователя, используя для этого встроенные в наматрасник датчики, и составляет для владельца подробные отчеты. Помимо этого, в Autopilot реализовано еще несколько интересных функций. Например, система умеет определять моменты, когда пользователь начинает храпеть, и меняет геометрию трансформируемого основания кровати для борьбы с храпом.

Используя датчики вибрации, Autopilot отслеживает моменты храпа и борется с ним, изменяя геометрию трансформируемого основания кровати. Источник
Также в Eight Sleep есть физический будильник, который для пробуждения пользователя меняет температуру постели и включает вибрацию. Впрочем, самая важная функция Autopilot, которую Eight Sleep продвигает наиболее активно, — это собственно режим «автопилота». То есть постоянный мониторинг качества сна пользователя и автоматическая подстройка температуры, которая обеспечивает максимально комфортный и глубокий сон.
Предыдущая часть этого текста могла показаться рекламой, так что самое время перейти к недостаткам Eight Sleep — тем более, что они есть. Начнем с того, что сами по себе устройства невероятно дорогие: цены на официальном сайте стартуют от $3000, а за топовую версию Pod 4 Ultra придется отдать аж $4700.

За подписку на Autopilot придется отдать еще от $200 в год — иначе самые интересные функции просто не будут работать. Источник
Но на этом расходы не заканчиваются: также клиенту практически неминуемо придется оплатить подписку, которая стоит от $200 до $300 в год. Теоретически можно не платить, но без подписки большинство функций умного матраса не будет работать.
И конечно же, будучи современной технологической компанией, Eight Sleep постоянно собирает данные о пользователях. Генеральный директор компании Маттео Францескетти, совершенно не стесняясь, рассказывает об этом в своем X-аккаунте:

Компания Eight Sleep уже накопила записи о почти миллиарде часов сна своих пользователей. Источник
Как взломать матрас. Способ первый: бэкдор от разработчика
Теперь перейдем к основной теме этого поста — взлому умного матраса. Исследователь безопасности Дилан Эйри решил изучить, как обстоят дела с безопасностью у Eight Sleep — по его словам, просто из любопытства. Собственно, Дилан Эйри — счастливый обладатель умного матраса Eight Sleep, помогающего ему бороться с бессонницей.
Напомним, что ранее этот эксперт уже отметился несколькими интересными работами — в частности, он исследовал возможность создания не контролируемых администраторами фантомных аккаунтов в корпоративных приложениях и обнаружил способ атаки на Google OAuth через заброшенные домены.
Для того чтобы начать исследование безопасности матраса, Эйри была нужна прошивка этого умного устройства. Когда речь идет о производителях, которые внимательно относятся к вопросам безопасности, раздобыть прошивку обычно непросто — и эта задача часто превращается в отдельное увлекательное приключение. Однако в случае Eight Sleep это оказалось на удивление легко — сервер для загрузки обновлений без каких-либо вопросов отдает прошивку умного матраса любому желающему, зашедшему по ссылке.
Изучив код Eight Sleep, исследователь обнаружил в нем несколько интересных вещей, в частности API для удаленного подключения по протоколу SSH. Поскольку умные матрасы Eight Sleep, как и многие другие современные устройства, — полноценные компьютеры на Linux, такое подключение позволяет удаленно запускать произвольный код. На матрасе.

В коде прошивки Eight Sleep обнаружился программный интерфейс для удаленного доступа к умным матрасам. Источник
Судя по обнаруженному в коде прошивки адресу e-mail, привязанному к публичному ключу SSH, удаленный доступ к любому матрасу могли иметь все (или по крайней мере многие) инженеры Eight Sleep.

Судя по привязанному к публичному ключу SSH, возможность удаленного подключения к любому умному матрасу имеют все инженеры Eight Sleep. Источник
В теории, с помощью такого подключения можно следить за владельцем матраса. Например, знать, когда тот спит или, наоборот, отсутствует ночью дома. Или определять, находятся в постели один человек или два. Также такой доступ позволяет совершать разные хулиганские действия — произвольно менять температуру, включать или отключать будильник, менять геометрию основания кровати и так далее.
Пока ничего такого с владельцами матрасов Eight Sleep вроде бы не случалось. Однако уместно будет вспомнить, что иногда такие теоретические возможности реализуются на практике. Например, совсем недавно так произошло с роботами-пылесосами Ecovacs, уязвимости в которых хакеры-хулиганы использовали для того, чтобы портить жизнь их хозяевам.
Как взломать матрас. Способ второй: ключ AWS в коде прошивки
Также при изучении прошивки Eight Sleep исследователь обнаружил в ее коде действующий ключ AWS (Amazon Web Services), который использовался для постоянной загрузки в облако данных телеметрии. Опять-таки в теории, если бы этот ключ попал в плохие руки, это могло бы привести к серьезным последствиям и нарушению приватности пользователей.

Лучшие практики программирования умных устройств: захардкоженный ключ AWS в коде доступной любому желающему прошивки Eight Sleep. Источник
К сожалению (или к счастью), полной правды об этом узнать уже не получится — Дилан Эйри сообщил о своей находке компании Eight Sleep, и на момент публикации его исследования ключ уже был отозван. Однако сам факт наличия этого ключа в коде прошивки устройства, доступной, по сути, любому желающему, говорит о не слишком ответственном отношении компании к безопасности и конфиденциальности пользователей.
Заодно исследователь добавляет, что этот ключ мог бы быть использован как минимум для того, чтобы причинить финансовый ущерб самой компании с помощью отправки в облако AWS огромного количества бессмысленных запросов.
Как взломать матрас. Способ третий: джейлбрейк с помощью аквариумного кулера
Вероятно, под впечатлением от своих находок Дилан Эйри решил придумать способ, которым можно «джейлбрейкнуть» матрас — то есть отвязать его от облака и обрести независимость от сервисов Eight Sleep. В итоге исследователь подошел к вопросу весьма радикально: он просто отключил от терморегулирующего наматрасника внешний блок со всей его умной электроникой и подключением к Интернету.

Как отвязать умный матрас Eight Sleep от облака с помощью системы охлаждения и подогрева воды для аквариумов — цена вопроса $150. Источник
В качестве замены хаба Eight Sleep Дилан Эйри использовал… обычную систему охлаждения и подогрева воды для аквариума. Эта система не требует использования приложения и платной подписки, не собирает данные о пользователе, не содержит бэкдоров и работает без подключения к Интернету. Зато она позволяет не менее эффективно регулировать температуру кровати и, что немаловажно, стоит всего $150.
Ну а для желающих решить вопрос с привязкой продукции Eight Sleep к облаку производителя менее радикальным способом также существует проект Free Sleep. Это набор ПО с открытым кодом, который позволяет взять контроль над умным матрасом в свои руки.
Хотите узнать, какие еще неожиданные девайсы умудрялись взламывать хакеры? Пожалуйста!
Дырявая миска, или опасности смарт-кормушек
Ломаем игрушки: уязвимости в детском роботе
Взлом умного дома нашего босса
Безопасность сетевых видеокамер: плохо, еще хуже и ужасно
Маленькая секс-игрушка с большими проблемами
…и еще много чего!