Ministerstvo zrejme nemalo dostačne dôkladné informácie, hovorí na adresu úradníckych zmätkov Petr Švenda, šéf výskumníkov, ktorí na zraniteľnosť eID upozornili
Jozef Andacký
Koncom októbra žilo Slovensko prelomením bezpečnosti čipových občianskych preukazov a tým, ako ťarbavo sa s ním vyrovnávali vládne úrady (TREND 44/2017). Za odhalením zraniteľnosti eID stála skupina výskumníkov z Masarykovej univerzity v Brne. Na hlášku nervózneho slovenského ministra vnútra, aby teda niekto hackol jeho občiansky, akademici, pochopiteľne, nereagovali. Hoci pre trojicu Slovákov v tíme to mohla byť zaujímavá výzva. Jeho šéf Petr Švenda v rozhovore pre TREND vysvetľuje, čo nasledovalo, keď na tento svoj objav prišli.
* Prečo ste sa vôbec zaoberali eID kartami?
Nebolo to o tom, že by sme si povedali: Pozrime sa, či Slovenská republika má zraniteľné eID karty a či sa s tým dá niečo urobiť. V oblasti bezpečnosti čipových kariet pôsobíme dlhodobo. Zaujíma nás, akým spôsobom čipové karty generujú podpisovacie kľúče [elektronický podpis] a či ich nevytvárajú tak, že sa k nim môže dostať útočník. Priemysel okolo bezpečnosti čipov je pritom veľmi uzavretý. Typicky nezverejňuje svoje zdrojové kódy a detaily implementácie použitých algoritmov, výsledky certifikácií sú dostupné len v agregovanej podobe. Je to taká čierna skrinka. Zaujímalo nás, ako funguje, obzvlášť v prípade algoritmu RSA, ktorý sa používa na vytváranie digitálnych podpisov.
* Ako ste prišli na to, že práve čipy od Infineonu, ktoré využívajú aj slovenské eID, sú zraniteľné?
Vďaka aktivitám v minulosti sme mali veľké množstvo kariet od rôznych výrobcov. Nechali sme ich generovať veľké množstvo kľúčov, aby sme mohli posúdiť, či sa od seba systematicky líšia. Čo sa aj ukázalo. Následne sme tieto kľúče porovnávali s kľúčmi zo softvérových knižníc, ktoré sa bežne využívajú v počítačoch. K nim máme aj zdrojové kódy, takže vieme povedať, ako sú vytvárané a či sú z bezpečnostného hľadiska v poriadku. Zistili sme, že karta od Infineonu z toho systematicky vytŕča, a to tak veľmi, až bolo jasné, že kľúče majú nejakú matematickú štruktúru. Potom sme mali v zásade šťastie. Vyskúšali sme viacero tipov, ako by táto štruktúra mohla vyzerať, a podarilo sa nám ju zistiť. Na základe toho sme sa začiatkom tohto roka dopracovali k návrhu útoku, ktorý z verejného kľúča dopočítava privátny [toto je podstata zraniteľnosti, ktorá útočníkovi umožňuje prisvojiť si digitálnu identitu obete].
* Čo ste potom spravili? Existujú pre takéto objavy postupy, ktorých ste sa mohli pridŕžať?
Áno. V minulosti sa to riešilo živelne. Keď ste nejakej firme oznámili problém, zvyčajne sa ho snažila zamiesť pod koberec, lebo to pre ňu bola práca navyše a tiež jej škodil v publicite. Niekedy sa firma s výskumníkmi i súdila, aby dosiahla, že problém nezverejnia. Dnes však už máme pravidlá takzvaného zodpovedného zverejnenia [responsible disclosure]. V podstate to znamená, že ak prídete na nejaký problém, informujete o ňom najprv len firmu, ktorá má nejaký čas na jeho vyriešenie, kým ho zverejníte. Typicky je to 90 dní, v našom prípade sa to pretiahlo na osem mesiacov, lebo išlo o veľmi závažný a komplikovane riešiteľný problém.
* Ako prebiehala komunikácia s Infineonom?
Opäť sme mali šťastie. Kontakt, ktorý majú firmy pre prípad takéhoto bezpečnostného incidentu, sme najprv v Infineone nenašli, keď sme ho hľadali na webe. Ale ukázalo sa, že jeden môj známy má ďalšieho známeho, ktorý pracuje v Infineone a čiastočne ako akademik, pričom práve on bol napokon ten správny kontakt na tím, ktorý má takéto problémy riešiť. Najprv sme aj my mali strach, že nás budú chcieť žalovať, aby pozdržali vydanie zraniteľnosti, ale to sa nestalo. Správali sa veľmi profesionálne. Dôležité bolo, že okrem opisu problému sme im poskytli aj náš softvér, ktorý umožnil z verejného kľúča dopočítať privátny. Nielen technici, ale aj manažéri jasne videli, že ide o skutočný problém, ktorý treba riešiť.
* Čo sa dialo počas tých ôsmich mesiacov?
Zraniteľnosť sme objavili v januári, Infineon sme kontaktovali prvého februára. Dohodli sme sa, že so zverejnením počkáme do októbra. Keď si v Infineone interne poriešili, čo je to za problém, v apríli-máji kontaktovali svojich zákazníkov. Keď nám ukazovali, čo všetko zákazníkom hovoria, nemali sme dojem, že niečo taja. Bolo to férové. Ibaže v tomto biznise je to komplikované. Vlády, ktoré zraniteľné karty využívajú, nie sú priamymi zákazníkmi Infineonu. Ani nemusí vedieť, kto všetko vo finále jeho čipy využíva. Vyrába totiž „len“ hardvér a malú vrstvu softvéru. Tento základ nakúpia iné firmy, ktoré napíšu zvyšok softvéru a až potom čipová karta obsahuje všetko potrebné. Potom do procesu často vstupuje ešte integrátor, ktorý kartu zabalí do komplexného riešenia a až to ponúka nejakej vláde. No a niekde uprostred tohto reťazca mohlo vzniknúť to, že informácia o zraniteľnosti stratila na dôležitosti.
* S vládnymi úradmi ste pred zverejnením zraniteľnosti nekomunikovali?
Iba s estónskymi. Prišlo k tomu tak, že sme mali naprogramovaný softvér, pomocou ktorého sa dalo určiť, či je nejaký konkrétny verejný kľúč zraniteľný. Chceli sme takto zistiť, ktoré štáty a oblasti sú zraniteľnosťou zasiahnuté. V EÚ nemáme nejaký centrálny register kľúčov, skúšali sme preto karty, ktoré sme mali k dispozícii. Na to, že zraniteľnosť sa týka slovenských eID, sme prišli tak, že ich mali naši kolegovia v tíme. Čiže zhodou okolností. O Estónsku sme tiež pôvodne nevedeli, že je zraniteľnosťou zasiahnuté. Až v septembri nás niekto naviedol, že tam majú verejný register kľúčov, čo nie je vo svete bežné, a keď sme ich testovali, zistili sme, že stále vydávajú nové zraniteľné kľúče. Čiže ako keby o zraniteľnosti nevedeli. Preto sme kontaktovali estónsky CERT [vládnu agentúru pre kybernetické incidenty]. Estónci sú technicky veľmi zdatní, vážnosť problému rýchlo pochopili. Hoci potom sa to preklopilo do politiky, blížili sa im voľby, a tak riešili, či majú zrušiť elektronické hlasovanie pomocou eID. Napokon sa rozhodli, že ho nechajú bežať.
* Keď ste v októbri zverejnili prvé kusé informácie o zraniteľnosti, slovenské ministerstvo vnútra zvolilo taktiku zľahčovania situácie.
Myslím si, že k tomu došlo tak, že nemali dostatočne dôkladné informácie o probléme. Podľa mňa boli síce slovenské úrady svojimi dodávateľmi upozornené niekedy v júni, ale veľmi nešpecificky. Zrejme dostali informáciu, že existuje potenciálny problém a nie že je to naozaj reálne uskutočniteľný útok, aj keď je pravda, že sa nedá spraviť lusknutím prsta. Ak by boli v júni dostatočne informovaní, mali by tri mesiace na to, aby pripravili riešenie. Takto boli zrazu postavení pred hotovú vec. Keď sa to prevalilo, už len zbierali čas, nemohli naplno priznať, že problém je vážny a že nápravu nie sú schopní zjednať skôr než za štrnásť dní. Samozrejme, keby mali už v júni dostatok informácií a aj tak by to neriešili, to by bolo na pováženie. Ale ukázalo sa, že aj ďalšie krajiny na tom boli podobne, napríklad spomínaní Estónci.
* Ktorých štátov a v akom rozsahu sa napokon vami objavený problém dotkol?
Postupne vyšlo najavo, že zraniteľných je zhruba 300-tisíc čipových občianskych na Slovensku, 760-tisíc v Estónsku a až jedenásť miliónov v Španielsku. V menšom rozsahu sa to dotklo aj Rakúska, ale tam šlo iba zhruba o tisícku kariet na účely e-healthu. A najmä kľúče na nich zneplatnili Rakúšania už v júni, čo sa na Slovensku stalo až začiatkom novembra. Zrejme im problém ich dodávateľ dobre vysvetlil, takže to prebehlo bez veľkého kriku. Ale znova sa zdá, že zlyhalo zdieľanie informácií na úrovni EÚ, keď sa majú štáty navzájom upozorňovať na bezpečnostné incidenty, aby mohli reagovať, ak ich zasahujú. Rakúšania vydali report, ale opäť bol nešpecifický. Ak ho aj Slováci alebo Estónci čítali, nedomysleli si, aký vážny je tento problém, lebo z rakúskeho reportu to jasne nevyplývalo.
* Slovenské ministerstvo vnútra sa rozhodlo zraniteľnosť eID vyriešiť výmenou podpisovacieho certifikátu. Je to v súlade s tým, čo ste odporúčali vo svojej správe?
Slováci prešli na dlhšie kľúče, z 2K na 3K, ktoré v tejto chvíli naším útokom prakticky zraniteľné nie sú [dešifrovanie privátneho kľúča je omnoho zložitejšie]. Je to asi najjednoduchší krok, ktorý sa dal spraviť. Oproti Estóncom ste mali výhodu, že sa tento prechod vôbec dal spraviť - oni takúto možnosť nemajú, lebo ich eID nepodporujú 3K kľúče. Aktuálne to teda dáva zmysel. No je veľká otázka, či sa útok nebude zlepšovať. Teoreticky môže prísť niekto, kto útok zlepší, a potom ani 3K kľúč nebude dosť bezpečný. Ale to dopredu neviete povedať.
* Vy už svoj útok nezlepšujete?
O niečo áno, ale zatiaľ nie o toľko, aby sme ohrozili 3K kľúč.
* Nie je to o tom, že to nechcete alebo nemôžete povedať?
Nie, je to naozaj tak. Skôr však ide o to, že prechod na dlhšie kľúče je len taká slabá útecha. Na 3K kľúče sa má v zmysle bezpečnostných odporúčaní prechádzať od roku 2020 automaticky, bez ohľadu na výskyt zraniteľností. To preto, aby ste mali veľkú nárazníkovú zónu, keby sa niečo pokazilo. Lebo pokaziť sa toho môže veľa. Lenže teraz sme o tú nárazníkovú zónu vlastne tak trochu prišli.
* Certifikáty na eID sa na Slovensku vymieňajú v kamenných klientskych centrách. Ľuďom, ktorí sa až tak neponáhľajú, ministerstvo odporúča počkať na výmenu cez internet pomocou stiahnutého softvéru. Je to bezpečné? Nevarujú pred tým všetky učebnice?
Vo všeobecnosti v oblasti IT bezpečnosti platí tendencia nespoliehať sa len na jeden element. Keď občanovi vydáte čipový preukaz s nahranou aplikáciou a ten ho len používa, môžete útočiť len na časť spojenú s jeho používaním. Keď však útočníkovi umožníte hrať sa aj s procesom nahrávania aplikácie, rozšírite mu možnosti, kde môže niečo skúšať. Aj keď sa mu možno nič nepodarí. To je dôvod, prečo počiatočná personalizácia čipu prebieha v bezpečnom prostredí vydavateľského strediska. Aj v Estónsku nahrávajú na eID nové kľúče na diaľku, ale tam sú elektronické služby podstatne využívanejšie, a preto úrady nemôžu čakať, že ľudia si ich prídu vymeniť do klientskeho centra.
* Čo odhalenie zraniteľnosti prinieslo vám ako výskumníkom?
Bola to celkom nová skúsenosť. Obvykle, keď niečo vyskúmame, hneď sa o tom so všetkými bavíme, aby sme dostali spätnú väzbu. Teraz sme naše zistenia museli najprv tajiť, na to sme neboli zvyknutí. Na jednej strane sme na tom museli ďalej pracovať, na druhej strane sme si museli dávať pozor, aby to neuniklo. Berieme to tiež ako zadosťučinenie našej motivácii. Všetky systémy majú chyby a my sa snažíme, aby ich bolo menej. Ide o to, že chyby hľadajú aj takí, čo o svojich objavoch nikomu nepovedia, zraniteľnosť tam z nejakého dôvodu nechajú... Je možné, že my sme neboli prví, kto na tento „náš“ problém prišiel.
* Pomohlo vám toto odhalenie zvýšiť prestíž vo vašej odbornej komunite?
Vďaka tomu, že naše zistenia vychádzajú zo zaujímavého podnetu a ich praktický dosah na bežný svet je veľký, mohli sme výsledky nášho výskumu v novembri prezentovať na prestížnej konferencii ACM CCS v americkom Dallase. Už len dostať sa tam nie je jednoduché. Prihlásených bolo deväťsto príspevkov, organizátori z nich vybrali 150. Z týchto 150 zvlášť ocenili osem a jedným z nich bol aj ten náš. Čiže áno, vďaka našim zisteniam a ich prezentácii na konferencii sme sa určite dostali do povedomia iných výskumníkov a do budúcnosti to zvýšilo naše šance, že s nimi nadviažeme zaujímavú spoluprácu.
* Bolo do procesov okolo odhalenia angažované aj vedenie univerzity?
Nie. Na začiatku sme len oslovili našich právnikov, či sa za nás postavia, keby firma do nás šla. A potom sme to až tesne pred zverejnením zistení riešili s naším PR oddelením.
* Vo finále išlo o úspech svetového rozmeru. Dostali ste za ňu od univerzity alebo fakulty nejaké špeciálne ocenenie?
Niežeby si nás dekan zavolal, aby nám osobne zagratuloval. To sa nedeje ani pri ostatných kolegoch s dobrými výsledkami. Ja vidím dosah skôr v tom, že keď je naše laboratórium schopné konzistentne dosahovať dobré výsledky, prejaví sa to na jeho fungovaní. Už len v tom, že keď študenti vidia, že robíme na zaujímavých veciach, chcú tu byť, pracovať tu na svojich projektoch a prípadne sa neskôr stať našimi kľúčovými spolupracovníkmi. Pre laboratórium nášho typu je veľmi dôležité prilákať šikovných študentov a toto je vec, ktorá tomu pomáha.
* Priama otázka - prémie za odhalenie zraniteľnosti ste nedostali?
Nie a ani by som to nečakal. Jediné, čo sa nepriamo stane, je, že česká vládna administratíva aj na základe článkov a konferencií vyhodnotí výskumný výstup fakulty. A keďže CCS je A+ konferencia, na fakultu príde viac peňazí, ktoré sa podľa interného kľúča rozdelia a časť z nich aj na naše laboratórium.
* Privítali by ste, aby univerzita odmeňovala výsledky výskumníkov aj adresnejšie?
Nemyslím si, že by to bolo správne, lebo ľudia by začali veľmi intenzívne optimalizovať, len aby dostali prémiu. Často je ťažké posúdiť, čo je kvalitný výsledok. Beriete do úvahy, či o tom písali noviny alebo či je to fundamentálna vec ako vynález laseru, ktorý sa však chytil až o dvadsať rokov neskôr? Hodnotiť vedu je ťažké a ak sa to zredukuje na jednoduché kritériá, obyčajne to nefunguje, výsledkom nemusí byť lepšia veda.
---
Kto stojí za odhalením
Bezpečnostnú chybu odhalil tím výskumníkov zo špecializovaného pracoviska Fakulty informatiky Masarykovej univerzity v Brne, ktoré sa volá CRoCS (Centre for Research on Cryptography and Security).
Šéfom výskumného tímu je Petr Švenda (37), ktorý na fakulte pôsobí ako odborný asistent. Špecializuje sa na výskum sietí bezdrôtových senzorov a aplikovanej kryptografie v kontexte kryptografických smart kariet, spôsobov generovania a testovania náhodných čísiel.
Členom tímu je tiež profesor Václav Matyáš (47). Laboratórium CRoCS pred jedenástimi rokmi zakladal a dnes je jeho vedúcim. Ďalší traja členovia tímu sú zo Slovenska, na Masarykovej univerzite vyučujú alebo sú tam na doktorandskom štúdiu, pričom pôsobia a študujú aj inde.
Dušan Klinec (28) je zároveň softvérovým inžinierom v spoločnosti Enigma Bridge sídliacej v britskom Cambridgei.
Matúš Nemec (25) si robí paralelne doktorandúru na Ca’ Foscari University of Venice v Taliansku.
Marek Sýs (37) je odborným asistentom na Slovenskej technickej univerzite v Bratislave.
[Trend 07/12/2017]
Autor: Jozef Andacký