Specjalne przywileje dla Ubera na iPhone'a: apka może potajemnie nagrywać ekran
Czy Uber mógł poprzez swoją aplikację wykradać wrażliwe danewłaścicieli iPhone’a? Z technicznego punktu widzenia mógł, i tonawet gdy aplikacja była zamknięta, gdyż dysponowała uprawnieniemcom.apple.private.allow-explicit-graphics-priority. Specjalista odbezpieczeństwa iOS-a Will Strafach na łamach Twittera pyta:dlaczego Uber ma to uprawnienie? Nowa opcja gdzieś w portaludeweloperskim? Pytanie jest niebagatelne, ponieważ normalnieuprawnienia takie mają wyłącznie systemowe aplikacje iOS-a.
06.10.2017 13:50
I wonder why Uber (appears to?) have this entitlement. new option in dev portal somewhere? https://t.co/VbknpQTlxV
— Will Strafach (@chronic) October 3, 2017Twórcy aplikacji na iOS-a wykorzystują modeluprawnień (entitlements) do uzyskania dostępu do różnychinterfejsów programowania. Chodzi o to, by aplikacje mogłykorzystać tylko z tego, co naprawdę jest im niezbędne. Wiąże sięto ze strategią bezpieczeństwa Apple, zgodnie z którąminimalizacja dostępu do systemowych zasobów przekłada się naminimalizację szkód, jakie mogłaby poczynić uzłośliwionaaplikacja. I tak np. uzyskanie uprawnienia Apple Pay pozwala napłatności w aplikacji poprzez Apple Pay.
Są jednak interfejsy, z których żadna aplikacja wprowadzona doAppStore w ogóle nie może korzystać. To prywatne API Apple’a,których nazwa zaczyna się od com.apple.private. Uważane są one zatak ryzykowne, że do AppStore nie dopuszcza się żadnej aplikacji znich korzystającej. Czemu zatem w dostępnej przez AppStoreaplikacji Ubera znalazło się uprawnieniecom.apple.private.allow-explicit-graphics-priority, pozwalająceaplikacji na dostęp do zawartości ekranu bez informowania o tymużytkownika?
Will Strafach, który od lat bada bezpieczeństwo aplikacjimobilnych i który dokonał tego odkrycia, stwierdził w wywiadziedla Business Insidera, że Uber to jedyna aplikacja ze zbadanychdziesiątek tysięcy, która takim uprawnieniem dysponowała. Co znim robiła? Odpowiedź przyszła dość szybko – ale jest toodpowiedź bardzo osobliwa.
API was used to render Uber maps on iphone & send to Apple Watch before Watch apps could handle it. It's not in use & being removed. Thx!
— Melanie Ensign (@iMeluny) October 5, 2017Pani Melanie Ensign z działu bezpieczeństwa i prywatności Uberapoinformowała, że owszem, aplikacja zyskała takie uprawnienia,ponieważ wczesne wersje smartzegarka Apple Watch nie radziłysobie z wystarczająco dokładnym renderowaniem map w Uberze. Kolejneaktualizacje Apple Watch i aplikacji pozwoliły zrezygnować z tejzależności, a dziś Uber pracuje z Apple nad całkowitym usunięciemtego API.
Samo Apple nie skomentowało tegoincydentu. Tłumaczenie Ubera nie jest jednak bezpodstawne. AplikacjaUbera była demonstrowana podczas premiery Apple Watcha w 2015 roku.Później Uber i Apple miały jeszcze swoje przygody: gdy Uberwykorzystał inne prywatne funkcje Apple do śledzenia urządzeń ziOS-em, nawet po ich wykasowaniu, były szef firmy Travis Kalanickzostał wezwany do Cupertino. Jak donosił New York Times, Tim Cookmiał tam go ostrzec, że takie akcje mogą skończyć sięusunięciem Ubera z AppStore.
W 2016 roku Apple zostało jednakudziałowcem Ubera poprzez swoją inwestycję w chińską firmę DidiChuxing, która przejęła chińską filię Ubera – i od tamtegoczasu wiele operatorowi najpopularniejszej usługi Sharing Economyuchodzi płazem. Will Strafach zauważa: sądzę, że muszą miećoni specjalne układy, biorąc pod uwagę to, że Apple dało imwyłączny dostęp do uprzywilejowanego interfejsu IOKitu zaraz potym, jak nadużyli innych interfejsów IOKitu, naruszając regulaminAppStore bez żadnych konsekwencji.
Niestety, korzystając z iOS-a nie mapraktycznie możliwości, by zabezpieczyć swoje dane przed Apple –albo firmami, którym Apple ufa.