Среди всех уязвимостей, те, что не требуют каких-либо действий пользователя — пожалуй, самые опасные. При правильной организации атаки жертва даже не узнает о том, что его или ее взломали и как это было сделано. Сотрудник Project Zero, исследовательского подразделения Google, продемонстрировал реализацию подобных атак на iPhone.
Ян Бир (Ian Beer) рассказал о том, как изучал уязвимости беспроводных протоколов iOS в блоге проекта Project Zero. Отчет получился весьма внушительным — инженер работал над ним целых шесть месяцев в 2020 году. По словам Яна, начал он его во время карантина, когда ему нужно было как-то отвлечься от назойливых домочадцев. А самые интересные ключи во время поиска уязвимости он обнаружил просматривая код одной из версий операционной системы iOS в качестве прокрастинации.
Причем не какой-то случайной версии, а выпущенной в 2018 году бета-версии, которая по ошибке не была «зачищена» в процессе компиляции. Это означает, что к некоторым ее файлам не применялась команда strip. Следовательно, в них сохранилась информация о том, какая строка исходного кода генерировала инструкции, а также имена переменных в исходном коде. Такие данные для злоумышленника или любопытного талантливого программиста (что нередко одно и то же) могут быть чрезвычайно полезны. Они позволяют связать определенные инструкции с разделами памяти, используемой во время их выполнения.
На основании своей находки Бир создал сразу несколько эксплойтов — программ, эксплуатирующих уязвимости. Все они основывались на ряде изъянов в технологии AWDL, используемой во всех устройствах Apple. Реализация некоторых из них потребовала значительного времени и находчивости. Но в итоге Ян смог продемонстрировать настоящую «хакерскую магию»: воровать с устройств фотографии, удаленно перезагружать смартфоны и выполнять нужный ему код. Атаку с перехватом изображений он показал в одном из видео. Примечательно, что пользователю не нужно даже было куда-то это фото пересылать или делать его в определенный момент времени.
Все, что необходимо злоумышленнику — несколько специально написанных программ, знание принципов работы AWDL, микрокомпьютер Raspberry Pi и дополнительный Wi-Fi-адаптер. Это оборудование доступно, подключается к любому ноутбуку и простое в эксплуатации. Исходный код драйверов AWDL есть в открытом доступе в сети, а технические тонкости технологии можно изучить так же, как это сделал Бир. Или методом обратной разработки, которым воспользовались исследователи из Дармштадтского технического университета в 2018 году. Их отчет (PDF) о потенциальных уязвимостях AWDL в свое время наделал шуму в профессиональных кругах.
Обо всех подобных находках Бир и его единомышленники всегда сообщают разработчикам изученной системы. Так было сделано и в этот раз. Свой отчет Ян опубликовал только после того, как получил подтверждение, что компания Apple устранила обнаруженную им уязвимость. Проблема только в том, что «заплатка» закрывает лишь одну из брешей. Сколько их всего и какие еще могут быть использованы злоумышленниками — неизвестно. На данный момент свидетельств реализации подобных эксплойтов обнаружено не было. Однако, как было сказано в самом начале, такие атаки очень трудно отследить.
Протокол AWDL (Apple Wireless Direct Link) был представлен еще в 2014 году. Сейчас он используется более чем на миллиарде устройств. Говоря простым языком, он организует многофункциональную прослойку между беспроводными локальными сетями (Bluetooth, Wi-Fi) и операционной системой вместе со всеми приложениями. Например, без него невозможна работа таких распространенных апплетов, как AirPlay и AirDrop. Что особенно опасно, для выполнения созданных Биром эксплойтов вовсе необязательно, чтобы AWDL был включен на устройстве. Операционная система на гаджетах Apple позволяет принудительно активировать этот протокол удаленно.
В самом начале своего отчета Ян просит не воспринимать его легкомысленно. Подход «да никто не будет тратить шесть месяцев, чтобы взломать мой айфон» некорректен. По его словам, вообще-то «всего за шесть месяцев, один человек, работающий у себя в спальне, смог разработать способ скомпрометировать безопасность любого iPhone, к которому он может близко подобраться». И если кто-то скажет, что радиус действия Wi-Fi незначителен, чтобы об этом беспокоиться, то всегда можно использовать направленные антенны. И в этом случае уже и 200 метров в городе — не проблема. А на местности, где меньше помех, и того больше.