- PVSM.RU - https://www.pvsm.ru -

Разработана свободная альтернатива Apple AirDrop

Разработана свободная альтернатива Apple AirDrop - 1

Apple Wireless Direct Link (AWDL) — ключевой протокол в экосистеме Apple, его использует более миллиарда устройств iOS и macOS для связи между собой. Это запатентованное расширение стандарта IEEE 802.11 (Wi-Fi), которое интегрируется с Bluetooth Low Energy (BLE) и обеспечивает работу таких сервисов, как Apple AirDrop (технология передачи файлов по Wi-Fi и Bluetooth).

14 августа 2019 года на конференции USENIX Security 2019 раскрыт ряд серьёзных уязвимостей [1] в этом протоколе, которые допускают атаки MiTM с незаметным изменением передаваемых файлов, атаки типа «отказ в обслуживании» с прерыванием связи, а также утечки конфиденциальных данных, которые подрывают рандомизацию MAC-адресов, позволяя идентифицировать пользователей и осуществлять долгосрочное отслеживание (см. ниже).

В связи с этим немецкие разработчики Милан Стют и Александр Хейнрих разработали OpenDrop [2] — свободную и более безопасную альтернативу проприетарной технологии от Apple.

OpenDrop — консольная утилита, которая позволяет обмениваться файлами между устройствами непосредственно по WiFi. Уникальная особенность заключается в том, что она совместима с проприетарным протоколом Apple AirDrop для устройств Apple под управлением iOS и macOS. В настоящее время (и, вероятно, в обозримом будущем) OpenDrop поддерживает отправку файлов только на устройства Apple, свободные для обнаружения всеми, поскольку режим по умолчанию «только для контактов» (contacts only) требует сертификатов, подписанных Apple [3].

Разработчики оговариваются, что OpenDrop представляет собой экспериментальное программное обеспечение, созданное в рамках проекта Open Wireless Link по реверс-инжинирингу запатентованного протокола Apple. Поэтому он не поддерживает все функции AirDrop и может быть несовместим с будущими версиями AirDrop. OpenDrop не связан и не одобрен к использованию компанией Apple. Соответственно, опубликованный код можно использовать на свой страх и риск.

Технология AirDrop активно используется для распространение информации на акциях массового протеста в Гонконге

Для совместимости с Apple AirDrop требуется, чтобы целевая платформа поддерживала специфический канальный уровень Wi-Fi. Кроме того, требуется Python версии 3.6 или выше, а также несколько библиотек.

AirDrop работает исключительно через AWDL, он поддерживается только на macOS или в системах Linux со свободной реализацией AWDL, такой как OWL [6].

OpenDrop использует последние версии OpenSSL [7] и libarchive [8]. Поскольку macOS поставляется со старыми версиями этих библиотек, для работы нужно установить более новые версии, например, через Homebrew [9]. В любом случае, нужно установить две переменные среды: LIBARCHIVE и LIBCRYPTO, соответственно.

Отправка файла представляет собой двухэтапную процедуру. Сначала вы обнаруживаете устройства в непосредственной близости с помощью команды find. Остановите процесс, как только нашли устройство для приёма файлов.

$ opendrop find
Looking for receivers. Press enter to stop ...
Found  index 0  ID eccb2f2dcfe7  name John’s iPhone
Found  index 1  ID e63138ac6ba8  name Jane’s MacBook Pro

Затем можно отправить файл с помощью send.

$ opendrop send -r 0 -f /path/to/some/file
Asking receiver to accept ...
Receiver accepted
Uploading file ...
Uploading has been successful

Вместо индекса подходят идентификатор или имя. OpenDrop попытается интерпретировать входные данные в следующем порядке: сначала как индекс, затем как ID, и, наконец, как имя.

Получение файлов гораздо проще: достаточно запустить команду opendrop receive. OpenDrop будет автоматически принимать все входящие файлы и помещать их в текущий каталог.

Конечно, у OpenDrop есть ряд ограничений. Например, он не может самостоятельно активировать приёмники macOS/iOS через Bluetooth Low Energy: устройства Apple запускают свой AWDL-интерфейс и сервер AirDrop только после получения специфического сообщения через Bluetooth LE. Таким образом, приёмники Apple AirDrop могут оказаться не обнаруженными, даже если они доступны для всех. В данный момент также не реализована одноранговая аутентификация, как в AirDrop. В частности, OpenDrop не проверяет, что сертификат TLS подписан корневым сертификатом Apple и что запись проверки идентификатора Apple ID правильна. Кроме того, OpenDrop автоматически принимает любой файл, который ему присылают, из-за отсутствия состояния соединения. Наконец, Apple AirDrop поддерживает отправку нескольких файлов одновременно, а OpenDrop может отправлять файлы только по одному.

Возможно, при содействии сообщества некоторые из этих ограничений можно преодолеть. Внести свой вклад предлагают в репозитории GitHub [2].

Уязвимости AWDL

На конференции USENIX Security 2019 была опубликована статья [1] с первым анализом безопасности и конфиденциальности AWDL и его интеграции с BLE. Среди авторов статьи те же Милан Стют и Александр Хейнрих.

Они раскрыли несколько уязвимостей безопасности и нарушений конфиденциальности, начиная от недостатков дизайна и заканчивая ошибками в реализации. Как было сказано выше, эти ошибки приводят к атакам типа MiTM, DoS и утечкам конфиденциальности. Классификаторы уязвимостей: CVE-2019-8567, CVE-2019-8620, CVE-2019-8612 и CVE-2018-4368 (см. описание на иллюстрации ниже). Некоторые из них закрыты в последних версиях операционных систем от Apple (iOS 12.2 и iOS 13 beta).

Разработана свободная альтернатива Apple AirDrop - 2

Уязвимости затрагивают механизм обнаружения BLE AirDrop, синхронизацию AWDL, дизайн пользовательского интерфейса и реализацию драйверов Wi-Fi. В своём докладе авторы продемонстрировали, что атаки можно провести с использованием недорогого ($20) устройства micro:bit и стандартной карты Wi-Fi. Они также предлагают практические и эффективные контрмеры для защиты от этих атак.

После получения информации об уязвимости Apple смогла выпустить патч для защиты от DoS-атаки, но другие уязвимости безопасности «требуют пересмотра некоторых сервисов», пишут исследователи. Быстро устранить их не получится.

Автор: alizar

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/327576

Ссылки в тексте:

[1] ряд серьёзных уязвимостей: https://www.usenix.org/conference/usenixsecurity19/presentation/stute

[2] OpenDrop: https://github.com/seemoo-lab/opendrop

[3] сертификатов, подписанных Apple: https://www.apple.com/certificateauthority/pdf/Apple_AAI_CPS_v6.1.pdf

[4] pic.twitter.com/aaOAba5DwN: https://t.co/aaOAba5DwN

[5] July 7, 2019: https://twitter.com/ariahychen/status/1147798777924747266?ref_src=twsrc%5Etfw

[6] OWL: https://github.com/seemoo-lab/owl

[7] OpenSSL: https://www.openssl.org/

[8] libarchive: https://www.libarchive.org/

[9] Homebrew: https://brew.sh/

[10] Источник: https://habr.com/ru/post/464211/?utm_campaign=464211&utm_source=habrahabr&utm_medium=rss