Opis
Podjetje Armis, ki razvija rešitve za varno uporabo IoT naprav, je izdalo opozorilo o več odkritih ranljivostih pri implementaciji Bluetooth standarda pod skupnim imenom Blueborn. Bluetooth je brezžična tehnologija za povezovanje naprav na razdaljah do nekaj metrov. BlueBorn sestavlja osem ranljivosti, od katerih so štiri klasificirane kot kritične.
Ranljivost se nahaja v operacijskih sistemih Android, iOS, Windows in Linux. Z izkoriščanjem teh ranljivosti bi napadalec lahko pridobil nepooblaščen dostop do ranljive naprave z vključenim Bluetoothom na razdalji nekaj metrov od naprave. Po trenutno znanih informacijah se nobena od ranljivosti še ne izkorišča v napadih. Za nobeno od ranljivosti prav tako v javnosti ni na voljo t.i. exploit, ki bi omogočil izkoriščanje ranljivosti. Pri ranljivih sistemih, ki imajo omogočene mehanizme za zaščito pomnilnika, je izkoriščanje ranljivosti zelo oteženo.
Seznam ranljivosti
1. RCE ranljivost Linux jedra – CVE-2017-1000251
Pri procesiranju čakajočih L2CAP konfiguracijskih odgovorov klienta lahko v pomnilniku pride do prekoračitve sklada (stack buffer overflow). Pri sistemih, ki nimajo omogočene funkcije za zaščito sklada v jedru (CONFIG_CC_STACKPROTECTOR=y), izkoriščanje ranljivosti napadalcu lahko omogoča izvajanje poljubne kode z jedrnim privilegijem (ring 0). Pri sistemih, ki imajo omogočeno funkcijo za zaščito sklada v jedru, je izkoriščanje ranljivosti na tak način zelo oteženo. Funkcija za zaščito sklada je privzeto omogočena na vseh arhitekturah, razen S390X in PPC64 LE.
2. Linux Bluetooth ranljivost CVE-2017-1000250
Pri implementaciji Bluetooth SDP (ang. »Service Discovery Protocol«) je bila ugotovljena pomanjkljivost, ki lahko privede do razkritja kritičnih informacij, kot so šifrirni ključi za Bluetooth.
3. Android ranljivost CVE-2017-0785
Vse različice Androida, ki niso bili posodobljene od 1. septembra 2017 dalje, vsebujejo ranljivo implementacijo SDP.
4. Android RCE ranljivost #1 CVE-2017-0781
V vseh različicah Androida, ki nimajo nameščenih varnostnih popravkov od 1. septembra 2017 dalje, lahko zaradi nepravilno določene velikost pomnilnika, ki se poda v funkciji memcpy(), v pomnilniku pride do prekoračitve kopice (heap overflow).
5. Android RCE ranljivost #2 CVE-2017-0782
V vseh različicah Androida, ki nimajo nameščenih varnostnih popravkov od 1. septembra 2017 dalje, funkcija bnep_process_control_packet napačno preverja velikost spremenljivke rem_len, kar lahko v pomnilniku privede do prekoračitve kopice.
6. in 7. Bluetooth Pineapple pri Androidu in Windows – logična napaka CVE-2017-0783 in CVE-2017-8628
Napačne zahteve na varnostnem nivoju v profilu za PAN (ang. »Personal area network«) omogočajo napadalcu pridobitev dovoljenj za izvedo t.i. »Man-in-the-Middle« napada. Ranljivost CVE-2017-0783 se nahaja v vseh sistemih Android, ki nimajo nameščenih varnostnih popravkov od 1. septembra 2017 dalje, medtem ko CVE-2017-8628 predstavlja podobno napako v vseh verzijah operacijskega sistema Windows, od Windows Vista do Windows 10.
8. Apple »Low Energy Audio« protokol RCE ranljivost – CVE-2017-14315
Applova implementacija LEAP v iOS verziji 9.3.5 in nižje, ter AppleTV OS verziji 7.2.2 in nižje, napačno validira CID za dohodne zvočne podatke preko Bluetootha, kar lahko v pomnilniku povzroči prekoračitev kopice, kot posledica napačne validacije podatkov pred klicem funkcije memcpy().
Ukrepi
Na voljo so popravki za operacijske sisteme Windows, iOS in Linux jedro. Ti se bodo namestili z rednim posodabljanjem sistema. Google je že izdal popravke za Android v AOSP. Proizvajalci naprav morajo popravke implementirati v svoje sisteme in jih ponuditi uporabnikom. Sistemi, ki jih proizvajalci ne podpirajo več, popravkov najverjetneje ne bodo dobili. V primeru, da se bodo ranljivosti začele izkoriščati v napadih, lahko uporabniki za zaščito naprav izklopijo Blootooth. Zaenkrat še nimamo podatkov, da se ranljivosti izkoriščale v napadih.
Povezave
http://go.armis.com/hubfs/BlueBorne%20Technical%20White%20Paper.pdf
https://source.android.com/security/bulletin/2017-09-01
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-8628