Даниеле Антониоли (Daniele Antonioli), изследовател по сигурността на Bluetooth, който преди е разработил техники за атака BIAS, BLUR и KNOB, откри две нови уязвимости (CVE-2023-24023) в механизма за сесийно съгласуване на Bluetooth, които засягат всички реализации на Bluetooth, които поддържат режимите на защитено свързване „Secure Connections“ и „Secure Simple Pairing“, съответстващи на спецификациите Bluetooth Core 4.2-5.4. Като демонстрация на практическото приложение на откритите уязвимости, са разработени 6 варианта на атаки, които позволяват да се намесим в свързването между преди това свързани Bluetooth устройства. Кодът с реализацията на методите за атака и утилитата за проверка на наличието на уязвимости е публикуван в GitHub.
Уязвимости были выявлены в ходе анализа механизмов достижения прямой секретности (Forward and Future Secrecy), описанных в стандарте, которые противодействуют компрометации сеансовых ключей в случае обнаружения постоянного ключа (компрометация одного из постоянных ключей не должна привести к расшифровке ранее перехваченных или будущих сеансов) и повторному использованию сеансовых ключей (ключ от одного сеанса не должен быть применим к другому сеансу). Найденные уязвимости позволяют обойти указанную защиту и повторно использовать ненадёжный сеансовый ключ в разных сеансах. Уязвимости возникают из-за недоработок в базовом стандарте, не специфичны для отдельных Bluetooth-стеков и проявляются в чипах различных производителей.

Предложенные методы атак реализуют различные варианты подмены классических (LSC, Legacy Secure Connections на основе устаревших криптографических примитивов) и защищённых (SC, Secure Connections на основе ECDH и AES-CCM) Bluetooth-соединений между системой и периферийным устройством, а также организуют MITM-атаки для соединений в режимах LSC и SC. Предполагается, что все реализации Bluetooth, соответствующие стандарту, подвержены тем или иным вариантам атаки BLUFFS. Эффективность метода была продемонстрирована на 18 устройствах от таких компаний, как Intel, Broadcom, Apple, Google, Microsoft, CSR, Logitech, Infineon, Bose, Dell и Xiaomi.

Същността на уязвимостите се свежда до възможността без нарушаване на стандарта принудително да се върне свързването към използването на стар режим LSC и ненадежден кратък сесионен ключ (SK), чрез указване по време на процеса на свързване на минимално възможната ентропия и игнориране на съдържанието на отговора с параметрите на аутентификация (CR), което води до генериране на сесионен ключ на базата на постоянни входни параметри (сесионният ключ SK се изчислява като KDF от постоянния ключ (PK) и параметрите, уговорени по време на сесията). Например, атакуващият по време на MITM атака може да замени по време на процеса на съгласуване на сесия параметрите 𝐴𝐶 и 𝑆𝐷 с нулеви стойности, а ентропията 𝑆𝐸 да бъде зададена на 1, което води до формиране на сесионен ключ 𝑆𝐾 с фактическа ентропия от 1 байт (стандартният минимален размер на ентропията е 7 байта (56 бита), което по ниво на надеждност е сравнимо с подбора на ключове DES).
Ако атакуващият в процеса на договаряне на свързването е успял да постигне използването на по-кратък ключ, той може чрез подбор (brute force) да определи постоянния ключ (PK), използван за шифроване, и да постигне декриптиране на трафика между устройствата. Тъй като по време на MITM атака може да се инициира използването на един и същ ключ за шифроване, ако този ключ бъде подбран, той може да бъде използван и за декриптиране на всички предишни и бъдещи сесии, перехванати от атакуващия.

За блокиране на уязвимостите изследователят предлага промени в стандарта, разширяващи протокола LMP и променящи логиката за използване на KDF (Key Derivation Function) при оформянето на ключове в режим LSC. Промяната не нарушава обратната съвместимост, но води до включване на разширена LMP команда и необходимост от изпращане на допълнителни 48 байта. Организацията Bluetooth SIG, отговорна за разработването на стандартите за Bluetooth, като защитна мярка предложи да се отхвърлят свързванията по криптирани канали с ключове с размер до 7 байта. На реализации, които винаги прилагат ниво Security Mode 4 Level 4, се препоръчва да се отхвърлят свързвания с ключове с размер до 16 байта.
Източник: opennet.ru
