Ну Apple, BLEee

    Компания Apple активно внедряет в массы идею о том, что теперь-то с приватностью данных пользователей их продукции всё в порядке. Но исследователи из Hexway выяснили, что стандартный и активно используемый механизм Bluetooth LE (BLE) позволяет узнать довольно много о твоем айфончике.


    Если Bluetooth включен, то любой человек в радиусе действия сигнала может узнать:


    • состояние устройства;
    • информацию о заряде;
    • имя устройства;
    • состояние Wi-Fi;
    • доступность буфера;
    • версию iOS;
    • номер телефона.


    Скорее всего, это связано с новой функцией «Find my», анонсированной в этом году (Apple's 'Find My' Feature Uses Some Very Clever Cryptography | WIRED). Ее суть заключается в создании экосистемы Apple устройств, обменивающихся друг с другом информацией по BLE для возможности отслеживания украденных и потерянных устройств без использования GPS и мобильных каналов связи даже в выключенном состоянии. Хотя и было заявлено, что


    ...it built the feature on a unique encryption system carefully designed to prevent exactly that sort of tracking—even by Apple itself
    Перевод: [Find my] использует уникальную криптосистему, разработанную для предотвращения отслеживания [другими людьми], в том числе и Apple.

    Примеры актуальных векторов атак


    AirDrop


    Эта технология позволяет обмениваться файлами между устройствами Apple без интернет-соединения. При каждом «расшаривании» устройство посылает хеш твоего телефона в SHA256. Таким образом, создав базу номеров телефонов (хеш: номер телефона), можно заняться вполне эффективной ловлей телефонов в многолюдных местах… и отправлять их владельцам персонализированные сообщения через iMessage (имя владельца можно получить через TrueCaller или из имени устройства). Профит для магазинов более чем очевиден: рассылка спама всем мимо проходящим.


    Получение Wi-Fi-паролей


    При подключении к Wi-Fi-сети Apple устройство отправляет широковещательный запрос, и «дружественное» Apple устройство может помочь тебе получить доступ к данной сети, если этого захочет пользователь. Если получить по 3 байта хешей одного сотрудника и при попытке подключения к корпоративной сети сделать бродкаст с полученными данными, то, возможно, другой сотрудник окажется очень добрым и, увидев знакомое имя в запросе, поделится с тобой паролем.


    Как это работает


    Анализ BLE-пакетов


    Модифицировав скрипты из пакета py-bluetooth-utils, можно просмотреть сниффер BLE-трафика. Apple использует ADV_IND-сообщения для отправки статуса устройства.


    Структура advertise-пакета



    Nearby-сообщения


    Пример типов сообщений:
    0x05 — Airdrop
    0x07 — Airpods
    0x10 — Nearby
    0x0b — Watch Connection
    0x0c — Handoff
    0x0d — Wi-Fi Settings
    0x0e — Hotspot
    0x0f — Wi-Fi Join Network


    Также из Nearby-пакетов можно получить статусы:
    0x0b — Home screen
    0x1c — Home screen
    0x1b — Home screen
    0x11 — Home screen
    0x03 — Off
    0x18 — Off
    0x09 — Off
    0x13 — Off
    0x0a — Off
    0x1a — Off
    0x01 — Off
    0x07 — Lock screen
    0x17 — Lock screen
    0x0e — Calling
    0x5b — Home screen
    0x5a — Off


    В результате можно создать несложный анализатор BLE-пакетов:



    Wi-Fi


    При попытке подключения к Wi-Fi с устройства A рассылается пакет следующей структуры, содержащий первые три байта от SHA256-хешей AppleID (5-7 байты), номера телефона (8-11 байты), email (12-14 байты):



    Предположительно, Apple устройства хешируют все контакты и сравнивают с полученными в advertise-пакете. При получении устройством B пакета с совпадающими у него хешами контактов устройство B предложит пароль подключения к сети устройству A.


    Если сгенерировать таблицу хешей номеров телефона для конкретного региона (около нескольких миллионов), то на первые 3 байта хеша можно получить коллизию порядка нескольких десятков номеров на хеш. Проверить корректность номеров можно двумя способами:


    1. Часть номеров можно исключить, проверив их через HLR (HLR Lookup — Front Page — Index).
    2. Так как номер должен быть привязан к AppleID, то проверить можно через iMessage.

    В любом случае, полученный набор номеров позволит достаточно эффективно деанонимизировать владельца (к примеру, далее применив методы социнженерии).


    AirDrop


    Apple AirDrop имеет три настройки приватности:


    1. Receiving Off (Отключено).
    2. Contacts Only (Только контакты).
    3. Everyone (Любой).

    При запуске AirDrop рассылается пакет следующей структуры, содержащий по два байта хешей AppleID, email и номера телефона:



    При этом AirDrop используется только для инициации передачи, для самой же передачи данных используется peer2peer-соединение по Wi-Fi (AWDL — Apple Wireless Direct Link).


    Во время аутентификации отправитель отсылает идентификационные данные sender's record data для проверки настроек приватности получателем. В этом сообщении содержится полный SHA256-хеш отправителя. Таким образом, злоумышленник может отвечать на все чужие AirDrop BLE-запросы, получая полные хеши номеров.


    Схема работы AirDrop:



    Резюмируя


    Рассмотрена только часть утечек информации, которая возможна с использованием BLE. На данный момент сложно назвать это уязвимостью, скорее, плохо продуманной реализацией новой экосистемы Apple. О чем в принципе они и сами заявили:


    Apple warns that it's still a somewhat simplified version of the Find My protocol, and that the system is still subject to change before it's actually released in MacOS Catalina and iOS 13 later this year. ©
    WIRED
    Перевод: Apple предупредила, что на данный момент используется упрощенная версия Find My протокола и она подлежит доработке в будущих релизах ближе к концу года.

    На данный момент нет каких-либо способов предотвращения данных утечек информации, кроме как отключения Bluetooth. При этом такое поведение свойственно iOS версий 10.3.1 и выше (включая iOS 13 beta). Более старые устройства (до iPhone 6s) также используют данный функционал, но с ограниченным числом сообщений, возможно, для экономии заряда батареи.


    Ссылки


    GitHub — hexway/apple_bleee: Apple BLE research
    Apple bleee. Everyone knows What Happens on Your iPhone – hexway

    Инфосистемы Джет
    392,53
    Системный интегратор
    Поделиться публикацией

    Комментарии 24

      –5
      кошмарный кошмар… люди узнают мой уровень заряда и номер версии… звоните не первый канал! срочно!!!
        0
        Для социальной инженерии может очень пригодиться. Не уровень заряда, конечно, хотя и тут можно пофантазировать:)
          +20
          И вычислят номер телефона, его название. Вы это пропустили при чтении?
            –3

            Нет

              +3
              Номер телефона вычислят только если вы отправите файл или подтвердите его получение от злоумышленника.
                +4
                Ага, значит чтобы избежать проблем, просто не будем пользоваться функцией. Окей, значит никаких проблем нет, они всё выдумали.
                  +8

                  А зачем принимать Файлы от незнакомцев?

                    +2
                    Не напоминает установку вирусов из apk на андроиде?
                      0
                      Так у большинства стоит настройка. «Принимать файлы только от знакомых». Все остальные запросы с мусором даже появляться не будут. Без превью, без соблазнительных картинок и т.д.
                        0
                        Значит пользуемся, ничего не боимся, но при попытке отправить что-то другу отдаём кому-то свой номер.
                          0
                          Нет. Не при попытке отправить, а когда хотим принять и не номер даем, а настройку приватности AirDrop открываем на 5 минут.
                            0
                            Я не так выразился — рассылаем в эфир хэш телефонного номера.
                              0
                              И не только номера. Любопытно будет посмотреть на проверку атаки. Кто возьмет валидное пространство номеров телефонов для страны и попробует найти там номер по 3 байтам 32 байтного хэша. Интересно сколько там будет коллизий.
                                0
                                iMessage поможет отсечь добрую часть номеров
                    +1
                    обычно если кто-то и умудряется заполнить в информацию об устройстве что-то оригинальнее «iPhone 8», то это лучше не читать, если только отладкой не занимаешься. Скажем, довелось мне как-то глянуть на низ списка версий андроида, полученных от пользователей. Ничего полезнее чем «Вася гей» (хз какой, но какой-то наверняка же?) там не было.
                  +1
                  доступность буфера;

                  Какого буфера? Обмена? Не понял, о чём этот пункт. Поясните кто-нибудь, пожалуйста.
                    0
                    Да, того самого. Между iPhone и маком можно копировать вставлять из буфера обмена. Просто скопировал на айфоне в маке вставил и обратно.
                      0
                      Буфера обмена, часть функции Handoff/Continuity. Само его содержимое зашифровано.
                      –1

                      Мораль простая — хочешь надежности, сиди на стабильных релизах.


                      А так получается что хакеры взломали софт который в общем-то предназначался для тестирования а не для реального использования.

                        +4
                        Ученый изнасиловал журналиста. Мало того что в самой атаке много «если», так еще и всё это строится на базе бета-версии.

                          +1
                          Написали ведь, что с 10.3 вплоть до последней беты ios13
                          +2
                          По мне, это не такая большая потеря, если функция «Найти без интернета» будет действительно работать отлично.
                          Хотя, лучшим решением, на мой взгляд, будет передача не перечисленных данных, а уникального кода на основе этих данных т.е. почта+номер телефона+*еще что-нибудь малоповторимое* сконвертированые в определённую последовательность символов.
                            0

                            В обсуждении анонса этой возможности обсуждали, как в теории можно это реализовать без разглашения лишних данных в том числе в Apple.
                            Пока же все выглядит как предельное упрощение фингерпрнтинга человека по айфону, что в том числе плохо и потому, что многим привили мысль мол айфон это ещё и про privacy, в отличие от остальных смартфоноа

                            –4
                            Телефоны можно взломать, связь слушает правительство, соседи из дома напротив читают по губам и записывают в специальную книжечку. Шапочка из фольги уже не защищает. Почтовый голубь двойной агент. Всё тлен.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое