Feed subscription » blog | » comments | » google+ | » mobi | » twitter

Cielené blokovanie prístupov k účtom Tatra Banky

Niekedy v polovici februára napísal Dalibor Z. Chvátal o veľmi nepríjemnej bezpečnostnej zraniteľnosti prístupu k internetovým účtom AXA Banky. Pre mnohých to bola úsmevná správa aj preto, že AXA banka bola na českom trhu len niekoľko dní a počet jej klientov nedosahoval ani tisícky.

Podstatou celej zraniteľnosti je, že bolo možné cielene blokovať prístupy k internet bankingu každého jedného klienta a to len jednoduchým zadaním nesprávnej kombinácie prístupových údajov, teda presnejšie po viacnásobnom zadaní nesprávneho hesla ku konkrétnemu prihlasovaciemu menu.

Táto ochrana je primárne veľmi prospešná, zabraňuje rôznym útočníkom, aby mohli využiť tzv. útok hrubou silou. Ten za pomoci zoznamov obsahujúcich bežne používané heslá (tzv. slovníky) automatizovane skúša všetky heslá spolu s konkrétnym prihlasovacím menom. Ak by táto ochrana neexistovala, je pravdepodobné, že by sa útočníkovi mohlo podariť úspešne sa autentifikovať do niekoľkých účtov.

Chyba teda nebola primárne v samotnej ochrane, ale v jej aplikácií. AXA Banka totižto neblokovala konkrétny útok (napríklad IP adresu), ale priamo celý účet. A tak vo výsledku každý mohol zablokovať kohokoľvek účet bez jeho vedomia a samozrejme aj prípadnej možnosti tomu zamedziť. Účet bolo potrebné následne odblokovať telefonicky.

Ďalším problémom bolo zistenie, že prístupové mená sú číselného typu a generované lineárne, teda nasledujú hneď po sebe. Takto nebol problém vyrobiť skutočne jednoduchý skript, ktorý zablokoval prístupy všetkých existujúcich účtov pekne za radom.

Výsledkom bol “prank“, ktorý pobavil pracovníkov a klientov ostatných bánk a narobil problémy a hanbu AXA Banke. Tá zraniteľnosť odstránila tak, že pre autentifikáciu pridala ďalší povinný údaj, dátum narodenia.

Nielen AXA

Dôsledky tejto zraniteľnosti opísal Dalibor Chvátal v článku takto:

AXA Bank však může být ráda, že kabát z ostudy nosila jen 14 dnů. Kdyby se na problém přišlo až v době, kdy do banky plují miliony z úspor střadatelů, očista jména banky by tak laciná nebyla. A vysvětlujte pak běžnému člověku na ulici, že přístup přes internet je bezpečný.

Aj na Slovensku máme jeden ešte stále funkčný príklad podobného prístupu, ako to bolo u AXA Banky. Je ním Tatra Banka (ďalej len TB). TB používa veľmi podobný systém autentifikácie svojich klientov do IB. Na základe prideleného prihlasovacieho mena (nazývané PID), ktoré je rovnako číselného typu a rovnako je generované lineárne, a hesla je klient autentifikovaný a v prípade úspešnej autentifikácie, je ešte dodatočne autentifikovaný niektorým s určených spôsobov (SMS, Card&Reader, Grid).

Ak je 3x za sebou zadané zlé heslo, ktoré v pôvodom stave (doručené od banky) má až 16 miest a je kombináciou veľkých písmen a čísel, účet sa zablokuje na niekoľko málo minút. To je dosť zásadný rozdiel oproti AXA Banke, kedy v TB je zablokovaný prístup len na minúty, maximálne podľa môjho testovania na niekoľko hodín. Opäť však systém blokuje akýkoľvek prístup k tomuto účtu, teda je možné na niekoľko hodín zablokovať prístup k účtom mnohým užívateľom.

Sám som si na svojom účte otestoval, na koľko sa dá prístup k nemu zablokovať. Výsledok vidíte nižšie.

[15:06:38] Nesprávne PID alebo heslo.
[15:06:39] Nesprávne PID alebo heslo.
[15:06:40] Nesprávne PID alebo heslo.
[15:06:41] Prístup do systému je zamietnutý do 23.02.2010 15:08:18
[15:06:42] Prístup do systému je zamietnutý do 23.02.2010 15:08:47
[15:07:05] Prístup do systému je zamietnutý do 23.02.2010 15:10:43
[15:07:06] Prístup do systému je zamietnutý do 23.02.2010 15:12:34
[15:07:07] Prístup do systému je zamietnutý do 23.02.2010 15:17:05
[15:07:08] Prístup do systému je zamietnutý do 23.02.2010 15:25:28
[15:07:09] Prístup do systému je zamietnutý do 23.02.2010 15:42:26
[15:07:10] Prístup do systému je zamietnutý do 23.02.2010 16:16:43
[15:07:11] Prístup do systému je zamietnutý do 23.02.2010 17:08:11
[15:07:12] Prístup do systému je zamietnutý do 23.02.2010 17:08:12
[15:07:13] Prístup do systému je zamietnutý do 23.02.2010 17:08:13
[15:07:14] Prístup do systému je zamietnutý do 23.02.2010 17:08:14
[15:07:15] Prístup do systému je zamietnutý do 23.02.2010 17:08:15
[15:07:15] Prístup do systému je zamietnutý do 23.02.2010 17:08:16
[15:07:16] Prístup do systému je zamietnutý do 23.02.2010 17:08:17
[15:07:17] Prístup do systému je zamietnutý do 23.02.2010 17:08:18
[15:07:18] Prístup do systému je zamietnutý do 23.02.2010 17:08:19
[15:07:19] Prístup do systému je zamietnutý do 23.02.2010 17:08:20
[15:07:20] Prístup do systému je zamietnutý do 23.02.2010 17:08:21
[15:07:21] Prístup do systému je zamietnutý do 23.02.2010 17:08:21
[15:07:22] Prístup do systému je zamietnutý do 23.02.2010 17:08:22
[15:07:23] Prístup do systému je zamietnutý do 23.02.2010 17:08:24
[15:07:24] Prístup do systému je zamietnutý do 23.02.2010 17:08:24
[15:07:25] Prístup do systému je zamietnutý do 23.02.2010 17:08:25
[15:07:26] Prístup do systému je zamietnutý do 23.02.2010 17:08:26
[15:07:26] Prístup do systému je zamietnutý do 23.02.2010 17:08:27
[15:07:28] Prístup do systému je zamietnutý do 23.02.2010 17:08:29
[15:07:29] Prístup do systému je zamietnutý do 23.02.2010 17:08:30
[15:07:30] Prístup do systému je zamietnutý do 23.02.2010 17:08:31
[15:07:31] Prístup do systému je zamietnutý do 23.02.2010 17:08:31
[15:07:32] Prístup do systému je zamietnutý do 23.02.2010 17:08:33
[15:07:33] Prístup do systému je zamietnutý do 23.02.2010 17:08:33
[15:07:34] Prístup do systému je zamietnutý do 23.02.2010 17:08:34
[15:07:35] Prístup do systému je zamietnutý do 23.02.2010 17:08:35
[15:07:35] Prístup do systému je zamietnutý do 23.02.2010 17:08:36
[15:07:36] Prístup do systému je zamietnutý do 23.02.2010 17:08:37
[15:07:37] Prístup do systému je zamietnutý do 23.02.2010 17:08:38
[15:07:38] Prístup do systému je zamietnutý do 23.02.2010 17:08:39
[15:07:39] Prístup do systému je zamietnutý do 23.02.2010 17:08:40
[15:07:40] Prístup do systému je zamietnutý do 23.02.2010 17:08:41
[15:07:41] Prístup do systému je zamietnutý do 23.02.2010 17:08:42
[15:07:42] Prístup do systému je zamietnutý do 23.02.2010 17:08:43
[15:07:43] Prístup do systému je zamietnutý do 23.02.2010 17:08:44
[15:07:44] Prístup do systému je zamietnutý do 23.02.2010 17:08:45
[15:07:45] Prístup do systému je zamietnutý do 23.02.2010 17:08:45
[15:07:46] Prístup do systému je zamietnutý do 23.02.2010 17:08:46
[15:07:47] Prístup do systému je zamietnutý do 23.02.2010 17:08:47
[15:07:48] Prístup do systému je zamietnutý do 23.02.2010 17:08:48
[15:08:11] Prístup do systému je zamietnutý do 23.02.2010 17:09:11
[15:08:12] Prístup do systému je zamietnutý do 23.02.2010 17:09:12
[15:08:13] Prístup do systému je zamietnutý do 23.02.2010 17:09:13
[15:08:13] Prístup do systému je zamietnutý do 23.02.2010 17:09:14
[15:08:14] Prístup do systému je zamietnutý do 23.02.2010 17:09:15
[15:08:17] Prístup do systému je zamietnutý do 23.02.2010 17:09:18
[15:08:19] Prístup do systému je zamietnutý do 23.02.2010 17:09:19
[15:08:22] Prístup do systému je zamietnutý do 23.02.2010 17:09:23
[15:08:23] Prístup do systému je zamietnutý do 23.02.2010 17:09:24
[15:08:26] Prístup do systému je zamietnutý do 23.02.2010 17:09:27
[15:08:27] Prístup do systému je zamietnutý do 23.02.2010 17:09:28
[15:08:28] Prístup do systému je zamietnutý do 23.02.2010 17:09:29
[15:08:29] Prístup do systému je zamietnutý do 23.02.2010 17:09:30
[15:08:33] Prístup do systému je zamietnutý do 23.02.2010 17:09:34
[15:08:35] Prístup do systému je zamietnutý do 23.02.2010 17:09:36
[15:08:37] Prístup do systému je zamietnutý do 23.02.2010 17:09:37
[15:08:38] Prístup do systému je zamietnutý do 23.02.2010 17:09:38
[15:08:38] Prístup do systému je zamietnutý do 23.02.2010 17:09:39
[15:08:40] Prístup do systému je zamietnutý do 23.02.2010 17:09:40
[15:08:40] Prístup do systému je zamietnutý do 23.02.2010 17:09:41
[15:08:41] Prístup do systému je zamietnutý do 23.02.2010 17:09:42
[15:08:42] Prístup do systému je zamietnutý do 23.02.2010 17:09:43
[15:08:44] Prístup do systému je zamietnutý do 23.02.2010 17:09:44
[15:08:45] Prístup do systému je zamietnutý do 23.02.2010 17:09:46
[15:08:46] Prístup do systému je zamietnutý do 23.02.2010 17:09:47
[15:08:47] Prístup do systému je zamietnutý do 23.02.2010 17:09:48
[15:08:48] Prístup do systému je zamietnutý do 23.02.2010 17:09:49
[15:08:49] Prístup do systému je zamietnutý do 23.02.2010 17:09:50
[15:08:50] Prístup do systému je zamietnutý do 23.02.2010 17:09:51
[15:08:51] Prístup do systému je zamietnutý do 23.02.2010 17:09:52
[15:08:53] Prístup do systému je zamietnutý do 23.02.2010 17:09:53
[15:08:54] Prístup do systému je zamietnutý do 23.02.2010 17:09:54
[15:08:55] Prístup do systému je zamietnutý do 23.02.2010 17:09:55
[15:09:08] Prístup do systému je zamietnutý do 23.02.2010 17:10:08
[15:09:08] Prístup do systému je zamietnutý do 23.02.2010 17:10:09
[15:09:09] Prístup do systému je zamietnutý do 23.02.2010 17:10:10
[15:09:13] Prístup do systému je zamietnutý do 23.02.2010 17:10:14
[15:09:14] Prístup do systému je zamietnutý do 23.02.2010 17:10:15
[15:09:17] Prístup do systému je zamietnutý do 23.02.2010 17:10:18
[15:09:18] Prístup do systému je zamietnutý do 23.02.2010 17:10:19
[15:09:19] Prístup do systému je zamietnutý do 23.02.2010 17:10:20
[15:09:20] Prístup do systému je zamietnutý do 23.02.2010 17:10:21
[15:09:21] Prístup do systému je zamietnutý do 23.02.2010 17:10:22
[15:09:22] Prístup do systému je zamietnutý do 23.02.2010 17:10:23
[15:09:23] Prístup do systému je zamietnutý do 23.02.2010 17:10:24
[15:09:24] Prístup do systému je zamietnutý do 23.02.2010 17:10:25
[15:09:25] Prístup do systému je zamietnutý do 23.02.2010 17:10:26
[15:09:26] Prístup do systému je zamietnutý do 23.02.2010 17:10:27
[15:09:27] Prístup do systému je zamietnutý do 23.02.2010 17:10:28

Urobil som 100 pokusov, ktoré boli samozrejme plne automatizované, čo ma priviedlo k niekoľkým zaujímavým informáciám. Ak si pozriete tento výstup pozornejšie zistíte, že k najväčšiemu nárastu času zablokovania dochádza medzi 11. a 12. pokusom. Rozdiel je takmer hodinový. Druhá zaujímavosť je, že po 12. pokuse, začne čas blokovania pribúdať presne o toľko, koľko je rozdiel medzi jendotlivými pokusmi. Teda, ak by bol medzi nimi rozdiel 10 minút, narastie čas zablokovania o týchto 10 minút. Ja som to skúsil o 1,5 hodiny a skutočne sa mi blokácia predĺžila o 1,5 hodiny.

A tak zablokovať desaťtisíce účtov na niekoľko hodín a túto blokáciu následne neustále predlžovať nie je vôbec žiadny problém. Opäť je k tomu potrebné napísať skutočne jednoduchý skript a zoznam niekoľkých proxy serverov, ako ochrana pred blokovaním IP adries.

Na odblokovanie účtu je potrebné kontaktovať DIALOG, alebo si jednoducho počkať. Kontaktovať hotline sa dá už aj cez internet za pomoci flashového rozhrania, ktoré komunikáciu zabezpečuje. Ako je tomu u TB zvykom, vypýtajú si množstvo údajov, ktoré použijú na verifikáciu identity a na koniec zablokovanie zrušia.

Možnosti ochrany

AXA Banka zvolila pre odstránenie tejto zraniteľnosti nutnosť zadávať osobný údaj, dátum narodenia. Z môjho pohľadu sa nejedná o najlepšie riešenie. Dátum narodenia ľudia dnes prezrádzajú na počkanie (viď facebook, alebo happytweepday.com). Samozrejme, útočník by musel vedieť spojiť prihlasovacie meno s konkrétnou osobou, no i tam je šanca že sa mu to môže podariť. Najväčší problém je však v tom, že AXA prenáša celú bezpečnosť na užívateľa, nutnosťou zadávať ďalší údaj.

Možností ako ochrániť užívateľom pred cudzím blokovaním ich prístupov je viacero a to aj bez toho, aby bol užívateľ nútený k zadávaniu ďalších údajov.

Napríklad, využitím systémov ako GEOIP, zoznamov obsahujúcim “nebezpečné” IP adresy ako project honeypot, je možné rapídne znížiť možnosti využitia proxy systémov, či botnetov. Ak sa IP adresa nezhoduje s tou, ktorú bežne klient využíva (alebo ISP) a ide o viac ako tri nesprávne pokusy o autentifikáciu, IP adresa, alebo jej časť bude zablokovaná na niekoľko hodín. Taktiež, ak sa jedná o zmenu krajiny, na ktorú je IP adresa vedená, môže byť systém reštriktívnejší, napríklad aj tak, že si vypýta dodatočne údaje, akým je dátum narodenia.

Ďalšou možnosťou je všeobecný “warning” systém banky, ktorý by pohodlne ukázal na akékoľvek zvýšené množstvo pokusov o prihlásenie a tieto by ďalej vyhodnotil a prípade blokoval konkrétne IP adresy.

Útočníci by tak pri slovníkovom útoku museli mať neuveriteľné šťastie, aby sa im v jednom až troch pokusoch podarilo trafiť užívateľské heslo. A ak by sa im to aj náhodou podarilo, TB dnes využíva asi na všetkých (určite na väčšine) účtov dvojstupňovou autentifikáciu a teda by útočníci museli mať prístup k ďalším údajom, ako je SMS s tokenom, alebo aktívny token vo forme Card&Reader spolu s platobnou kartou klienta.

Záver

Silne pochybujem, že slovníkové formy útokov by dnes predstavovali zvýšenú hrozbu pre klientov banky. Momentálne asi najväčšie ohrozenie spôsobujú trojany, ktoré sú stavané tak, aby dokázali komunikáciu medzi bankou a klientom nielen odchytiť, ale aj pozmeniť. Výsledkom potom je, že si klient nevšimne okamžite stratu peňazí a tým dáva možnosť zlodejom peniaze potichu presunúť na účty, z ktorých už niet návratu. U nás sa banky snažia vysporiadať s takýmito formami útokov aj tak, že posielajú SMS správy informujúce o prebehnutí transakcie hneď po jej uskutočnení. Preto nevidím dôvod, aby banky akokoľvek zaťažovali užívateľov a spôsobovali im problémy aj tam, kde byť vôbec nemusia.

Tatra Banku som o týchto zisteniach informoval niekedy v polovici mesiaca. Od vtedy sme si vymenili dva emaily. V prvom mi oznámili, že o tejto zraniteľnosti vedia, ale že radšej nechajú blokovať účty, ako by mali dovoliť slovníkový útok. Na to som im ponúkol bezplatnú pomoc s riešením problému a poslal som im aj návrhy, ktoré som vypísal vyššie. Odpoveďou bolo, že bezpečnosť je pre TB priorita a teda budú ďalej hľadať to správne riešenie. Prešli dva týždne a riešenie žiadne, stále všetko funguje tak, ako aj predtým.

Sám som klientom tejto banky a nerád by som bol bez prístupu do IB aj za cenu toho, že sa niekto dostane k môjmu heslu do IB. Pevne verím, že na nápravu nebudem(e) musieť čakať mesiace, ale že sa tak stane už v blízkej budúcnosti.

Zaujal vás článok? Sledujte ma na Twitteri.


17 Responses to “Cielené blokovanie prístupov k účtom Tatra Banky”


  1. 1 Kozo Feb 24th, 2010 at 11:34

    NIeco podobne ma (a myslim, ze v horsej forme) aj VUB: aspon onehda mali. Uz s nimi nemam nic spolocne, takze som neoveroval, ci stale: http://kozo.bloguje.sk/499448-nemate-ho-radi-alebo-ho-nema-rada-vub.php

  2. 2 milanko Feb 24th, 2010 at 12:16

    Moja skusenost je taka, ze Tatrabanka vyuziva GEOIP systemy uz pomerne dlho. Zatial ich zrejme nevyuzivaju aj pre blokovanie konta, ale rozhodne viem, ze ich vyuzivaju pri prihlasovani v dalsom kroku.

  3. 3 egro Feb 24th, 2010 at 12:34

    Ceska CSOB to ma podobne, stacia 3 zle zadania PINkodu a IB sa zablokuje tak, ze treba zajst do pobocky. Podla coho generuju ID a ci je linearne neviem…

    http://www.csob.cz/cz/Produktovy-katalog/Elektronicke-bankovnictvi/Stranky/Prihlaseni-do-sluzeb-internetoveho-bankovnictvi.aspx

  4. 4 Sam Feb 24th, 2010 at 13:25

    mbank je na tom rovnako, id vyzera byt leanearne, 3 zle pokusy blocknu account a treba volat.
    kedze vacsina bank je na tom velmi podobne beriem to ako featuru ( a mam 2 banky ;)

  5. 5 [!v@n] Feb 24th, 2010 at 15:32

    Dobry clanok, vdaka.

    Ako vravis, tato zranitelnost nepredstavuje bezpecnostny problem ale uzivatelsky kedze je nutne volat a ziadat o odblokovanie. Co z celej veci plynie pre uzivatelov? Nepouzivajte lahko spojitelne uzivatelske mena s Vasim menom ci emailom. Samozrejme, pri slovnikovom utoku je tato “obstrukcia” mizivou ochranou ale prinajmensom znizuje sancu cieleneho utoku na konkretnu osobu. A naozaj nerozumiem, preco GeoIP nie je jednou z najelementarnejsich bezpecnostnych praktik. No, ale, pri (nielen) TatraBanke nerozumiem omnoho veciemu mnozstvu veci.

  6. 6 kofola Feb 24th, 2010 at 15:53

    Uz sice nie som zakaznikom TB, ale s uvedenym problemom som sa stretol. V mojom pripade islo skor o netrpezlivost, ked winowsy “cosi” robili. Doslo teda k zmene prehliadaca, refreshu stranky, atd. Meno a heslo bolo vzdy spravne. Nakoniec to system TB vyhodnotil ako nekale spravanie a blokol ucet. Na Dialogu mi povedali, ze treba ist na pobocku, ale stacilo pockat, kym sa to samo odblokovalo (skusili sme to na druhy den).
    Chcem vsak povedat, ze pri prihlaseni do internetbankingu pride klientovi SMS na mobil (TB aj Dexia). Rovno by teda mohol tymto sposobom prist aj odblokovaci kod.

  7. 7 ... Feb 25th, 2010 at 09:33

    Ked sa prihlasujem do slovenskej csob, tak este chodi overovaci kod SMS-kou.
    Alebo s kazdym dalsim pokusom coraz sialenejsiu captchu :-). A blokovanie predlzovat len pokial sedi captcha.

  8. 8 iso Feb 25th, 2010 at 09:56

    Uz je to asi rok, co sa pri prihlasovani z inej ako beznej IP adresy
    ib Tatry pytal na sms kod, miesto gridu. Stavalo sa mi to bezne, doma pytal grid a v cudzine sms kod.

  9. 9 Vicent Feb 26th, 2010 at 08:00

    ano, na pristup do TP pouzivam cca. 3 IP adresy a vzdy to chce len “standardnu” autentifikaciu, ale ked sa niekedy prihlasim z mobilu (alebo cez mobil), tak to vypyta aj SMS kod

  10. 10 Accuphose Mar 16th, 2010 at 01:37

    Tohle mě dostalo…. trošku mimo tému, ale…
    http://tinyurl.com/yabdy96

  11. 11 Rastislav Turek Mar 16th, 2010 at 02:40

    @Accuphose: nefungiruje to (inak odkaz na ivysilani). daj sem priamo odkaz na web

  12. 12 Accuphose Mar 17th, 2010 at 01:15

    Je to přímo asf se streamem v televizní kvalitě…. link na web zde
    http://www.ceskatelevize.cz/ivysilani/210411058040315-interview-ct24/?streamtype=WM3

  13. 13 july Mar 18th, 2010 at 12:55

    čo vravíš na toto?

    ….Práve tak je dobré jasne povedať, že existujú morálne spôsoby, v zahraničí jasne definované a používané, ako sa zverejňujú bezpečnostné zraniteľnosti. Osoby ako Rastislav Turek (Synopsi), ktorí bez všetkého na svoj Twitter vycapia dump databázy jedného navštevovaného slovenského webu, predovšetkým preto, aby vystrašením ľudí zvýšili obrat svojich bezpečnostných služieb, by nemali byť spoločnosťou oslavovaní ako hrdinovia….

    zdroj: http://www.itnews.sk/blogy/juraj-bednar/2010-03-18/c132543-bezpecnostne-standardy

  14. 14 Rastislav Turek Mar 18th, 2010 at 13:44

    @july: vykriky do tmy. tazko sa vyjadruje k clanku, ktory je zamerany vyslovene ad hominem

  15. 15 AdaMM Mar 19th, 2010 at 15:52

    sam: mbank nemá lineární id :)

  16. 16 any Mar 25th, 2010 at 10:39

    Heh takze TB blokuje uz iba na 2 hodinky? Ked som to skusal asi 3 roky spat tak to blokovoli exponencionalne a ked som mal blokovany pristup na 7 dni tak som to uz radsej vzdal :)

  17. 17 tpnb May 21st, 2010 at 12:33

    TB ma dvojstupnovu autentifikaciu, najpr normalne PID + heslo a nasledne aj kod *kedysi kod z grid karty*. Takze v podstate by stacilo pouzit tuto ochranu len na IP adresu a len na tu druhu cast autentifikacie. Ak vobec, pretoze ten kod vygenerovany citackou karty je na slusnej urovni a este sa meni. Neviem si predstavit akym sposobom by to niekto oblbol bez samotnej platobnej karty…

Zanechajte odkaz

  • na ďalšie komentáre odkazujte za použitia čísla komentáru v hranatej zátvorke, napríklad [3]
  • vaša IP adresa je logovaná a zneužívaná na výskumné účely
  • môžete mi tykať
  • komentáre sú moderované, kritiku prijímam, snažte sa prosím strániť invektív