Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalianew Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky
Root.czBlogy

Bezpecnost internetbankingu FIO d.z. II

fio, 5. 10. 2007, 12:27 v kategorii Bezpečnost,

Po delsi dobe je tu male pokracovani clanku o bezpecnosti internetoveho bankovnictvi FIO d.z.

Nacrtnul jsem v nem nektere nedostatky v bezpecnosti:

  • pouziti jednoho vstupniho kanalu (pc klavesnice) pri autorizaci neni odolne proti utokum programu zachytavajici stisky klaves (keyloggerum)
  • aplikace pro podepisovani stahovana pres nezabezpeceny kanal
  • chybejici funkce expirace podepisovaneho klice

Bod prvni: zde doslo k vylepseni funkcnosti systemu. Pri prihlaseni do internetbankingu je nyni mozne zadavat heslo pres virtualni grafickou klavesnici. Toto reseni, pouzivane i jinymi financnimi ustavy pro prihlasovani - napr. Servis 24 nebo brokerjet CS, castecne chrani odchyceni vaseho hesla keyloggerem a prihlaseni z verejneho pocitace do internetbankingu nebude takovym rizikem pro uzivatele. Proc jsem pouzil slovo castecne? Virtualni klavesnice take maji urcite slabiny a nejsou odolne proti:

  1. keyloggerum, pokud virtualni klavesnice stisk klavesy primo emuluji [neni pripad fio]
  2. sofistikovanejsim trojskym konum, ktere krome stisku klaves ukladaji i pozice stisknuti mysi (viz napr. zminka zde). I zde se muzete branit pri prihlasovani do FIO, protoze po vice nez jednom pouziti stisku "Zmenit pozici klavesnice" pri zadavani hesla, nema utocnik sanci ziskat z pozice stisknuti mysi jednotlive znaky hesla.
  3. komplexnim nastrojum, ktere krome logovani stisku klaves, ukladaji vyrez obrazovky pri stisku mysi. Tyto programy ale trpi velkymi naroky na prostor pro ukladani svych vystupu a vystupy z nich je treba manualne analyzovat, takze jejich nasazeni nebude jiste beznou zalezitosti.
  4. specifickym trojskym konum napsanym na miru konkretni implementace virtualni klavesnice [asi nejmene pravdepodobny pripad pro FIO]


Bod druhy, kde je kritizovano stahovani podepisovaci aplikace pres nezabezpeceny kanal. Zde myslim, ze jednoduchou zmenou puvodniho odkazu na stazeni podepisovaci aplikace http://www.fio-zalozna.cz/docs/setup.exe na https://www.fio.cz/docs/setup.exe by byl problem jednoduse odstranen. Pro linuxaky uvadim jeste neoficialni, avsak funkcni odkaz https://www.fio.cz/docs/fiohb-linux.tgz, kde naleznete nativni verzi aplikace pro OS GNU/Linux.

Posledni bod - neexpirujici podepisovaci klic je mozno casove hlidat na obou stranach. FIO muze po uzivatelich vyzadovat pregenerovani klice (zablokovanim stareho) napr. po trech letech, muze je na to jenom jemne upozornovat (po prihlaseni) a zaroven ma tuto moznost i uzivatel - dojit na pobocku a doma pregenerovany soukromy klic si zmenit. Podle mych informaci FIO zmenu klice nevyzaduje a proto byste na ni meli myslet sami.

Jak hodnotite zabezpecni internetbankingu FIO d.z.?

Zobrazit výsledky

Nahrávání ... Nahrávání ...

Pouzivani internetoveho bankovnictvi FIO d.z. v Linuxu II

fio, 4. 06. 2007, 23:30 v kategorii Ostatní,

Nasledujici prispevek bude predevsim kompilat z ruznych zdroju a par vlastnich postrehu. V predchozim dile jsem popisoval zprovozneni podepisovaci aplikace, ktera je nutna pro validaci pokynu, zadavanych do FIO d.z.

Chapu, ze pousteni aplikaci pres wine neuspokoji skalni priznivce linuxu, ale predevsim se jedna o postup funkcni a ne prilis tezky i pro zacatecniky. Pres wine jdou pustit snad vsechny radkove utility dodavane v instalacnim baliku. Nicmene v diskusi k clanku je uverejneny odkaz na puvodni linuxovou aplikaci, ktera je v dobe psani clanku stale platnym odkazem, ale ze stranek FIO se k ni nedoklikate (proste neoficialne podporovano). Jeji obsah snadno pochopite, pokud jste si precetli prvni clanek, tedy jen ve zkratce:

fgp - utilita pro generovani hashe
wsign - podepisovaci aplikace
fioCa.pem - ceritifikat root CA FIO
fiosign.cfg - konfiguracni soubor podepisovaci aplikace
readme - soubor s napovedou, mirne outdated

Ovladani a pouziti linuxovych utilit je temer shodne jako windowsovych ekvivalentu. V souboru readme je popisovano vytvoreni privatniho klice, a i kdyz uvedeny postup bude fungovat, doporucuji chranit vlastni privatni klic AES-256 sifrou, jak je popsano v tomto clanku.

Vlastni spousteni radkovych utilit jeste skryva jeden zadrhel a to dynamicky linkovane knihovny, ktere bud v systemu nemate nebo se nachazeji v jine verzi. Spustenim ldd zjistitite, ze jsou slinkovany s knihovnami libssl.so.4 a libcrypto.so.4, kterezto jsou ve skutecnosti knihovny openssl-0.9.7 a pouze nektere distribuce (RedHat, jeho klony a mozna i dalsi distra) pouzivaji toto oznaceni. Doporucuji proto vyzkouset nalinkovat libssl.so.4 na libssl.so.0.9.7 a libcrypto.so.4 na libcrypto.so.0.9.7. Pokud to budete provadet jako bezny uzivavetel (coz doporucuji), linky vytvorte v adresari obsahujici aplikaci a nastavte (a exportujte) hodnotu promenne LD_LIBRARY_PATH na jmeno adresare. Openssl je vydavana i v novejsi rade 0.9.8, ktera by mohla take fungovat, ale pouziti puvodni verzi skyta mensi riziko chyby. Upozorneni: potrebujete 32-bitove verze knihoven, pokud pouzivate 64-bitovou platformu.

    if test -z "$LD_LIBRARY_PATH"
then
LD_LIBRARY_PATH=$HOME/appl/fio
else
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/appl/fio
fi
export LD_LIBRARY_PATH

Pokud nezaznamenate uspech (uspesne vyzkouseno v Debianu, t.j. predpokladam uspech i v Ubuntu), je zde jeste druha moznost, popsana i v diskuzi k tomuto clanku stazeni knihoven volne dostupneho z CentOS a jejich nakopirovani do systemu (cimz si udelate v systemu mensi binec), ci s pravy bezneho uzivatele do adresare obsahujici instalaci a nastaveni LD_LIBRARY_PATH.

Predpokladam, ze pokud se vam podarilo zprovoznit nativni verzi, budete ji pouzivat radeji nez spoustenou pres wine. Pravdepodobne brzo zjistite, ze se vam na prvni pokus nebude zobrazovat spravne diakritika. Duvod je prosty: vetsina modernich distribuci defaultne podporuje kodovani UTF-8, nicmene mozna vase distribuce obsahuje i fonty se znakovou sadou v kodovani ISO-8859-2, kterou podporuje tato aplikace a je nutne upravit prislusne nastaveni terminalu.

Na zaver jeste dve zminky k naposledy zminenemu clanku a diskusi - obsahuje dve dobre ideje
- vytvoreni specialniho uzivatele pro spousteni podepisovani (obcas se zapomenete zalogovany na konzoli a nestesti muze byt hotovo)
- napad pro vytvoreni skriptu na hledani "spravnych" openssl knihoven

zde je tedy takove jednoduche cviceni:

 #!/bin/sh

# cd ~user/appl/fio
# rm libssl.so.4 libcrypto.so.4

for d in /lib /usr/lib $(grep ^/ /etc/ld.so.conf /etc/ld.so.conf.d/* 2>/dev/null)
do
for f in $d/libssl.so* $d/libcrypto.so.*
do
test -f "$f" -o -L "$f" &&
case "$f" in
$d/libssl.so*0.9.7|$d/libssl.so*0.9.8)
LIBSSL=${LIBSSL:=$f}
;;
$d/libcrypto.so*0.9.7|$d/libcrypto.so*0.9.8)
LIBCRP=${LIBCRP:=$f}
;;
esac
done
done

if test -n "$LIBSSL"
then
ln -s $LIBSSL libssl.so.4
else
echo "libssl.so not found in system."
fi
if test -n "$LIBCRP"
then
ln -s $LIBCRP libcrypto.so.4
else
echo "libcrypto.so not found in system."
fi

Sveril byste svoje penize druzstvevni zalozne?

Zobrazit výsledky

Nahrávání ... Nahrávání ...

Bezpecnost internetbankingu FIO d.z.

fio, 18. 05. 2007, 23:30 v kategorii Bezpečnost,

Na uvod - rozhodne nejsem schopen posoudit jak jsou vase uspory bezpecne ulozeny v tomto ustavu, protoze zde hraje roli prilis mnoho faktoru. Hodnotit rizika muzete z nekolika hledisek a jejich kriticnost zhodnotit sami. Dulezite pro vas muze byt, ze penize jsou pojisteny stejne jako v bance, pod dohledem stejne instituce jako banky, nicmene je jasne ze tento ustav nema stejne kapitalove zazemi jako nejvetsi ceske banky (ovsem vetsi != lepsi). Na druhou stranu narozdil od nejvetsich ceskych bank nas (=danove poplatniky) fungovani teto spolecnosti nestalo miliardy korun, nalitych do jejich chrtanu na kryti rizikovych uveru a podvodu, coz se pocita jako kladny bod darwinovskem survival of the fittest.

Uvodni odstavec zminuji proto, ze zabezpeceni internetbankingu ma smysl posuzovat ve chvili, kdy samotne ulozeni penez ve financnim ustavu je bezpecne. Zajimava je tez informace, ze internetbanking spustila jako prvni v CR (ve stejnem roce jako Expandia Banka), nicmene tato verze internetbankingu byla v roce 2003 nahrazena novejsi verzi. Zkusenosti s provozem a odladeni bankovni aplikace muze byt tedy na vyssi urovni nez u lecktere retailove banky.

Co se da z pohledu uzivatele vsechno zjistit?

- servery FIO bezi na FreeBSD a Apache (backendovy system je pro nas neviditelny tedy nehodnotim)
- identitu serveru pro webove rozhrani je overena certifikatem Equifaxu(GeoTrustu), ostatni pouzivaji drazsi a prestiznejsi certifikaty Verisignu. V pripade podepisovaci aplikace je pouzita vlastni certifikacni autorita FIO a root certifikat je soucasti podepisovaci aplikace
- komunikace je sifrovana AES-256, coz je jiste dostatecne, narozdil od jinych financnich ustavu (i napr. "internetova" eBanka pouziva jako vetsina bank zastarale RC4 128, i kdyz drive tam take pamatuji AES)
- frontend aplikace vypada jako sada cgi skriptu, a z tohoto se pravdepodobne tedy nejedna o nejake radobymoderni technologicke vystrelky (za stovky tisic peneznich jednotek)
- podepisovaci aplikace je jednoducha polo-radkova utilita, odpovidajici velikosti bezne unixove radkove utilite (mene kodu = pst. mensiho mnozstvi chyb)
- pro provadeni peneznich operaci jsou potreba dva (ne uplne nezavisle) kanaly: uzivatelske id a heslo zadane v prohlizeci (pres SSL) a podepisovani transakce klicem chranenym dalsim heslem. Zde je pozitivni, ze bezi zcela mimo proces prohlizece.

Celkove zabezpeceni autorizace a autentizace lze hodnotit jako slabsi v porovnani s pouzitim jinych hardwarovych zarizeni - kalkulacky, privatni klic ulozeny na cipu (zde neznam nikoho, kdo by to v CR podporoval pro Linux), sifrovane SMS, ktere diky uplne nezavislosti druheho kanalu v kombinaci s jmenem heslem mohou poskytovat vyssi uroven zabezpeceni a poskytovat ochranu pred nekterymi beznymi typy utoku (keyloggery). Jako protivaha je zde cena a (a nekdy prakticnost) takoveho reseni, ktere jako zakaznik posleze zaplatim (za kalkulacku, cipovou kartu, posilane sifrovane SMS aj.). Narocnejsi (cti paranoidnejsi) uzivatele mohou byt nespokojeni s kombinaci jmena/hesla a podepisovani soukromym klicem, nicmene je to rozumne reseni za minimalni naklady (narozdil od drive bankami pouzivaneho zabezpeceni pouze heslem, nyni vetsinou nahrazene nezabezpecenou SMS zpravou)

Jsou veci, ktere by se z hlediska bezpecnosti daly vytknout. Podepisovaci aplikace si uzivatele stahuji pres internet pres neovereny a nezabezpeceny kanal, takze pokud si aplikace neoveruje svoji integritu sama a ani uzivatel nema moznost provest kontrolu, je zde riziko podvrzeni neautorizovane aplikace, ktera muze napr. odeslat vas privatni klic kamkoliv (pak je ovsem stale nutne ziskat prihlasovaci heslo k danemu uctu).

FIO se rozhodlo neimplentovat pro klienty celou PKI infrastrukturu, nevydavaji tedy klientum certifikaty, ale pouziva se zde podepsani zpravy soukromym klicem. Chybi zde tedy funkcnost expirace certifikatu (a dle mne pro tento ucel zbytecna) revokace. Je tedy na uvazeni a discipline uzivatele, zda si soukromy klic bude sam menit.

Novejsi verze aplikace generuje privatni klic chraneny AES-256 sifrou, ktera je bezpecnejsi nez drive pouzivana 3DES, zde by bylo vhodne si klic znovu zasifrovat pres AES:

     openssl rsa -in fiosign.key -out fiosign.aes.key -aes256     

Po otestovani funkcnosti soukromeho klice fiosign.aes.key bychom asi meli klic chraneny 3DES znicit.

Velice pozitivne lze hodnotit, ze na prihlasovaci strance internetbankingu se misto reklam na vlastni produkty objevuji pro mene zkusene uzivatele pravidla pro bezpecnou praci s Internetbankingem, zde maji ostatni financni instituce co dohanet, zvlaste ty, ktere se masivne snazi odehnat uzivatele z prepazek do viru internetu se svym internetovym bankovnictvim.

Dalsi ne zcela beznou, ale uzitecnou funkci internetbankingu je moznost zjisteni IP adresy pocitace, ktery se naposledy prihlasil na ucet. Jako pozitivni (z hlediska bezpecnosti) je tez vynucovani zmeny hesla v internetbankingu, vcetne zobrazovani maximalni delky platnosti.

Jistym faktorem nikoliv bezpecnosti, ale pravdepodobnosti utoku na klienty (zvlaste phisingovych), je krome urovne zabezpeceni i mnozstvi klientu, jejichz mensi mnozstvi je vyhodou oproti statisicovym poctum nekterych bank.

Cim autorizujete bankovni transakce?

Zobrazit výsledky

Nahrávání ... Nahrávání ...

Pouzivani internetoveho bankovnictvi FIO d.z. v Linuxu

fio, 15. 05. 2007, 15:37 v kategorii Ostatní,

Internetove bankovnictvi zalozny ma dve casti

- webove rozhrani pro prohlizeni, zadavani transakci, spravu uctu
- podepisovaci aplikaci pro penezni operace

Webove rozhrani dle stranek FIO podporuje prohlizece Mozilla 1.x, aplikace samozrejme funguje tez ve Firefoxu az na par drobnosti. Zde jsem nenasel zadne zavazne omezeni ve funkcnosti.

Druha, podepisovaci cast zajistuje, aby provadene penezni transakce byly opatrene elektronickym podpisem. To je zajisteno diky dodavane aplikaci, jez se skryva v dodavanem spustitelnem souboru pro windows WSIGNER.EXE. Zde jiz neexistuje zadny linuxovy ekvivalent a je nutne tuto aplikaci spoustet pod wine.

Podepisovaci aplikace pracuje s jednim konfiguracnim souborem, ktery je v textovem formatu a jeho defaultni umisteni je opet podrizeno windowsovemu schematu a schovava se v podadresarich "Documents and Settings", proto doporucuju spousteni s parametrem "-f /cesta/fiosign.cfg"

Konfigurace v souboru vypada nasledovne (viz manual na strance FIO)

     Server www.fio.cz:444
Login vase_login_name
CACert fioca.pem
Proxy proxy.server.cz:8080
NoProxy Yes
KeyFile fiosign.key
KeyExpire 300


V tomto konfiguracnim souboru tedy definujete cestu k vasemu privatnimu klici, certifikatu FIO, konfiguraci proxy serveru a jmeno serveru FIO (moznosti jsou dve - vyse uvedena a podpis.fio.cz:443 [opraveno - puvodne sf-wall.fio.cz:443] ). Nezapomnente, ze pokud budete uvadet v tomto konfiguracnim souboru cesty k souborum, je nutne je zadavate dle windows konvence a cest viditelnych ve wine. Program WSIGNER.EXE umoznuje praci i bez konfiguracniho souboru zadanim parametru primo z prikazove radky, napovedu vypisete pres (wine) WSIGNER.EXE -h. Toto neni asi oficialne podporovano a zminovano na strankach zalozny, nicmene je to tez funkcni postup.

Podepisovani pravdepodobne muze fungovat stejne jako ve Windows primo pri zadavani prikazu, nicmene jsem tuto cestu nezkousel, vyhovuje mi radkovy postup. Jakmile tento postup vyzkousim, pridam sem tuto informaci.

Podepisovaci aplikace ma jedno omezeni: neumoznuje pouzit autorizaci pro pripojeni k proxy serveru. Pro domaci pouziti je to jiste zanedbatelne, pokud pouzivate aplikaci ve firme, vas pristup do internetu bude vetsinou bez autorizace nemozny. I zde je v linuxu mozne reseni a jmenuje se ntlmaps. Jedna se o program, ktery umi na vasem lokalnim stroji na loopback interface spustit proxy, jez se sama dovede autorizovat na MS proxy serverech (ISA). Konfigurace ntlmaps je jednoducha, zmena pro podepisovaci aplikaci jeste jednodussi (zmenite Proxy na 127.0.0.1:5865) a ntlmaps funguje jak pro Linux tak zaroven i pro Windows, kde je v tomto bode situace stejna. Pokud se pripojujete ve firme pres jiny typ proxy serveru ve firme, pravdepodobne vam pomuze i lokalni squid s nakonfigurovanou parent proxy. I kdyz v pripade squidu se jedna o kanon na vrabce a zabere vam to vice casu na vyladeni konfigurace.

Pristi tema: bezpecnost

FIO druzstevni zaloznu

Zobrazit výsledky

Nahrávání ... Nahrávání ...

Jak zalozit ucet ve FIO d.z. z Linuxu

fio, 14. 05. 2007, 11:07 v kategorii Ostatní,

FIO druzstevni zalozna je nebankovni ustav, ktery do jiste miry konkuruje bankam. Nebudu zde rozepisovat proc si zde zalozit nebo nezalozit ucet, ale jak to provest z prostredi linuxove distribuce. Bohuzel podpora ze strany zalozny pro Linux byla zrusena, nicmene to neznamena, ze to je nemozne. Timto zpusobem jsem si zalozil ucet sam a postup by mel byt funkcni.

Co je potreba pro zprovozneni:
- nainstalovany balicek openssl
- nainstalovane a funkcni wine
- stazenou podepisovaci aplikaci pro windows

Na strankach FIO se doctete co a kde budete fyzicky podepisovat. My se budeme zabyvat pouze vygenerovanim klicu , kterym se podepisuji transakce a bez ktereho vam nebude ucet moc uzitecny. K tomu je treba dodat zalozne i fingerprint.

Nejdrive nainstalujeme podepisovaci aplikaci do wine, coz by se melo bez problemu povest. V cilovem adresari v Linuxu, ve kterem je nainstalovana aplikace jsou tri dulezite binarky (MFCKMAN.EXE, FGP.EXE a WSIGNER.EXE).

- vytvoreni privatniho klice
- vytvoreni verejneho klice
- vytvoreni fingerprintu

       openssl genrsa -out fiosign.key -passout "pass:$HESLO" -aes256 1024
openssl rsa -pubout -in fiosign.key -out fiosign.pub -passin "pass:$HESLO"
wine ./cesta_k_nainstalovanemu_sw/fgp.exe fiosign.pub fiosign.fgp


Heslo k certifikatu zvolte dostatecne silne a priradte si jej pred spustenim generovani klice do promenne HESLO. Pokud klic generujete na verejne masine nebo jste paranoidni, nezadavejte parametr -passout a -passin s naslednym parametrem hesla a k zadani hesla budete vyzvani po spusteni openssl.

Privatni klic bude ulozen v souboru fiosign.key (ten si schovejte na bezpecne misto), verejny v souboru fiosign.pub a fingerprint v souboru fiosign.fgp. Zalozne odevzdavate samozrejme pouze posledni dva jmenovane a doporucuji predtim verejny klic jeste zkonvertovat do DOSoveho formatu textoveho souboru. Toho docilite programy jako todos, flip, nebo pomoci nastaveni "set ff=dos" ve vim a znovulozenim, pripadne je mozno pouzit i perl:

       perl -i -pe 's/$/\r/' fiosign.pub


Obsah souboru fiosign.fgp si muzete vytisknout, pri zakladani uctu budete podepisovat protokol, kde je tento otisk zminovan (takze si jej muzete zkontrolovat).

Pote, co na pobocce podepisete vsechny potrebne dokumenty a donesete (na diskete, CD-R(W), flash) verejny klic a otisk je mozne zacit ihned pouzivat jejich webove rozhrani. O samotne podepisovaci aplikaci v dalsim clanku.

FIO druzstevni zaloznu

Zobrazit výsledky

Nahrávání ... Nahrávání ...