Недавно мы «порадовали» пользователей iPhone проблемами безопасности BLEee, но вряд ли мы сторонники какого-либо из фронтов в извечном споре Apple vs. Android, и готовы рассказать «отличную» новость про Android, если, конечно, в вашей душе есть место для злорадства.
Исследователи из Check Point Software Technologies обнаружили уязвимость, предположительно, в более чем 50% устройств на базе ОС Android в реализации механизма автонастройки для подключения к мобильному оператору по протоколу OMA CP (Open Mobile Alliance Client Provisioning), что позволяет злоумышленнику подменить как минимум следующие параметры устройства, осуществив атаку Man-in-the-middle с применением фишинга:
- сервер сообщений MMS;
- адрес прокси-сервера;
- домашнюю страницу и закладки браузера;
- адрес почтового сервера;
- серверы синхронизации контактов и календаря.
Реализация OMA CP
OMA CP — это протокол управления устройством передачи данных спецификации OMA Device Management, разработанный в соответствии с мобильным стандартом Открытого Мобильного Альянса (Open Mobile Alliance), использующий XML-подобный SyncML (Synchronization Markup Language). Протокол OMA CP использует беспроводной протокол передачи данных WAP. Текущая версия OMA CP — 1.1 от 2009 года. При этом для обмена не требуется, чтобы в смартфоне присутствовала SIM-карта или было настроено подключение к Интернету.
Векторы атак используют процесс предоставления данных мобильному клиенту «по воздуху» (over-the-air (OTA) provisioning), с помощью которого мобильные операторы устанавливают необходимые настройки на устройства, подключающиеся к сотовой сети.
Стандарт предоставляет ряд мер по аутентификации CP-сообщений от оператора мобильных услуг, но не все вендоры их реализуют. При этом и сами меры не отличаются надежностью.
В рамках Android данный протокол реализуется omacp.apk.
Если верить исследованию, базовая ОС Android не использует защитные механизмы OMA CP, при этом большинство вендоров решают этот вопрос самостоятельно с помощью аутентификации OTA. Поэтому, если любишь перепрошивать свой девайс стоковым Android, то сейчас есть повод задуматься.
Условия и реализация атаки
Для отправки вредоносных OMA CP сообщений атакующему достаточно иметь GSM-модем и находиться в пределах досягаемости жертвы/жертв. При этом возможны как таргетированные атаки, так и широковещательная рассылка запросов на изменение настроек.
NETWPIN-аутентификация
За редким исключением (рассмотрено ниже про Samsung) сообщения от оператора аутентифицируются, предоставив девайсу его же IMSI (Mobile Subscriber Identity, уникальный 64-битный идентификатор устройства, аналогичный IP-адресу в «этих ваших интернетах»).
Насколько сложно «достать» IMSI — вопрос отдельный, но есть как минимум следующие способы:
- вредоносное приложение на устройстве (при этом достаточно разрешения в манифесте permission.READ_PHONE_STATE);
- посмотреть SIM-карту жертвы;
- использование ISMI-catcher, имитирующих мобильные вышки, что потребует определенных вложений, но вполне возможно.
При получении CP-сообщения пользователю не предоставляется какая-либо информация об отправителе, и решение о легитимности решается сугубо жертвой.
USERPIN-аутентификация
Даже если у злоумышленника отсутствует ISMI, то можно осуществить следующий вектор атаки:
- отправка сообщения от имени оператора с запросом о применении настроек;
- автоматический запрос у пользователя PIN-кода системой;
- отправка CP-сообщения с настройками, защищенного PIN-кодом, указанным пользователем.
Особо отличившийся
Если большинство уязвимых смартфонов использует слабые механизмы аутентификации OMA SMS, то в некоторых устройствах Samsung эта защита не была реализована в принципе на момент исследования (март 2019 г.). Злоумышленник мог просто отправить сообщение с запросом на настройку смартфона и при условии, что пользователь согласится с установкой, задаваемые в CP-сообщении параметры были бы применены. На данный момент Samsung выпустила обновление безопасности для исправления SVE-2019-14073. Так что, если ты не любитель обновлений от вендора или фанат кастомных Android-прошивок, то лучше озаботиться данной проблемой.
Что интересно, у Samsung это уже не первый случай подобного отношения к безопасности OMA CP:
В Samsung Galaxy S4-S7 приложение omacp игнорирует разграничения безопасности, что ведет к применению незапрашиваемых WAP Push SMS сообщений, в результате чего происходит неавторизованное изменение настроек в рамках набора уязвимостей SVE-2016-6542.
Противодействие
- Самый брутальный способ: отключение приложения omacp. Но тогда «шторка» твоего Android может лишиться части уведомлений, которые для тебя могут быть критичны.
- Если не используешь Samsung и стоковый Android (или вдруг устройство неизвестного однодневного китайского бренда), то в принципе достаточно будет разумного использования головы, потому что векторы атак предполагают твое непосредственное участие.
- Так как по сути это MitM-атака, то большинство вопросов «точечно» (на уровне критичных приложений) решается использованием certificate pinning, хотя на практике многие бизнес-приложения пренебрегают данным способом.
Как дела у Apple? и философский вопрос
К счастью для злорадного (нет, это не ты) Apple-пользователя, в данных устройствах используется механизм Apple iOS profiles с использованием сертификатов. Почему похожая система защиты не используется в Android-устройствах? Вопрос более чем интересный.