Místo platby za jídlo na uživatele vyskočilo i porno. V Qerku tak museli kontrolovat tisíce QR kódů

Startup Qerko mohl kvůli problému přijít o to nejdůležitější – důvěru zákazníků. Jeho technický ředitel píše memento ke kybernetické bezpečnosti.

Miloslav MrvíkMiloslav Mrvík

qerko-full-39-minKomentář

Foto: Qerko

Qerko umožňuje v restauracích platit pomocí QR kódů

0Zobrazit komentáře

Zákazníky v restauracích učí odcházet, aniž by museli čekat na obsluhu a z kapsy vyndat peněženku. Pomocí Qerka je možné po načtení QR kódu zaplatit přes mobil, což nabízí tisícovka podniků a startup registruje 250 tisíc uživatelů. Před několika týdny se ale setkal s atypickým problémem, kdy kvůli chybě v zabezpečení mohl kdokoliv se základními programátorskými schopnostmi změnit, na jakou adresu QR kódy uživatele odkazují.

Na chybu Qerko upozornil programátor, který zabezpečení kódů zkoušel ze zvědavosti. „V našich hlavách se okamžitě rozsvítil výstražný maják,“ popisuje zkušenost v komentáři pro CzechCrunch technologický ředitel startupu Miloslav Mrvík.

Šlo totiž o samotnou reputaci firmy, která staví na tom, že platby zákazníků dokáže zpracovávat správně. Společně s kolegy tak během víkendu musel zkontrolovat asi čtyři a půl tisíce QR kódů. I když k žádným vážným problémům nedošlo, příběh nabízí poučení i pro ostatní, nejenom technologické ředitele.

***

Kybernetická bezpečnost představuje pro každou technologii alfu a omegu, jejichž podcenění může zanechat vážné následky a firmu značně poškodit. Nejinak je tomu u nás. V Qerku přikládáme dostatečnému zabezpečení nejvyšší váhu, neboť důvěra našich zákazníků je pro nás klíčová. V nedávné době jsme se však setkali s atypickým problémem, který dobře vystihuje rčení „pod svícnem je největší tma“.

Zjistili jsme totiž, že část NFC čipů, které jsou součástí QR kódů v podnicích, jež naše služby využívají, není zabezpečena proti přepisu. Počítali jsme s tím, že je zabezpečuje náš dodavatel a tuto skutečnost sami neověřili. To v praxi znamená, že kterýkoli host disponující základními programátorskými schopnostmi mohl QR kód změnit a naprogramovat do něj libovolnou akci nebo adresu.

Asi přemýšlíte, co všechno se mohlo stát, a vězte, že jsem v tu chvíli myslel na to samé. V nejhorším případě bylo možné, aby podvodník naprogramoval aplikaci, která by věrně imitovala naši, a získal tak zaplacenou útratu. Skutečným problémem by ale nebyla ukradená tržba za pár obědů, ale absolutní ztráta důvěry zákazníků v bezpečnost naší aplikace. Především těch, kteří se s našimi službami teprve seznamují. Protože je důvěra v našem oboru stěžejní, museli jsme konat rychle.

qerko_platba_1

Foto: Qerko

Aplikace Qerko zjednodušuje návštěvy restaurací

Na skutečnost nás upozornil Michal Valášek, programátor, konzultant a blogger zabývající se kybernetickou bezpečností. Ten problém odhalil v jedné brněnské restauraci, kde ze zvědavosti otestoval malý vzorek tagů. Zjistil, že je lze skutečně libovolně přepisovat, a na chybu nás následně obratem upozornil. My začali bezprostředně po upozornění pátrat po zdroji problémů.

Pět lidí z našeho týmu proto sedlo do aut a vyrazilo osobně čipy zkontrolovat. Za 51 hodin jsme navštívili 38 podniků, které Qerko využívají a ručně prověřili přibližně 4 500 QR kódů. Naši lidé potvrdili přísloví, které říká, že „v nouzi poznáš přítele“, neboť se do řešení problému vrhli v plném nasazení bez ohledu na svátky a víkendy.

Já sám jsem za volantem strávil 16 hodin a 48 minut a najel 716 kilometrů. Když se zpětně za akcí ohlížím, s nadsázkou musím říct, že by se za takový road trip nemusel stydět ani Jack Kerouac, autor známé knihy Na cestě.

Ukázalo se, že asi třetina z prověřovaných kódů není zabezpečena. Ačkoli taková chyba mohla znamenat řadu černých scénářů, v případě našich čipů naštěstí k ničemu vážnému nedošlo. Vzhledem k tomu, že jsme chybu podchytili okamžitě, jsme se nad případy „zneužití“ spíše pobavili.

Ze 1 300 kódů, které jsme prověřili a odstranili, bylo manipulováno pouze se třemi z nich. V jednom případě nás vtipálek odkázal na internetovou hlášku, v druhém na pornostránky, ve třetím na prázdnou adresu. Do určité míry je ale pozitivní zpráva to, že k problému došlo nyní a ne například za rok, protože s ohledem na náš rychlý růst bychom pak museli kontrolovat výrazně více kódů.

Při zpětném pátrání jsme zjistili, že za vinou stojí vadná várka QR kódů od našeho dodavatele. Ty jsme doposud odebírali s předpokladem, že jsou zabezpečené. Po této zkušenosti na kvalitu kódů nespoléháme a preventivně každou sérii prověřujeme.

Kontrola je poměrně jednoduchá, stačí telefon s NFC a aplikací, načíst kód a zkontrolovat, že aplikace hlásí, že je zabezpečen. Závěrem bych jako poučení i pro ostatní podotkl, že co si sami nezkontrolujeme, na to se nedá spolehnout. A spolehlivost je zejména v otázce bezpečnosti kritická.

Každé dva týdny ukazujeme, co zajímavého se děje nejen v českých startupech.

Rubriku Startupy podporujíjt-retina