The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в Android 14, эксплуатируемая через Bluetooth LE

12.03.2024 11:35

Разработчики проекта GrapheneOS, развивающего защищённое ответвление от кодовой базы AOSP (Android Open Source Project), выявили уязвимость в Bluetooth-стеке платформы Android 14, которая потенциально может привести к удалённому выполнению кода. Проблема вызвана обращением к уже освобождённой области памяти (use-after-free) в коде обработки звука, передаваемого через Bluetooth LE.

Уязвимость выявлена благодаря интеграции в вызов hardened_malloc дополнительной защиты, использующей расширение ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющее привязать теги к каждой операции выделения памяти и организовать проверку корректности использования указателей для блокирования эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти, переполнениями буфера, обращениями до инициализации и использованием вне текущего контекста.

Ошибка проявляется начиная с обновления Android 14 QPR2 (Quarterly Platform Release), опубликованного в начале марта. В основной кодовой базе платформы Android 14 механизм MTE доступен в качестве опции и пока не применяется по умолчанию, но в GrapheneOS его уже задействовали для дополнительной защиты, что дало возможность диагностировать ошибку после обновления до Android 14 QPR2. Ошибка приводила к аварийному завершению при использовании Bluetooth-наушников Samsung Galaxy Buds2 Pro с прошивкой, в которой включена защита на базе MTE. Разбор инцидента показал, что проблема связана с обращением к уже освобождённой памяти в обработчике Bluetooth LE, а не сбоем из-за интеграции MTE.

Уязвимость устранена в выпуске GrapheneOS 2024030900 и затрагивает сборки для смартфонов, в которых не включена дополнительная аппаратная защита на основе расширения MTE (MTE пока включён только для устройств Pixel 8 и Pixel 8 Pro). Уязвимость воспроизводится на смартфонах Google Pixel 8 с прошивкой на базе Android 14 QPR2. В Android для смартфонов серии Pixel 8 режим MTE можно включить в настройках для разработчиков ("Settings / System / Developer options /Memory Tagging Extensions"). Включение MTE приводит к увеличению потребления памяти примерно на 3%, но не снижает производительность.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Обновление защищённой Android-платформы GrapheneOS
  3. OpenNews: Google развивает новый Bluetooth-стек для Android, написанный на Rust
  4. OpenNews: Уязвимости в ядре Linux, удалённо эксплуатируемые через Bluetooth
  5. OpenNews: BLUFFS - уязвимости в Bluetooth, позволяющие провести MITM-атаку
  6. OpenNews: Уязвимость в Bluetooth-стеках Linux, macOS, Android и iOS, допускающая подстановку нажатий клавиш
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60771-grapheneos
Ключевые слова: grapheneos, android, bluetooth
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (58) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:07, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > use-after-free

    Мда... даже с++ не помогает.

    > проявляется начиная с обновления, опубликованного в начале марта

    Хоть тут повезло

     
     
  • 2.31, Аноним (31), 15:11, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    c++ никак тебе не поможет от use-after-free.
     
     
  • 3.37, Аноним (37), 15:53, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А разве умные указатели не для этого?
     
     
  • 4.57, Аноним (57), 23:19, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А разве умные указатели не для этого?

    А зачем тогда вообще С++?

     
     
  • 5.60, Аноним (60), 00:47, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А зачем тогда вообще С++?

    Товарищ сишник, не пиши пожалуйста на C++ никогда.

     
  • 5.64, YetAnotherOnanym (ok), 02:02, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Возьми в библиотеке древнюю бумажную книгу по марксистско-ленинской гносеологической теории отражения, внимательно её проштудируй, после чего, вооружившись понятием "отражения", медитируй над понятием "объекта" в ООП.
    Когда на тебя снизойдёт просветление, ты поймёшь, зачем нужен C++.
     
     
  • 6.80, Аноньимъ (ok), 23:41, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В С++ система типов Страуструпа.
    ООП там нет от слова совсем.

    Классы в такой реализации вообще к ООП не способствуют.

     
  • 2.39, Аноним (39), 16:53, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А разве реализация протоколов Bluetooth уже на C++ ?
     
     
  • 3.46, Аноним (-), 18:05, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Названия и расширение файлов
      audio_sink_hal_client.cc
      audio_source_hal_client.cc
    как бы намекают)

    Но уверен что где-то есть написанная реализация и на СИ.

     
  • 2.61, Аноним (60), 00:49, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там если пройти по ссылке, там C++ и не пахнет.

    > malloc
    > memcpy

    Ну да, ну да, "Си-плюс-плюс", ага. По башке надо бить за такое.

     

  • 1.2, Аноним (2), 12:13, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Разработчики GrapheneOS тоже топят за Rust: "Android has ported a lot of the Bluetooth code to Rust. This is a demonstration of why they need to put more resources into porting the rest of the code into Rust".

     
     
  • 2.5, Аноним (5), 12:20, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если что-то шерето изначально, никакие переписывания его не исправят. А если исправят - там половина железок отвалится. А оставшиеся и так фиг работают нормально.
     
     
  • 3.62, Bob (??), 01:25, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Если что-то шерето изначально, никакие переписывания его не исправят" - с непробиваемого м4к4к4ми материала будет. В Rust те ошибки не повторить падаванам, так же простко как на плюсах.

    "половина железок отвалится" - новое как продать?)

    "оставшиеся и так фиг работают нормально" - покупайте новое

     
  • 3.74, Аноним (74), 18:59, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >А если исправят - там половина железок отвалится.

    Половина? Да там все отвалятся кроме трех основных платформ, более-менее поддерживаемых Растом.

     
  • 2.11, Аноним (-), 12:29, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ну так они ж код пишут, а не гневные посты на форуме.
    Поэтому они копаются в коде: часто не очень красивом, и еще чаще глючном.
    И им хочется, кто бы мог подумать), чтобы код был более надежный.

    ps ситуация потчи один в один с Tor/Arti

     
     
  • 3.71, Аноним (74), 18:46, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть переписывают готовый проект с уже отловленными багами на новом сыром языке и в процессе добавляют новые баги? Поняли, вычеркиваем.
     
  • 2.24, 12yoexpert (ok), 13:51, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    ключевое тут "to put more resources"

    беги за новым телефоном, юзернейм, джава с котлином фигня по сравнению с этим

     
     
  • 3.33, Аноним (33), 15:16, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    12-летний кексперт как всегда оправдывает ник.
    Тут имелись ввиду хуман ресурсы - то бишь разработчики (ну и косвенно, конечно, бабки, т.к. этим самым дополнительным хуман ресурсам надо платить).
     
  • 3.53, Аноним (53), 22:17, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ключевое тут "to put more resources"

    ключевое тут то, что некоторые нынешние двенадцатилетние круглые двоечники по английскому. Остальные аглицкие словеса прочел? "put" "into" куда, дочитал? Ключевое тут - вкинуть доп. ресурсы в портирование оставшегося г-кода на раст, а не то что ты часто бегаешь покупать на мамкины деньги новые телефоны.

     
  • 2.32, Аноним (32), 15:13, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не понятен смысл. Если MTE увеличивает потребление памяти на 3%. а Rust - на 100500%, то намного выгоднее использовать C++ & MTE.
     
     
  • 3.35, Аноним (-), 15:38, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > а Rust - на 100500%

    Что за бред? Раст не увеличивает потребление памяти.

    Он может добавить нагрузку на проц за счет "ненужных" (с точки зрения дыряшников) проверок границ массивов и объектов на null... но оно добавляет какие-то жалкие крохи.
    А правильно использование Option и слайсов еще и уменьшит количество этих проверок.

     
     
  • 4.72, Аноним (74), 18:50, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, а ведь кто-то писал что проверки в Rust бесплатные? Опять кому-то сишники кучу в штаны навалили.

    Но не суть, к этому уже привычны, суть в том что бинарники на Rust жирные и уже одно это повышает потребление памяти. Так что товаришь растоман опять грустно смотрит в трусы и привычно валит все на сишников.

     

  • 1.3, Аноним (3), 12:16, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Все устраненные уязвимости нивелируются установленной казуалкой или проприетарным приложением с намеренной "дырой", для которой уже готовы все необходимые эксплоиты.
     
  • 1.7, Аноним (7), 12:24, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    unsafe-after-rewriting
     
     
  • 2.76, Аноним (74), 19:17, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Переписали целых 5% на Rust, но это почему-то не спасло от такой серьезной уязвимости. Девайс взломают удаленно, но зато безопасно!
     

  • 1.8, Аноним (8), 12:25, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Кто-то пользуется bluetooth?
     
     
  • 2.10, Аноним (10), 12:28, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде популярный вариант подключения манипуляторов. Дешёвые головные телефоны тоже.
     
  • 2.13, DeerFriend (?), 12:33, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А как ещё эирподсы подключать?
     
     
  • 3.18, Borzenko (?), 13:09, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Серебряными проводами от Nordost, смазку для лыж можно не использовать.
     
  • 2.20, xxxxxxxxx (?), 13:21, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Странный вопрс. Я пользую для передачи интернета (tethering), часов, наушников.
     
  • 2.21, _kp (ok), 13:32, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Кто-то пользуется bluetooth?

    Наушники, колонки, джойстк, автодиагностика... :)

     
  • 2.66, Аноним (66), 09:03, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я пользуюсь для раздачи интернета.
     
  • 2.82, Аноним (82), 00:02, 14/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, пришлось синезуб использовать для радиоушей - потому что корейские у_е_6_аны просто выпилили 3.5мм джек из Galaxy 22 - ну места он очень много занимал, целых 6мм!
     

  • 1.12, DeerFriend (?), 12:32, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ох уж эти независимые разработчики. Опять теперь гуглу новый бэкдор писать.
     
     
  • 2.15, Аноним (-), 12:40, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не надо оправдывать тупость заговором.
    В кодах на дыряшке и даже на плюсах столько уязвимостей, что создается впечатление, что спецслужбы купили почти всех разработчиков в мире. Так у них денег не хватит)

    Зато очень удобно, в зависимости от ситуации:
    - это не пограммеры в очередно раз обделались, это все спецслужбы! не нужен ваш раст
    - это явно не бекдор, чесно-чесно! это просто ошибка с памятью, с кем не бывает! не нужен ваш раст

     
     
  • 3.17, Аноним (17), 12:47, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я еще не успел досчитать до бесконечности, а у Вас уже варианты закончились :(
     
     
  • 4.19, Аноним (-), 13:15, 12/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.41, Аноним (39), 16:57, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А они нужных и не покупают, просто вежливо просят так, что невозможно отказать.
     
  • 3.48, Ivan_83 (ok), 19:28, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тебе просто анб не платит за код на с/с++, вот ты и агришься и гниль свою теребонькаешь, а вот платили бы ты бы сразу по другому запел :)
    Рассказывал бы тут всем что гниль никуда не годится потому что только воздух напрасно греет часами при компеляции, ни с чем не интегрируется толком и прочее.
     
     
  • 4.49, Аноним (-), 20:05, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О, так вот почему ты на раст агришься.
    Гнилью его называешь. И рассказываешь что он "никуда не годится потому что только воздух напрасно греет часами".

    Советую подумать, что сейчас делают с теми, кому платит АНБ за код на с/с++.
    Потому что времена сейчас ой неспокойные)

     
     
  • 5.58, Ivan_83 (ok), 23:20, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, просто раст это браинфак на котором ничего полезного не сделать.

    Так я и подумал, с теми кому платит анб могут сделать только одно - попросить уплотить налоги.

     
     
  • 6.83, namenotfound (?), 13:54, 14/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    в интеле написали новую реализацию direct rendering manager на расте
    люди, которые пишут драйвера для apple silicon в ведре тоже на расте модули пишут
    дискорд, например, свой бэк для пары сотен миллионов пользователей тоже на расте пишет

    но иван с опеннета считает, что на нем ничего полезного не сделать

     
  • 4.52, Аноним (-), 22:01, 12/03/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

     ....ответы скрыты (9)

  • 1.22, Минона (ok), 13:46, 12/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Разработчики проекта GrapheneOS, развивающего защищённое ответвление от кодовой базы AOSP (Android Open Source Project)

    Pixel only Hardened Android?

     
     
  • 2.27, Аноним (-), 13:57, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не мешает взять свой телефон, написать или подправить для него все нужные скрипты.
    Может немного подпилить код.
    Создать пулл-реквест и добавить его в список supported devices.
    И куча народу будет благодарна.
    Many other devices are supported by GrapheneOS at a source level, and it can be built for them without modifications to the existing GrapheneOS source tree. Device support repositories for the Android Open Source Project can simply be dropped into the source tree, with at most minor modifications within them to support GrapheneOS.

    ps они даже пишут почему такой список due to better security and a long minimum support guarantee.
    8th generation Pixels provide a minimum guarantee of 7 years of support from launch instead of the previous 5 year minimum guarantee.

     
     
  • 3.34, Минона (ok), 15:24, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > И куча народу будет благодарна.
    > Many other devices are supported by GrapheneOS at a source level, and
    > it can be built for them without modifications to the existing
    > GrapheneOS source tree. Device support repositories for the Android Open Source
    > Project can simply be dropped into the source tree, with at
    > most minor modifications within them to support GrapheneOS.
    > ps они даже пишут почему такой список due to better security and
    > a long minimum support guarantee.
    > 8th generation Pixels provide a minimum guarantee of 7 years of support
    > from launch instead of the previous 5 year minimum guarantee.

    Нее, нафик.
    Я лучше подожду девайсы с Hardened Aurora или KasperskyOS 😏

     
     
  • 4.36, Аноним (-), 15:40, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Hardened Aurora или KasperskyOS

    С залоченым загрузчиком и добавленным зондом от товарища прямо с завода?
    Отличный выбор!

     
     
  • 5.38, Аноним (38), 16:00, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С завода - это хорошо, обычно заусенцев гораздо меньше чем с наколенного производства.
     
     
  • 6.40, Аноним (40), 16:57, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О, сразу видно человека, которому не доводилось собирать или чинить странки Кировоканского завода)
    Там могло быть все что угодно, вплоть до валов с шестернями которые просто закинули в коробку станка. Без сборки)
    Ну и качество всех поверхностей было на таком же уровне.
     
     
  • 7.43, Аноним (38), 17:05, 12/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а теперь представь валы с шестернями, сделанные на коленке
     

  • 1.50, Аноним (50), 21:29, 12/03/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

     ....ответы скрыты (2)

  • 1.75, Аноним (74), 19:15, 13/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если разработчики GrapheneOS так сильно топят за Rust, почему бы им самим не начать на нем переписывать? Из 167 репозиториев только один на Rust. Или за них это должен сделать кто-то другой?
     
     
  • 2.77, Аноним (77), 19:27, 13/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Если разработчики GrapheneOS так сильно топят за Rust, почему бы им самим
    > не начать на нем переписывать? Из 167 репозиториев только один на
    > Rust. Или за них это должен сделать кто-то другой?

    мелочи жизни. забыл как они наваливали в проекты, и создавали issues'ы: давайте перепишем на раст!!!? xD

     
     
  • 3.85, Аноним (85), 10:04, 15/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Забудешь их. Отдельные отмороженные до сих пор спамят такими issues.
     

  • 1.79, Аноним (79), 21:03, 13/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GrapheneOS крутой проект. Или местные эксперты с чем-то несогласны?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру