Aplikace eRouška budí emoce. Pro někoho je talismanem zajišťujícím ochranu, pro jiného zlým nástrojem státního šmírování a zhmotněním orwellovských nočních můr. Situaci nepomohla ani nepříliš vydařená kampaň státu, který k instalaci aplikace vyzývá pomocí masového rozesílání textových zpráv, obsahujících rizikové obsahy. Účelem tohoto článku je v duchu slavného westernu ukázat, co je na eRoušce vyřešeno dobře, co je rizikové a co je prostě jenom ošklivé.

Pro ty, kdo neradi čtou dlouhé texty, zde je výsledek: podle mého profesionálního názoru v této chvíli instalace eRoušky nepředstavuje významné riziko ohrožení uživatele, ale ani mu nepřinese žádná významná pozitiva. Do budoucna však přináší potenciální ohrožení a zároveň není pravděpodobné, že by přinesla pozitiva. Navíc informace o setkání s nakaženým má téměř nulovou hodnotu, důležitá je osobní zodpovědnost.

Nedávno jste již předplatné aktivoval

Je nám líto, ale nabídku na váš účet v tomto případě nemůžete uplatnit.

Pokračovat na článek

Tento článek pro vás někdo odemknul

Obvykle jsou naše články jen pro předplatitele. Dejte nám na sebe e-mail a staňte se na den zdarma předplatitelem HN i vy!

Navíc pro vás chystáme pravidelný výběr nejlepších článků a pohled do backstage Hospodářských novin.

Zdá se, že už se známe

Pod vámi uvedenou e-mailovou adresou již evidujeme uživatelský účet.

Děkujeme, teď už si užijte váš článek zdarma

Na váš e-mail jsme odeslali bližší informace o vašem předplatném.

Od tohoto okamžiku můžete číst neomezeně HN na den zdarma. Začít můžete s článkem, který pro vás někdo odemknul.

Na váš e-mail jsme odeslali informace k registraci.

V e-mailu máte odkaz k nastavení hesla a dokončení registrace. Je to jen pár kliků, po kterých můžete číst neomezeně HN na den zdarma. Ale to klidně počká, zatím si můžete přečíst článek, který pro vás někdo odemknul.

Pokračovat na článek

Hodná eRouška

Aplikace eRouška byla, podle dostupných informací a zdrojových kódů, navržena tak, aby maximálně chránila soukromí uživatele. Pro vlastní sledování kontaktů využívá Exposure Notification API, tedy technologii vyvinutou společně Googlem a Applem. Ta nesleduje absolutní polohu zařízení a uživatele (např. pomocí GPS a podobných technologií), ale pomocí Bluetooth LE relativní blízkost zařízení uživatele a zařízení jiných uživatelů, kteří používají tutéž aplikaci.

Je zároveň decentralizovaná, data o "potkaných" zařízeních se neposílají nikam na centrální server, ale vyhodnocují se na zařízení samotném. Není tedy vytvářena žádná centrální databáze zahrnující informace o vzájemné blízkosti zařízení.

Použitá ID se navíc v čase mění, takže tentýž uživatel (resp. jeho zařízení) je v průběhu času znám pod několika různými identifikátory, takže jej podle ID nelze sledovat.

Aplikace v telefonu nevyžaduje žádná excesivní oprávnění. Veškerá oprávnění, která vyžaduje, jsou logická a odpovídají deklarované funkčnosti. Aplikace nemůže sledovat, kde se pohybujete, s kým si telefonujete nebo píšete, jaké další aplikace používáte a podobně.

Zlá eRouška

Za dva hlavní současné kybernetickobezpečnostní problémy eRouška vlastně nemůže. Prvním z nich je velice nešťastně pojatá státní nátlaková kampaň, využívající masové rozesílání SMS. Adresy uvedené ve zprávách nejsou bezpečné (nepoužívají protokol HTTPS) a kdokoliv má kontrolu nad sítí nebo překladem internetových adres může v okamžiku, kdy adresu poprvé otevřete, podvrhnout obsah cílového webu. Z tohoto důvodu, pokud si eRoušku chcete nainstalovat, nečiňte tak z adresy uvedené ve zprávě, ale otevřete standardní rozhraní pro instalaci aplikací (Google Play Store, Apple App Store) a vyhledejte aplikaci "eRouška" a instalujte odtud.

Druhý problém spočívá v použití technologie Bluetooth, která je historicky zaplevelena koncepčními i implementačními bezpečnostními problémy. Pokud jste dosud Bluetooth nepoužívali (a měli jej vypnutý) nebo jste jej používali jenom omezeně (např. pro handsfree v autě nebo pro bezdrátová sluchátka) a kvůli eRoušce jej trvale zapnete, zvýšíte tím svůj attack surface – rozšíříte množství způsobů, jakými bude vaše zařízení potenciálně napadnutelné. Ne kvůli aplikaci samotné, ale kvůli technologii Bluetooth, na které je závislá.

Nelze jednoduše říct, jak moc se reálně zvýší možnost ohrožení vašeho zařízení. Implementací Bluetooth stacku je velké množství v závislosti na výrobcích hardwaru a softwaru vašeho telefonu. V případě kvalitní a aktualizované implementace nehrozí žádné nebezpečí. V případě nekvalitní a neaktualizované implementace hrozí široká škála útoků od relativně neškodných vtípků po totální kontrolu zařízení útočníkem, přičemž útok může vyžadovat vaši aktivní spolupráci (reakci na oznámení či zprávu) anebo k němu naopak může stačit pouhá fyzická přítomnost v řádu metrů od zařízení útočníka bez nutnosti jakékoliv interakce z vaší strany.

Obecně lze říct, že z hlediska bezpečnosti by na tom měli být lépe majitelé novějších zařízení a modelů vyšší třídy. Smůlu naopak mají uživatelé low-endů a starších telefonů, protože tam se typicky s aktualizacemi a kvalitním softwarem moc počítat nedá.

Trvale zapnutý Bluetooth a wi-fi také může vést k ohrožení soukromí sledováním z jiných zdrojů, než je eRouška. Je jednoduché vytvořit zařízení, které bude sledovat unikátní identifikátory (BSSID, "MAC adresy") zařízení hledajících spojení v okolí.

Největší kybernetické nebezpečí se však skrývá v budoucnosti a spočívá v prostém faktu, že signifikantní část populace bude mít ve svém mobilním telefonu nainstalovanou aplikaci, nad kterou má kontrolu exekutiva státu. Co aplikace dělá teď, to v zásadě víme nebo si můžeme kvalifikovaně domýšlet. Co aplikace bude dělat zítra, záleží na tom, jak se vyspí plukovník Prymula nebo ten, koho na jeho místo dosadí tandem Babiš–Zeman. Získání dodatečných oprávnění pro aplikaci, kterou je populace již promořena, je výrazně jednodušší než přesvědčit národ, aby si nainstaloval něco nového.

Nebezpečí změny chování aplikace není unikátní pro eRoušku, týká se jakékoliv aplikace. Nicméně pozice eRoušky je specifická tím, že se jedná o rozšířenou státní aplikaci, jejíž instalace je úředně prezentována jako oficiální ctnost.

Zveřejnění zdrojových kódů, případně bezpečnostní audity tohoto kódu pak nejsou zárukou absolutní důvěryhodnosti. Nelze totiž ověřit, že instalovaná aplikace skutečně vznikla kompilací publikovaných zdrojových kódů. Aby něco takového bylo alespoň teoreticky možné, musí být cílová platforma, zařízení, na které aplikace běží, pod kontrolou uživatele.

Zařídit výhradní kontrolu uživatele je prakticky nemožné, neboť by verifikovatelný open source musel být veškerý firmware v zařízení, od mikrokódu v procesoru přes firmware základní desky, síťových karet, disků a dalších komponent. Nicméně realisticky lze pro většinu modelů rizika spokojit s běžnými operačními systémy a ověřením integrity staženého a instalovaného softwaru.

Ale ani to není zdaleka jednoduché. Za normálních okolností je výsledek kompilace (překlad zdrojového kódu do binární podoby) závislý na mnoha proměnných. Pokud na dvou počítačích přeložíte tentýž program, výsledek se může lišit. Oba programy budou funkčně stejné, ale nebudou stejné binárně, a pokud překlad neprovedete sami (což od běžného uživatele nelze očekávat), nemůžete si být jisti, že binárka, kterou jste dostali, skutečně vznikla z veřejně dostupného zdrojového kódu.

Některé platformy podporují tzv. reproducible builds, které tento problém řeší, ale není to zdaleka jednoduché a standardem. V případě mobilní aplikace v uzavřeném ekosystému je pak celá záležitost akademická, protože kontrolu uživatel fakticky provést nemůže nijak. Musí slepě důvěřovat systému distribuce aplikací své platformy a tomu, kdo danou aplikaci podepisuje, což je v tomto případě stát – ministerstvo zahraničí.

Obavy ze scénáře tohoto druhu lze nepochybně paušálně odmítnout jako výplod choré mysli profesionálního paranoika a nechávám na laskavém čtenáři, nakolik se s nimi ztotožní. Nicméně pohled na současné vedení státu nabádá k opatrnosti. Proti realistické možnosti zneužití aplikace mluví spíše nedostatek schopností než přebytek zábran a morálně volních vlastností našich vládců.

Ošklivá eRouška

Poslední problém eRoušky spočívá v tom, že její skutečné schopnosti a možnosti se zcela míjejí s virtuální realitou budovanou jejími zastánci. Zatímco podle oficiální propagandy je aplikace zcela zásadní součástí "chytré karantény" a úhelným kamenem boje s nákazou, v praxi podle reálných výsledků hora porodila myš.

Aplikace eRouška (resp. všechny aplikace, které jsou založené na Exposure Notification API) nefunguje na základě přesných dat a jistoty, ale na základě probabilistické aproximace. Proklamovaná intenzita kontaktu "méně než dva metry po více než 15 minut" je prakticky neměřitelná, vzhledem ke komplikovanému šíření rádiových vln. Telefon nedokáže pomocí Bluetooth spolehlivě změřit vzdálenost od jiného telefonu. Nedokáže s jistotou rozlišit situaci, kdy jsou dva telefony relativně vzdálené, ale není mezi nimi žádná překážka (jsou více než dva metry od sebe položené na stole s přímou viditelností), nebo kdy jsou dva lidé podstatně blíže než dva metry, ale telefony mají každý v zadní kapse kalhot a v pouzdře, takže materiál pouzdra i jejich těla tlumí signál a budí dojem, že je vzdálenost větší.

Aplikace tyto parametry neměří, pouze je odhaduje na základě parametrů zadaných autorem aplikace, které nemohou logicky počítat s reálně nastávajícími nestandardními situacemi. Pravděpodobnost falešně pozitivních i falešně negativních výsledků je značná. Sami autoři uvádějí úspěšnost detekce podobných aplikací asi 80 %. Zdá se to hodně, ale výroba, kde by dva z deseti produktů byly nedetekovatelné zmetky, by se asi příliš velkého úspěchu nedočkala.

Pojí se s tím i další technické problémy, zejména na platformě Android. Obecně operační systém nechce aplikacím dovolit, aby běžely bez interakce na pozadí a komunikovaly a jednou za čas poslaly notifikaci. Důvodem je zejména snaha o optimalizaci doby provozu na baterie a zabránění zahlcení uživatele notifikacemi. Každý výrobce mobilů si přitom systém Android upravuje podle svého. Ačkoliv využití Exposure Notification API řeší (oproti eRoušce 1.0) část těchto problémů, nelze její plnou funkčnost na všech typech telefonů garantovat. Ke své plné funkčnosti navíc potřebuje Bluetooth LE, který je dostupný pouze na novějších a vyšších modelech telefonů.

Připočtěte k tomu ještě možnost administrativních chyb. Pozitivně testovaný (což ještě neznamená nakažený a virus šířící) uživatel musí obdržet kód, musí ho zadat do aplikace a obojí se musí stát dostatečně včas.

Ačkoliv teoreticky a v laboratorních podmínkách podobné aplikace fungují dobře, v reálném světě je řetězec "pakliže a jestliže" podmínek nejisté pravdivosti a pochybné přesnosti tak dlouhý, že důvěryhodnost výsledné informace ano/ne je tak malá, že její hodnota se limitně blíží nule.

Že eRouška neposlala notifikaci ještě neznamená, že jste se s nákazou nesetkali. Možná "váš" nakažený eRoušku nepoužívá. Nejpravděpodobněji vůbec nebyl na testech, protože malý rozsah testování a jejich pomalé vyhodnocování celou věc zesměšňuje. Nebo neobdržel kód, případně ho nedokázal zadat v době platnosti. Nebo váš telefon zrovna spal, když jste se potkali, nebo jeho telefon byl v pouzdře, které příliš tlumí Bluetooth rádiový signál. Nebo máte potlačené notifikace a dozvíte se o ní příliš pozdě, když po týdnu aplikaci náhodou otevřete.

Že eRouška poslala notifikaci, ještě neznamená, že jste byli nákaze vystaveni. Možná "váš" pozitivně testovaný ve skutečnosti není přenašeč. Nebo je, ale seděli jste od sebe deset metrů nebo odděleni skleněnou přepážkou nebo dokonce každý v jiné místnosti, ale algoritmus tenkou sádrokartonovou přepážku "neviděl".

Jak si za těchto okolností s notifikací – nebo její absencí – poradíte? Jakou hodnotu taková notifikace má? Pokud na jejím základě činíte rozhodnutí ovlivňující bezpečí vás a vašich blízkých, hoďte si radši korunou, vyjde to přibližně nastejno.

Aplikace eRouška nepředstavuje v tento okamžik pro svého uživatele žádné podstatné ohrožení, ale v budoucnu se to může rychle změnit.

Aplikace eRouška nepředstavuje v tento okamžik pro svého uživatele žádnou podstatnou výhodu a není naděje, že by se to v budoucnu změnilo.

Pokud žijete ve větším městě, chodíte na nákupy a jezdíte hromadnou dopravou, téměř s jistotou jste se s nakaženým – nejspíš bezpříznakovým a neotestovaným – "epidemiologicky významným způsobem" setkali a nepotřebujete, aby vám to řekla mobilní aplikace. Pokud jste v izolaci a stýkáte se s malým počtem lidí, šance že zrovna váš náhodný kontakt aplikace zachytí a upozorní vás, je velice malá.

Chcete-li se z hlediska nákazy koronavirem chovat k sobě a ke svému okolí zodpovědně, chovejte se tak, jako byste nakažení byli. Omezte sociální kontakty na nezbytné minimum, používejte ochranné prostředky a vyhýbejte se lidem z rizikových skupin. Je to smutné a pro současnou generaci ajťáků možná překvapivé, ale všechny problémy světa nelze vyřešit mobilní aplikací. Nahradit vlastní úsudek nespolehlivým algoritmem a spoléhat na barvu ikonky v telefonu je hloupé a nezodpovědné.