Исследователи из лаборатории Secure Mobile Networking Lab университета Дармштадта в Германии опубликовали работу, в которой описали теоретический способ атаки на iPhone, который может сработать, даже если тот выключен. В своем исследовании они разобрали работу беспроводных модулей, нашли способы проанализировать прошивку Bluetooth и допустили возможность внедрения вредоносного кода, который работает полностью автономно от основной операционной системы iOS.
Если добавить немного воображения, можно представить такой сценарий, когда злоумышленник прикладывает «зараженный» телефон к смартфону жертвы и переносит вредоносный код, который потом крадет данные кредитной карты или даже виртуальный ключ от автомобиля.
Напрячь воображение придется, потому что авторы работы ничего такого на самом деле не показали: они остановились в шаге от финального этапа практической атаки, на котором на смартфон загружается что-то реально полезное вредное. Впрочем, даже без этого исследователями была проделана огромная работа по анализу недокументированной функциональности телефона, реверс-инжинирингу прошивки Bluetooth и моделированию различных сценариев работы с беспроводными модулями.
Если атака не сложилась, о чем тогда разговор? Мы обязательно объясним, но начать нужно с важного объявления: если устройство выключено, но при этом с ним можно как-то взаимодействовать (взламывать, например), то — логика! — оно на самом деле выключено не до конца!
Как же мы докатились до жизни такой? Вот с этого и начнем.
Режим низкого потребления
В 2021 году компания Apple анонсировала возможность найти с помощью сервиса Find My (на русском он недавно стал «Локатором», но, кажется, это название пока не очень-то прижилось) потерянный айфон даже в том случае, если он выключен. Эта функция есть в современных смартфонах Apple начиная с iPhone 11.
Если, например, вы где-то выронили телефон и у него через некоторое время разрядилась батарейка, то он не выключается полностью, а переходит в режим Low Power Mode, в котором питание подается только на очень ограниченный набор модулей. Это в первую очередь беспроводные модули Bluetooth и Ultra Wide Band, а также модуль NFC. А еще так называемый Secure Element — защищенная память, хранящая самые важные секреты, например данные кредитных карт для оплаты телефоном.
Bluetooth в «режиме глубокого сна» используется для передачи данных, UWB — для точного определения положения смартфона в пространстве. В режиме Low Power Mode смартфон шлет информацию о себе, а айфоны проходящих мимо людей могут ее принимать. Если владелец потерянного телефона на сайте Apple зайдет в личный кабинет и отметит телефон как утерянный, информация с окружающих смартфонов будет использована для определения местоположения устройства. О том, как это работает, мы недавно рассказывали в посте про слежку с помощью AirTag.
Secure Element же здесь замешан, чтобы обеспечить работу критических сервисов, которые могут понадобиться в том числе и тогда, когда разрядилась батарейка. Каких? Про кредитную карту мы уже сказали. Также это задел под использование телефона в качестве ключа от автомобиля — это новейшая фича, которая доступна для ограниченного количества (новых, естественно) автомобилей с 2020 года.
Сразу после анонса среди специалистов по информационной безопасности началось обсуждение возможных рисков для безопасности от такой новой функции. Исследователи из Германии решили проверить возможные сценарии атаки на практике.
Нюансы работы сервиса Find My в выключенном виде
Прежде всего авторы работы провели детальный анализ работоспособности самой системы Find My в режиме «глубокого сна» и открыли ранее неизвестные особенности. Основную работу в выключенном виде на себя берет модуль Bluetooth, который перед выключением перезагружается и конфигурируется набором команд из iOS. Дальше он периодически посылает в эфир пакеты данных, позволяющие другим устройствам обнаружить такой не до конца выключенный айфон.
Как выяснилось, длительность этого режима ограничена: как минимум в версии iOS 15.3 задано всего 96 «выходов в эфир» с интервалом в 15 минут. То есть утерянный и выключенный айфон будет доступен для обнаружения только в течение суток. Если телефон выключился из-за разряженной батарейки, срок обнаружения и того меньше — примерно пять часов. Это можно считать особенностями фичи, но был найден и реальный баг: иногда при выключении телефона режим «маячка» не активируется вовсе, хотя и должен.
Самый интересный момент здесь заключается в том, что модуль Bluetooth перепрограммируется перед выключением, то есть его функциональность радикально меняется. А что, если его можно перепрограммировать во вред владельцу?
Атака на выключенный телефон
Собственно, главным открытием исследователей было то, что прошивка Bluetooth-модуля не зашифрована и не защищена технологией Secure Boot. Secure Boot предполагает многоступенчатую проверку программного кода при загрузке— так, чтобы можно было запустить только прошивку, авторизованную производителем устройства.
Отсутствие шифрования позволяет анализировать прошивку, искать в ней уязвимости и позднее использовать их для атаки. Но отсутствие Secure Boot позволяет пойти дальше и вовсе заменить код от производителя на свой, и далее модуль Bluetooth его выполнит. Для сравнения — анализ модуля Ultra Wide Band, используемого в iPhone, показал, что механизм Secure Boot там имеется, хотя прошивка также не зашифрована.
Что это дает на практике? Само по себе — ничего. Нужно анализировать прошивку, пытаться подменить ее на что-то свое, искать способы взлома — и тогда уже это будет очевидная демонстрация атаки с тем или иным видом ущерба. Авторы работы подробно описали теоретическую модель атаки, но на практике не показали, что айфон прямо-таки можно взять и взломать через Bluetooth, NFC и UWB. Понятно только, что если на эти модули питание подается всегда, то и уязвимости должны работать всегда.
В Apple исследованием не впечатлились и никак на него не отреагировали. Впрочем, само по себе это мало о чем говорит: в Apple старательно держат poker face даже в тех случаях, когда угроза действительно серьезная и это прямо продемонстрировано на практике.
Надо понимать, что Apple очень много делает для того, чтобы не раскрывать своих секретов: исследователи имеют дело с закрытым программным кодом, часто зашифрованным, с собственным железом Apple и модулями сторонних производителей, сделанными на заказ. Смартфон — это большая, сложная система, разобраться в которой нелегко, тем более если производитель тебе скорее мешает, чем помогает.
Нельзя сказать, чтобы от сделанных исследователями открытий захватывало дух, но это результат большой кропотливой работы. Ценность данной публикации заключается в том, что исследователи обоснованно усомнились в безопасности механизма «выключим телефон, но оставим работать часть модулей». И в своих выводах доказали, что сомневаться стоит.
Когда устройство наполовину выключено
А выводы следующие: прошивка Bluetooth-модуля недостаточно защищена. Теоретически можно либо модифицировать ее из iOS, либо перепрограммировать тот самый режим Low Power Mode, расширив или изменив его функциональность. Прошивку модуля Ultra Wide Band можно исследовать на предмет уязвимостей. Главная же проблема заключается в том, что эти беспроводные модули (а также NFC) напрямую общаются с защищенным анклавом Secure Element… Нет, как-то скучно звучит, давайте мы все же попробуем взять некоторые выводы, сделанные в работе, и кратко пересказать их:
Теоретически можно украсть из айфона виртуальный ключ от вашего автомобиля. Даже если айфон выключен! Понятно, что если айфон является ключом от машины, потеря смартфона может обернуться угоном автомобиля. Но здесь речь идет о краже ключа, хотя телефон остается с вами. Злоумышленник подошел к вам в торговом центре, прикоснулся к сумке с телефоном и похитил виртуальный ключ.
Теоретически можно изменить данные, отправляемые модулем Bluetooth, когда телефон выключен. Например, для того, чтобы использовать смартфон для слежки за жертвой.
Теоретически можно украсть из телефона данные кредитной карты. Опять-таки, даже если телефон выключен.
Но это, конечно, все еще надо доказать. Работа ученых из Германии еще раз показывает, что добавление любой новой функциональности несет определенные риски безопасности, и их надо учитывать. Особенно когда настолько радикально меняются ожидания от устройства: вы думаете, что телефон выключен, а это не совсем так.
Впрочем, это не то чтобы новая проблема. Системы Intel Management Engine и AMD Secure Technology, также выполняющие задачи безопасности и защищенного удаленного управления, работают во всех случаях, когда на материнскую плату ноутбука или настольного компьютера подано питание. Как и в случае со связкой Bluetooth + UWB + NFC + Secure Element в айфонах, они имеют широкие права в компьютерной системе, и уязвимости в них могут быть очень опасными.
На обычных пользователей работа ученых из Германии пока никак не влияет: полученных в ходе исследования данных недостаточно для практической атаки. В качестве гарантированного решения проблемы авторы предлагают компании Apple внедрить аппаратный выключатель, который гарантированно обесточивает телефон — целиком, без оговорок. Но зная «любовь» Apple к лишним кнопкам на корпусе, можно быть уверенным, что такого не произойдет.