Bezpečnost bankomatů
Bezpečnost bankomatů není příliš medializované téma. Znamená to však, že jsou bankomaty bezpečné? Náš tým expertů má za sebou penetrační testy různých typů bankomatů a může tak problematiku objektivně zhodnotit. Závěry vás možná překvapí.
S bankomatem se v každodenním životě potkává pravidelně většina z nás. V okamžiku naplnění (tzv. dotace) obsahuje více než jeden milion korun, což z něj činí atraktivní cíl pro kriminální živly a zároveň klade nemalé nároky na bezpečnost. Počet útoků na terminálové služby a bankomaty ve světě stále narůstá. Podle statistik EAST (European Association for Secure Transactions) byl celkový nárůst fyzických útoků na bankomaty v období 2016 až 2017 vetší o 21%. Útoky využívající malware vzrostly dokonce o 231%. Bližší údaje jsou uvedeny v tabulce níže. Většina laické veřejnosti považuje bankomaty za vysoce zabezpečená zařízení, jak to tedy s jejich bezpečností v dnešní době je?
Řadu let byly největší hrozbou pro zákazníky a vlastníky bankomatů skimmery – speciální zařízení připojená za účelem krádeže dat z bankovních karet. Útoky se však s postupem času stávaly stále propracovanější. Rok 2014 se nesl ve znamení malwaru s názvem Tyupkin, který se stal jedním z prvních známých příkladů malware, jehož cílem byly právě bankomaty. Za vznikem stála pravděpodobně ruská hackerská skupina a dopad byl nejcitelnější právě pro bankomaty v Ruské federaci.
V roce 2015 byl odhalen gang Carbanak, který byl schopen provést kompletní vybrání veškeré hotovosti z bankomatů v důsledku kompromitace bankovní infrastruktury a chyb v její implementaci. Oba zmíněné příklady útoků byly možné díky zneužití několika slabých míst v technologii zabezpečení bankomatů a jejich infrastruktuře. Tento typ útoku se stal později známým pod pojmem Money Jackpotting, kdy útočník infikoval bankomat malwarem, který postupně zcela vyprázdnil trezor bankomatu a vydal útočníkovi veškerou hotovost bez jakékoliv autentizace.
Tato nová hrozba byla pro banky více než dostatečnou motivací, aby se začaly bezpečností svých bankomatů seriózně zabývat. V průběhu posledních let jsme v AEC spolu s kolegy provedli několik penetračních testů bankomatů pro banky v České i Slovenské republice. Vycházíme tedy z přímé zkušenosti z těchto testů. Jedním z hlavních cílů bylo prověření odolnosti bankomatů vůči výše popsanému útoku Money Jackpotting. Výsledkem bylo zjištění, že ani jeden z testovaných typů bankomatů nebyl proti tomuto útoku odolný.
Na čem to vlastně funguje?
Je nutné si uvědomit, že bankomat není nic jiného než klasický počítač. Co ho však od klasického počítače odlišuje, jsou periferní zařízení (typicky připojená přes USB), kterými bývá například šifrovaný PIN pad, kamera a hlavně dispenser. Dispenser je část bankomatu, která vám po ověření vydá vámi požadovanou hotovost. Jako každý počítač má i bankomat svůj operační systém. V případě bankomatu se však nejedná o žádný nadstandardně zabezpečený Linux či speciálně upravenou verzi Windows.
Bankomaty jsou provozovány na klasických desktopových verzích Windows, nikoliv však na nejnovějších verzích. Výrazná část bankomatů je stále provozována s operačním systémem Windows XP, který byl vydán již v roce 2001. Netřeba připomínat, že Microsoft již ukončil veškerou podporu tohoto systému. V dnešní době se tento poměr naštěstí pozvolna mění ve prospěch operačního systému Windows 7, nicméně zastoupení Windows XP je stále výrazné. Použití zastaralých systémů, určených spíše pro domácí použití než provoz kritických aplikací, bezpečnosti bankomatu příliš nepřidává.
Jak tedy na Money Jackpotting?
Pojďme se nyní podívat trochu hlouběji na podstatu útoku. Malware pro bankomaty téměř vždy komunikuje prostřednictvím XFS vrstvy (eXtension for Financial Services)[5]. Veřejně dostupný a popsaný standard XFS umožňuje, aby počítač umístěný uvnitř bankomatu, komunikoval s bankovní infrastrukturou a hardwarovými jednotkami zpracovávajícími hotovostní a kreditní operace. Zároveň zajišťuje nezávislost na použitém technickém vybavení od různých společností jako Wincor nebo Diebold Nixdorf (čtečka karet, speciální tiskárny, PIN pad, dispenser apod.).
Zásadním problémem je, že XFS, v nejrozšířenějších verzích používaných bankomaty v dnešní době, nevyžaduje žádné oprávnění/autorizaci pro zpracovávané příkazy. To v důsledku znamená, že každá aplikace nainstalovaná nebo spuštěná v bankomatu může vydávat příkazy k libovolným hardwarovým jednotkám bankomatu (rovněž označovaným jako ATM), a to včetně čtečky karet nebo dispenseru. Bližší znázornění zachycuje následující obrázek:
Pokud malware úspěšně infikuje ATM, získává téměř neomezené možnosti ovládání:
- Může přeměnit PIN pad včetně čtečky karet na "nativní" skimmer a zachytávat údaje o platebních kartách
- Může dispenseru “poručit” výdej veškeré hotovosti z trezoru bankomatu
Právě druhá uvedená možnost je podstatou již zmíněného útoku Money Jackpotting, kdy útočník zcela obejde nutnost vložení karty do bankomatu, autentizaci PINem, či ověření zůstatku na účtu. Přímo na nejnižší vrstvě vydá příkaz pro výdej veškeré hotovosti. Tento útok se pravidelně daří realizovat a demonstrovat při námi prováděných penetračních testech.
Fyzická bezpečnost
V řadě známých a zmapovaných případů z nedávné doby zločinci vůbec nemusejí používat malware k infikování bankomatů přes síť banky, do které je bankomat připojen. Za vše může nedostatečné fyzické zabezpečení samotných bankomatů, které útoky výrazně usnadňuje. Bankomaty jsou často umístěny a instalovány tak, že třetí osoba snadno získá fyzický přístup k počítači uvnitř bankomatu nebo k síťovému kabelu, který zařízení připojuje do sítě.
Získáním částečného či úplného fyzického přístupu k bankomatu mohou potenciální útočníci docílit především:
- Instalace vlastního hardwarového zařízení uvnitř bankomatu, které následně umožňuje útočníkům vzdálený přístup a realizaci zmíněného Money Jackpotting útoku. K tomuto účelu jsou vhodné malé jednodeskové počítače o velikosti platební karty, například Arduino, Raspberry PI.
- Přepojení bankomatu na podvrhnuté procesní centrum pod kontrolou útočníka, starající se o zpracování příkazů pro jednotlivé hardwarové jednotky, s cílem podvrhovat a posílat libovolné příkazy.
Přestože lze teoreticky zajistit ochranu spojení mezi bankomaty a zpracovatelským centrem, opatření jako šifrování SSL / TLS nebývají v praxi často implementována nebo jsou nesprávně nakonfigurována. Mluvíme-li o fyzické bezpečnosti, nelze opominout útoky “hrubou silou”, kdy útočník násilím odcizí celý bankomat či trezor. Obranou proti tomuto útoku bývají použití kapslí s ochranným barvivem, nicméně ne všechny bankomaty bezpečnostní kapsle používají.
Jak se bránit?
Smutnou realitou zůstává, že i přes současnou snahu dodavatelů, kteří se pokoušejí vyvíjet bankomaty s vylepšenými bezpečnostními prvky, mnohé banky stále používají starší nezabezpečené modely, což je činí ideálními cíli pro útočníky a ti aktivně napadají bezpečnost těchto zařízení.
Přestože bezpečnostní problémy s největší pravděpodobností ovlivňují mnoho bankomatů po celém světě, neznamená to, že situaci nelze výrazně zlepšit. Dodavatelé bankomatů a samotné banky mohou snížit riziko útoku na hotovostní stroje použitím následujících opatření:
- Vyřazení všech bankomatů s nepodporovaným operačním systémem (Windows XP)
- Implementace novější verze vrstvy XFS, která vyžaduje autentizaci pro volání kritických operací (zásadní obrana proti Jackpotting útoku)
- Implementace šifrování komunikace a kontrolu integrity dat přenášených mezi jednotlivými hardwarovými jednotkami a počítačem uvnitř bankomatu
Pravidelné bezpečnostní testy bankomatů a i stále narůstající počet útoků, které jsou rok od roku propracovanější, přispívají společně k řešení otázek bezpečnosti. V běžné praxi však bývá implementace nových ochranných opatření časově i finančně náročný proces zvláště v případech, kdy je síť bankomatů provozovatele rozsáhlá. V oblasti zabezpečení bankomatů nicméně začíná svítat na lepší zítřky, avšak ještě několik let potrvá, než budeme moci konstatovat, že bankomaty jsou opravdu nadstandardně zabezpečená zařízení.