iOS kullanıcılarının App Store'u kendilerine ücretsiz uygulama içi satın alma yapmaları için kandırmalarına izin veren bir hack, halka açıldı ve potansiyel olarak uygulama üreticilerinin gelirine mal oldu ve Apple'ın büyük bir baş ağrısına neden oldu.
İstismar ilk olarak Çarşamba günü yayınlandı, ancak birkaç web sitesi tarafından yayınlandıktan sonra Cuma günü erken saatlerde öne çıktı. (Aslında, saldırı o kadar popüler oldu ki, buna izin veren sunucu, yoğun talep nedeniyle bu yazı itibariyle kapalı.)
Rusya'dan Alexey V. Borodin, cihazınıza sahte sertifikalar yüklemek ve özel olarak hazırlanmış bir DNS sunucusu kullanmak dahil olmak üzere birkaç adım gerektiren uygulama içi satın alma hack'ini oluşturdu. Bu bileşenler, uygulamaları, aslında App Store gibi davranan bir Web sunucusuna giderken, App Store ile iletişim kurduklarına inandırmak için bir araya geliyor. Borodin anlattı tabletler istismarının kısmen, geliştiricilerin doğrulama için kullandığı uygulama içi satın almalar için Apple'ın yayınladığı kod makbuzlarını taklit ederek (veya yanıltarak) çalıştığını ve iOS cihazının yanlışlıkla bu makbuzların doğrudan Apple'dan geldiğine inanacak şekilde yapılandırıldığını söyledi.
Ile konuşmak tabletler Anlık ileti üzerinden Borodin, her uygulama içi makbuzun genel olduğu ve doğrudan kullanıcı verisi içermediği için bu makbuzların sahtesinin kolay olduğunu iddia etti.
Peki Borodin bunu neden yaptı? Bu benim hobim, dedi. Ve bu, CSR Racing için bir meydan okumadır. Bu, ücretsiz bir modele sahip bir iOS oyunudur; Oyunu indirmek ücretsiz olsa da, ekstra oyun içi seçeneklerin ve özelliklerin kilidini açmak için bir dizi uygulama içi satın alma seçeneği sunar. Borodin onaylamaz. Bunu aç ve tembel geliştiriciler yüzünden kurdum… CSR Racing geliştiricisinin her nefesimde benden para aldığını görünce çok sinirlendim. Borodin, kullandıkları uygulamalar hakkında benzer şeyler düşünürlerse, diğer kullanıcıların uygulama içi satın alma işlemlerini ücretsiz olarak almalarından memnun olduğunu doğruladı.
hack arkasında
Saldırıyı anlamak için uygulama içi satın almaların nasıl çalıştığı hakkında biraz bilgi edinmek önemlidir. Bir müşteri uygulama içi satın alma işlemini tamamladığında, Apple uygulamaya biraz veri gönderir. Uygulama daha sonra bu makbuzun geçerliliğini doğrulamak için Apple sunucularına gerçek zamanlı olarak doğrudan ping atmayı amaçlıyor.
Kısacası: Uygulama, tamamlanan bir işlemin bildirimini alır ve makbuzun bu işlemden geldiğini hemen Apple ile onaylamalıdır.
Borodin'in hilesi, tüm uygulama içi satın alımlarda işe yaramaz. Bunun nedeni, geliştiricilerin Apple'dan aldıkları makbuzları doğrulamalarının iki yolu olmasıdır: iOS aygıtından veya uygulamanın kendi Web sunucularında.
Geliştirici Marco Tabini söyledi tabletler Apple'ın makbuz doğrulama yaklaşımının kusurlu olduğunu ve bu nedenle bu istismarın varlığından şirketin kendisinin sorumlu olduğunu. (Açıklama: Tabini ara sıra tabletler katkıda bulundu ve benimle bir uygulama geliştirdi.)
Tabini'nin açıkladığı istismar, geliştirici yetersizliğinden kaynaklanmadı. Sadece Apple'a karşı bir makbuzu doğrulamak yeterli değil, dedi. Tabini, Apple'ınki gibi süreçlerin paylaşılan bir sır - yalnızca uygulama ve Apple tarafından bilinen bir tür gizli kod - kullanması gerektiğini söyledi: Apple, IAP sürecinin bir parçası olarak paylaşılan bir sır sağladıysa, bu sırrı rastgele bir tuzla birlikte kullanmak kanıtlayacaktır. geliştiricilere, makbuzları doğrularken Apple'dan gelen yanıtların gerçek olduğunu söyledi.
Apple sözcüsü Natalie Harrison şunları söyledi: tabletler : App Store'un güvenliği bizim ve geliştirici topluluğu için inanılmaz derecede önemlidir. Hileli faaliyet raporlarını çok ciddiye alıyoruz ve araştırıyoruz. Şirket başka bir yorumda bulunmadı.
Borodin'in hack'i, yalnızca iOS'ta doğrulanan satın almalarla çalışır, çünkü bu satın almalar yalnızca hack'in sağladığı sahte Apple sunucu adreslerine bakar. Makbuzları doğrulamak için bunun yerine kendi Web sunucularına güvenen uygulamalar, elbette, orijinal Apple sunucularıyla konuşur; bu da karşılığında, Apple onları gerçekten oluşturmadığı için makbuzların geçersiz olduğunu söyler. Ancak Borodin, hackinin bir sonraki aşamasının bir adım daha ileri gideceğini söylüyor: Geleceğin, geliştiricilerin sunucu yanıtlarını önbelleğe almak olduğunu ve bunun, Web'de doğrulayan uygulamaların bile risk altında olacağı anlamına geleceğini söyledi.
Ancak Tabini, geliştiricilerin kendi güvenli önlemlerini (paylaşılan sırlar, güvenli imzalama ve benzeri) kullanmaları durumunda, Borodin'in uygulamalarının sunucu yanıtlarını hacklemesinin çok daha fazla iş olacağına dikkat çekiyor.
Kısacası, Borodin'in hack'i, kötü niyetli kodun (veya bakış açınıza bağlı olarak kazançlı kodun) sizinle vurmanız gereken gerçek sunucu arasında oturduğu orta saldırıdaki klasik bir adamdır.
etkileri
Borodin'in hack'inin Apple'ın sistemindeki bariz bir zayıflıktan yararlanıyor olması, uygulama üreticilerinin pek hoşuna gitmeyecek. Tabini, [uygulama içi satın alma] sisteminin ve App Store'un tüm amacı, sistem hakkında endişelenmenize gerek olmamasıdır, dedi. Aksi takdirde, Apple'a yüzde 30'unu ne için veriyorsunuz?
Daha da önemlisi, uygulama üreticilerinin kendi çözümlerini oluşturmak yerine Apple'ın makbuz doğrulama yaklaşımına güvenme olasılığı daha yüksektir. Geliştirici Craig Hockenberry, tüm geliştiricilerin yüzde 99'unun iOS'ta doğrulama yapacağına bahse girerim çünkü doğrulamayı yapan bir sunucu kurmak çok fazla iş gerektirir. tabletler .
Instapaper'ın geliştiricisi Marco Arment, hack'in yalnızca bağımsız uygulama içi satın almalarla çalışacağına inanıyor, Gazetelik uygulamaları gibi abonelik tabanlı olanlarla değil. Arment, e-posta yoluyla söyledi tabletler : İzlemek için çok sayıda sunucu tarafı işlemeye ihtiyaç duyduklarından, muhtemelen otomatik olarak yenilenen abonelikleri etkilemeyecektir, ancak başka herhangi bir [uygulama içi satın alma] türünü (olmayanlar dahil) etkilemesi beni şaşırtmaz. -Instapaper'ın kullandığı gibi yenilenebilir 'abonelikler') uygulamalar kendi web hizmetlerinden Apple'ın doğrulama sunucularını kontrol etmezse.
Hack'i deneyen iOS kullanıcıları, geliştiricileri beğendikleri uygulamaların arkasından çalmanın yanı sıra, kendileri riskli. Borodin, hack'i deneyen hesaplar için Apple kimliğini ve şifresini görebiliyorum, dedi tabletler . Ama kredi kartı bilgileri değil. Borodin, şifrelerin şifrelenmemiş düz metin olarak iletilmesinin şok olduğunu söyledi.
Tabini'ye göre Apple, geçerli bir güvenlik sertifikasıyla kendi sunucusuyla konuştuğunu varsayıyor. Ama bu açıkça bir hataydı - Bu tamamen Apple'ın hatası, diye ekledi Tabini.
Sırada ne var
Bu açığı düzeltmek Apple için çok zor olmayacak ama Tabini, iOS güncellemesi olmadan bu sorunu çözmenin kolay bir yolunu düşünemiyorum diyor. Borodin'in istismarına güç veren sunucular şu anda bu yazıda kapalı olsa da, yeniden filizlenmelerini durduracak veya hatta herkesin çalıştırabilmesi için kodu serbest bırakmasını engelleyecek hiçbir şey yok. Bu, bu güvenlik açığını düzeltecek varsayılan iOS güncellemesini yüklemeyen müşterilerin, teorik olarak, her zaman olduğu gibi doğrulamaya devam eden uygulamalar için ücretsiz uygulama içi satın alımlardan yararlanmaya devam edebilecekleri anlamına gelir.
Apple, uygulama üreticilerinin makbuzlarını doğrulama şeklini de değiştirebilir - ki bu bir zorunluluk gibi görünüyor. Ama bu süreç zaman alacak. Bu arada geliştiriciler, güvenli, Web tabanlı makbuz doğrulamaya geçerek uygulamalarını istismara karşı koruyabilir. Ancak bu düzeltme yalnızca uygulamalarının en son sürümüne yükselten kullanıcılar için çalışır.
Borodin'e gelince, Apple'ın bundan sonra ne yapacağı konusunda özellikle endişeli görünmüyordu. Apple'ın kendisine doğrudan tepkisinin ne olabileceğinden korkup korkmadığı sorulmuştur. Hayır, diye yanıtladı ve ekledi, ben mutlu bir iPhone 4S kullanıcısıyım… Sanırım beni işe alacaklar.
14:18 güncellendi Apple'dan yorum içeren PT.