Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 191 reacties
Submitter: robinvw1

Beveiligingsonderzoekers hebben ontdekt dat het mogelijk is om een aantal Samsung Galaxy-telefoons op afstand te resetten, zoals de S II en de S Advance. Door op een link te klikken wordt de resetcode van Samsung geactiveerd.

Beveiligingsonderzoekers die hun bevindingen presenteerden op de EkoParty-beveiligingsconferentie, ontdekten dat de mogelijkheid op verschillende Samsung Galaxy-telefoons om vanuit onder meer de browser de dialer te starten, kan worden misbruikt. Zo kunnen bijvoorbeeld supportcodes worden ingevoerd, zonder dat de gebruiker dat merkt.

Eén bepaalde supportcode heeft dan vergaande gevolgen: die waarmee een hard reset op een toestel wordt uitgevoerd, waardoor een gebruiker alle instellingen en gegevens kwijtraakt. De onderzoekers ontdekten dat het mogelijk is om deze code uit te voeren zonder dat de gebruiker toestemming moet geven, namelijk door 'tel:' gevolgd door de supportcode op te roepen als url. Ook zou het mogelijk zijn om simkaarten onklaar te maken.

Daardoor is het bijvoorbeeld mogelijk om de code in een iframe te verstoppen, zodat de telefoon bij het bezoeken van een bepaalde pagina, zonder dat de gebruiker iets wordt gevraagd, opeens wordt gewist. De onderzoekers waarschuwen dat de kwetsbaarheid ook is te misbruiken via een qr-code, nfc en wap-push.

Tweakers.net heeft kunnen verifiëren dat de Galaxy S II en Galaxy S Advance inderdaad kwetsbaar zijn voor het beveiligingsprobleem; een Galaxy S III met standaardfirmware met Android 4.0.4 is niet vatbaar voor de browserhack, maar wel voor de nfc-variant. De Galaxy Nexus en de Galaxy Note zijn eveneens niet kwetsbaar voor het probleem.

Reacties (191)

Reactiefilter:-11910166+1100+215+30
Moderatie-faq Wijzig weergave
1 2 3 ... 7
http://pastehtml.com/view/cct9p1jgk.html voor de mensen die 't willen proberen. Wees heel voorzichtig met het klikken op de bovenstaande link. ;)

De HTML-code waar het om gaat is <frame src="tel:*2767*3855%23" />

-edit-
Eventjes een pagina vˇˇr de betreffende pagina gezet om misclicks te voorkomen.

[Reactie gewijzigd door TvdW op 25 september 2012 13:54]

Het werkt -zoals verwacht- niet op de Galaxy Note (Android 4.0.4 ICS Stock ).

Je kunt beter code *#*#4636#*#* (testmenu) of *#06# (IMEI) in de demo zetten in plaats van de echte resetcode om het testen van de bug veiliger te maken.

Ook is het vreemd dat Ghostery maar liefst vier verschillende trackers laat zien op een simpele voorbeeldpagina, die niet meer dan ÚÚn regel html vereist.

[Reactie gewijzigd door donny007 op 25 september 2012 15:23]

Dit grapje werkt niet op;
- Samsung Galaxy Mini 2 (Stock- & laatste Firmware)
- Samsung Galaxy S (I9000) CM9.
wat raar..
dus als ik nou:
<frame src="tel:112" />

doe in 1 frame. belt de telefoon dan zonder door te hebben de politie..?
Nee, het commando waar hier sprake over is is een van de vele commando's die je via de dialer kunt benaderen. Je kunt zo ook bepaalde settings en testmenu's benaderen. Het verschil tussen een telefoonnummer zoals "112" en deze commando's is dat je bij een telefoonnummer nog op het groene telefoontje moet drukken. Als je een van de deze commando codes invult zal deze direct worden uitgevoerd als het laatste nummer (of teken) is ingevuld.
Echt raar dat het toestel niet eerst om een bevestiging vraagt. Het lijkt mij een bewuste keuze om niet een bevestigings dialog te tonen. Wat zou daar de reden van kunnen zijn?
Haha dit is zo simpel en logisch dat zelfs ik het zou kunnen verzinnen. Het is geen lek in de software of iets dergelijks. De telefoon functie is gewoon een algemene tag voor het oproepen van de telefoon functie op iedere mobiel. Bijna iedere fabrikant heeft een aantal diagnostische functies ingebouwde verborgen achter codes.

Alleen google's eigen roms hebben deze meestal niet, maar mijn vorige Sony Experia X10 had deze ook.

Het is gewoon een beetje knullig dat er een functie is die meteen alles wist. Die moeten ze gewoon verwijderen ofzo... Dan is het al gefixed
Ben ik niet met je eens, dit is wel degelijk een fout door niet even met een popup te komen "Weet u zeker dat u een reset uit wilt voeren?" bijvoorbeeld.
Met welk deel was je het precies niet eens dan? Ik dacht namelijk dat -

"Het is gewoon een beetje knullig dat er een functie is die meteen alles wist. Die moeten ze gewoon verwijderen ofzo... Dan is het al gefixed"

- behoorlijk de lading dekte.
Dit is inderdaad iets wat ook een flaw is in Android zelf. Factory reset codes zitten in ieder toestel, dus Samsung is niet echt verantwoordelijk.

Erger is dat de manier waarop met intents wordt omgegaan te verweven is. Als een applicatie wordt geinstalleerd, krijg je even te zien welke permissies deze nodig heeft. Een stock browser heeft nooit om je permissies hoeven vragen, en pakt gewoon het tel: prefix om Telefoon op te roepen.

Oplossing: codes die dergelijke privileges hebben blokkeren vanuit elke andere applicatie dan Telefoon zelf, door nummers met * beginnend ongeldig te verklaren als het uit een intent komt van een andere app.
Jij doet het voorkomen alsof het knullig / onhandig / niet zo erg is, terwijl het natuurlijk erg kwalijk is dat zonder dat je er iets aan kan doen je hele telefoon gewist kan worden.
Daardoor is het bijvoorbeeld mogelijk om de code in een iframe te verstoppen, zodat de telefoon bij het bezoeken van een bepaalde pagina, zonder dat de gebruiker iets wordt gevraagd, opeens wordt gewist.
Bovendien noem je het zo simpel en logisch, terwijl het erge gevolgen heeft voor de gedupeerde, waardoor je je kan afvragen of er bij Google of Samsung niet iemand heeft zitten slapen?

Ik ben het dus wel met DennusB eens dat het geen knulligheidje is, maar gewoon een (kwalijke) fout.
Dit is wel degelijk een lek in de browser sandbox. Simpele HTML code mag nooit toegang hebben tot low-level telefoon functies.

Waarom zou je dit willen goedpraten? Tis een exploit, kan gebeuren, wordt (hopelijk) gefixed door Samsung of Google -> orde van de dag.

[Reactie gewijzigd door Dreamvoid op 25 september 2012 14:38]

Dat doet het ook niet, dit is een functie om een telefoonnummer automatisch te bellen, alleen ipv een telefoonnummer is het een reset code die je normaliter in het telefoonscherm invult. Het tel: commando is gewoon onderdeel van de HTML standaard net als mailto: dat is.
Maar dat zou dus beperkt moeten worden tot normale telefoonnummers. Je zou bij kiezen via URL nummers met * en/of # bijvoorbeeld kunnen blokkeren of tenminste laten bevestigen.
Fe dialer maakt geen onderscheid tussen wat het belt, het geeft slechts een instructie door 'kies deze nummers'.
Als die nummers een speciale functie in de telefoon uitvoeren, dat zal de dialer app een zorg zijn.
Onderscheid tussen de nummer maken is niet nodig,
het is al genoeg om de gebruiker alleen een ingevuld nummer te laten zien in de dialer, waar ze dan zelf nog op "bellen" moeten drukken. Volgens mij werkt het meestal ook zo.
Er is geen "tel: commando", dat is gewoon een deel van een URI, en wel het gedeelte dat de "scheme" aangeeft. Er wordt in "de HTML standaard" niets expliciet gezegd over "tel:" of "mailto:". Er wordt wel verwezen naar de URI standaard, waarin mailto: wel genoemd wordt, maar tel: niet.
Je zou ueberhaupt niet zomaar dingen moeten kunnen bellen, zeker niet zonder directe aanvraag van de gebruiker.
<bel ons> is toch veel handiger dan.

bel null negenhonderd drie zes zes twee zes vijf-en-vijftig.

dat er wat input validatie zou mogen gebeuren staat los van het nut van zulke features.
Ja, maar als dat in een iframe geladen kan worden gaat er toch iets fout; het misbruik wat hier genoemd wordt is natuurlijk extreem maar ik zou het ook knap vervelend vinden als mijn telefoon een normaal mobiel nummer gaat bellen als ik een website bezoek.

Een melding als 'De website die u bezoekt probeert het nummer xx-xxxxxxx te bellen. Gaat u hiermee akkoord?' zou wel het minste zijn wat hij kan doen. Daarnaast zouden zeker dit soort functies gewoon geblokkeerd moeten worden vanuit elke andere app dan de dialer zelf.
http://home.mattie-systems.nl/temp/telefoon.html

Deze output de code "*#06#" (imei nummer) voor als je wil proberen of je telefoon vatbaar is :)

(en hij zit ook nog eens achter een link als je me niet gelooft :p)
Heb de link geprobeerd met mijn stock Galaxy S1 (Android 2.3.6) en krijg de code alleen in mijn dialer te zien. Wordt dus niet meteen uitgevoerd. Als ik de code handmatig invoer, wordt deze wel meteen uitgevoerd, zonder op het groene haakje te klikken. Een Galaxy S1 lijkt mij dus niet vatbaar.
Bij mijn galaxy S (eventjes teruggeleend van mijn zusje for the greater good) geeft ie "USSD code ongeldig". Mijn Galaxy S III nog niet geprobeerd, eerst even een backup maken.
kan melden dat mijn galaxy gio op stock android 2.3.3 vatbaar is voor deze exploit!
Werkt bij mij op SII ook. Iniedergeval via Dolphin Browser.

[Reactie gewijzigd door Dlocks op 25 september 2012 22:45]

Werkt op een Galaxy Y Pro B5510 (a.k.a. Galaxy Txt) in de Dolphin-browser.
HTC wildfire S is ook vatbaar voor de link, en wordt direct uitgevoerd! :?
Lijkt dus op een foutje van samsung zelf want mijn HTC heeft er totaal geen probleem mee.
Wel vreemd dat ze niet iets voorzichtiger zijn omgegaan met html en de rest van het OS. Vooral dingen van het internet moeten toch afgeschermd worden lijkt me.
Jouw HTC zou het probleem ook hebben mits die HTC een code heeft die een soortgelijke functie heeft en er voor die code gekozen zou zijn i.p.v. de Touchwiz-builds met eigen codes.
Op mijn SGS2 met CM10 werkt de regel niet. Dit is dus alleen met de samsung eigen firmware
% kon ik niet vinden in de dialer, maar je moet iig ook geen '*2767*3855# doen, krijg je een factory format :+ (deed ik per ongeluk :Y))

(wou toch altijd al een keer gewoon mijn mobiel een keer helemaal leegmaken
Dat klopt want # is een speciaal teken dat je, net als ene spatie, niet in URL mag zetten.
En laat %23 nu inderdaad staan voor.... #

[Reactie gewijzigd door Titusvh op 25 september 2012 15:01]

Weet iemand waar je die codes los kan vinden?

Vind het wel makkelijk om deze te hebben. Heb regelmatig op mijn werk dat ik gegevens uit telefoons moet halen. *#06# weet ik wel Maar ben dus op zoek naar meer van deze coden.
Ik heb op deze pagina veel van die MMI-codes gevonden.
Na jouw bericht ook even geprobeerd en inderdaad. Werkt niet op CM10 :)
Net getest op SGS3 met Jelly Bean (4.1) op de chrome browser en werkt ook niet...

Waarschijnlijk werkt dit dus alleen op de android browser, en die zit niet meer op 4.1 erin :)
Hoe werkt CM10 nu? Zit zelf nog op CM9?

Wel blij dit te horen, je krijgt nu natuurlijk bergen met 'grapjassen' die dit gaan doen. En ik heb er iig geen last van.
Het werkt op vrijwel alle android telefoons. Als je de string aanpast naar *#06# kan je veilig testen (en het is een code die op alle toestellen sowieso werkt).

#edit
Fix:
https://play.google.com/s...s?id=org.mulliner.telstop

[Reactie gewijzigd door SaintK op 26 september 2012 08:39]

Dus als je deze link via social media naar je vrienden stuurt heb je meteen wat minder vrienden. }>

[Reactie gewijzigd door Franckey op 25 september 2012 23:35]

Dit lijkt me wel te voorkomen door een programma als call confirm te installeren. Dit zou sowieso een standaard functie op elke touchscreen telefoon moeten zijn om het per ongeluk bellen van nummers te voorkomen. Call confirm werkt system wide en is dus niet afhankelijk van de gebruikte dialer.
Alleen werkt dat niet voor de interne codes. Probeer zelf maar *#06# (Om je IMEI op te vragen) en je zal zien dat de melding van je IMEI direct komt zonder een bevestigingvraag.

Getest met Tiny call confirm.
De genoemde Call Confirm onderschept 'm wel (getest op HTC Desire). Sommige van deze apps hebben inmiddels ook een update om USSD te blocken.
"Only Samsung devices running TouchWiz appear to be affected, with basic Android only showing the code in the dialer screen but not running it automatically, Pau Oliva reports."

Bron: http://www.slashgear.com/...hack-discovered-25249061/

Phew, dan zit ik save met mn custom rom :)
hmm, kwestie van tijd voor er een gek is die dit in tinyurl op twitter gooit.. Hoop dat het snel gefixed wordt.
Op http://www.wipemygalaxy.com is achtergrond informatie te vinden en hoe dit uit te zetten valt. Ook zijn er simpele tests aanwezig om te kijken of je toestel vulnerable is. Wellicht handig voor iemand :)
zo'n link werkt ook bij HTC merk k net,.

kan met zo'n link mn imei op mn scherm krijgen.

zijn genoeg codes te vinden die de boel kunnen verpesten:
http://kampungtoys.com/20...e-x-secret-phone-codes-2/
-edit-

kan met zo'n link dus ook in n service menu komen.

slechte zaak :|

[Reactie gewijzigd door marcel-o op 25 september 2012 23:45]

Ik zie nergens staan of het gebruik van een Custom Rom (CyanogenMod) dit voorkomt...
Ik verwacht overigens van wel. Lijkt mij vrij Samsung prop code aangezien dit alleen op Samsung werkt?

[Reactie gewijzigd door maceddy2004 op 25 september 2012 13:52]

Volgens mij zijn de dailers van Samsung device specifiek en een onderdeel van TouchWiz. Als je dus geen TW draait, heb je niet de Samsung Dailer en zal dit niet werken.

Zover ik weet heeft CM natuurlijk wÚl een hardreset functie, "restore factory settings". Ieder Android toestel heeft die functie in z'n downloader -> dus recovery zitten. Bijna alle recoveries die je kunt aanspreken zullen de hardreset functie tonen / uit kunnen voeren.

Samsung heeft alleen een OS koppeling gemaakt, die vrij normaal is, maar die dus ook zonder het toestel in te hoeven gaan navigeren, vanuit de dailer aan te roepen is.

Mogelijk oplossing / beveiliging tegen dit fenomeen
Omdat het zo werkt, zou een alternatieve dailer installeren als standaard instellen bescherming kunnen bieden. Het moment dat https://play.google.com/s...z.mek.DialerOne&hl=nl bijvoorbeeld de default system dailer is, zal de code NIET naar die van Samsung gaan en word de hard reset als het goed is niet uitgevoerd. Geen garanties!!!
Ik heb inmiddels Dialer One ge´nstalleerd en deze voert de commando's inderdaad niet uit. Ik heb getest of hij het goed aanpakt door mezelf even te mailen met een paar telefoonnummers, dit lijkt te werken maar ik kan me voorstellen dat het mogelijk anders ge´nterpreteerd wordt als het via een website gaat. Heeft iemand dit al getest? (ben niet echt van plan het risico te nemen aangezien ik geen goede backups heb...)

Edit: heb het getest met een website die verder naar boven werd gepost met het IMEI commando, de alternatieve dialer voert dit commando inderdaad niet uit. Ik durf er dus wel van uit te gaan dat dit naar behoren werkt.

[Reactie gewijzigd door MrMaxedTank op 25 september 2012 17:09]

Ook de MIUI dialer lijkt kwetsbaar te zijn, maar het zou kunnen dat deze gebaseerd is op de Samsung dialer...
Mijn CM10 op GS III geeft in ieder geval geen reboot.
Oeps. Heel slordig dit van Samsung (of android?). Ik mag hopen dat ze dit als de bliksem overal gaan patchen want dit gaat natuurlijk gezeik opleveren bij heel veel mensen...
android niet lijkt me aan gezien de galaxy nexus niet vatbaar is en dat is puur android zoals google hem aflevert
Voor de Galaxy Nexus zijn er andere codes beschikbaar. Google maar eens op "Galaxy Nexus secret codes"
Het gaat er niet om of er codes zijn voor een bepaalde telefoon (die zijn er altijd) maar of de telefoon toelaat dat de browser een URL rechtstreeks naar de dialer brengt, zonder tussen komst van de gebruiker.

Ook kan de SMS app, de NFC implementatie e.d. op die manier kwetsbaar zijn.
Ja en nee. Er zijn Samsung Nexus telefoons die worden geupdate door Google en door Samsung. De Nexus die eigenlijk geen Nexus is http://bit.ly/Ia4POO
Het blijft dus onduidelijk of de Samsung Nexus met Samsung firmware er last van heeft of niet. De Samsung Nexus met Google firmware in ieder geval niet.
Het werkt niet op mijn stock 4.1 dus het zit echt in de aanpassingen van Samsung zelf.
Die code is vaak per telefoon/fabrikant verschillend kan dus prima op alle Androids werken zolang het juiste nummer maar gebeld wordt...

Zoek maar op:
<telefoonmerk/type> secret codes

En je krijgt een waslijst met codes die je in kan voeren in de dailer, dat kan de browser dus ook allemaal uitvoeren (maar niks terug koppelen dus ze kunnen er niet veel mee behalve je irriteren)...
kan dus prima op alle Androids werken zolang het juiste nummer maar gebeld wordt...
De Galaxy Nexus en de Galaxy Note zijn niet kwetsbaar voor het probleem.
Dus.

Desalniettemin: niet zo mooi, heeft Jellybean hier ook last van?
Gelukkig klik ik dus niet op urls waarvan ik zie dat ze beginnen met "tel:".

Klinkt misschien parano´de maar ik controleer voor elke link waar ik op druk (op 'onbekende' sites iig) wat de onderliggende URL is en als ik zoiets zou zien zouden er meteen alarmbellen af gaan bij mij.
Heel goed van je, maar dat lost niet het hele probleem op. Zoals in het artikel staat beschreven:
Daardoor is het bijvoorbeeld mogelijk om de code in een iframe te verstoppen, zodat de telefoon bij het bezoeken van een bepaalde pagina, zonder dat de gebruiker iets wordt gevraagd, opeens wordt gewist.
Ook kan er via een website URL verkorter zoals bit.ly of tinyurl.com doorgelinkt worden naar een tel: .
Even losstaand van het feit dat het in der daad mogelijk is om zo URL's te spoofen heb ik (in mijn geval) n˛g een extra vorm van beveiliging:

wanneer ik op een TEL: link druk vraagt mijn telefoon of ik de actie met telefoon of skype wil voltooien.. zou dus op dat moment nog kunnen annuleren. Weet niet 100% zeker of dat in de browser werkt (want ben nog geen tel: links daar tegengekomen) maar met tel nummers in SMS'jes of e-mails werkt het wel iig.
Gelukkig klik ik dus niet op urls waarvan ik zie dat ze beginnen met "tel:".
Daarvoor heb je dus iframes.

Je kunt daarmee een andere url embedden in een andere pagina.

Je telefoon kan dus op elke willkeurige website gereset worden zodra iemand die site hacked en daarin onzichtbaar een iframe injecteerd
En hoe zie je dat? Ga je alle links in een website af, en ga je eerst inspecteren waarnaar ze verwijzen?

[Reactie gewijzigd door MaZeS op 25 september 2012 15:48]

Muis erop houden?
Daar moet je niet klakkeloos vanuit gaan. Met javascript is het heel makkelijk om bij een mouseover de link naar X te laten verwijzen (vroeger via statusbalk, tegenwoordig door daadwerkelijk de href te wijzigen), maar bij een onmousedown het weer te wijzigen naar Y. Facebook en Google doen dit, bijvoorbeeld, zodat elke click via hun server verloopt, maar er bij het hoveren niets bijzonders te zien is.
Op je telefoon scherm? En dan? Gebeurt weinig hoor.
Ingedrukt houden en je ziet het ook :)
Wat dus, mijn eerste zin bevestigd juist dat de huidige test NIET op de nexus werkt maar als het goed enummer ingevuld is, mogelijk wel :)
Dat kan waarschijnlijk alleen als je browser het "tel:xxx" commando mag uitvoeren met de telefoon module. Blijkbaar mag het wel bij sommige Samsungs, maar betekend niet dat gelijk alle telefoons het commando vanuit de browser ondersteunen... (ook al heb je een geldige code die vanuit de dailer wel werkt.)
mm, werkt niet op android 4.0.4, laat Samsung 3 weken geleden de SII ge-update hebben naar 4.0.4.
Dus hoe is de SII dan kwetsbaar?
Heb je ook cijfers van welk percentage gebruikers daadwerkelijk geupdatet heeft? Dat gaat bij Android niet zo heel rap namelijk (buiten de Tweaker-community).
nee, cijfers heb ik niet, echter als je niet update komt de melding automatisch elke keer weer terug, vrij irritant, dus de kans dat men niet update schat ik vrij klein in.
Als je stock firmware hebt krijg je volgens mij gewoon een melding van de update.
Ik heb nog steeds 4.0.3 en krijg bij software-update in mijn SII de melding dat er geen nieuwe versie is?

Of zijn ze weer teruggegaan naar dat je alleen via KIES kunt updaten :?
Volgens mij loopt de S2 nog steeds op 4.0.3
Ik heb het net via NFC geprobeerd met een onschuldige code: *#*#4636#*#* (laat alleen wat systeem informatie zien). Die code werkt op Galaxy S3, HTC One X, Galaxy Nexus en Nexus S als je hem met de hand intoetst. Maar vanaf een NFC tag werkt hij bij geen van deze toestellen.
Dit werkt op elke telefoon zolang hij maar ussd codes ondersteund..... jammer maar helaas.
Heb net hetzelfde geprobeerd met enkele andere codes, en ze kunnen inderdaad niet via een NFC tag uitgevoerd worden (ik krijg "ongeldige USSD code" foutmelding)
1 2 3 ... 7

Op dit item kan niet meer gereageerd worden.



Microsoft Windows 10 Home NL Apple iPhone 6s Star Wars: Battlefront (2015) Samsung Galaxy S6 edge Apple Watch Project CARS Nest Learning Thermostat Games

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True