Ez egy igazi gyöngyszem.
Amikor először megláttam Ravi Borgaonkar előadását, igencsak elcsodálkoztam rajta, hiszen manapság már viszonylag ritkán lát az ember ilyen banális bugot. Kezdetben hitetlenkedve olvastam, majd pár másodpercnyi meghökkenés és homlokráncolás után ez hamar átfordult derültségbe. Nem a kárörvendés, szó nincs erről, inkább a lehetőségek felismerésének felvillanyozó érzése materializálódik kaján vigyor formájában. Szóval miről is van szó? A Samsung "tel:" protocol handlere HTML környezetben a dialer appnál landol, ami annyit tesz, hogy ha egy támadó rá tudja venni a telefont hogy nyisson meg egy megfelelően kraftolt weboldalt, tetszőleges hívást tud kezdeményezni. Igen, eredetileg erre szolgálna ez a feature, viszont a dialerrel nem csak hívást indítani lehet, a demonstrációban a fiatalember USSD (Unstructured Supplementary Service Data) kódokkal játszadozik... na de mi ez?
Ha előkapod a telefonodat, és betárcsázod hogy "*#0000#" akkor azonnal láthatod a telefonod mindenféle paramétereit és verzióit, vagy *#06# esetén az imei számodat. Egyik másik ilyen kódot közvetlenül a telefon értelmez, míg mások megjárják a hálózatot és a központban landolnak. Van amelyikkel infókat lehet lekérdezni, és van ami beállításokat intéz. A fenti bemutatóban a "*2767*3855#" (Samsung Galaxy S3) specifikus kóddal a Samsung egyik okostelefonjában triggerel egy Factory Data resetet, aminek eredményeképpen a telefon minden beállítása végérvényesen elvész. Ehhez elég a felhasználót egy olyan oldalra irányítani ami tartalmazza a következő kódot:
<iframe src="tel:*2767*3855%23" />
A hwsw így fogalmazta meg:
A helyzetet súlyosbítja, hogy a tárcsázón keresztül a telefon más funkciói is elérhetőek, így például cserélhető a PIN-kód is. Mivel triviális annak megoldása, hogy a támadó háromszor hibásan próbálkozzon PIN-cserével, a telefon SIM-kártyája is kivonható forgalomból. A hibát felfedező biztonsági szakemberek igazolták a fenti forgatókönyv működését a Galaxy S II esetében, Twitter-felhasználók visszajelzései szerint pedig működik Galaxy S III, valamint a Galaxy Beam, Galaxy S Advance és Galaxy Ace esetében is.
Na igen... feltéve hogy tudod a régi pint. "**04*RÉGI_PIN*UJ_PIN*UJ_PIN#" vagy ugyanez a pin2 -vel csak **04 helyett **042. De letilthatod/jelszóval korlátozhatod a kimenő hívásokat, tilthatod a bejövőket, és egy sor minden mást. Elég egy QR kódos matricára rázoomolni a metrón, és beng: elvesztek az adataid, vagy dobhatod ki a sim kártyádat. A telefon böngészője elküldi az User-Agent headert, így mint támadó, el tudom küldeni a típusnak megfelelő kódokat a csóró ember telefonjára, szóval vannak lehetőségek... Ezeknek a kódoknak a márkaszervizekben biztos utána tudnak nézni. Vagy a google.
Hagyjuk most a telefon specifikus kódokat. Nálunk a szolgáltatók nem szeretik használni az USSD kifejezést, helyette inkább azt mondják hogy "(digitális) kényelmi szolgáltatások". Ezek szolgáltatónként és a központok típusától függően változ(hat)nak, de van néhány ami kb mindenhol fix. Az Axe10 és EWSD rendszerek alap szolgáltatásai pl a híváskorlátozás, vagy a CF* (CFU/CFB/CFNR) amelyek lehetővé teszik az előfizetők számára ezeknek a funkcióknak a használatát. Ahogy elnézem semmi akadálya hogy az előfizető vonalán efféle huncutságokat lehessen beállítani. Állítsak be ébresztést hajnal 4:15-re (*55*0415#), vagy csak indítsak egy emeltdíjas hívást? Vagy irányítsam át a bejövő hívásokat a fővárosi elmegyógyintézethez (**62*TELSZÁM#)? A tata docomo pl elérhetővé tette a facebookot és a twittert a *325# és *515# kódok segítségével.
Mindent összevetve nagyon bájos kis bug... Valahogy elfogott az érzés, hogy nosztalgikusan és végleg elköszöntek az oldschool phreakelés kivénhedt veterán szellemei, utolsó pár hamuba sült pogácsa gyanánt suttogva tippeket a hitech kor gyermekeinek a letűnt idők reneszánsz technikáiról. Nincs már több patch panel fölött görnyedés, kábel szúrkálás gombostűvel, "at" parancsokkal zsonglőrködés... minden digitális.
gombost 2012.09.26. 20:41:56
_2501 2012.09.26. 21:17:53
gombost 2012.09.26. 21:20:47
Joe80 2012.09.26. 21:58:06
_2501 2012.09.26. 21:58:24
_2501 2012.09.26. 22:02:02
ixc 2012.09.26. 22:33:58
a problemas intent filter:
android.googlesource.com/platform/packages/apps/Phone/+/jb-release/AndroidManifest.xml
201-es sor
bovebb info az action-rol:
developer.android.com/reference/android/Manifest.permission.html#CALL_PRIVILEGED
SH4RK 2012.09.26. 22:41:49
ixc 2012.09.26. 22:47:51
#385-nel processIntent gondoskodik par ellenorzesrol
android.googlesource.com/platform/packages/apps/Phone/+/jb-release/src/com/android/phone/OutgoingCallBroadcaster.java
a korabbi verziokban ez a resz nem volt benne
gphilip · http://search-download.com 2012.09.27. 02:12:01
tanatosz 2012.09.27. 10:05:58
Hisz ez egy sima android probléma nem?
ixc 2012.09.27. 10:18:03
review.cyanogenmod.com/#/c/23978/
Venona project (törölt) 2012.09.27. 16:20:19
Mr. X 2012.09.27. 17:01:52
Nem is értem, hogy gondolta ezt, aki kitalálta.
Hunger 2012.09.28. 12:33:34
Ha sokszor próbálkozol rossz pin kóddal, akkor letilt és a PUK kódot kéri, nem?
_2501 2012.09.28. 19:42:09