Хакер #305. Многошаговые SQL-инъекции
Еще в 2015 году эксперты компании Pen Test Partners рассказывали о способе взлома Wi-Fi сетей через «умный» чайник iKettle, созданный компанией Smarter, а затем обнаружили, что кофемашина Smarter Coffee, созданная тем же производителем, тоже представляет угрозу безопасности пользователей.
Спустя два гола после публикации этих исследований, компания Smarter выпустила iKettle версии 3 и Coffee Maker версии 2. В обновленных продуктах использовался новый чипсет, не подверженный проблемами, обнаруженным Pen Test Partners, хотя эксперты компании подчеркивали, что Smarter так и не присвоила найденным ранее уязвимостям идентификаторы CVE и не предупредила клиентов о проблемах.
Теперь изучить продукцию Smarter решил специалист компании Avast Мартин Хрон (Martin Hron). В огромной статье, которую Хрон посвятил взлому кофемашины, он рассказывает, как сумел без ведома пользователя включить подогрев и подачу воды, активировать кофемолку и даже вывести на дисплей устройства сообщение с требованием выкупа (причем все это сопровождалось непрекращающимся писком звукового сигнала). Отмечу, что все это эксперт проделал с одной из старых кофемашин компании, специально реконструировав ее для тестов.
«Меня попросили доказать миф, что угроза для IoT-устройств заключается не только в том, что доступ к ним можно получить через уязвимый маршрутизатор и интернет, но и в том, что само по себе устройство уязвимо и его можно скомпрометировать, не проникая в сеть и не взламывая маршрутизатор. Это возможно. И я сделал это, чтобы продемонстрировать, что это может произойти с другими устройствами интернета вещей», — рассказывает исследователь.
Так, почти сразу эксперт выяснил, что после включения кофемашина работает как точка доступа Wi-Fi, используя незащищенное соединение для связи со смартфоном и специальным приложением. Это приложение, в свою очередь, используется для настройки устройства, а также позволяет подключить его к домашней сети Wi-Fi. В отсутствие шифрования у исследователя не возникло проблем с изучением того, как именно смартфон управляет кофеваркой, а так как аутентификация тоже отсутствовала, для этих целей можно было использовать и поддельное приложение.
Однако обнаружить что-либо опасное в приложении не удалось, и тогда Хрон перешел исследованию механизма, который кофемашина использует для получения обновлений прошивки. Оказалось, что их устройство тоже получает через смартфон, и тоже без шифрования, аутентификации и подписания кода.
Так как последняя версия прошивки хранилась внутри Android-приложения, эксперт смог перенести ее на компьютер и отреверсить с помощью IDA. Практически сразу он обнаружил читаемые строки и пришел к выводу, что шифрование отсутствует и здесь тоже.
Загоревшись идеей создания вредоносной прошивки для Smarter, Хрон был вынужден разобрать устройство и выяснить, какое железо оно использует.
Разобравшись с железом, Хрон перешел к изучению самой прошивки и смог выделить наиболее важные для взлома функции, например, проверку того, стоит ли кофейник на нагревательном элементе, или найти способ, заставить устройство издавать звуковой сигнал. И, что наиболее важно, исследователь разобрался, как вынудить устройство установить вредоносное обновление.
В конце концов, Хрон получил достаточно информации, чтобы написать Python-скрипт, имитирующий процесс обновления. Проверив на деле слегка измененную версию прошивки, он обнаружил, что она прекрасно работает.
Как видно на иллюстрации, изначально эксперт хотел заставить устройство майнить криптовалюту Monero, но это было бы крайне неэффективно и почти не имело бы смысла, учитывая процессор и архитектуру Smarter. Поэтому в итоге он решил остановиться на вымогательской модификации прошивки, которая требовала бы выкуп, чтобы устройство перестало вести себя так, как показано в ролике выше.
Хрон пишет, что вымогательская атака — это меньшее, что может сделать злоумышленник. Так, если хакер приложит больше усилий, он сможет вынудить кофеварку (и, вероятно, другие устройства производства Smarter) атаковать маршрутизатор, компьютеры или другие устройства, подключенные к той же сети.
К счастью, из-за ряда ограничений подобная атака вряд ли представляет непосредственную угрозу для реальных пользователей, и скорее является интересным экспериментом. Ведь после того, как скрипт для обновления и сама модифицированная версия прошивки созданы и загружены на Android-смартфон (проделать такое с iOS будет сложнее в силу ее закрытости), есть несколько способов провести атаку. Самый простой из них — найти уязвимую кофемашину в зоне действия сети Wi-Fi.
В противном случае придется искать SSID, который транслирует кофемашина. Причем после первоначального подключения устройства этот SSID, необходимый для настройки девайса и запуска обновлений, более не доступен. То есть злоумышленник должен заранее знать, что кофемашина существует и используется в данной сети. Затем он должен, к примеру, отправить пакет деавторизации, который приведет к ее отключению. Как только это произойдет, устройство вновь станет транслировать специальный SSID, позволяя хакеру передать ему обновление с вредоносной прошивкой.
Хрон отмечает, что обойти эти ограничения позволит взлом Wi-Fi маршрутизатора, который можно будет использовать в качестве плацдарма для атаки на кофемашину. Такую атаку уже возможно выполнить удаленно, однако если злоумышленник скомпрометировал маршрутизатор, то вряд ли неисправная кофемашина – это именно то, о чем стоит беспокоиться владельцу взломанной сети.