Pozor museum: Toto je archivní verze blogu. Pro vkládání komentářů přejděte na tento článek v nové verzi blogu.

Analýza SSL/TLS bezpečnosti českých bank

Technologie SSL/TLS slouží k zabezpečení datových přenosů pomocí šifrování. Můžeme pomocí ní vytvořit bezpečný tunel mezi dvěma koncovými body – v tomto případě počítač klienta a server banky. HTTPS je protokol HTTP zabezpečený pomocí této technologie.

Data přenášená tímto tunelem jsou šifrovaná a nikdo je cestou nemůže odposlouchávat nebo upravovat – do tohoto tunelu jednoduše řečeno zvenčí „není vidět“. Teoreticky. Celá věc je totiž trochu složitější, používají se různé protokoly pro výměnu klíčů a jejich verze a různé šifrovací algoritmy a délky klíčů… SSL/TLS tedy není jen otázkou máme či nemáme, ale záleží na jeho konfiguraci – nastavení. V krajním případě SSL/TLS tunel pouze vytváří iluzi bezpečnosti, ale ve skutečnosti jsme na tom stejně, jako kdybychom přenášená data nešifrovali vůbec. V následujícím textu se seznámíme s tím, jak jsou na tom české banky z hlediska konfigurace SSL/TLS.

Kromě toho, že ke zkoumání bezpečnosti jednotlivých HTTPS serverů můžeme použít různé programy běžící na našem počítači, máme k dispozici i online testovací nástroje. Pro tuto analýzu jsem využil služeb nezávislé společnosti Qualys, Inc. – SSL Labs – která se zabývá počítačovou bezpečností od roku 1999, kdy byla založena (sídlí v Kalifornii v USA).

Naměřené výsledky jsem zpracoval do následující tabulky. Test probíhal 25. 6. 2010, takže se hodnoty vztahují k tomuto datu. Kliknutím na název banky se dostanete k podrobným aktualizovaným výsledkům na stránkách SSL Labs. Známky jsou orientační (A = výborně, F = nedostatečně). Body představují souhrnné hodnocení (po rozkliknutí odkazu uvidíte, z čeho se skládá), maximum je 100 bodů – čím více, tím lépe. Sloupeček MITM znační, zda tu hrozí Man-in-the-middle útok založený na tzv. znovuvyjednání (renegotiation), tzn. ne = dobré, více o něm píše Ivan Ristić (není to zdaleka jediný způsob, jakým lze MITM útok provést). CA značí certifikační autoritu, která podepsala certifikát dané banky. EV je zde Extended Validation – druh certifikátu, viz níže (ano = drobné plus). Sloupeček server značí software používaný na straně serveru (resp. jméno, jakým se nám server sám představuje).

Banka Známka Bodů MITM CA EV Server
AXA Bank A 88 ne VeriSign ano tetrade HSP/4.2.20
Evropsko-ruská banka A 88 ne VeriSign ano IBM_HTTP_Server (Apache)
GE Money Bank A 88 ne VeriSign ano IBM_HTTP_Server (Apache)
J & T Banka A 87 ne VeriSign ano -
LBBW Bank A 85 ano VeriSign ano Omikron OSIS 1.03.005
Raiffeisenbank A 85 ne VeriSign ne Apache
Komerční banka A 84 ne VeriSign ano IBM_HTTP_Server (Apache)
BRE Bank (mBank) A 84 ano VeriSign ano mBank Web Server
Citibank A 81 ano VeriSign ne unknown
ING Bank A 81 ano VeriSign ne Apache-Coyote/1.1
Privat Bank A 81 ano VeriSign ne IBM_HTTP_Server (Apache)
Raiffeisen stavební spořitelna B 76 ne Thawte ne Microsoft-IIS/7.0
Commerzbank C 61 ne TrustCenter ne Apache
Raiffeisenbank im Stiftland C 60 ne VeriSign ne -
Oberbank C 57 ano VeriSign ne Omikron OSIS 1.03.003
Poštová banka C 57 ne VeriSign ano Microsoft-IIS/6.0
UniCredit Bank C 52 ne VeriSign ne Apache
Modrá pyramida stavební spořitelna C 52 ano Thawte ano Apache
Hypoteční banka C 52 ano Thawte ne Apache
Volksbank C 52 ne VeriSign ne IBM_HTTP_Server (Apache)
Stavební spořitelna České spořitelny C 52 ano Thawte ne Apache
The Royal Bank of Scotland C 52 ano VeriSign ne Microsoft-IIS/6.0
Banco Popolare C 52 ne VeriSign ne -
Česká spořitelna D 48 ano VeriSign ne Apache
Wüstenrot D 48 ne Thawte ne Microsoft-IIS/6.0
Českomoravská záruční a rozvojová banka F 0 ne I.CA ne Microsoft-IIS/7.0
Českomoravská stavební spořitelna F 0 ano GlobalSign ano Microsoft-IIS/6.0
Saxo Bank F 0 ne VeriSign ne Microsoft-IIS/6.0
Fio banka F 0 ne Equifax ne Apache
Československá obchodní banka F 0 ano GlobalSign ano Microsoft-IIS/6.0

Ne všechny banky (držitelé bankovní licence ČNB) nabízejí internetové bankovnictví nebo něco, co by se dalo podrobit našemu testu. Testy jsem tedy neprováděl u těchto subjektů: Bank of Tokyo-Mitsubishi UFJ (Holland) N.V., Crédit Agricole Corporate and Investment Bank S.A. Prague, organizační složka, Deutsche Bank Aktiengesellschaft Filiale Prag, organizační složka, Fortis Bank SA/NV, pobočka Česká republika, HSBC Bank plc - pobočka Praha, PPF banka a.s., Všeobecná úverová banka a.s., pobočka Praha; zkráceně: VUB, a.s., pobočka Praha, Česká exportní banka, Waldviertler Sparkasse von 1842 AG.

Velice zvláštní je situace u Waldviertler Sparkasse von 1842 AG, která HTTPS šifrování nepoužívá a přihlašovací formulář k jejímu bankovnictví se nachází na stránce načtené nešifrovaným protokolem HTTP. Takže tady nebylo co měřit. Jejich bankovnictví je realizované formou ActiveX komponenty, která už elektronicky podepsaná je (VeriSign). Za zajištění bezpečné komunikace s bankou je potom zodpovědná tato komponenta. Není mi ale jasné, proč tato banka nepoužívá HTTPS pro samotné načtení stránky s formulářem – vždyť certifikáty podepsané důvěryhodnou CA zase tak drahé nejsou. (pokud se pokusíte cestu ručně přepsat na https://, certifikát je vydaný na jméno *.web4u.cz)

U Českomoravské záruční a rozvojové banky je třeba poznamenat, že tato banka v testu propadla (0 bodů) z důvodu, že její certifikát je podepsaný I.CA, což je certifikační autorita, která není běžně v internetových prohlížečích nainstalována a proto ji test považuje za nedůvěryhodnou. To není vyloženě špatně – pokud je správně zvládnut proces instalace certifikátu CA na počítače klientů, jedná se o bezpečné řešení. V ostatních měřených disciplínách (než je důvěryhodnost certifikátu) dosáhla tato banka dobrých výsledků.

Certifikační autority a EV certifikáty

Certifikační autorita (CA) je orzanizace, která ověřuje totožnost jiných subjektů (firem, lidí…) a na základě toho jim podepisuje jejich šifrovací certifikáty. Jedná se o koncept tzv. důvěryhodné třetí strany – místo abychom sami ověřovali pravost každého serverového certifikátu, máme v počítači nainstalované certifikáty několika (celkem mnoha) certifikačních autorit, kterým věříme, že totožnost daných subjektů zkontrolovaly správně (a na základě toho vydali certifikát).

Nejvíce bank si nechalo vystavit svůj certifikát společností VeriSign:

Certifikační autorita Počet bank
VeriSign 20
Thawte 5
GlobalSign 2
Equifax 1
I.CA 1
TrustCenter 1

Extended Validation (EV) jsou „lepší“ certifikáty – neliší se ani tak technologií, jako spíš procesem ověřování subjektu, kterému je certifikát vydáván. Ověřování totožnosti je důkladnější a je těžší ho získat. Také je vydání těchto certifikátů dražší. Uživatel je o nich obvykle informován webovým prohlížečem formou zeleného pruhu v adresním řádku.

EV Počet bank Průměrně bodů Nejvíce bodů Nejméně bodů
ano 11 64,8 88 0
ne 19 52,1 85 0

EV certifikátům jistý přínos ke zvýšení bezpečnosti nelze upřít, nicméně není to věc, bez které by se nedalo žít – jak je vidět, většina bank je nepoužívá. Banky s EV certifikáty dosáhly v testu v průměru více bodů – ovšem tyto body nemají díky EV certifikátu, ale díky správně nastaveným serverům. Že EV certifikát není zárukou úspěchu dokládá několik bank, které i přes jeho vlastnictví dopadly v našem testu velice špatně.

Potíž je v tom, že i když banka bude EV certifikát mít, tak pokud se útočníkovi podaří získat certifikát na jméno banky od libovolné CA, kterou má uživatel nainstalovanou v prohlížeči, pravděpodobně mu útok projde. Na uživatele totiž nevyskočí žádné varovné okno, vše bude vypadat v pořádku – jen zelený proužek bude chybět. A toho si zdaleka ne každý uživatel všimne.

Podobné je to v otázce známých (VeriSign, Thawte atd.) vs. neznámých (mnoho dalších, podívejte se do svého prohlížeče) CA. U bank se tak nějak očekává, že budou mít certifikát od nějaké věhlasné CA, ale nakonec to není moc platné, protože pokud by se útočníkovi podařilo získat podvržený certifikát od jiné CA, pravděpodobně mu to projde – málokterý uživatel totiž kontroluje, kdo je vydavatelem certifikátu a u mnoha uživatelů je úspěchem už jen to, že dávají pozor, aby byl certifikát považovaný prohlížečem za důvěryhodný, a neodkliknou každé okno, které na ně vyskočí.

Uživatelé svobodného prohlížeče Firefox mohou využít rozšíření Certificate Patrol, které je upozorní, kdykoli se certifikát jimi navštěvovaných stránek změní. A to i v případě, že je nový certifikát „důvěryhodný“ (podepsaný CA nainstalovanou v prohlížeči). Uživatel by při každém takovém upozornění měl zpozornět – certifikáty se totiž nemění příliš často, obvykle se vydávají s platností na dva roky. Pokud se certifikát změnil (delší dobu) před vypršením platnosti, dost možná se děje něco nekalého. V takovém případě můžete zavolat do banky a zeptat se, jestli certifikáty měnili.

Serverový software

Webový server posílá uvnitř odpovědi klientovi textový řetězec, kterým se identifikuje – do něj se dává název serverového softwaru případně jeho verzi. Teoreticky si tam provozovatel může vložit cokoli, ale budeme jim věřit :-) Taky tam nemusí vkládat nic a neukazovat světu, jaký software používá – této možnosti několik bank využilo.

Serverový software Počet bank Průměrně bodů Nejvíce bodů
Apache 14 62,6 88
Microsoft-IIS 8 29,1 76
ostatní 4 78,5 88
neznámý 4 70 87

Nejvíce bank používá webový server Apache (nebo software na jeho zdrojových kódech postavený). V průměru dosáhly servery běžící na Apachi 62,6 bodů. Výrazně horších výsledků dosáhly servery běžící na Microsoft IIS – pouhých 29,1 bodů. Čtyři banky používaný software neuvádějí a čtyři používají nějaký jiný.

Doporučení pro banky

Analyzujte současnou situaci a zvažte výhody a nevýhody současné konfigurace HTTPS. Kolik vás změna nastavení bude stát? Nic? Trochu času? A kolik vás bude stát útok na vaši banku? Jedná se o nějaký záměr, nebo jsou takto servery nastavené jen „ze zvyku“? Někdo jen „zapomněl“ změnit výchozí nastavení? Skutečně je potřeba, aby vaše servery podporovaly i zastaralé šifry a protokoly, které se už delší dobu považují za nebezpečné a nedoporučuje se je používat? Pravděpodobně ne – vždyť i tak zaostalý prohlížeč, jako je Internet Explorer (verze 6), zvládá šifrovanou komunikaci se serverem, který v testu dosáhl 91 bodů (nebo více). Konkurence má bezpečněji nastavené servery – brání něco nastavení těch vašich na stejnou úroveň?

Doporučení pro klienty

  • Nepropadejte panice a nejednejte impulzivně. Není nutné hned rušit účet a přecházet k jinému ústavu.
  • Požádejte svou banku, aby vám sdělila, proč používá právě tuto konfiguraci HTTPS, a jestli by nemohla svoje servery nastavit bezpečněji.
  • Pravděpodobně používáte k autorizaci aktivních operací (zejména plateb) kódy zasílané pomocí SMS. Dbejte zvýšené opatrnosti – kontrolujte, zda kód, který opisujete do počítače přísluší k platbě, kterou chcete zadat (to byste měli dělat tak jako tak). Kdyby útočník odposlechl jméno a heslo přenášené po HTTPS, závisí bezpečnost vašeho účtu už jen na vašem mobilním telefonu (nebo kryptografickém kalkulátoru). Nenechte si ho ukrást. Pokud vaše banka používá šifrované SMS, jste na tom lépe.
  • Vyhýbejte se nebezpečným počítačovým sítím. Doma, v případě velkého seriózního poskytovatele internetu, moc velké nebezpečí nehrozí – zde vás může odposlouchávat pravděpodobně jen Policie, tajná služba a další lidi ze státní správy. Vyšší riziko je u sítí ve škole, v práci nebo u komunitních sítí. Osoby, které zde mají přístup k síťové infrastruktuře mohou odposlouchávat data proudící po síti a v určitých případech se jim může podařit je dešifrovat. Záleží na vás, jak moc tyto lidi znáte a jak moc jim věříte. Zvýšené opatrnosti dbejte v případě bezdrátových sítí (WiFi), bez ohledu na to, kdo je provozuje.
  • Pokud by k vykradení vašeho účtu přeci jen došlo, banka se bude snažit celou věc ututlat a raději vás odškodní, než aby utrpělo její dobré jméno. Takže o peníze pravděpodobně nepřijdete. Nepříjemná zkušenost to ale bude tak jako tak, takže je lepší se jí vyhnout.
  • Bezpečnost není jen HTTPS šifrování, záleží na mnoha dalších faktorech. O tom si povíme třeba někdy příště – zatím snad jen že: používat elektronické bankovnictví na zavšiveném počítači prolezlém viry a spywarem není úplně dobrý nápad.

Závěr

Bezpečnost počítačových systémů je velice komplexní záležitost a SSL/TLS bezpečnost, kterou jsme dnes zkoumali, tvoří jen její (malou) část. Na druhou stranu řetěz je tak silný, jako jeho nejslabší článek. Bezpečné nastavení serverů nemusí stát ani korunu a může spočívat třeba jen ve dvou řádcích v konfiguračním souboru – stačí vědět, jak na to. Nezáleží na tom, kolik jste utratili za licence k softwaru (to bývá někdy dokonce kontraproduktivní) nebo kolik peněz jste dali za váš Extended Validation certifikát od věhlasné certifikační autority. Bezpečnost si nejde koupit jako nějaký produkt – bezpečnost musí prostoupit celou vaší organizací a je potřeba ji neustále udržovat a rozvíjet. Bezpečný systém lze postavit na svobodném (otevřeném) softwaru, který je zdarma a dostupný všem. Na čem záleží jsou znalosti a lidé.

Přibližně za měsíc se bude test opakovat. Věřím, že banky na nastavení svých serverů zapracují a ty, které dnes nedopadly moc dobře, nás potěší změnou k lepšímu.

Flattr this

Průměr: 4.5 (10 hlasů)

Uživatelé svobodného

Uživatelé svobodného prohlížeče Firefox mohou využít rozšíření Certificate Patrol, které je upozorní, kdykoli se certifikát jimi navštěvovaných stránek změní. A to i v případě, že je nový certifikát „důvěryhodný“ (podepsaný CA nainstalovanou v prohlížeči). Uživatel by při každém takovém upozornění měl zpozornět – certifikáty se totiž nemění příliš často, obvykle se vydávají s platností na dva roky.
Hmm, bojím se, že na infolince toho o tom asi moc neví :-(

CRM

To asi ne (pochybuji, že by jim o tom ajťáci předem řekli), ale určitě mají nějaký úžasný CRM systém (za úžasnou kopu peněz), takže když tam zavolá první klient, tak budou zmatení, ale na dotazy dalších by už měli být připraveni, protože si to najdou v systému :-) …možná.

Skvělý článek

Článek se mi líbil, je dobře napsaný a z tabulky je jasně vidět, která banka je na tom dobře a která špatně. Jen ta tabulka se čte lépe bez stylů, které ji smrsknou na úzký pruh.

Manažeři by asi uvítali příklad hrozby, které by mohla čelit banka uvedená v červené sekci. Konkrétní rizika nejsou z textu patrná. Co se může stát klientům banky, která obdržela jen 30 nebo 60 bodů? Stačí 80 bodů k tomu, aby měli klienti klidný spánek?

A pro IT pracovníky by mohlo být zajímavé vidět konkrétní kroky k nápravě. Kde a jak se musí konfigurace změnit, aby došlo k poskočení do "zelené zóny."

ČSOB

Z jakého důvodu je vynechána ČSOB? Nejsou držitelé bankovní licence ČNB?

Licenci samozřejmě má.

Licenci samozřejmě má. Není vynechána – jen je ten název rozepsaný: Československá obchodní banka.

No jo, ale asi už to

No jo, ale asi už to spravili...

dobry den, neuvazoval jste

dobry den,
neuvazoval jste prispevek zverejnit v nejakych novinach? dokud to neni vyprsknute ven nejakou hlasnou troubou, tak se nikdo za nos chytne a ten graf zustane netknuty...

Root.cz

Dostal jsem nabídku od Root.cz – článek tam vyjde příští středu :-)

mBank

mBank reagovala na tento článek ve svém blogu.