Stagefright nebo jemu podobní je noční můrou všech tvůrců operačních systémů. Někde v hlubinách systému číhá chyba – dobře ukrytá, takže přežívá napříč roky i novými verzemi systému.
Problém se ukrývá na místě, kde by jej nikdo cíleně nehledal. Knihovny pro práci s multimédii jsou v Androidu napsány v C++, namísto obvyklejší Javy. Je to rychlejší a méně náročné na zdroje, ale problém je, že programátor pak musí sám pracovat s pamětí. Toho se pak dá zneužít a pomocí obecných hackersko-programátorských technik přinutit stroj spustit jakýkoli kód, tedy nad ním vlastně převzít kontrolu. A protože defaultní aplikace prohlíží obsah zprávy už při jejím přijetí, je opravdu teoreticky možné získat kontrolu nad cizím smartphonem pomocí jedné zprávy, i když to zní jako ze scénáře béčkového filmu.
Nemusel by to být problém, ale...
Chyba se týká všech zařízení s Androidem 2.2 a vyšším, což je 95 % funkčních zařízení s operačním systémem od Googlu (stovky milionů přístrojů). I když všechno zní hrozivě, podobná situace už tu v minulosti byla.
Vzpomeňme třeba na nedávnou aférku, kdy bylo možné na dálku shodit iPhone pomocí SMS s arabským textem. A „pamětníci“ si určitě vzpomenou na nejeden virus, který skrze děravý Outlook Express nakazil Windows už jen po přijetí infikovaného emailu.
Poněkud alarmující je ovšem způsob, jakým se celé odvětví s problémem vyrovnalo. První zmínky o problému zazněly už v dubnu, kdy na chybu přišli experti z firmy Zimperium. Ti ji popsali a dokonce nabídli patch. Ten byl Googlem akceptován a zařazen do tzv. kánonické verze Androidu, tedy té, která je dostupná výrobcům hardwaru. To se stalo v květnu. Tím by mohla celá věc skončit, ale stal se pravý opak.
Ještě na konci července byly takto zranitelné i Nexusy, tedy zařízení, kde byste čekali okamžité doručení všech záplat. To byl také důvod, proč se Zimperium rozhodlo být aktivnější a celou věc zveřejnit.
Následovala typická odpověď, kterou má na svém harddisku dopředu napsanou každý správný PR pracovník. Podle ní se chyba týká jen menšího počtu starších zařízení, navíc při specifickém nastavení, takže není zdaleka tak závažná, jak se tvrdí a ještě nebylo potvrzeno, že by ji někdo využil v praxi.
Přesto se Google rozhoupal a první Nexusy by záplatu mely dostat během první poloviny srpna. Tedy čtvrt roku po nahlášení a opravení problému. To ale mluvíme jen o zlomku telefonů, ten hlavní problém teprve vyplouvá na povrch.
Fragmentace, aktualizace, chaos
Problém naplno odhalil jednu z největších chyb celého Androidu, která by se do budoucna mohla stát smrtící pastí. A tou je pomalý a nesystematický postup v nasazování aktualizací.
Obeznámen je s ním každý, kdo někdy vyhlížel nějakou aktualizaci. Google uvolní svoji generickou verzi, ta pak putuje výrobcům, kteří si ji upravují, a aby toho nebylo málo, někdy se do hry vloží i operátor. Všichni zúčastnění jsou firmy ve střihu velkých korporací, kde se čas neměří ve dnech, ale spíše v týdnech a měsících. A pokud z něčeho nekouká okamžitý zisk, lidé se kvůli tomu zrovna nepřetrhnou.
Krom toho vzniká nepřehledná struktura, kde se můžete snadno a donekonečna vymlouvat na ostatní. V případě zfušované stavby na sebe snadno může svalovat vinu stavitel, projektant, dodavatelé a subdodavatelé – pokud nemáte kvalitní smlouvu, jste bezradní. Vaší smlouvou s Googlem jsou všeobecné podmínky, které nikdo nečte. Ostatně, i kdyby v nich Google sliboval konec vesmíru, na věci by to nic neměnilo.
Rýsuje se řešení?
Je jasné, že takhle to dál nejde. Stávající systém aktualizací je natolik neefektivní, že kdyby došlo k opravdovému problému, pro Android by to znamenalo citelnou ránu. Je tedy dobře, že se Google i výrobci chytli za hlavu a začínají pracovat na nápravě.
Statečných je prozatím málo. Vedle Googlu je to Samsung a také LG. Společně tak trochu „objevili Ameriku“, když přišli s nápadem, že by bylo vhodné zavést pravidelné měsíční aktualizace. Ty sice nepřinesou zvýšení verze Androidu, prakticky nebudou nijak jinak vidět, ale zato opraví bezpečnostní chyby, které se mezitím objevily.
Jen pro srovnání: Microsoft začal s pravidelnými aktualizacemi Windows a dalších produktů už v roce 2003. Každé druhé úterý v měsíci je tak vyhrazeno péči o systém a tento systém převzaly i mnohé další společnosti.
Ještě by se hodilo zapřemýšlet, jak něco takového garantovat i u dalších výrobců, kteří se třeba dobrovolně nepřihlásí. Kdo ví, třeba tady máme jedno z velkých témat, se kterými se pochlubí Android N.
Zdroje: androidpolice.com, androidpolice.com, slashgear.com, zdnet.com, blog.zimperium.com