E-banking: Defective by design

Autori: Dušan Dželebdžić i Žarko Ptiček

Sadržaj:

Uvod

Razumemo i poštujemo potrebu za razvojem, a naročito za primenom tehnologija koje ljudima (pa i klijentima banaka) olakšavaju ili pojednostavljuju život (pa i korišćenje bankarskih usluga). Ono što autori ovog teksta ne razumeju je da se pružaoci bankarskih usluga često ne libe da, zarad sopstvene komocije, ili usled sopstvenog neznanja, od korisnika svojih usluga zahtevaju da naruše ličnu bezbednost i bezbednost sopstvenog računara, kao i bezbednost svojih podataka. Nepoštovanje civilizacijskog nivoa bezbednosnih standarda i zakonskih i podzakonskih propisa, prema mišljenju autora treba da bude jasan znak da u interesu bezbednosti sopstvenog računara ne bi trebalo koristiti usluge banke.

Odmah na početku autori napominju da su ovaj tekst sastavili na osnovu ličnih opažanja, ličnog iskustva, i iznose samo one činjenice za koje odgovaraju pod krivičnom, materijalnom i moralnom odgovornošću. Ovaj tekst nije istraživanje, jer ličnim opažanjem i iskustvom autora nisu obuhvaćene sve banke koje posluju u Republici Srbiji, čiji spisak možete naći na zvaničnoj prezentaciji Narodne Banke Srbije.

Skrećemo pažnju da je gospodin Luka Gerzić objavio članak u kojem je u okviru istraživanja bezbednosti .rs domena posebnu pažnju obratio na bezbednost banaka. Članak možete pročitati ovde: http://blog.gerzic.rs/how-secure-is-rs

Ništa u ovom tekstu nije, niti može biti tumačeno kao plaćena ili neplaćena reklama, anti-reklama ili slično. Cilj teksta je podizanje svesti kako o realnim bezbednosnim pretnjama po korisnike, tako i pravnim obavezama samih banaka.

Koje su obaveze banaka prema važećim propisima?

Pre nego što navedemo koje su konkretne bezbednosne situacije sa kojima se korisnici bankarskih usluga mogu susresti, red je da ukažemo na postojanje pravnog okvira za bezbednosno postupanje banaka. Zakonom o bankama („Sl. glasnik RS“, br. 107/2005, 91/2010 i 14/2015), koji se smatra “krovnim” propisom kojim se uređuje poslovanje banaka u Srbiji, bezbednost se pominje samo na jednom mestu. Naime banka je dužna da ovlašćenim licima Narodne banke Srbije omogući da kontrolu njenog poslovanja izvrše u sedištu banke i u svim njenim organizacionim delovima, a ta ovlašćena lica u vršenju kontrole mogu da pristupaju svim organizacionim delovima i prostorijama banke, uz poštovanje bezbednosnih procedura banke koju kontrolišu. Članom 76. stav 3. tačka 8) ovog zakona, propisano je da je obezbeđivanje sigurnosti i redovnog praćenja sistema informacione tehnologije i trezorskog poslovanja banke spada u nadležnost izvršnog odbora. Dakle “krovni” zakon ne tretira oblast bezbednosti korisnika, već propisuje da prilikom kontrole, ovlašćena lica moraju poštovati bezbednosne procedure same banke, a sigurnost sistema informacionih tehnologija same banke je u delokrugu rada izvršnog odbora.

U Republici Srbiji je dana 5. decembra 2011. godine počeo sa primenom Zakon o zaštiti korisnika finansijskih usluga („Sl. glasnik RS“, br. 36/2011 i 139/2014), koji kao osnovna načela zaštite korisnika propisuje i pravo na informisanje i pravo na zaštitu prava i interesa. Prema ovom zakonu korisnik ima pravo da od banke, u pisanoj formi ili na drugom trajnom nosaču podataka, bez naknade dobije informacije, podatke i instrukcije koji su u vezi s njegovim ugovornim odnosom s bankom, na način i u rokovima utvrđenim ugovorom koji ima sa bankom. U konkretnom slučaju, korisnik ima pravo da od banke zahteva spisak bezbednosnih mera (ili propusta) koje bi bio u obavezi da primeni (ili trpi) zarad ostvarivanja prava iz ugovora koji ima sa bankom, uključujući i e-banking i m-banking usluge. Kako zakon korisnika definiše i kao fizičko lice koje namerava da koristi finansijske usluge, to je banka u obavezi da vam dostavi ove informacije i pre stupanja u ugovorni odnos, odnosno u predugovornoj fazi, na osnovu člana 17. ovog zakona.

Ipak, iako ni Zakon o bankama ni Zakon o zaštiti korisnika finansijskih usluga eksplicitno ne pominju informacionu bezbednost korisnika, ona je propisana Odlukom o minimalnim standardima upravljanja informacionim sistemom finansijske institucije („Sl. glasnik RS“, br. 23/2013 i 113/2013), koja se za banke primenjuje od 1. januara 2014. godine. Ovom Odlukom kao korisnici informacionog sistema definisana su sva lica koja su ovlašćena da koriste informacioni sistem uključujući i klijente banke koji informacionom sistemu finansijske institucije pristupaju preko elektronskih interaktivnih komunikacionih kanala. Takođe, banke su obavezane da uspostave, nadziru, redovno revidiraju i unapređuju proces upravljanja informacionim sistemom radi očuvanja bezbednosti i funkcionalnosti tog sistema, kao i da unutrašnjim opštim aktom, u skladu sa zakonom, utvrde ovlašćenja i odgovornosti svojih organa upravljanja i nadzora koji se odnose na ove poslove (tačka 4. Odluke). Banka je dužna da obezbedi primenu svih unutrašnjih opštih akata i procedura u vezi sa informacionim sistemom, kao i da obezbedi da svi korisnici ovog sistema budu upoznati sa sadržajem tih akata i procedura, u skladu s njihovim ovlašćenjima, odgovornostima i potrebama[1. Ovlašćenje korisnika bankarske usluge u smislu prava na informisanje iz člana 5. Zakona o zaštiti korisnika finansijskih usluga] (tačka 7. Odluke).

Iz svega navedenog, nedvosmisleno proizlazi da je obaveza banke da svakog korisnika svojih usluga ili potencijalnog klijenta besplatno i celovito informiše o informacionoj bezbednosti koju primenjuje.

Osim navedenog, Odlukom su propisane obaveze banke u pogledu elektronskog bankarstva, i to (tačke 49.-51. Odluke):

  • da uspostavi proces upravljanja rizicima koji proizlaze iz elektronskog bankarstva;
  • da u poslovima elektronskog bankarstva primeni sigurne i efikasne metode za proveru i potvrdu identiteta i ovlašćenja lica, procesa i sistema;
  • da pri izvršavanju platnih transakcija u okviru elektronskog bankarstva, obezbedi da autentifikacija korisnika tog bankarstva uključi kombinaciju najmanje dva elementa za potvrđivanje korisničkog identiteta;
  • da obezbedi odgovarajuću potvrdu svog identiteta na distributivnom kanalu elektronskog bankarstva kako bi korisnici tog bankarstva mogli da provere autentičnost banke;
  • da obezbedi postojanje odgovarajućih operativnih i sistemskih zapisa kako bi se u odgovarajućoj meri obezbedila neporecivost i dokazivost radnji u vezi sa elektronskim bankarstvom.

Šta je od navedenog ispunjeno, a šta nije, kontroliše Centar za superviziju informacionih sistema pri NBS.

Šta pojedine banke od klijenata zahtevaju u pogledu bezbednosti i koje su posledice?

E-banking u Srbiji se ne može nazvati novinom, zato što postoji još od kraja devedesetih godina. Najveći razvoj u ovoj oblasti je bio početkom ovoga veka, ali u nekoliko slučajeva deluje kao da se razvoj u to vreme i zaustavio.

Neke od banaka su kreirale sopstveni softver, dok su druge taj posao poveravale firmama kojima je izrada softvera primarna delatnost[2. Ova mogućnost je danas eskplicitno propisana Odlukom o minimalnim standardima upravljanja informacionim sistemom finansijske institucije].  Uglavnom su birane Web aplikacije kojima se pristupa preko browsera (poput Internet Explorera, Firefoxa ili Chromea, ali i mobilnih telefona).

Eurobank

U suštini ova ideja je dobra – svaki računar ima instaliran najmanje jedan browser, tako da je dovoljno podržati najpopularnije browsere i nestaju tehničke prepreke da bilo ko pristupi aplikaciji. Drugo rešenje bi bilo razvoj prilagođenih aplikacija za svaku platformu (Windows, OSX, Linux, iOS, Android, Windows Phone). Ovo rešenje je odlično na duge staze, ali poskupljuje izradu i održavanje aplikacija, pošto se umesto jedne održava najmanje šest aplikacija.

Bez obzira na to koje se rešenje odabere sa klijentske strane, e-banking aplikacija mora da sa druge strane “razgovara” i sa računarskim sistemom banke. Taj deo se rešava tako što se definiše veoma restriktivan protokol komunikacije, a zatim se sastavi aplikacija u nekom od jezika koji su za to predviđeni. Dobar protokol komunikacije može biti takav da je potpuno svejedno šta se nalazi sa klijentske strane, bila to Web, mobilna ili desktop aplikacija.

O kakvoj god aplikaciji da se radi, dobre prakse nalažu da one moraju da se izvršavaju na platformama za koje su pisane. Kod desktop aplikacija se zbog njihove prirode očekuje da u paketu sa sobom donesu i još neke komponente koje su im potrebne za rad, ali kod Web aplikacija to je sasvim neprihvatljivo. Uzmite za primer Facebook, Twitter ili bilo koju Google uslugu – radi se o izuzetno kompleksnim Web aplikacijama kojima se može pristupiti sa bilo kog računara, bez potrebe za bilo kakvim prilagođavanjem tog računara.

Jedna veoma često upotrebljavana prečica za izradu softvera koji se izvršava na svim uređajima je Java. Ovaj sistem omogućuje da se napiše jedan kôd koji će se izvršavati na svim platformama, tako što u klijentskom računaru startuje virtuelnu mašinu (tj. računar unutar računara) koja je svuda ista. Programeri više ne moraju da prate izmene na svim računarskim platformama. Dovoljno je da isprate objave proizvođača virtuelne mašine, testiraju svoju aplikaciju na novoj verziji VM pre njenog zvaničnog objavljivanja i pripreme se na vreme pre nego što nova verzija virtuelne mašine bude puštena u javnost.

Pošto virtuelna mašina dozvoljava izvršavanje proizvoljnog koda na računaru, veoma je bitno da je ona uvek ažurna i da su njeni bezbednosni sistemi funkcionalni. U suprotnom bi bilo koji sajt mogao da izvrši bilo koje aktivnosti na vašim računarima –  ukrade ili obriše podatke, ili koristi vaše računare da kroz njih vrši krivična dela poput piraterije[3. Neovlašćeno iskorišćavanje autorskog dela ili predmeta srodnog prava, član 199 Krivičnog Zakonika („Sl. glasnik RS“, br. 85/2005, 88/2005 – ispr., 107/2005 – ispr., 72/2009, 111/2009, 121/2012, 104/2013 i 108/2014)] ili računarske sabotaže.

“Uputstvo za nesmetan rad aplikacije”

Kao što smo upravo razjasnili, svrha bezbednosnih podsistema nije da ometaju rad e-banking aplikacija, nego da spreče hakerske napade na računare klijenata banaka.

Aplikacija koju blokiraju bezbednosni podsistemi je loše napisana aplikacija i postoji dobar razlog zašto je blokirana. Rešenje nije deaktiviranje bezbednosti, nego izrada aplikacije prema važećim standardima platforme za koju su se programeri opredelili.

soge

Uputstva koja banke dostavljaju pod naslovom “Uputstvo za nesmetan rad aplikacije” obično sadrže instrukcije za instaliranje zastarelih komponenti i deaktiviranje bezbednosnih sistema. Bar jedna banka, kao i Poreska uprava RS savetuju aktiviranje NPAPI dodatka u Chrome browseru, komponente koju sam Chrome definiše kao veoma veliki čekić koji treba koristiti tek kada ništa drugo ne pomaže” i koja je markirana kao zastarela (eng. deprecated) pre dve godine, a nedavno je i deaktivirana.

“Molimo nemojte da ažurirate Javu”

Aplikacije koje se izvršavaju u Java VM komuniciraju sa klijentskim računarom preko standardizovanih funkcija. Prilikom ažuriranja Java okruženja, postojeće funkcije se najčešće ne diraju već se samo dodaju nove. Međutim, nekada postoji potreba da se postojeća funkcija izmeni, ili potpuno ukine zato što je zamenjena drugom. Ove izmene se najavljuju nekoliko meseci unapred, zatim se stare funkcije markiraju kao zastarele, a potom se nakon najmanje 6-12 meseci zaista i izbacuju. Programeri koji održavaju aplikaciju su dužni da prate izmene i na vreme pripremaju svoje aplikacije za nove verzije VM – zbog toga i naplaćuju redovno održavanje aplikacije.

Programer čiji program nakon ažuriranja sistema prestane da radi, a rešenje za to nađe u zabrani ažuriranja sistema se ne može nazvati dobrim programerom. Zamislite advokata koji zastupa klijente isključivo po zakonima koji su važili 4. maja 1982. godine i negira postojanje novih propisa – nema velike razlike. Kao i advokati, i banke su dužne da prate i primenjuju važeće propise u oblasti bezbednosti[4. Tačka 16. stav 2. Odluke o minimalnim standardima upravljanja informacionim sistemom finansijske institucije].

Jedan ekstreman primer loše prakse u ovoj oblasti je banka Société Générale

soge-win-java

Banka je svojim klijentima poslala cirkularno pismo sa obaveštenjem:

  1. Da Windows nije kompatibilan sa Javom
  2. Da se ukloni ažurna verzija Jave
  3. Da se instalira zastarela, “ispravna” verzija Jave.

Krenimo redom:

  1. Windows i Java jesu kompatibilni. To je zapravo svrha Jave – da se izvršava na računaru. Krajnje je neozbiljno tvrditi da najrasprostranjenija virtuelna mašina ne radi na najrasprostranjenijem operativnom sistemu, kao i da to niko u svetu nije zapazio osim jedne banke u Srbiji.
  2. Uklanjanje ažurne verzije Jave i zamena starom, nebezbednom verzijom bi se u širem tumačenju moglo smatrati računarskom sabotažom.
  3. Ažurna verzija Jave je proglašena neispravnom, a zastarela se naziva “ispravna”.

Raiffeisen banka je do nedavno zahtevala od svojih korisnika da ne ažuriraju Javu. Sada je obaveštenje promenjeno u sledeće:

raiffeisen

Dakle, pored zahteva za brisanjem sigurnosne komponente u računaru klijenata, korisnici koji imaju određeni tip čitača konačno smeju da ažuriraju svoju Javu. Ostali i dalje ne smeju.

Nije problem samo u bankama. Portal E-Porezi od korisnika zahteva da pribave sertifikat izdat od strane ovlašćenog izdavača:

e-porezi-klijent

Sa druge strane, oni koriste sertifikat koji su sami potpisali, te zbog toga korisnici dobijaju bezbednosna upozorenja svojih browsera:

e-porezi-ffe-porezi-chrome

Poreska uprava takođe zahteva aktiviranje NPAPI dodatka, veoma velikog čekića koga smo u ovom članku već pomenuli.

Stiče se utisak da autori softvera svoju neažurnost pravdaju greškama u Javi i greškama u operativnom sistemu.

 

Dopuna 1: Kako je operativni sistem za iPhone mobilne telefone dobio svoju nadogradnju na verziju iOS 9.2 tako je stiglo i sledeće obaveštenje od Raiffeisen Banke A.D. koje glasi:

Raiffeisen obaveštenje

Raiffeisen obaveštenje

Koje su posledice?

Ne postoji objektivna prepreka da se e-banking rešenja upodobe pozitivnopravnim propisima i dobroj praksi izrade aplikacija. Erste Banka i UniCredit Banka su prema iskustvu autora članka banke koje poštuju propisane bezbednosne procedure i propisima zagarantovana prava korisnika.

Upodobljeni zahtevima banaka, računari klijenata su zamrznuti na starim verzijama sistemskog softvera, zahvaljujući tome su podložni raznim vrstama napada.

Korisnici se uče da ignorišu HTTPS upozorenja, što je loša praksa koju mogu da prenesu i na druge servise.

Od lica koja nisu stručna za administraciju računarskih sistema se zahteva da menjaju sistemske datoteke i deaktiviraju sigurnosne komponente, baš one komponente koje bi trebalo da ih štite od napada.

Savesni korisnici koji redovno ažuriraju sistemski softver su diskriminisani i ne mogu da koriste usluge nekih banaka i Poreske Uprave. U slučaju banaka ovo i nije veliki problem, korisnik uvek može da odabere drugu banku. Drugu Poresku Upravu, u trenutku pisanja ovog članka, nemamo.

Korisni linkovi

Fusnote

10 komentara Napišite komentar

Оставите одговор на Goran Rakić Одустани од одговора

Obavezna polja su označena *.