Apple adds unique identifiers to fight iOS in-app purchase hack
Summary: Apple is starting to provide a solution to the hacking of its In-App Purchase program for iOS. The company has added unique identifiers to the receipts of purchases but there's still more to be done before app developers are protected.
Update on July 20 - Apple to block in-app purchase hack in iOS 6, offers interim fix

Last week Russian developer Alexey Borodin hacked Apple's In-App Purchase program for all devices running anything from iOS 3.0 to iOS 6.0 (the In-App Purchase program requires iOS 3.0 or later), allowing iPhone, iPad, and iPod touch users to circumvent the payment process and essentially steal in-app content. Apple confirmed the workaround and said it was investigating the issue. This week, Cupertino tried to block the hack but failed. Now the company is finally starting to offer a proper solution, though it's not quite there yet.
Apple has quietly started including unique identifiers in the validation receipts for in-app purchases. Yesterday, developers started seeing the new receipts, which include a new field called "unique_identifer." I say quietly because this key is not yet mentioned in the "Verifying Store Receipts" documentation on the iOS Developer Library. MacRumors has the scoop:
As one developer noted to us, apps are no longer supposed to be collecting the UDID and thus it is unclear whether Apple's use of the identifier for this purpose is simply a first step toward a broader implementation of unique receipt identifiers for increased security or if Apple is attempting to identify those users and devices who are sharing their receipts with the Russian hacker to allow the method to function.
I would wager that it's the former. You see, the worst part about this hack is that iOS developers have no way of protecting their apps. Using store receipts does not work as Borodin says his service simply needs a single donated receipt, which it can then use to authenticate anyone's purchase requests. His circumvention technique relies on installing certificates (for a fake in-app purchase server and a custom DNS server), changing DNS settings to allow the authentication of "purchases," and finally emulating the receipt verification server on the Apple App Store.
The iOS apps treat Borodin's server as an official communication because of how Apple authenticates a purchase. Until now, there was nothing that ties the purchase directly to a customer or device, meaning a single purchased receipt can be used again and again. In short, this hack means in-app purchase requests are being re-routed as well as approved.
With these new unique identifiers, Apple is on its way to offering a proper solution. Borodin has declared he wants the company to fix the problem by either changing its APIs or placing new blocks on its service. That's what this looks like to me.
Still, Cupertino is transmitting its customers' Apple IDs and passwords in clear text (Apple assumed it would only ever be communicating with its own server). The following information is transferred from your device to Borodin's server: app restriction level, app id, version id, device guid, in-app purchase quantity, in-app purchase offer name, app identifier, app version, your language, and your locale. Whoever operates in-appstore.com could easily be gathering everyone's iTunes login credentials (as well as unique device-identifying data) in a classic man-in-the-middle attack.
From my understanding, Apple has to start encrypting the connection and update iOS so that the operating system is aware of the changes being made. This will stop from apps being able to approve false purchases. I will continue to keep you posted as this story develops.
See also:
Update on July 20 - Apple to block in-app purchase hack in iOS 6, offers interim fix
- Apple iOS in-app purchases hacked; everything is free (video)
- Apple investigating iOS in-app purchase hack
- Apple tries to block iOS in-app purchase hack, fails
- Cross-platform Trojan attacks Windows, Intel Macs, Linux
- New Flashback variant silently infects Macs
- New targeted Mac OS X Trojan requires no user interaction
- Over 600,000 Macs infected with Flashback Trojan
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
Apple adds unique identifiers to fight iOS in-app purchase hack
And what is the appdev supposed to with the uniqueid?
re: And what is the appdev supposed to with the uniqueid?
I'm shocked, shocked I tell you
a) there was nothing wrong
b) it was all the 3rd party devs' fault
Boy do you guys all look silly today. Where did you all go? Hello? Hello?
Ouch.
Are you bots or real shills?
Yeah this is serious and must be fixed.
I have seen no sign of anyone claimng there wasn't a problem.
But you enjoy the astro-turfing whilst it keeps you doing whatever it is you actually do with your life.
Don't feed this troll...
:)
OOPS
That is what my protest is about.
Again lies
This is not about providing access to a user's device to benefit other people.
Where is the sign of anyone attacking anyone over this?
There was a news item saying this was possible and now there is a news item saying that Apple has instituted a first step in changing the system.
The arrogance @ashwinipn is in your twisting reality to protect your interests at the expense of the users and of the truth.
You lie - You didn't think that at all
This isn't about 100% safety or 100% danger - it is about degrees of risk and degrees of hackability.
Since the jailbreaking of iOS is big news everywhere, and since this is about a related attack on authenticating purchases on a device by circumventing the approval from Apple to the device your statement is just plain stupid.
Note that so far this is about the user persuading the device that Apple says a purchase was genuine.
This is not actually a device hack, it is a sales system hack.
This is almost identical to the authentication server hacks used to install jailbreaking on some iOS versions, and for that purpose was well known and well documented on the net.
Always where!
err protecting app developers .....really protecting consumers....reall?
Microsoft seem to be heading in a similar direction with Windows 8 they secretly envy Apples monopoly over the software distribution of their products. I have experienced the Apple app store and google play and I know which one I would rather use now. Google play do not force me to push everything their infrastructure, nor do they prevent me from dowloading free or paid apps from a number of other look alike stores. Personally I cant wait for Amazon apps to launch in the UK as they offer a window of I think 15 minutes in which you could return a full product for a refund if you dont like it.!
just the beginning
ROFL
We shall see - the step so far looks like just an exploratory step whilst the solution is implemented.
There is no sign of a repeat of the Windows fiasco that has continued for how many years now?
OK maybe the next step will be wrong, I don't know, but till that happens you are just hoping for disaster, and don't have a reason to predict anything.
Personally, I'm waiting for the guy
Not about iTunes account info
Basically this allows the crook, hacker, thief to redirect your web traffic. Say for example when you try to login to your bank account.
When an unknown person in Russia, who is obviously not the most trustworthy guy around, can gather your banking credentials...your itunes account is not so important.
Oh, and to all you Apple fanbois, I called this one
Receipts...
Apple does not care about security - unless it affects sales !
People I know who have had (registered) iPods stolen were amazed to find that their registered devices could not be identified and blocked via iTunes in the same way that a mobile phone can be.
But if it results in a new device sale and continuing iTunes sales, what does Apple care ?
Really, still using plain text ID/PW combo