Hack, který umožňuje uživatelům iOS oklamat App Store, aby jim poskytl nákupy v aplikaci zdarma, se stal veřejným, což může stát výrobce aplikací a způsobit společnosti Apple velké bolení hlavy.
Tento exploit byl poprvé zveřejněn ve středu, ale do popředí se dostal brzy v pátek poté, co jej zveřejnilo několik webových stránek. (Ve skutečnosti se hack ukázal tak populární, že server, který jej umožňuje, je od tohoto psaní mimo provoz kvůli obrovské poptávce.)
Alexey V. Borodin z Ruska vytvořil hack nákupu v aplikaci, který vyžaduje několik kroků – včetně instalace falešných certifikátů do vašeho zařízení a použití speciálně vytvořeného serveru DNS. Tyto ingredience se spojují, aby oklamaly aplikace, aby věřily, že komunikují s App Store, když ve skutečnosti jdou na webový server, který místo toho předstírá, že je App Store. řekl Borodin TabletS že jeho exploit funguje částečně tak, že falšuje – nebo falšuje – účtenky s kódy, které Apple vydává pro nákupy v aplikaci a které vývojáři používají k ověření, přičemž zařízení iOS je nakonfigurováno tak, aby se mylně domnívalo, že tyto účtenky pocházejí přímo od společnosti Apple.
Mluvit s TabletS přes okamžitou zprávu Borodin tvrdil, že protože každá účtenka v aplikaci je obecná a neobsahuje žádná přímá uživatelská data, lze tyto účtenky snadno podvrhnout.
Tak proč to Borodin udělal? Je to můj koníček, řekl. A je to výzva pro CSR Racing. To je hra pro iOS s modelem freemium; ačkoli je hra ke stažení zdarma, nabízí spoustu nákupů v aplikaci, které odemknou další možnosti a funkce ve hře. Borodin nesouhlasí. Nastavil jsem to kvůli hladovým a líným vývojářům… Byl jsem velmi naštvaný, když jsem viděl, že ze mě vývojář CSR Racing bere peníze každým nádechem. Borodin potvrdil, že je spokojen s tím, že ostatní uživatelé získávají nákupy v aplikaci zdarma, pokud mají podobný pocit z aplikací, které používají.
Za hackem
Abyste tomuto hacku porozuměli, je důležité dozvědět se něco o tom, jak fungují nákupy v aplikaci. Když zákazník dokončí nákup v aplikaci, Apple odešle aplikaci zpět část dat. Aplikace je pak určena k přímému pingu na servery společnosti Apple v reálném čase, aby potvrdila platnost tohoto potvrzení.
Stručně řečeno: Aplikace dostane oznámení o dokončené transakci a měla by společnosti Apple okamžitě potvrdit, že účtenka pochází od ní.
Borodinův hack nefunguje pro všechny nákupy v aplikaci. Je to proto, že vývojáři mají dva způsoby, jak ověřit účtenky, které obdrží od společnosti Apple – ze zařízení iOS nebo na vlastních webových serverech aplikace.
Řekl to vývojář Marco Tabini TabletS že přístup Applu k ověřování účtenek je chybný, a že tedy za existenci tohoto exploitu může sama společnost. (Odhalení: Tabini je příležitostný TabletS přispěvatel a vyvinuli se mnou aplikaci.)
Tento exploit, vysvětlil Tabini, není způsoben nekompetentností vývojářů. Pouhé ověření účtenky proti Applu podle něj nestačí. Tabini řekl, že procesy jako Apple by měly používat sdílené tajemství – jakýsi tajný kód, který zná pouze aplikace a Apple: Pokud by Apple poskytl sdílené tajemství jako součást procesu IAP, použití tohoto tajemství ve spojení s náhodnou solí by se ukázalo vývojářům, že odpovědi od společnosti Apple byly pravé, když ověřovali účtenky.
jak velký je iphone 12 palců
Řekla to mluvčí Applu Natalie Harrisonová TabletS : Zabezpečení App Store je pro nás a vývojářskou komunitu neuvěřitelně důležité. Hlášení o podvodných aktivitách bereme velmi vážně a vyšetřujeme je. Společnost se k tomu dále nevyjádřila.
Borodinův hack tedy funguje s nákupy ověřenými pouze na iOS, protože tyto nákupy sledují pouze falešné adresy serveru Apple, které hack poskytuje. Aplikace, které místo toho spoléhají na své vlastní webové servery, aby ověřovaly účtenky, samozřejmě mluví se skutečnými servery Apple – ty zase odpoví, že účtenky jsou neplatné, protože je Apple ve skutečnosti nevygeneroval. Ale Borodin říká, že další fáze jeho hacku půjde ještě o krok dále: Budoucnost je ukládat do mezipaměti odpovědi serverů vývojářů, což by znamenalo, že i aplikace, které se ověřují na webu, by byly ohroženy.
Tabini však poukazuje na to, že pokud vývojáři použijí svá vlastní bezpečnostní opatření – sdílená tajemství, zabezpečené podepisování a podobně – bylo by pro Borodina řádově více práce hackovat odpovědi serveru jejich aplikací.
Stručně řečeno, Borodinův hack je klasický útok typu man in the middle, kde škodlivý kód (nebo lukrativní kód, v závislosti na vaší perspektivě) sedí mezi vámi a skutečným serverem, který máte zasáhnout.
Důsledky
Skutečnost, že Borodinův hack využívá zjevnou slabinu systému Apple, pravděpodobně nebude vyhovovat tvůrcům aplikací. Celý smysl systému [nákup v aplikaci] a App Store je v tom, že byste se o systém neměli starat, řekl Tabini. Jinak za co dáváte Applu svých 30 procent?
A co víc, tvůrci aplikací se spíše spoléhají na přístup Applu k ověřování účtenek než na vytváření vlastního řešení. Jsem ochoten se vsadit, že 99 procent všech vývojářů ověřuje iOS, protože nastavení serveru, který provádí ověřování, je hodně práce navíc, řekl vývojář Craig Hockenberry. TabletS .
Marco Arment, vývojář Instapaper, věří, že hack bude fungovat pouze se samostatnými nákupy v aplikaci, nikoli s předplatnými, jako jsou aplikace Newsstand. Prostřednictvím e-mailu, řekl Arment TabletS : Pravděpodobně to neovlivní automatické obnovování předplatných, protože jejich sledování závisí na velkém množství zpracování na straně serveru, ale nepřekvapilo by mě, kdyby to mohlo ovlivnit jakýkoli jiný typ [nákupu v aplikaci] (včetně -obnovitelná „předplatná“, jaká používá Instapaper), pokud aplikace nekontrolují ověřovací servery společnosti Apple ze svých vlastních webových služeb.
Uživatelé iOS, kteří tento hack vyzkouší, mohou zjistit, že kromě okrádání vývojářů za aplikacemi, které je baví, oni sami v ohrožení. Vidím Apple ID a heslo pro účty, které se pokusily o hack, řekl Borodin TabletS . Ale ne informace o kreditní kartě. Borodin řekl, že byl šokován tím, že hesla byla předávána v prostém textu a nebyla zašifrována.
Podle Tabiniho však Apple předpokládá, že mluví se svým vlastním serverem s platným bezpečnostním certifikátem. Ale to byla zjevně chyba – je to zcela chyba společnosti Apple, dodal Tabini.
Co dále
Oprava exploitu nebude pro Apple příliš obtížná, ale Tabini říká, že mě nenapadá snadný způsob, jak tento problém vyřešit bez aktualizace iOS. Zatímco servery, které pohánějí Borodinův exploit, jsou momentálně mimo provoz, nic jim nebrání v tom, aby se znovu rozrostly, nebo dokonce, aby mu zablokovalo uvolnění kódu, aby jej mohl spustit kdokoli. To znamená, že zákazníci, kteří si nenainstalují předpokládanou aktualizaci iOS, která by tuto zranitelnost opravila, by teoreticky mohli nadále využívat bezplatných nákupů aplikací v aplikaci, které se nadále ověřují jako vždy.
Apple by také mohl změnit způsob, jakým tvůrci aplikací ověřují své účtenky – což se zdá být nutností. Ale ten proces bude nějakou dobu trvat. Mezitím mohou vývojáři chránit své aplikace před zneužitím přechodem na zabezpečené ověřování účtenek na webu. Tato oprava však bude fungovat pouze pro uživatele, kteří upgradují na nejnovější verzi svých aplikací.
Pokud jde o Borodina, nezdálo se, že by ho nějak zvlášť zajímalo, co Apple udělá dál. Na otázku, zda se bojí, jaká by mohla být reakce Apple přímo na něj. Ne, odpověděl a dodal: Jsem šťastný uživatel iPhone 4S... Myslím, že mě najmou.
Funkce a specifikace iphone 6 plus
Aktualizováno 14:18 PT s komentářem od Applu.