LINUX.ORG.RU

Уязвимость в Bluetooth-стеках Linux, macOS, Android и iOS

 , , ,


0

1

Марк Ньюлин (Marc Newlin), который выявил уязвимость MouseJack семь лет назад, раскрыл информацию о аналогичной уязвимости (CVE-2023-45866), затрагивающей Bluetooth-стеки Android, Linux, macOS и iOS. Эта уязвимость позволяет осуществить подмену нажатий клавиш путем симуляции активности устройства ввода, подключенного по Bluetooth. Получив доступ к клавиатурному вводу, злоумышленник может выполнять различные действия, такие как выполнение команд в системе, установка приложений и перенаправление сообщений.

Уязвимость вызвана тем, что хостовые драйверы HID (Human Interface Device) для Bluetooth-устройств имеют режим, позволяющий удаленному периферийному устройству создавать и устанавливать зашифрованные соединения без аутентификации. Такие подключенные устройства могут передавать клавиатурные сообщения, и HID-стек их обрабатывает, что открывает возможность для атаки по подмене HID-сообщений, выполняемой без участия пользователя. Эта атака может быть проведена на расстоянии до 100 метров от жертвы.

Механизм сопряжения устройств без аутентификации определен в спецификации Bluetooth и, в зависимости от настроек Bluetooth-стека, позволяет подключать устройство без подтверждения от пользователя. Например, в Linux, при использовании Bluetooth-стека BlueZ, для скрытого сопряжения Bluetooth-адаптер должен находиться в режиме обнаружения и подключения. В Android достаточно включить поддержку Bluetooth. В iOS и macOS для успешной атаки должен быть включен Bluetooth, а также подключена беспроводная клавиатура.

Возможность подмены ввода была продемонстрирована в Ubuntu 18.04, 20.04, 22.04 и 23.10 с Bluetooth-стеком на базе пакета BlueZ. ChromeOS уязвимости не подвержен, так как его настройки Bluetooth-стека не позволяют соединения без аутентификации. В Android уязвимость затрагивает устройства с версиями платформы от 4.2.2 до 14. В macOS уязвимость была продемонстрирована на MacBook Pro 2022 с процессором Apple M2 и macOS 13.3.3, а также на MacBook Air 2017 с процессором Intel и macOS 12.6.7. В iOS уязвимость была продемонстрирована на iPhone SE с iOS 16.6. Включение режима Lockdown не обеспечивает защиты от атаки на macOS и iOS.

В Linux уязвимость была устранена в кодовой базе Bluez путем установки настройки «ClassicBondedOnly» в значение «true», включающее безопасный режим, который разрешает установку соединений только после сопряжения. Ранее было установлено значение «false», которое, ради совместимости с некоторыми устройствами ввода, снижало уровень безопасности.

В Bluetooth-стеке Fluoride, используемом в последних версиях Android, уязвимость устранена путем обязательного применения аутентификации для всех зашифрованных соединений. Исправления для Android были выпущены только для веток 11-14. Для устройств Pixel уязвимость была устранена в декабрьском обновлении прошивки. Для выпусков Android с 4.2.2 по 10 уязвимость остается не устраненной.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Жду уязвимость «злоумышленник может зарядить телефон, получив доступ к разъёму».

HE_KOT
()
-# Defaults to false to maximize device compatibility.
+# Defaults to true for security.

Божественно.

liksys ★★★★
()

тааак подожжии...
вопросы:
если у меня в смарте бт включен, но смарт заблокирован - это посредством этой атаки можно смс-ить в заблокированное устройство?

etwrq ★★★★★
()
Ответ на: комментарий от HE_KOT

Уже есть маняспектр и манядавн.

Правда смартфонов на x86 полторы штуки. Но они есть.

И кстати большинство популярных приложений до сих пор таскают в apk библиотеки под этот x86. Разве что скорее для целей тестирования, нежели реального использования на полутора маргинальных поделках от асуса.

harbinger
()
Ответ на: комментарий от eternal_sorrow

Но про наличие в x86 шумели в 40 раз больше. А то надобно как-то гоев развести на новое железо, учитывая что прогресс в нем отсутствует.

harbinger
()

То есть в Винде нет такого позора?

Psilocybe ★★★★
()

«Уязвимость» конечно баянистая, но стоит отметить, что всё происходящее - результат общей неадекватности блютуза. Вместо того, чтобы быть беспроводным протоколом передачи данных, в него засунули кучу побочного функционала, связанного с конкретными нагрузками более высокого уровня. С одной стороны, дефект этот конечно полностью софтовый, но с другой - софт реализует именно то, чем задумывался изначально блютуз - невнятный комбайн без разделения функционала и ответственности.

Вот такого:

подключать устройство без подтверждения от пользователя

в принципе не должно было существовать, как и понятия абстрактного «подключения устройства». До такого идиотизма даже в вебне не додумались: чтобы подключиться куда-то по вебу, нужно запустить клиент (браузер) и явно указать, куда именно ты хочешь подключиться. Не бывает такого, что в локалке завёлся http-сервер, который тебе удалённо запускает браузер (какой из?) и открывает в нём свою главную страницу.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от HE_KOT

Жду уязвимость «злоумышленник может зарядить телефон, получив доступ к разъёму».

Даже доступ к разъёму не нужен, беспроводная зарядка с контролем ВЧ модуляции зарядного тока позволит ему узнать кое-какие сведения.

quickquest ★★★★★
()
Ответ на: комментарий от firkax

в принципе не должно было существовать, как и понятия абстрактного «подключения устройства»

Любой утюг подключается к любой розетке абстрактно, а он тоже может и принимать и транслировать информацию.

quickquest ★★★★★
()
Ответ на: комментарий от firkax

Устройства ввода должны работать с минимальным количеством посредников. То есть после автоизации hid устройства должен полностью обрабатываться hid стек на стороне ядра/железа. Иначе будет огромный латенси из-за лишнего context switch. С софтом тут всё нормально кроме того, что bluez автоматически подтверждал подключение, когда мог и отказать, если оно не в списке авторизованных

mittorn ★★★★★
()

В Linux уязвимость была устранена в кодовой базе Bluez путем установки настройки «ClassicBondedOnly» в значение «true», включающее безопасный режим

Ну, раз очередную «уязвимость» «устранили», можно в честь этого знаменательного события прокатиться немного по улицам Найт Сити

basilic
() автор топика
Последнее исправление: basilic (всего исправлений: 1)

В Android уязвимость затрагивает устройства с версиями платформы от 4.2.2 до 14.

GNU/Linux ещё ладно. Угадайте где эта уязвимость будет висеть ещё хрен знает сколько лет. Одна попытка.

Skullnet ★★★★★
()

Пробегала ещё недавно новость о какой-то типа уязвимости в протоколе, когда mitm мог вызвать выбор слабого пароля, щас не помню подробностей. Правда, решение довольно простое - просто запретить пирам выбирать короткие пароли.

seiken ★★★★★
()
Ответ на: комментарий от Skullnet

Угадайте где эта уязвимость будет висеть ещё хрен знает сколько лет. Одна попытка.

Неужели FreeBSD?

seiken ★★★★★
()
Ответ на: комментарий от Skullnet

В хреновой туче не обновляющихся Android прошивок.

Это, если речь идет о различных китайфонах. На мой Pixel обновления, включая исправление упомянутой уязвимости, пришли в начале декабря. Если люди используют устаревшее оборудование от неизвестных производителей, отсутствие обновлений — последняя проблема, которая их волнует.

basilic
() автор топика
Последнее исправление: basilic (всего исправлений: 1)
Ответ на: комментарий от quickquest

В том и дело, что комп это не розетка. Если бы вопрос был только в том чтобы получать энергию - никаких проблем, но неадекватные блютуз-драйвера начинают какие-то логические действия автоматом делать чисто по факту обнаружения канала связи с устройством, что совершенно недопустимо.

firkax ★★★★★
()
Ответ на: комментарий от mittorn

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

firkax ★★★★★
()
Ответ на: комментарий от r0ck3r

captive portal не запускает никакие штуки на компе. Он только подменяет своим ответом запросы от уже запущеного клиента.

firkax ★★★★★
()
Ответ на: комментарий от basilic

Это, если речь идет о различных китайфонах.

Китайфоны это большая часть рынка.

сли люди используют устаревшее оборудование от неизвестных производителей, отсутствие обновлений

Типикал капитализм. Даже если железо нормальное, покупай новый телефон ради обновлений, потому что другую прошивку не поставить, потому что железо несовместимо, загрузчик заблокирован, etc.

Skullnet ★★★★★
()
Ответ на: комментарий от basilic

Если люди используют устаревшее оборудование

Там есть нормальный выход на проводные наушники. И постоянно ходить со включённым bluetooth им незачем.

Tigger ★★★★★
()

Еще одна уязвимость, которая будет устранена только в Microsoft Windows, MacOS и IOS, а также в настольных дистрибутивах Linux. Тивоизированным - сидеть с дырой до глубокой старости или устранять уязвимость путем покупки нового устройства! Не забудьте еще засорить природу новой порцией электронных отходов!

Was2023
()
Последнее исправление: Was2023 (всего исправлений: 1)
Ответ на: комментарий от Skullnet

Даже если железо нормальное, покупай новый телефон ради обновлений, потому что другую прошивку не поставить, потому что железо несовместимо, загрузчик заблокирован, etc.

Всё так, к сожалению..

basilic
() автор топика
Ответ на: комментарий от imul

Надеюсь объяснишь как присобачить беспроводные наушники к телефону, например? Если бы можно было в телефон по PnP воткнуть micro usb устройство и юзать такие наушники - то я бы с радостью такие покупал и обходил это сраный «плинтус». А есть ещё Wi-Fi протокол, но его никто не юзает.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 2)

Вот почти двадцать лет читаю ЛОР, мне одно интересно: почему за спам с «решето» еще не банят.

GFORGX ★★★
()

То же мне новость, вон Дебианщики обновляються и них данные на ext4 рушаться, это прикольнее новость.

mx__ ★★★★★
()
Ответ на: комментарий от Skullnet

Надеюсь объяснишь как присобачить беспроводные наушники

Беспроводные наушники, говорили они. Обновляй телефон. Там, говорят, снова 3.5 jack стали ставить.

Tigger ★★★★★
()
Ответ на: комментарий от firkax

на андройде есть специальный сервис, который делает эти хапросы и проверяет подмену.
В любом случае, руки отрывать надо целиком за такое. Если действительно хочется реализовать логин в сети - этим должен заниматься DHCP, отдавая специальный ответ с набором ссылок и желательно, опционально с каким-нибудь отдельным протоколов авторизации, не требующим браузер

mittorn ★★★★★
()
Ответ на: комментарий от Skullnet

Ты высасываешь из двух пальцев никчемные проблемы и требуешь меня их решать? Ты же знаешь куда тебе идти.

imul ★★★★★
()
Ответ на: комментарий от Tigger

Их две на выбор: клоун и баян. Но первого лучше не ставить а то автор новости может про себя подумать.

firkax ★★★★★
()
Ответ на: комментарий от HE_KOT

«Файловая система ext4 беззащитна против атаки gparted, запущенного с live usb»

Smacker ★★★★
()
Ответ на: комментарий от Tigger

Ты слабоумный или прикидываешься? Я тебе даже несколько причин приведу почему юзать проводные не могу.

  • Я не хочу быть привязан к телефону сраным шнуром.
  • С проводными наушниками на улице не удобно.
  • Наушники вылетают из джека в кармане, причём постоянно. Смартфонные разъемы вот такие…

Если к пека можно купить наушники со своим адаптером и своим протоколом соответственно, то с телефонами всё куда сложнее. Кроме блюпупа там ничего нет и выкидывать его не собираются, хотя его уже давно пора было выкинуть и заменить на нормальную альтернативу.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от Skullnet

Типикал капитализм. Даже если железо нормальное, покупай новый телефон ради обновлений, потому что другую прошивку не поставить, потому что железо несовместимо, загрузчик заблокирован, etc.

Никто не мешал купить айфон. Купил в 2021 iphone12 и обновления буду получать еще года два-три.

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 1)
Ответ на: комментарий от cumvillain

Никто не мешал купить айфон.

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

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 3)
Ответ на: комментарий от Skullnet

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

Я слышу батхерт, но не вижу фактов. Есть андроиды, которые доставляют обновления в течении 7-9 лет? Сколько они стоят? Если их нет, во сколько тебе обойдутся три «дешевых» андроида что ты купишь за это время?

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 2)
Ответ на: комментарий от cumvillain

Я слышу батхерт, но не вижу фактов. Есть андроиды, которые доставляют обновления в течении 5-7 лет? Сколько они стоят? Если их нет, во сколько тебе обойдутся три «дешевых» андроида что ты купишь за это воемя?

Ещё раз. Твой капитализм идёт нахрен. Я не хочу покупать каждые 3-4 года новый телефон, потому что производитель упоролся и захотел содрать с тебя денег. Пока девайс совсем не устареет и не появится совсем быстрое железо, переходить смысла нет. Ты забыл на каком форуме ты сидишь? Народ буквально ставит линукс на старые компьютеры и нормально с этим живёт, а эти ребята даже на хорошее железо перестают апдейты выпускать или выпускают такой апдейт, который делает из быстрого смартфона калькулятор на андроиде из 2010 года. Плюс сегодня нормальный компактный смартфон не найти, на рынке одни лопаты, которые в карман уже не влезают.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от Skullnet

Ещё раз. Твой капитализм идёт на хрен. Я не хочу покупать каждые 3-4 года новый телефон, потому что производитель упоролся и захотел содрать с тебя денег.

Капитализм дал тебе iPhone, его не нужно покупать каждые три года.

Пока девайс совсем не устареет и не появится совсем быстрое железо

iPhone 6s поддерживается до сих пор. Ему через полгода 9 лет.

Народ буквально ставит линукс на старые компьютеры и нормально с этим живёт

Не, не нормально: https://drewdevault.com/2023/06/16/Mobile-linux-retrospective.html

Все пердольные прошивки для телефонов нестабильны по самое не могу.

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

ЛПП.

cumvillain
()
Ответ на: комментарий от cumvillain

Капитализм дал тебе iPhone, его не нужно покупать каждые три года.

Пусть забирают обратно своё iSlave.

Все пердольные прошивки для телефонов нестабильны по самое не могу.

Из-за фрагментации на Android-е. Если бы была одна Android OS, а не хренова туча относительно совместимых прошивок то никакого пердолинга бы не было. Почему-то с компьютерами всё в порядке, а рынок смартфонов - капиталистическая анти-утопия.

ЛПП.

Найди нормальную не-лопату за 15 косарей. Удачи.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.