Linux, Android, iOS и Windows уязвимы перед атакой через Bluetooth

Linux, Android, iOS и Windows уязвимы перед атакой через Bluetooth

Linux, Android, iOS и Windows уязвимы перед атакой через Bluetooth

Лаборатория Armis раскрыла сведения о серии уязвимостей под кодовым именем BlueBorne, охватывающих Bluetooth-стеки Linux, Android, iOS и Windows. По имнению Марка Кокса (Mark J. Cox), возглавляющего команду, занимающуюся решением проблем безопасности в продуктах Red Hat, выявленная проблема может претендовать на звание самой опасной уязвимости в Linux за последние 18 лет.

Проблема позволяет организовать выполнение кода с привилегиями ядра на широком спектре устройств с включенной поддержкой Bluetooth через отправку в эфир специально оформленных пакетов. Атака может быть проведена скрыто без необходимости сопряжения устройств, перевода в режим доступности для обнаружения или выполнения каких-либо действий со стороны пользователя. Для атаки достаточно, чтобы на устройстве был включен Bluetooth и жертва находилось в зоне достижимости атакующего (до 10 метров), пишет opennet.ru.

По предварительной оценке проблема может затрагивать около 5.3 миллиардов устройств, от ноутбуков, смартфонов и умных часов до принтеров, телевизоров и автомобильных информационно-развлекательных систем. Выявившие уязвимости исследователи не исключают появление червей, способных использовать выявленные уязвимости для поражения устройств по цепочке от одного уязвимого устройства к другому. Опасность уязвимости также усугубляется тем, что, по оценке исследователей, около 40% уязвимых устройств (более 2 миллиардов!) останутся без устранения проблемы, так как время их поддержки истекло и обновления прошивки уже не выпускаются.

BlueBorne охватывает восемь уязвимостей:

  • CVE-2017-1000251 - уязвимость в коде разбора конфигурации L2CAP в ядре Linux, позволяющая выполнить код атакующего;
  • CVE-2017-1000250 - уязвимость в реализации протокола SDP (Service Discovery Protocol) в стеке BlueZ, которая может привести к утечке информации (может быть получена часть памяти процесса bluetoothd);
  • CVE-2017-0781 и CVE-2017-0782 - две уязвимости в платформе Android, которые могут привести к выполнению кода с повышенными привилегиями;
  • CVE-2017-0785 - уязвимость в Android, которая может привести к утечке информации;
  • CVE-2017-0783, CVE-2017-8628 - логические уязвимости в Bluetooth-стеке Android и Windows (Windows Vista+), при помощи которых можно совершить MITM-атаку для перехвата обмена данными по Bluetooth;
  • CVE-2017-14315 - уязвимость в протоколе Apple Low Energy Audio Protocol, позволяющая организовать выполнение кода.

В ядре Linux проблема присутствует в коде функции l2cap_parse_conf_rsp, присутствующей начиная с ядра 3.3 (октябрь 2011 г.). Проблема была устранена 9 сентября. В ядрах Linux со включенной защитой от переполнения стека (CONFIG_CC_STACKPROTECTOR) уязвимость приводит только к краху ядра. Подобная защита по умолчанию включена в ядрах RHEL, CentOS, Fedora, Ubuntu и большинства стационарных дистрибутивов Linux, поэтому в обычных дистрибутивах возможен лишь вызов краха, а основная опасность угрожает мобильным Linux-платформам, таким как Tizen.

Проблемы в Android уже устранены Google в сентябрьском обновлении платформы (обновления прошивок от производителей устройств может затянутся на месяцы). Для определения попыток совершения атаки для Android подготовлено специальное приложение BlueBorne Detector. Компанией Apple проблема устранена в iOS 10. Устройства с iOS 9.3.5 и AppleTV 7.2.2 и более ранними версиями остаются уязвимы. Компания Microsoft намерена выпустить обновление в течение суток. Всем пользователям до установки исправления рекомендует отключить по умолчанию Bluetooth и включать его только при необходимости.

Android запретит доступ к экрану «лишним» приложениям

Google, похоже, готовит ещё одно нововведение по части безопасности Android. В тестовой сборке Android Canary 2602 обнаружена новая функция для Advanced Protection Mode — режима «максимальной защиты», который компания представила в Android 16.

Теперь Advanced Protection Mode может ограничивать работу приложений, использующих AccessibilityService API, если они не классифицированы как инструменты для доступности.

AccessibilityService API — это мощный механизм Android, изначально созданный для помощи людям с ограниченными физическими возможностями. С его помощью приложения могут читать содержимое экрана, отслеживать действия пользователя и даже выполнять жесты от его имени.

Именно поэтому этот API часто становился инструментом атакующих. За последние годы многие приложения — от автоматизаторов и лаунчеров до «оптимизаторов» и антивирусов — использовали его для обхода системных ограничений. Формально ради удобства, однако на деле получая очень широкие права.

Google постепенно ужесточала политику. Приложения, действительно предназначенные для помощи людям с ограниченными возможностями, должны указывать специальный атрибут isAccessibilityTool. К ним относятся экранные дикторы, системы управления жестами, голосовой ввод, брайлевские интерфейсы и другие специализированные инструменты.

По данным аналитиков, в новой версии Android Canary  при включении Advanced Protection Mode система:

  • запрещает выдавать разрешение Accessibility Service приложениям, не признанным Accessibility Tools;
  • автоматически отзывает уже выданные разрешения у таких приложений.

Если приложение сильно зависит от этого API, оно просто перестанет работать.

В тестах, например, приложение dynamicSpot (эмулирующее Dynamic Island на Android) становилось недоступным: пункт был с пометкой «Restricted by Advanced Protection». Причина простая: оно использует AccessibilityService для чтения уведомлений и отображения поверх других приложений.

Инструменты, официально классифицированные как средства доступности, под ограничения не попадают.

RSS: Новости на портале Anti-Malware.ru