Bluetooth-protokollkészlet kihasználása

Editors' Pick

A Synacktiv elemzése alapos, gyakorlatorientált feltárása annak, hogyan lehet a Bluetooth-protokollkészlet hibáit kihasználva távoli, magas jogosultságú kódfuttatást elérni Androidon. A szerzők kiindulópontja az Android Fluoride host-stackjében korábban javított, de technikailag különösen nehezen kihasználható CVE-2023-40129 hibára épül, egy GATT-protokollban fellépő integer underflow, amelyet egy végül ~64 KB-os heap-túlcsordulás követ. Bár a túlcsordulás pusztító hatású és könnyen a Bluetooth folyamat összeomlásához vezet, a Synacktiv csapata bemutatja, miként lehet ezt a viszonylag robusztus állapotot átfordítani megbízható exploitokká — még két különböző, Androidon használt memóriakezelő (Scudo és jemalloc) ellen is.

A publikáció részletesen ismerteti a Bluetooth-stack felépítését (controller vs. host, HCI, L2CAP, GATT stb.), majd bevezeti a kutatási eszköztárukat, a BlueBlue keretrendszert, amely Scapy-alapú HCI/L2CAP interakciókat tesz lehetővé és gyorsítja a protokoll-szintű kísérletezést. A hibát technikailag a build_read_multi_rsp() függvényben található rosszul számolt hosszkezelés okozza: a válaszbufor méretének számítása nem veszi figyelembe egyes mezők méretének növekedését, ami integer underflow-hoz, majd heap-overflow-hoz vezet. A cikk világosan mutatja be a hibát előidéző GATT-kérelmet és azt, hogy miért jön létre a ~64 KB-os túlcsordulás a konfigurált MTU mellett.

A fő érték azonban az exploit-fejlesztés leírása, hogyan lehet a túlcsordulás tsunami jellegét kontrollálni, memóriagroominggal és részleges felülírásokkal elérni, hogy ne omljon össze a folyamat, hanem a támadó által kontrollált adat kerüljön kritikus struktúrák fölé. A Synacktiv részletezi, miként küzdötték le az ASLR, heap-védelem és az allocator-specifikus viselkedés jelentette akadályokat; bemutatnak heap-manipulációs mintákat mind Scudo, mind jemalloc környezetre, valamint a felhasznált fallback-technikákat a megbízható irányítás (control flow hijack) eléréséhez. A támadás gyakorlatilag a Bluetooth-dæmonon futó, magas jogosultságú processz kompromittálását célozza — így a sikeres RCE például mikrofon-, névjegyzék- vagy fájlhozzáférést jelenthet.

A Bluetooth — mivel számtalan eszközön, gyakran privilegizált komponensként fut — továbbra is kritikus támadási felület, és a protokollszintű hibák gyakran bonyolult, de kihasználható láncokká fejleszthetők. A szerzők a gyártói javítások mielőbbi telepítését, a Bluetooth-funkciók szükségtelen letiltását és a rendszeres frissítések, biztonsági bulletinok követését hangsúlyozzák. 

FORRÁS