Durva SGS3 sebezhetőség?
A tegnapi nap folyamán a Slashgear jóvoltából napvilágot látott egy két nappal ezelőtti, az Ekoparty bizonsági konferencián készült lent látható felvétel, amin egy Samsung Galaxy S III típusú készüléken hajtanak végre factory resetet úgy, hogy a telefon stock böngészőjével egy preparált weboldalt nyitnak meg. A készülék az oldal megnyitásának pillanatában gyári alaphelyzetbe állt anélkül, hogy a felhasználónak lehetősége lett volna a beavatkozásra, vagy a factory reset lefutásának meggátolására. A támadás működhet NFC-n, és QR kódon keresztül is.
A videó érthető módon nagy port vert fel, neves portálok is felültek annak a tévhitnek hogy ez egy SGS3, vagy TouchWiz-specifikus sebezhetőség. Ezt arra alapozták hogy egyéb böngészőket használva az oldal megnyitásakor nem történt semmi, a factory reset nem futott le.
A támadásban valójában egy trükkösen elhelyezett USSD kód (eszközspecifikus kód, amit a tárcsázóba beütve a telefon speciális, általában diagnosztikai funkcióit tudjuk aktiválni, valamint a készülék extra információit érjük el) a főszereplő, amit a böngésző a megnyitás pillanatában automatikusan továbbít a tárcsázónak, ami végrehajtja azt. A módszer ezen a videón is jól látszik.
A működési elvből több dolog is következik:
- a sebezhetőség nem Samsung-specifikus, egy pillanat alatt át lehet írni HTC-specifikussá a megfelelő USSD kóddal (mint ahogy meg is tették)
- azok a böngészők amik nem továbbítják ezeket a kódokat a tárcsázónak, biztonságot jelentenek (Chrome, Dolphin, stb.)
- third-party tárcsázók (pl. Dialer One, exDialer) szintén biztonságot jelentenek, főként ha nem állítjuk be őket alapértelmezettnek, így az eljárás az automata kimenő hívások előtt is meg fog állni hogy kiválasszuk a tárcsázót, tehát van lehetőségünk kilépni a folyamatból.
A Slashgear cikke alapján további veszélyben lévő készülékek: Galaxy Beam, Galaxy S Advance, Galaxy Ace, Galaxy S II.
A sebezhetőség a firmwaretől függ, a támadás különböző szolgáltatók különböző verzióin eltérő hatékonysággal működik. Az AT&T pl. már ki is adta a patchet a saját verzióira, a független euópai firmware verzió szintén nem támadható. A hazai verziók támadhatóságáról egyelőre nincs információnk, de a JB upgrade garantáltan foltozza ezt a biztonsági rést.
Legyetek résen.
update1: A probléma komolyabb mint gondoltuk, a sebezhetőség olyannyira széleskörű, hogy a HTC-k stock böngészővel rendre megbuknak, valamint az eredeti exploitban található USSD kód már a legelső SGS-ben is a factory reset kódja. Tesztelésre Samsung tulajoknak itt egy megbízható oldal (via), ha az oldal megnyitása után a telefon automatikusan kiírja a saját IMEI kódját, akkor a készülékünk sebezhető. (gyors házi teszt: az SGS Telenoros 2.3.4 stock böngészővel megbukik, az Opera és a Firefox böngésző biztonságot jelent.)
update2: Gabking kolléga egyik mobilers!-es kapcsolata, Sebastian Mauer közzétett egy workaroundot, íme:
"This is my attempt at fixing the USSD vulnerability. It should intercept the Intent to launch/dial an USSD code. Just install the apk and choose it ("Dial Proxy") as default handler when Android asks you to select an App to handle the intent.
I've prepared a website with the vulnerability (e.g. embedded tel: iframe) but replaced the dangerous code with an invalid code with the same prefix. So you should be safe even if my fix doesn't work. http://maui.at/s3/test2.html
NOTICE: Apparently the issue has already been fixed with devices running Android 4.0.4 but I'll be glad to hear if this works for anyone running earlier versions."
(Fordítás: itt az én próbálkozásom az USSD sebezhetőség megoldására. A program elfogja az USSD kód tárcsázására tett kísérleteket. Installáld fel az .apk-t, és válaszd ki (Dial Proxy), amikor az Android rákérdez, milyen app-pal kezelje a tevékenységet. Készítettem egy weboldalt a sebezhetőséggel (pl. embedded tel: iframe) de a veszélyes kód helyére egy érvénytelen kódot helyeztem, azonos előtaggal. Biztonságos, még ha a fix nem is működne. http://maui.at/s3/test2.html
Megj: Úgy tűnik, az Android 4.0.4-et futtató készülékekben már megoldották a problémát, de remélem, a korábbi verzióknál még hasznos lesz")
Az ide tartozó .apk pedig itt elérhető.
update3: A Samsung közleményben jelezte, hogy már ki is toltak egy OTA frissítést a Galaxy S III-ra, ami orvosolja a problémát. S3 tulajok amint tehetik, frissítsenek, ha megérkezik hozzájuk a csomag!
A bejegyzés trackback címe:
Trackbackek, pingbackek:
Trackback: Újabb, rengeteg Android telefont érintő sebezhetőséget találtak 2014.07.08. 07:48:27
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Yarner · http://androlib.blog.hu 2012.09.26. 10:27:39
(A Chrome kompatibilitási hiba miatt nem is indult el a telefonon (WTF))
Sebastian proxyja viszont működni látszik, szépen megfogta.
Megyek, teszem fel az Operát...
lMichele 2012.09.26. 10:31:40
decoati 2012.09.26. 10:50:43
UFP P 2012.09.26. 11:02:00
Yarner · http://androlib.blog.hu 2012.09.26. 11:10:32
InTheGajd 2012.09.26. 11:42:07
Alapfeltétel a tárcsázóban lévő kód, amit manuálisan kell bevinni?
Yarner · http://androlib.blog.hu 2012.09.26. 11:51:25
decoati 2012.09.26. 12:06:38
Ezek az USSD kódok a telefon szoftverének a részei, nagyon régóta léteznek, pl. szervizek ezeken keresztül tudnak funkciókat, teszteket futtatni a készüléken. Minden telefonban megtalálhatóak, de ugyanazt a funkciót eltérő készülékeken eltérő módon lehet előhívni. (pl. umitem.blogspot.hu/2010/10/samsung-galaxy-s-i9000-ussd-codes.html ) Ezeket egyszerűen bepötyögöd a tárcsázóba, és elindul a funkció.
Namost: van egy bizonyos kódcsoport ami nem vár a "hívás" gomb megnyomására, hanem az utolsó karakter bevitelekor elindul. Az általunk tárgyalt kód is ilyen.
Továbbá: az Android böngészőkben van egy olyan funkció, hogy az oldalon feltüntetett telefonszámokra elég ráklikkelni, és már tárcsáz is. Viszont a kódot megfelelően elhelyezve az oldalon nem is kell ráklikkelni, mert tárcsáz magától.
Jelen esetben a telefonszám nem telefonszám, hanem egy ilyen önmagától futó USSD kód, ami történetesen mindent kitöröl a telefonodról.
Kb. ennyi a történet.
decoati 2012.09.26. 12:09:39
Park Ádám 2012.09.26. 12:26:13
Próbáljátok ki: www.nfllab.com/android/redirtel.php
Az IMEI kód fog megjelenni a tárcsázóban, de lehetne helyette factory reset is, vagy bármi. Kipróbáltam Sam Galaxy S-en, HTC-n, és Motorolán.
Park Ádám 2012.09.26. 12:28:12
Park Ádám 2012.09.26. 12:36:50
play.google.com/store/apps/details?id=org.dnaq.dialer2&feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5kbmFxLmRpYWxlcjIiXQ..
Ettől független a gyárit használjátok tovább, csak ne tegyétek alapértelmezettre egyiket se! Így ha egy ilyen linkre kattintotok, mindig fel fog jönni a választó ablak, melyik tárcsázót akarjátok használni. Ilyenkor nyomtok egy back gombot, és elhúztok az oldalról jó messzire.
Park Ádám 2012.09.26. 12:44:52
Yoss 2012.09.26. 13:23:36
Szóval csak óvatosan.
Yarner · http://androlib.blog.hu 2012.09.26. 13:30:30
Yarner · http://androlib.blog.hu 2012.09.26. 13:34:45
Jozsó_ 2012.09.26. 13:59:48
Dontpanic 2012.09.26. 14:01:00
The Lost Soul (törölt) 2012.09.26. 14:04:36
Jozsó_ 2012.09.26. 14:11:11
AvgDvl 2012.09.26. 14:17:44
csgeza 2012.09.26. 14:34:21
jobbos 2012.09.26. 14:53:11
Jozsó_ 2012.09.26. 14:59:26
ex-dr. vuk 2012.09.26. 15:06:48
vasgyuszi 2012.09.26. 15:07:48
tyberius 2012.09.26. 15:09:59
Szyl 2012.09.26. 15:11:52
Szyl 2012.09.26. 15:14:13
RadyR 2012.09.26. 15:17:22
Bambano 2012.09.26. 15:25:19
Bambano 2012.09.26. 15:28:40
Harag atya 2012.09.26. 15:29:24
Translator +X+ · http://www.szabadzona.hu 2012.09.26. 16:02:00
:: Próbáljátok ki: www.nfllab.com/android/redirtel.php
Annyira jó, hogy ZTE Blade-en is előjön...
kverti 2012.09.26. 16:20:16
MoxNox 2012.09.26. 16:37:58
Xabinho87 2012.09.26. 17:07:38
Darkcomet 2012.09.26. 17:30:20
qr-olvasóknak kell megoldani a problémát."
Nem. Ez elsősorban android bug, ráadásul már 2 éve ismert, csak eddig nem kapott ekkora nyilvánosságot.
decoati 2012.09.26. 17:32:50
Nem vagyok programozó, nem tudom mi a pontos különbség az nfllab-os oldal és a posztban linkelt tesztoldal között technikai vagy metódusbeli szempontból (az nfllab-os forrását nem tudom megnézni), de a böngészők eltérően viselkednek a két oldalon.
A posztban lévő az eredeti exploitot követi, az nfllab-os pedig egyenértékű azzal, mintha a böngésző címsorába beírnánk: tel:*%2306%23
Az Opera az első esetben nálam megáll, a második esetben továbbítja a kódot a tárcsázónak.
Végső soron nincs különbség a két megoldás között (az ember klikkel egyet és helló az adatoknak), tehát sztem a böngésző oldali védelmet elfelejthetjük.
Első közelítésben tehát marad a Sebastian Mauer-féle dial proxy (ld. poszt), vagy @bianka69 által küldött linkben lévő app. Tehát: valami tárcsázó oldali védelem.