Hlavní navigace

Facebook i Google podvedli Apple, firma jim za to vypnula interní aplikace

Sdílet

David Slížek

Nejnovější skandál kolem Facebooku má zajímavou dohru, která se dotkla interního fungování firmy. Podle zjištění serveru TechCrunch Facebook zneužil firemní vývojářský účet u Applu (Apple Developer Enterprise Program) k tomu, aby koncovým uživatelům distribuoval aplikaci Facebook Research pro sbírání dat o tom, jak používají své telefony.

Developer Enterprise Program je ale určený pouze k distribuci aplikací uvnitř firmy – například k testovacím účelům. Tyto aplikace přitom neprocházejí kontrolou Applu. Jejich distribuce uživatelům je tak jasným porušením podmínek programu a nejspíše snahou Facebooku obejít omezení, kvůli kterým by „výzkumná“ aplikace veřejným App Store neprošla.

Facebook Research totiž vyžadovala od uživatelů udělení velmi širokých oprávnění k jejich telefonu a instalovala VPN, která přesměrovala veškerý datový provoz přes servery Facebooku. Byla tak schopná zaznamenávat řadu údajů o chování uživatelů. Facebook jim za to platil asi 20 dolarů měsíčně ve formě kupónů. Uživatelé se rekrutovali z věkové skupiny 13 – 35 let (teenagerů bylo podle Facebooku asi 5 %).

Apple po zveřejnění kauzy zrušil certifikát k Developer Enterprise účtu Facebooku. Zakázal tak jednak další distribuci Facebook Research mimo veřejný App Store, zároveň ale firmě znemožnil používání všech dalších aplikací, které v rámci vývojářského programu provozovala. Jsou mezi nimi jak testovací verze různých aplikací, tak interní aplikace sloužící například ke sdílení produktových informací, objednávání dopravy nebo sledování jídelníčku ve firemních jídelnách.

Podle serveru TechCrunch není Facebook jedinou firmou, která stejným způsobem obcházela omezení Applu. Podobnou aplikaci Screenwise Meter provozovala přes vývojářský účet také firma Google. Ta po zveřejnění informace oznámila, že aplikaci znepřístupnila. Také Googlu Apple zneplatnil certifikát k Developer Enterprise Programu.

Aktualizace 1. 2. 2019: Apple po asi dvou dnech oběma firmám certifikáty obnovil, informuje server TechCrunch.

  • 31. 1. 2019 15:23

    bez přezdívky

    Abych dovysvětlil, co je Enteprise program.

    Normální developer program má poměrně dost omezení na množství vývojářů a pokud chce vývojář sdílet aplikaci jiným uživatelům, tak každé zařízení (telefon, tablet) musí být v tomto programu registrováno. Počet zařízení je opět omezen, tuším, že aktuální číslo je 200 (po každé registraci je navíc potřeba vytvořit novou verzi aplikace).

    Enterprise program má dva účely:
    1. Odstranit limity pro větší vývojářské společnosti. Není nutné každé zařízení registrovat.
    2. Umožnit distribuci mimo app store v rámci jedné firmy. Typicky se tím řeší problém, kdy interní aplikace nechcete publikovat do app store (kde je vidí všichni uživatelé), ale jen pro Vaše zaměstnance.

    Aplikace mimo app store neprochází schvalovacím procesem a tedy nejsou ani kontrolovány na přítomnost přistupu k privátním API, které mohou například obcházet některá zabezpečení.

    A zde je kámen úrazu. Z pochopitelných důvodů Apple nemůže tolerovat, aby se Enteprise aplikace dostaly ke koncovým uživatelům, protože se tím vlastně vytváří druhý App Store. Mám to samozřejmě i legální důsledky, např. možnost nezákonného jednání, sledování uživatelů apod.

    Je naprosto běžné podmínky Enterprise programu lehce porušovat, například pokud je aplikace zpřístupněna někomu, s kým je firma jen ve smluvním stavu (např. externí tester nebo zákazník, pro kterého je aplikace vyvíjena), ale zpřístupnění koncovým uživatelům, i kdyby šlo jen o Beta testing, je naprosto hrubé porušení těchto podmínek.

    Proto Apple prakticky neměl jinou volbu. Koncové uživatele to nijak neovlivní. Pro Facebook vývojáře bude situace problematická, ale nejhůř to postihne interní aplikace používané zaměstnanci ve Facebook.

  • 31. 1. 2019 16:30

    bez přezdívky

    Normální developer program má limit 100 testerů, ne 200. Novou verzi aplikace po přidání testera není potřeba vytvářet, to je kravina. Veřejný beta-test (bez registrace, jen na pozvánku) omezený není, ale prochází certifikací, na rozdíl od interního testování.

  • 1. 2. 2019 9:55

    bez přezdívky

    Povolená zařízení jsou součástí tzv. provisioning profilu, který je součástí aplikace. Pokud na developer portálu přidáte nové zařízení, musíte ho i separátně přidat do daného provisioning profilu. Aplikace na dané zařízení půjde nainstalovat až po tom, co bude podepsána tímto updatovaným provisiong profilem.

    Veřejný beta-test (Testflight) samozřejmě omezený není. Jenže ten je součástí app store a vyžaduje, aby už aplikace prošla schvalovacím procesem (i když zjednodušeným). Mluvil jsem samozřejmě o beta testování přes Enteprise certifikát na uživatelích mimo firmu.