fbpx Skip to content

Thomas Roth, a reverse engineeringgel foglalkozó Stacksmashing YouTube-csatorna szerkesztője a napokban feltöltött egy technikai részletekbe menő videót az AirTag jailbreakeléséről.

Egészen pontosan arról van szó, hogy a biztonsági szakértőnek sikerült kiolvasnia a firmware-t az AirTag elvileg lezárt flash-memóriájából, majd annak egy módosított verzióját vissza is töltötte az eszközre.

A videóban elmondta, hogy az AirTag lelke az Apple U1 chip, amely a legkülönfélébb rádiófrekvenciás kommunikációs funkciókért felelős. Ez az úgynevezett ultraszélessávú (UWB, Ultra-WideBand) technológia az iPhone 11-ben debütált 2019 végén, és ugyanez a chip található meg az azóta megjelent iPhone-, Apple Watch- és HomePod-modellekben is, amiről itt írtunk már korábban. Az U1 mellett azonban egy másik integrált áramkör is megtalálható az AirTagben: ez a Nordic Semiconductor nRF52832 típusjelű processzora, ami egy Bluetooth és NFC vezérlésre alkalmas céláramkör. A jailbreakelés folyamatának ez lesz a főszereplője.

Egy másik biztonsági szakember, Colin O’Flynn már visszafejtette az AirTag belső csatlakozóinak és hibakeresésre szolgáló forraszpontjainak a bekötését. Az ő leírása az érdeklődők számára nyilvánosan elérhető a GitHubon, és Roth is erre a forrásra támaszkodott, amikor megpróbálta jailbreakelni az eszközt.

Ehhez az első lépést a vezérlőprogram, azaz a firmware kiolvasása jelenti az AirTag beépített flash-memóriájából. Ezt azonban az Apple lezárta, és kívülről alapvetően nem olvasható. Amint azonban kiderült, ez a védelem elég könnyen megkerülhető a hardver megfelelő “piszkálásával”.

Roth az úgynevezett “glitching” avagy hibainjektálás technikáját használta, mert ismerte egy másik hardvermérnök, @LimitedResults idevágó munkáját, amelyben ugyanennek a gyártónak egy hasonló chipjét, az nRF52840-t nyitotta meg glitching segítségével. Az eljárás lényege, hogy egy éppen futó processzor tápfeszültségét rövid időre, sorozatosan, szándékosan megszaggatjuk, a tápellátást kiejtjük, amelynek következtében annak működésében véletlenszerű hibák léphetnek fel. Ennek az egyik lehetséges megnyilvánulása, hogy a folyamatosan végrehajtott utasításfolyamból a chip néha kihagy egy-egy utasítást. Node miért is hasznos ez a jailbreakeléshez?

Amit valójában a jailbreakeléshez el kell érni, az a debug, azaz hibakereső módba való belépés, mert ez lehetővé teszi a chip viselkedésének közvetlenebb megfigyelését, és például az általa olvasott vagy írt memória tartalmának kiolvasását. A chip ezt általában valamilyen feltételhez kötve engedélyezi, ami pedig egy feltételes ugrás utasítást jelent. Azaz amikor a hibakereső mód le van tiltva, mint ahogyan ez az AirTagben is történik, akkor a processzor egyszerűen átugorja az(oka)t az utasítás(oka)t, amik a hibakeresés engedélyezéséhez szükségesek. Ha azonban a tápellátás hirtelen megszakítása folytán szerencsénk van, és a processzor pont az átugrás utasítását hagyja ki, akkor viszont végre fognak hajtódni a debug módot engedélyező gépi utasítások.

Ehhez gyakorlatilag a nyers erő és a fuzzing módszerét használva, nagyon sokszor gyors egymásutánban meg kell szakítani a processzor tápellátását rövid időre, és közben folyamatosan megpróbálni csatlakozni hozzá hibakereső módban, egy kifejezetten erre a célra készített debugger áramkörrel. Ha elég sokszor próbálkozunk, a véletlen a segítségünkre lesz, az áramkimaradás egyszer csak pont a megfelelő pillanatban történik, megnyitva a processzort a külvilág számára.

Roth kísérletében pontosan ez történt. Ennek során egy Raspberry Pi-ra írt programmal vezérelt egy MOSFET-et. Ez egy nagy sebességű tranzisztor, tehát egy nagyon rövid késleltetésű, elektronikusan vezérelhető kapcsolóként tud működni. Ezzel a kívülről, automatizálva vezérelt kapcsolótranzisztorral ideiglenesen rövidre zárta az nRF52832 áramellátását, ami nem volt nehéz, mert a chip tápfeszültséghez vezető csatlakozója technológiai okokból ki van vezetve az alaplap egy jól elérhető helyére, egy tesztelésre szolgáló forraszpont formájában. Mindössze néhány percnyi várakozás után siker koronázta a próbálkozásait, és be tudott lépni hibakereső módban a chipbe.

Ebben a módban utána már könnyű volt kiolvasni a firmware-t a memóriából. A flash pedig habár hivatalosan nem olvasható, a törlést és az újraírást mégis engedélyezi, valószínűleg a későbbi szoftverfrissítések lehetőségét szem előtt tartva. A biztonsági szakember ezek után tehát vissza tudott tölteni az AirTagre egy módosított firmware-t, amiben megváltoztatta az eszköz NFC-s beolvasásakor sugárzott URL-t, és átirányította ide.

A flash-memória írhatósága azt is jelenti egyben, hogy a fenti, meglehetősen pepecselős és időigényes folyamatot nem kell minden egyes AirTagnél megismételni, hiszen az egyszer már kiolvasott és módosított kód feltölthető tetszőlegesen sok másik eszközre is.

Természetesen a beépített URL megváltoztatása nem az egyetlen vagy a leghasznosabb lehetséges módosítás, a jelentősége mindössze annyi, hogy demonstrálja tetszőleges kód végrehajtását.

Ha jailbreakelnéd az AirTaget, te mit változtatnál rajta, milyen új funkciókat látnál benne szívesen?

Olvasd el a hozzászólásokat is

Népszerű hozzászólások

  1. Ha jailbreakelnéd az AirTaget, te mit változtatnál rajta, milyen új funkciókat látnál benne szívesen?

    Rávenném hogy kör helyett kocka alakú legyen, és megkérném hogy Neoval együtt lehessek a Mátrixban.

  2. Avatar for gunar gunar says:

    Csak azt, hogy ne fedje fel magát másik iphone-on sosem és azonnal lenne pici sokáig üzemelő nyomkövetésre alkalmas (talán) eszköz. Ja nem az asszonyt vagy a gyereket követném.

  3. Nekem tegnap jött meg a négyes csomag. Tetszik. :+1:t3:

  4. Fu de kretén hogy a Never Gonna Give You Up videó klippre irányította át a sugárzott URL-t. :joy::joy::joy:

  5. Az ilyen piszkálásokkal csak azt fogják elérni, hogy az alapvetően egyszerű hardverek is mint az AirTag simán iBoot bootloader-t fog kapni és a végén már csak olyan firmware-t fog felengedni magára, amit az Apple aláírt.

    Persze van iPhone-ra is jailbreak, de hát mint látjuk, ezek a kiskapuk minden egyes exploit-tal bezárásra kerülnek (már ha nem hardveresen fal elcseszve a chip), így előbb-utóbb már nagyon-nagyon-nagyon nehéz lesz bármit is csinálni ezeken az eszközökön. Kivéve Apple.

    Szerk.: amit egyébként nem is értek, mert már a macen a TouchBar-nak is saját, Apple signed firmware-re van, akkor itt hogy-hogy nem gondoltak rá… :smiley:

  6. Avatar for Jadeye Jadeye says:

    pedig még a TouchBar is jailbreakelhető.

Continue the discussion at Hozzászólok

Participants

Avatar for Burgatshow Avatar for White64GB Avatar for Szifon Avatar for taky1974 Avatar for Nrbrtbgg Avatar for Jadeye Avatar for gunar

Népszerű hozzászólások

  1. Ha jailbreakelnéd az AirTaget, te mit változtatnál rajta, milyen új funkciókat látnál benne szívesen?

    Rávenném hogy kör helyett kocka alakú legyen, és megkérném hogy Neoval együtt lehessek a Mátrixban.

  2. Avatar for gunar gunar says:

    Csak azt, hogy ne fedje fel magát másik iphone-on sosem és azonnal lenne pici sokáig üzemelő nyomkövetésre alkalmas (talán) eszköz. Ja nem az asszonyt vagy a gyereket követném.

  3. Nekem tegnap jött meg a négyes csomag. Tetszik. :+1:t3:

  4. Fu de kretén hogy a Never Gonna Give You Up videó klippre irányította át a sugárzott URL-t. :joy::joy::joy:

  5. Az ilyen piszkálásokkal csak azt fogják elérni, hogy az alapvetően egyszerű hardverek is mint az AirTag simán iBoot bootloader-t fog kapni és a végén már csak olyan firmware-t fog felengedni magára, amit az Apple aláírt.

    Persze van iPhone-ra is jailbreak, de hát mint látjuk, ezek a kiskapuk minden egyes exploit-tal bezárásra kerülnek (már ha nem hardveresen fal elcseszve a chip), így előbb-utóbb már nagyon-nagyon-nagyon nehéz lesz bármit is csinálni ezeken az eszközökön. Kivéve Apple.

    Szerk.: amit egyébként nem is értek, mert már a macen a TouchBar-nak is saját, Apple signed firmware-re van, akkor itt hogy-hogy nem gondoltak rá… :smiley:

  6. Avatar for Jadeye Jadeye says:

    pedig még a TouchBar is jailbreakelhető.

Continue the discussion at Hozzászólok

Participants

Avatar for Burgatshow Avatar for White64GB Avatar for Szifon Avatar for taky1974 Avatar for Nrbrtbgg Avatar for Jadeye Avatar for gunar