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. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 36, views: 16.588 •

Apple zal het lek dichten dat het mogelijk maakt om zonder te betalen in-app aankopen te doen in iOS 6. Tot die tijd kunnen ontwikkelaars transacties laten bevestigen via een eigen server. De hacker bevestigt dat 'het spel nu uit is'.

In-AppstoreDe hack maakt het mogelijk om in-app aankopen te doen zonder te betalen omdat de hacker zich voordoet als server van Apple en via een man-in-the-middle-aanval tussen de app en de server van Apple ging zitten. De omweg voor de tijdelijke fix loopt via een api die voorheen niet gebruikt mocht worden. Vanaf iOS 6 is het lek dat de hack mogelijk maakt gedicht, zegt Apple. De hacker 'heeft geen manier om de api's die van een update zijn voorzien te omzeilen', zegt hij op zijn eigen blog.

In totaal zijn er vorige week meer dan acht miljoen transacties gedaan via de hack, aldus de hacker tegen The Next Web. De hack vereist geen jailbreak; de gebruiker moet alleen enkele profielen aanpassen in iOS en de dns-instellingen wijzigen om de app contact te laten maken met de server van de hacker. De hack kon sinds tien dagen geleden gebruikt worden.

Inmiddels heeft dezelfde Russische hacker een methode bekendgemaakt waarmee gebruikers ook gratis in-app-aankopen bij applicaties voor OS X kunnen doen. Ook hierbij moet de gebruiker zijn systeem na dns-wijzigingen naar de server van de Rus laten verwijzen. Die server doet zich dan voor als de Mac App Store en biedt de vereiste authenticatie voor de aankoop. De gebruiker moet daarnaast een aparte app met de naam Grim Receiper draaien.

Reacties (36)

Tot die tijd kunnen ze verifiëren via eigen servers? Dat kon ook al voor de hack en t was al bekend dat dit werkte. Gewoon gemakzucht van ontwikkelaars waardoor dit zo'n groot probleem werd..

Desondanks is het slecht dat ze het niet gelijk maken.. Maar goed, er is een oplossing.
Als ontwikkelaar wil je toch altijd nog een tweede, eigen controle doen? Zeker als het gaat om betalingen kan je niet voorzichtig genoeg zijn.
Gewoon gemakzucht van ontwikkelaars waardoor dit zo'n groot probleem werd..
Dat gaat een beetje ver. Als ontwikkelaar is het absoluut niet je taak (en het lijkt me zelfs onverstandig) om je eigen klanten als je vijand te zien en te behandelen.

Er werd gebruik gemaakt van een publieke API van Apple, waarop je als ontwikkelaar best mag vertrouwen.

Daarnaast de "verliezen" die hier worden gemaakt zijn vooral aan verkopen aan mensen die geen geld voor je produkt over hebben. Het is een sub-onderdeel van het illegaal kopieren van apps.

Een ontwikkelaar kan over het algemeen beter zijn tijd en energie steken in het maken van een kwaliteitsprodukt, dan dat hij bezig is om allerlei DRM en anti-piraterij beveiligingen aan te scherpen. Daarmee plezier je je betalende klanten. Met het laatste ben je alleen maar bezig met mensen die _geen_ geld voor jouw produkt over hebben..
Sorry, maar over de "Receipt verification" hoef je ook niet na te denken, alleen toe te passen. Als de ontwikkelaars dat hadden gedaan was er geen probleem. Dus ben het wel eens met IXyzyzxl, dat het een beetje gemakszucht is.
Ik heb de verification al een antal keer gebruikt, en het is niet alsof het zo ingewikkeld is. Is gewoon en JSON request sturen met een encoded string die je krijg na een aankoop. En de apple server zegt dan of die valide is.
Dat gaat een beetje ver. Als ontwikkelaar is het absoluut niet je taak (en het lijkt me zelfs onverstandig) om je eigen klanten als je vijand te zien en te behandelen.
Toch wel, je kunt geen enkele input vertrouwen. Als je er een gewoonte van maakt alle input te controleren voorkom je een hoop probleem.
Een gezonde dosis paranoia is dus helemaal niet verkeerd.
Het feit dat er 8 miljoen transacties middels de hack uitgevoerd zijn bevestigd toch dat de klanten niet te vertrouwen zijn.

Daarbij gooi je ook nogal je reputatie te grabbel, zeker wanneer je als ontwikkelaar een dergelijk app voor een andere partij ontwikkeld hebt en blijkt dat jouw app hier vatbaar vor was. Grote kans dat de betreffende klant de volgende keer niet meer bij je aanklopt voor een opdracht.
Een ontwikkelaar kan over het algemeen beter zijn tijd en energie steken in het maken van een kwaliteitsprodukt, dan dat hij bezig is om allerlei DRM en anti-piraterij beveiligingen aan te scherpen.
Een dergelijke vatbaarheid lijkt mij nou juist niet ten goede gaan van de kwaliteit van het product/app.
Een dergelijke vatbaarheid lijkt mij nou juist niet ten goede gaan van de kwaliteit van het product/app.
Hoezo? Wat doet bijvoorbeeld het feit dat je een produkt verkoopt dat helemaal geen serial of andere activatie nodig heeft af aan de kwaliteit van een produkt?

Voorbeeld: Elke OS X versie van 10.0 t/m 10.6
Het feit dat er 8 miljoen transacties middels de hack uitgevoerd zijn bevestigd toch dat de klanten niet te vertrouwen zijn.
Dit zijn dus juist niet je klanten*. Dit zijn de mensen die blijkbaar best ver willen gaan (installeren van certificaten en gebruik van een Russische server) om _niet_ te betalen. Deze mensen zijn niet je belangrijkste doelgroep, want dit zijn de mensen die flink moeite willen doen om _niet_ te betalen. Je doelgroep met software is juist mensen die bereid zijn om te betalen wanneer je het ze gemakkelijk maakt.

Dat wil allemaal niet zeggen dat het dom is om bijvoorbeeld extra verificatie in te bouwen. Ik zou het alleen absoluut op geen enkele manier tot een prioriteit maken. Je verkoopt je produkt nou eenmaal niet met hoe goed je DRM is.

*Overigens valt er nog wel wat af te dingen op die 8 miljoen trasacties. Dat is een mooi groot getal, dat het lekker doet in de media. De vraag is echter natuurlijk hoeveel gebruikers dat structureel zijn. Als iets gratis is, wordt er natuurlijk overgeconsumeerd: Als je normaal 10 euro voor 100 smurfbessen moet betalen, doe je dat waarschijnlijk niet meer dan 1 of 2 keer. Wanneer je het niets kost, dan koop je zonder knipperen misschien wel 1000 of meer smurfbessen.: een vertienvoudiging van het aantal transacties...

[Reactie gewijzigd door Keypunchie op 23 juli 2012 15:47]

Niet het product dat je verkoopt middels de app, ik doelde op de app zelf. Daar was ik inderdaad niet duidelijk in. Als ontwikkelaar van apps voor klanten is dat je product. Dat was in ieder geval mijn redenering.
Dit zijn dus juist niet je klanten*. Dit zijn de mensen die blijkbaar best ver willen gaan (installeren van certificaten en gebruik van een Russische server) om _niet_ te betalen
Het zijn/waren in ieder geval potentiële klanten. Misschien hadden ze nooit betaald, misschien wel. Dat betekent niet dat je ze het maar 'makkelijk' moet maken.
Dat mensen zover willen gaan om iets 'gratis' te krijgen begrijp ik ook niet echt.

Ik ben het zeker met je eens dat die 8 miljoen een vertekend beeld geeft.
Hoeveel transacties vinden er bijvoorbeeld gewoonlijk in dezelfde periode plaats?
De betreffende transacties hebben natuurlijk wel in een hele korte tijdsperiode plaatsgevonden.
Beetje rare gedachte, als men veel muziek zomaar copieert is het vanwege dat het medium niet goed is (ondanks dat iTunes/Amazon bestaat). Vervolgens wanneer men een makkelijke manier vind in app zijn dit niet de mensen die je wilt hebben?

De realiteit is dat indien men makkelijk kan downloaden dit gewoon doet. Stel je voor dat deze hack langdurig in de omloop was dan zul je wellicht hetzelfde zien als met torrents heden ten dagen. Overigens mag je je afvragen in hoeverre dit niet nu al het geval is als je leest dat 40% van de gebruikers zijn iPhone jailbreaked. Of zijn dit ook allemaal gebruikers die je niet wilt targetten.

Apple dient zijn beveiliging gewoon goed in plaats te hebben dit is misschien deels te wijten aan de ontwikkelaars maar dit had gewoon op voorhand niet mogen gebruiken. Spijtig dat dit nu wordt afgewenteld op de domme gebruiker of ontwikkelaar maar dit komt een platform zeker niet ten goede. Ook verwondert het me dat ze de hack niet sneller patchen ipv dat ze met een work-around komen aanzetten.
Uit het eerdere bericht:
Een jailbreak is niet vereist; de ontwikkelaar toont de hack op een iPhone 4S met iOS 6, waarvoor nog geen jailbreak publiekelijk beschikbaar is. De hack zou ook moeten werken op een iPad of iPod touch, met iOS-versies 3.x tot 6.0.
nieuws: Hack maakt in-app aankopen op iOS gratis
Ik ben niet thuis op Mac gebied, maar is die versie 6 die hij gebruikte een beta?
Beta. Dus dat kunnen ze voor release fixen
Dat klinkt niet alsof dit een hoge prioriteit voor Apple is. iOS 6 duurt nog wel een tijdje. En voordat iedereen iOS6 heeft geïnstalleerd ben je sowieso een eind verder.
Ik denk dat het voor Apple wel een hoge prioriteit zou moeten hebben omdat zij wezenlijk aan de in-app aankopen verdienen. Ik vermoed dat er een grote technische fout zit in de API waardoor er geen enkele manier is om deze te fixen zonder ervoor te zorgen dat alle apps die al gemaakt zijn en deze API gebruiken niet meer correct werken.

Als ontwikkelaars hoe dan ook hun programma moeten aanpassen kunnen ze de workaround gebruiken, hoewel dat absoluut niet chique is van Apple omdat ontwikkelaars dan een eigen verificatie server moeten opzetten (waarbij waarschijnlijk vaak dezelfde DNS truuk uitgehaald kan worden maar dan moet de hack per programma aangepast worden wat natuurlijk teveel werk is.

Lees dit trouwens niet als een pleidooi om Apple vrij te pleiten van deze fout. De hack is kinderlijk eenvoudig en het is een wonder dat deze tot nu toe nog niet ontdekt was. Als je een server maakt die iets voor je verifierd is aanval optie #1 het verkeer naar deze server ontvangen en er wat anders mee doen en daar is dus absoluut geen rekening mee gehouden. Maarja zoals al een tijdje in het nieuws is neemt Apple beveiliging nog niet serieus genoeg maar dat komt nu vanzelf (dat moeten ze) nu ze weer zoveel succes hebben.
Ik vind het niet een "Grote technische fout". Dit is gewoon een man-in-the-middle attack. Dat is best lastig te voorkomen als de gebruiker zelf proxies kan instellen.
Het enige wat ze kunnen doen is dus extra verificatie inbouwen om te checken of een device wel met de echte server communiceert. Maar dat zal dan ook wel gehackt kunnen worden.
Daar hebben we toch secure socket layer of vergelijkbare oplossing voor? Dat is om èn de data die 'over' de lijn gaat te encrypten, èn te verifiëren dat de 'andere' kant is die zegt dat ie is. Dan moet je ook een certificaat hacken, zoals dat bij diginotar is gebeurd, maar dat is wel evewn wat anders dan deze simpele 'oplossing'. Iedere app moet een public key hebben en de private key staat op de server. Die is 'geheim' en niet af te leiden uit de publieke sleutel.
Het is zelfs zo'n grote technische fout die zoveel voorkomt dat er zelfs een naam voor is ;). Sterker nog in het eerste beveiligingsvak dat ik kreeg tijdens mijn Bsc Informatica staat prima wat een MitM attack is en hoe je dit kunt voorkomen (door bijvoorbeeld gebruik te maken van station-to-station protocol (een variant op Diffie Hellman).

Dus ja het is een grote technische fout en je kunt veel meer doen dan alleen een beetje extra verificatie anders zouden we internetbankieren wel kunnen afschaffen. Elk communicatieprotocol dat te maken heeft met geld zou ten minste in theorie tegen een MitM attack moeten kunnen, eventuele implementatie fouten kunnen dan gefixed worden zonder dat je een nieuwe API nodig hebt (de fout zit dan in de backend die dus zo gepatched kan worden).
Want jij wilt wel software hebben, maar niet betalen voor het gebruik ervan?

Nou snap ik ook wel, dat als je verslaafd bent aan spellen met "smurfbessen", dat het in de papieren kan lopen en sommige spellen echt belachelijk zijn met waar ze geld voor vragen. Aan de andere kant, ik speel die spellen daarom gewoon niet. Eigenlijk is dat vaak ook niet zo'n groot gemis, want het vaak zijn ze dan stomvervelend, omdat de makers duidelijk de maat zijn kwijtgeraakt tussen lol en het vragen van geld voor betalen ervan. De versneden heroine onder de spellen, zeg maar.

Daarnaast, de makers die zich zorgen maken over hun inkomen kunnen ook gewoon een eigen app-update uit doen gaan. Het gaat hier om de API van Apple die bijgewerkt wordt: niks staat ontwikkelaars in de weg om hun eigen update uit te brengen om het probleem eerder op te lossen.

Natuurlijk kun je dan ook nog weigeren om je app up te daten, maar je bent dan wel veel aan het opgeven voor het spelen van, vaak nogal domme, spelletjes. Dan kun jje je beter gaan afvragen of je je prioriteiten wel goed hebt liggen.

[Reactie gewijzigd door Keypunchie op 23 juli 2012 14:37]

Die smurfbessen ja, *zucht* mijn moeder heeft op haar ipad al bijna 30 euro aan die rotdingen uitgegeven!
Dus op alle devices waar IOS-6 niet beschikbaar komt (bijvoorbeeld eerste Ipad) blijft deze 'hack' werken?
Goede vraag.

De developers kunnen nu gebruik maken van een private API van Apple (welke normaal niet toegankelijk is) om hun in-app purchases te laten controleren. (hier meer uitleg)

Hier kunnen de developers dus gebruik van maken totdat iOS 6 uitkomt. De vraag is of Apple deze mogelijkheid laat bestaan nadat 6.0 is uitgekomen. Ik verwacht van wel, maar zolang Apple hier geen uitsluitsel over geeft is het afwachten.
Dat gaat lekker zijn... Dan gaan alle developers dus de apps updaten en eisen dat je iOS 6 hebt. Dat is namelijk het minste werk. Dan zit je daar dan weer met je iPad van 2 jaar oud...
is het niet mogelijk voor om nu een update uit te brengen voor apps, waardoor het controleert op een of andere manier??
Inmiddels al 8 miljoen "transacties" gedaan. Ik betwijfel ten zeerste of Apple tegen de gebruikers die hiervan gebruik maakten ook maar iets zal doen in de trant van account blokkeren of wat dan ook. Mogelijk draaien ze in-app aankopen uiteraard terug, maar verder dan dat zal het denk ik toch echt niet gaan, het gaat om veel te veel gebruikers dan.

[Reactie gewijzigd door Xeanor op 23 juli 2012 14:35]

En die hacker lachen joh! Al die iOS devices die via zijn server contact leggen, er zal vast wel systeeminformatie vergaard zijn op het moment dat een iOS device een in-app purchase deed via zijn server.
En met die certificaten die je moet installeren kan hij ook wel veel doen :)
Dus als je niet update naar IOS-6 kun je deze hack gewoon blijven gebruiken ?
Of daaraan gekoppeld: Apple wil graag dat mensen upgraden naar iOS6. Door de fix daarnaar uit te stellen zul je zien dat apps straks allemaal alleen maar updaten als je iOS6 hebt. Voor Apple zit hier dus ook wel een verdacht voordeel aan. Want nu kunnen ze ook meer hardware gaan verkopen: gebruikers willen hun apps up to date houden en dat kan straks opeens niet meer. Natuurlijk geldt dat niet voor iedereen, maar in de enorme getallen waarmee Apple handelt zal het ongetwijfeld mee helpen.

Op dit item kan niet meer gereageerd worden.