Szerző: Hlács Ferenc

2015. február 20. 13:10

Kritikus sebezhetőséget javított járművein a BMW

Súlyos biztonsági hibát foltozott be autóin a BMW: a vállalat ConnectedDrive szoftverén tátongó sebezhetőséget kihasználva a potenciális támadók kinyithatták a járművek vezetőoldali ajtóit. A hibát felfedező szakértő szerint a gyártó könnyűszerrel elkerülhette volna a problémát.

Komoly, a BMW számos modelljét fenyegető biztonsági rést fedezett fel azok szoftverében Dieter Spaar biztonsági szakértő, akit a német ADAC (Allgemeiner Deutscher Automobil-Club) autósklub kért fel, hogy vizsgálja meg, milyen adatokat továbbítanak a gyártó beépített modemmel felszerelt járművei. A sebezhetőséget kihasználva támadók távolról egyszerűen kinyithatják a kiszemelt autók ajtaját, pedig a buta hibát a vállalat könnyűszerrel kivédhette volna.

2,2 millió autó érintett

A szakértőnek a ConnectedDrive szolgáltatást sikerült feltörni, melynek segítségével az autók tulajdonosai - előzetes regisztráció után - a gyártó mobilalkalmazásával is kinyithatják azokat. A szolgáltatás kezeléséről egy központi egység, az úgynevezett Combox gondoskodik, amit a vállalat először a gyártósorról 2010-ben legördült autóiba szerelt be - a legújabb modellekben ennek szerepét már a Telematic Communication Box, röviden TCB veszi át. A Combox felel még többek között a multimédiás funkciókért, illetve a mobiltelefonok Bluetooth-párosításáért is a beépített kihangosítóval.

A Combox egység

Ünnepi mix a bértranszparenciától a kódoló vezetőkig

Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Az egységben egy 32 bites Renesas SH-4A RISC processzor dolgozik, munkáját a kocsit leállítva egy kisebb fogyasztású V850ES mikrokontroller veszi át. A mobilkommunikációhoz a vizsgált járművek egy GSM-, GPRS-, illetve EDGE-képes Cinterion modemet használnak. Spaar a Comboxot az autóból eltávolítva először annak vészfunkcióit vizsgálta meg: egy saját, OpenBSC támogatással rendelkező bázisállomást állított fel, amire az egység annak magas jelerősségét érzékelve fel is csatlakozott. Innentől viszonylag egyszerű volt elcsípni az eszköz által küldött adatokat. A vészfunkció tesztelésénél egy titkosított üzenetet érkezett, amit mint később kiderült, maga a modem hoz létre és a titkosítást is az végzi.

A hozzá tartozó firmware-t viszonylag egyszerű volt kiolvasni: a Combox ezt egy, az alaplapra forrasztott flash modulon tárolja. Ezt eltávolítva kiolvasható annak tartalma, némi kutakodással és a BMW által használt szoftverkörnyezetről nyilvánosan elérhető információk alapján megtalálható a titkosításhoz használt kulcs is. Spaar a flash-en talált szoftverben talált kódsorokat próbálgatta végig, mígnem az egyik működött és sikerült vele feloldani az üzenet titkosítását. Azt is sikerült gyorsan ellenőrizni, hogy a kulcsok nem egyediek és időben sem változnak, a BMW tényleg minden comboxban ugyanazt a kulcsot használja. Ez nyilván szembemegy minden, elemi biztonsági megfontolással, egy combox birtokában ugyanis a támadó az összeshez hozzá tud férni.

Szezám tárulj!

Ezután következett az ajtónyitás. Erre az Android és iOS rendszerekre is letölthető My BMW Remote alkalmazással van lehetőség: használatához a tulajdonosnak először a gyártó weboldalán kell regisztrálnia, majd engedélyeznie kell a Remote Services funkciót. Az app kommunikációjának elemzéséhez Spaar ismét a helyben létrehozott, saját "hamis" bázisállomást használta. A rendszer a leállított autónak először egy SMS-t küld, ami kibányászható a mikrokontroller illetve Combox eseménynaplójából, ez azonban önmagában még kevés a zár kinyitásához.

Az autó az üzenetet megkapva csatlakozni próbál a BMW szervereire, ahonnan további adatokra vár. Ez a kommunikáció azonban, a szakértő meglepetésére mindenféle titkosítást nélkülöző, egyszerű HTTP protokollon zajlott. A zár feloldásához szükséges információk begyűjtéséhez az ajtót először hagyományos módszerrel, az appon keresztül kellett kinyitni, ezután pedig ismét útra kelhetett a másolt SMS. A szerver ezt követően eltárolta az autóhoz kapcsolódó adatokat.

Ezen információk, valamint egy házi bázisállomás és egy laptop birtokában már létrehozható egy magát a BMW backendjének kiadó "szerver", amely a megfelelő parancsot megküldi az autónak. A tesztek szerint a próbálkozásnak az autók engedelmeskednek - és nem csak a tesztpéldány. A szakértő több más BMW-n is kipróbálta az eljárást, a járművek zárjai pedig rendre megadták magukat a támadónak. Még az sem jelentett különösebben biztos védelmet, ha a felhasználó kikapcsolta a Remote Services funkciót: mivel az arra vonatkozó konfigurációs adatokat az autó szintén kódolatlan XML formátumban kapja meg, mezei HTTP kapcsolaton keresztül, nem jelentett túl nagy kihívást az opció visszakapcsolása.

Persze miután a szerver azonos üzeneteket küld az autókhoz, ellenőriznie kell, hogy azokat pontosan melyik járműnek küldi. Ezt úgy teszi meg, hogy az adott üzenetekhez a célba vett autó alvázszámát is mellékeli, ha pedig az nem stimmel, akkor a jármű nem hajtja végre a parancsot. Az egyedi azonosító kiderítése ugyanakkor ismét elég egyszerű feladat, olyannyira, hogy azt gyakorlatilag az autó végzi el a támadó helyett: a hibás számmal küldött üzenetre adott válaszában a jármű helyes alvázszámát is továbbítja.

Ez a Combox egységeket TCB-re váltó új modelleknél szerencsére már nem áll fenn, Spaar vizsgálatai alapján ugyanakkor ettől eltekintve ezekre is érvényesek a fenti biztonsági hibák - az alvázszámot mindenesetre itt sem nehéz megszerezni, főleg, hogy egyes országokban azt jól látható helyen kell elhelyezni a járműveken, így a szerver-kliens kommunikációban ezt jelszóként használni hatalmas felelőtlenség.

A hanyagság a legnagyobb sebezhetőség

A prémium kategóriás modellek tehát egy kisebb hátizsákban elférő felszereléssel rövid idő alatt kinyithatók. A Reuters szerint a gyártó gondozásában készülő Mini és Rolls-Royce modelleket, szintén érintő, tehát az összes 2010. március és tavaly december 8. között gyártott BMW-csoportos autóra kiterjedő hibát a cég egy szoftverfrissítéssel már orvosolta, továbbá a "meztelen" HTTP kommunikációt is HTTPS-re állította át. A gyártónak egyetlen esetről sem volt információja, melynek során valaki a hibát kihasználva törte volna fel autóit.

Noha a veszély a vállalat szerint már elhárult, az eset jól mutatja, hogy még a hasonló óriások is a kelleténél jóval kevesebb figyelmet fordítanak járműveik szoftveres biztonságára. A Spaar által feltárt sebezhetőség nem egy komplikált módszerekkel nagy nehezen kihasználható biztonsági rés volt, hanem feltűnő hanyagság a gyártó részéről, amit az elavult titkosítással vagy akár teljesen kódolatlanul végzett hálózati kommunikáció is jól mutat. A szoftveres biztonság hiányosságai már korábban is okoztak problémákat a területen, többek között az egyik legnagyobb amerikai biztosító is megfeledkezett autókövető rendszerének megfelelő védelméről. A modern autók ilyen sebezhetőségét továbbá Charlie Miller kísérlete is jól mutatja, aki egy notebookkal szinte teljesen átvette az irányítást egy Ford Escape és egy Toyota Prius felett - esetében ugyanakkor kábeles csatlakozásra, illetve a járművek belső burkolatának szinte teljes elpusztítására is szükség volt, így szerencsére valószínűtlen, hogy ilyen támadásra éles helyzetben sor kerülne.

a címlapról