Problemă de securitate ING Homebank

Scris de Alex Balmuș

Pe scurt:
Anul trecut in octombrie am facut o sesizare telefonica la ING in legatura cu o problema de securitate la serviciul lor Homebank. Nu au raspuns si au inchis sesizarea.
Anul asta in iunie le-am facut sesizare scrisa, pe mail si au raspuns ca nu se poate rezolva, dupa o luna de zile. Eu sunt de parere ca nu sunt un client suficient de mare ca sa rezolve problema si trebuie pusi putin in miscare. Citeste te rog mai jos detaliile si vei daca merita publicat. Am si mailurile cu pricina daca e nevoie.

Detaliat:
Citez din ce le-am scris lor:

===
Problema se poate reproduce urmand pasii urmatori:
1. Utilizatorul A se autentifica in servicul Homebank utilizand codul utilizator personal si parola generata de DigiPassul A unic/personal
2. Utilizatorul A navigheaza la alta pagina web fara a efectua o “delogare” din sistem prin apasarea butonului Log Out
3. Utilizatorul B merge la pagina http://www.homebank.ro (in aceeasi fereastra de browser) unde apare formularul de autentificare in sistem
4. Utilizatorul B se autentifica in servicul Homebank utilizand codul utilizator personal si parola generata de DigiPassul B unic/personal
5. Sistemul afiseaza “contul” utilizatorului A si utilizatorul B are acces la toate subpaginile si functiile sistemului care nu necesita o semnataura generata cu DigiPass-ul. Informatiile accesibile includ conturile, sumele din ele si listele de tranzactii efectuate.
6. Pentru a intra in contul persoanl, utilizatorul B trebie sa efectueze o delogare si o reautentificare cu userul si parola sa.

Nota: Problema se reproduce cu urmatoarele browsere: Mozilla Firefox v12.x.x si v13.x.x, Google Chrome v19.0.1084.56, Internet Explorer 9.0.8112.16421. Ultimele versiuni ale browserelor, actualizate la zi.

Tinand cont de datele la care are acces “Utilizatorul B”, date care sunt confidentiale consider problema ca fiind foarte grava si va rog sa o rezolvati in cel mai scurt timp posibil.

Tinand cont de cele mentiunate mai sus si dupa ce veti analiza problema din punct de vedere tehnic va rog sa-mi raspundeti in scris la urmatoarea intrebare:
Poate o terta parte (cleint sau nu) sa acceseze contul personal Homebank al unui client al ING Bank, folosindu-se de problema de securitate descrisa mai sus, fara a avea acces direct la computerul de pe care clientul acceseaza serviciul ci doar acces la traficul dintre PC si server?
===

Au raspuns cu NU la intrebarea mea explicita.
Au zis ca nu se poate rezolva problema si ca oricum sesiunea expira in cateva minute.

Eu nu sunt un expert in chestiunea asta DAR nu este o problema la pasul 4-5?
In momentul cand Utilizatorul B introduce userul si parola sa nu ar trebui sa se modifica cooke-ul din browser si vechea sesiunea a utilizatorului A sa fie invalidata?

Sunt convins ca unii dintre cititorii tai care au experienta in domeniu pot sa clarifice mai bine situatia.

Multumesc,
Alex Balmus

54 comentarii

  1. #1

    Bre, las-o moarta! sa bage astia acum un super rahat de “Securitate” cum are BT, de nu o sa-ti mai arda sa-ti accesezi contul online in vecii-vecilor! Las-o asa!…

    Thumb up 0

    • DanCapitanDePlay » si daca face asa si pe aparatele alea ale lor din banca?

      Thumb up 0

    • BT e mult mai usor de accesat decat ING,

      Thumb up 0

    • Sistemul actual de la BT este foarte usor de folosit. De ce comentezi aiurea?

      Thumb up 0

    • #5

      @Arhi – da, se poate face la fel si pe masinile alea ale lor din banca. Doar daca iti uiti cardul acolo si in cateva minute vine altcineva. ;-)

      Thumb up 0

  2. #6

    partial on topic, tot o problema de “securitate” cu ING. mi-a expirat cardul.. am mers, l-am dat pe cel vechi, l-am luat pe cel nou, totul in regula. in decurs de 1 luna l-am folosit de cateva ori. apoi, in alt oras fiind (la cateva sute de km), supriza: cardul nu mai functioneaza. telefonand la ei, mi-au comunicat c-a fost suspendat pt. ca semnatura de primire nu semana cu semnatura mea. asta dupa o luna si dupa ce l-am folosit de cateva ori! ok am zis, deblocati-l, ca-l am in mana si nu mi-a fost furat. pai nu se poate.. trebe sa merg in orasul meu natal (la cateva sute de km), sa fac cerere pt. un nou card, si in decurs de 2 sapt. o sa-l am. nu mi-a venit sa cred :) si inca una frumoasa cu BRD: daca ai contul in LEI deschis in Baia Mare si esti in Cluj si vrei sa faci un OP in lei, nu poti, trebuie sa-ti mai deschizi un cont in LEI :)

    Thumb up 0

  3. #7

    Da dar digipas-ul genereaza un cod aleator utilizand un alt pin de 4 cifre pe care nu il stie, deci iti stie user-ul si iti fura digipas-ul dar nu poate sa genereze token-uri corecte din cauza ca nu stie pinul respectiv care nu trebuie sa corespunda cu pinul cardului.

    Treaba cu asterix e doar ca field-ul respectiv are type password probabil si de aici si ideea dar nah, stati unii de analizati fiecare rahat :))

    Thumb up 0

  4. Foarte logica problema si solutia. Mare dreptate ai.

    Thumb up 0

  5. Homebank mai are cateva mici scapari, dar nici un sistem nu este perfect.

    Astazi mama si-a facut cont de brd-net la BRD… pe cererea scrisa i s-a dat un user id, si apoi in emailul primit de la BRD a venit si o parola. Parola pe care o schimbi daca vrei, daca nu, nu. Si atat. Asta e securitatea, acelasi user id, si o singura parola. Parola care e doar din cifre, maxim de securitate, un alfabet de 10 caractere.

    Thumb up 0

    • #10

      Am si eu cont de brd-net si intr-adevar ai un user name si o parola generata de sistem, insa parola aia o introduci facand click pe cifrele parolei care sunt asezat aleator intr-un chenar 5*5 (adica 25 de casute pentru 10 cifre).
      De fiecare data pozitiile cifrelor din acel chenar sunt modificate.

      Thumb up 0

    • #11

      De acord, dar asta nu schimba faptul ca ti le poate vedea cineva si gata, asta a fost tot. Ca au pus chestia aia cu cifrele ajuta in robotilor, si atat. La ingpoti sa ai mama keyloggerului, ca e degeba.

      Thumb up 0

    • #12

      Da, dar nu poti face transfer de bani decat intre conturile tale si plata utilitati. Daca vrei in alte conturi trebuie sa faci cerere unde sa specifici conturile :)

      Thumb up 0

    • @tana tos: da, ai dreptate, chiar uitasem idiotenia legendara BRD.

      Thumb up 0

  6. In momentul in care te autentifici in aplicatie ar trebui ca sesiunile anterioare sa se invalideze. La ora asta nu-mi dau seama cum ar putea sa se intample ce e scris in articol dar in fine, am vazut si “programatori” isteti.
    Am sa incerc sa “replic” si eu problema…

    Thumb up 0

    • Mie mi se deloghează automat după 5-10 min pe calculatorul de acasă, trebuie să regenerez un cod de la digipass.
      Iar privind problema articolului, cum zicea și cineva mai sus, dacă ești la un calculator public este și vina ta că nu dai logout. Nu poți să te bazezi pe browser că vă șterge sesiunea, nici pe programatori că n-au uitat vreo verificare.

      Thumb up 1

  7. #16

    Ca sa fiti absolut sigur ca nu ramane nici un cookie, atunci cand aveti treburi importante de platit folosind formulare onlain, folositi un PRIVATE TAB! Sau Incognito Window in Chrome. Cookie-urile se sterg automat dupa, si nicio adresa sau parola nu raman stocate in history-ul browserului.

    Thumb up 0

  8. @Tudor, nu înțeleg de ce un utilizator care poate avea și 70 ani trebuie să învețe din cauza lor chestii de securitate. 80% din clienți fac pariu că habar nu au ce înseamnă navigare privată, ce conțin cookies sau să mai dacă și modificări în browser.
    Părerea mea e că așa cum explică banca modul de utilizare a contului, ar trebui să pună autodistroy la sesiune în 5 minute sau măcar (cum are unicredit italia) să distrugă la închiderea tab-ului!
    Problema semnalată în email este mică dacă privim din punctul de vedere sl unui client residential cu share computer. Dar în sistemul bancar sl tipelor de la ghișeu crezi că nu pot apărea probleme de gen?

    Nu detaliez. Cine cunoaște va ști cum să folosească vulnerabilitatea în favoarea sa, pe barba clientului.

    Thumb up 0

  9. Dincolo de problema evidentă, mai e o chestiune cît se poate de simplă: responsabilitatea ăluia care face tranzacţii. Pe româneşte:
    1. foloseşte-ţi propriul calculator, că de aia îl ai, sau dă logout din contul de pe calculatorul de la muncă (sau setează-l să ceară parolă cînd ridici clapa)
    2. dă logout!
    Am bîntuit ani de zile săli de net şi era primul lucru pe care-l făceam înainte să mă ridic de la calculator. Al doilea era să dau “Clear internet history” şi “Clear cookies.” Mai ţine şi de cum îţi foloseşti materia cenuşie…

    Thumb up 0

  10. #20

    @poli: Amice, esti pe langa subiect: Te chinui 10 minute sa descrii ce i-a fatat mintea unui prost informatician, iar apoi injuri ASE-ul. Ai o logica……

    Thumb up 0

    • @poli In general problema e ca in Banci NU lucreaza cei din ASE ci, politehnisti (stiu 7 cazuri) farmacisti (2) si altele asa ca nu injura oamenii fara motiv. Intreaba cand intr8i in banca cati au terminatul ASE-ul si o sa ai o maaaare surpriza..

      Thumb up 0

    • @Andreea: stii 7 cazuri? Tu ai idee cati angajati are o banca? Si ce procent ar insemna cele 7 cazuri?

      Thumb up 0

  11. De fapt poti introduce chestii alandala la USERNAME si CODE, daca sesiunea precedenta este inca activa, te va loga in ea automat, indiferent de cum ai completat formularul.

    E nasoala chestia, dar n-ar trebui sa va afecteze. E de bun simt sa te deloghezi de peste tot atunci cand ai folosit un terminal public sau sa folosesti Incognito mode :)

    Thumb up 0

  12. #24

    Schimba banca. Asa preventiv

    Thumb up 0

  13. am citit mailul care scrie asa: “sunt un prost* care nu stie sa se delogheze si m-am intalnit cu un sistem web care nu omoara sesiunea cand ma gandesc eu”.

    * sa intri pe IB de pe un calculator random si sa nu dai logout la iesire are acelasi grad de inteligenta cu scrisul pinului direct pe card.
    ** ca test e amuzant si dement (am mai vazut si eu testeri care fac ceea ce creierul meu nu s-a gandit vreodata) deci mai trolati banca:D

    Thumb up 0

    • Lol @ testers :)))

      Eu chiar vreau sa testez, mi se pare dubios sa nu invalidezi sesiunile atunci cand faci din nou login…

      Thumb up 0

  14. De ce sa nu dai logout cand termini sesiunea?

    Thumb up 0

  15. #28

    Decat sa stea sa-ti vada si userul si pinul si sa-ti fure si digipas-ul mai bine te bate zdravan si iti cere direct bani :))

    Legat de asterix-uri ai dreptate, puteau sa il mascheze si pe ala, nu murea nimeni…

    Thumb up 0

  16. Pasul 2 : Dacă A navighează pe alte pagini, déjà se fâsâie sesiunea.
    Pasul 4: pentru ca B-ul săşi introducă datele şi să apară totuşi contul lui A, ar trebui ca B-ul să-l dea destul de repede pe A deoparte de pe scaun.

    Puse una peste alta, e singura bancă de care sunt mulţumită şi mare parte se datoreză faptului că nu am contact cu personalul lor, iubesc chestia asta !
    Cât priveşte homebank, am setat browserele să dilească cookieuri şi history, e atâta lume care preferă să moară de curiozitate şi n-aş vrea să-i am pe conştiinţă !… :)

    Thumb up 0

  17. Fix de aceasi problema m-am lovit si eu.
    Scenariul a fost:
    – colegul X mi-a virat niste bani din contul de ING
    – imediat am deschis un tab pe acelasi calculator sa vad daca au intrat, tot in cont ING
    (evident dupa ce toate operatiunile erau efectuate amandoi aveam de gand sa dam logout, doh!!!)

    Numai ca:
    – in prima faza nu am putut sa vad daca au intrat banii pentru ca m-am logat in contul colegului
    – i-am vazut conturile :)
    In cazul asta particular nu a fost o tragedie, ne stim de ani de zile si faptul ca am vazut cat are in conturi n-a fost nici o problema.

    Si pentru desteptii care se apuca sa dea cu piatra aiurea tin sa punctez un lucru: software trebuie sa fie facut pentru prosti (mai ales un sistem de internet banking), punct.
    Mi se pare cel putin ciudat sa pornesti de la ipoteza ca user este super destept eventual si cu facultatea de automatica terminata si cumva zana maseluta o sa il vegheze sa nu deschida doua sesiuni de internet banking simultan. :))

    Numai bine.

    Thumb up 0

  18. #31

    Nu pot sa nu ma abtin … :-) cati `hackeri` pe-aici, si totusi toti au `servici`. Or fi numai white-hats … :-)

    Acum, legat de ING-homebank/*. Fiecare din sisteme are gaurile lui. Evident, nimic nu e infailbil. Ma indoiesc insa ca o institutie care nu are alt scop in viata decat sa iti jumule si ficatii nu are grija de obiectul muncii prin angajarea unui consultant in securitate. De asemeni, ma mai indoiesc ca aplicatiile bancare sunt facute de firma cumnatului sefului de la IT din banca respectiva intr-un apartament din Drumul Taberii. In general, sistemele astea vin de la banca-mama, sunt deja testate de altii mai breji ca voi/noi.

    Si acum, oricine stie ca challenge-ul programatorilor e sa faca aplicatii idiot-proof: daca omul e un pic capos (pun intended) si _nu_ vrea sa dea logout cand termina de folosit aplicatia bancara – ori n-are bani in cont, ori s-a nascut in secolul gresit. Tehnic vorbind, da e destul de greu sa rezolvi ‘problema’ omului si orice solutie s-ar alege ar fi mult prea scumpa si nu ar da rezultate decat intr-un numar restrans de cazuri.

    Thumb up 0

    • miticosul » solutia e simpla distrugere a cookieului la inchiderea browserului

      Thumb up 0

    • #33

      testul de care se vorbeste e de-a-mpulea:

      2. Utilizatorul A navigheaza la alta pagina web fara a efectua o “delogare” din sistem prin apasarea butonului Log Out

      Deci nu inchide browserul. Si chiar daca exista sansa teoretica sa prinzi in mod reliable evenimentul de “onpageleave” (sa-i zicem), ce ma opreste pe mine, utilizator responsabil si hacker in timpul liber sa-ti bag nu plugin in browser care sa-ti dizableze strict in momentul orgazmului suprem al inchiderii paginii (navigarii la alta pagina) javascriptul.

      my2c.

      Thumb up 0

    • ideea nu e sa faci ceva pe “onpageleave” sau vreun eveniment similar ci pe submit-ul de la login. acolo trebuie discardata vechea sesiune. trebuie verificat un id de sesiune in plus. problema nu e doar la programatori ci si la browsere care nu sunt deloc backwards-compatible. daca ai incerca cu un browser mai vechi nu s-ar reproduce smecheria respectiva.

      Thumb up 0

  19. #35

    Nu e nici o problema de securitate. Daca deschizi inca un tab INAINTE sa dai logout dincolo, sesiunea se pastreaza si aici. Si la Yahoo si peste tot e la fel. Incercati.

    Thumb up 0

    • Ba da-mi voie sa te contrazic.
      1. Conexiunea e https.
      2. Daca inchid tabul/fereastra fara log-out atunci tot ce a fost in fereastra respectiva trebuie sa nu mai fie “available”
      Faptul ca yahoo sau gmail sau orice alt site tin cookies din astea, asta e alta mincare peste.
      Vorbim de Internet Banking, chestii care trebuie sa fie sigure in primul rind.
      Ne place sau nu, prostia utilizatorului trebuie luata in considerare in primul rind.
      Faptul ca ING nu face nimic in privinta asta nu poate decit sa le puna o bila neagra imensa pe frunte.

      Thumb up 0

    • Chestia este ca de obicei, pe situri cu logare, daca esti in sectiunea respectiva si expira sesiunea, useru se asteapta sa se relogheze si sa faca ce facea unde a ramas indiferent ca e https sau nu. Asta e o chestie de “usability” si nu o problema. De aia exista expirarea sesiunii, ca saracu sistem nu stie daca useru o terminat sau doar face o pauza de 2 minute si continua. Acuma daca useru e berbec…
      Ceea ce descrie personajul din figura alaturata e un posibil bug in care la expirarea sesiunii, in momentul in care se introduce user si parola noua, se verifica doar daca e o autentificare valida si apoi se serveste url-ul referer de la care s-a facut requestul de auth, adica unde a ramas ultima data.
      Dar apoi intrebarea e daca ceea ce se serveste trece prin niste filtre de verificare a posesiunii datelor, adeca daca ce conturi si tralala are pacolo, is legate de userul ce tocmai s-a logat.
      Din ce zice omul, problema apare doar pe unele versiuni de browsere. Si aici pot sa zic din experienta proprie ca patesc destul de des, de ex Chrome pe FC17 are un cache incapatanat. Desi primeste date noi de la server, se incapataneaza sa afiseze tot ceea ce are el in cache pana nu stergi manual. Si asta se poate cupla si cu faptul ca toata treaba are loc pe aceeasi conexiune tcp. Si conexiunea tcp are timp de expirare by default cam mare.
      In cel mai rau caz a descoperit un bug in unele versiuni de browser si nu cred ca vine de la ing.

      Thumb up 0

    • #38

      Da-mi voie mie sa te contrazic, lucrez in domeniu. Atat timp cat e deschis browser-ul, sesiunea se pastreaza (tab sau ferestre). Deci daca deschizi 2 ferestre de IE si te autentifici intr-una dintre ele, vei fi autentificat si-n cealalta. La fel si 2 taburi (din aceeasi fereastra sau din ferestre diferite). Trebuie sa inchizi DE TOT (toate ferestrele) de la IE pentru ca sesiunea sa se piarda. Si nu mai faceti confuzie intre sesiune si cookies, sunt 2 lucruri total diferite. La cerere, va pot explica si despre astea.

      Thumb up 0

    • @tana tos am evitat mereu sa ma prind prea bine de mizeriile astea, dar ideea ramine valida. Orice aplicatie din asta trebuie sa puna pe primul loc si imbecilitatea userului. Sigur exista o varianta de control pentru a se putea afla daca userul a inchis tabul cu homebank sau nu.

      Thumb up 0

    • #40

      Sunt 100% sigur ca-n termeni si conditii scrie clar ca “trebuie sa dai LOGOUT” pentru a inchide sesiunea, nu sa inchizi sau sa deschizi taburi si alte minuni. Mai clar si pt. imbecili nu cred ca se poate :)

      Thumb up 0

  20. Daca cineva gaseste o rezolvare la problema descrisa, atunci eu propun sa desfiintam butonul de logout :-) Offtopic, sa stiti ca programatorii nu fac totul de capul lor, au si ei niste “specificatii” dupa care lucreaza. Daca unul de la marketing e batut in cap si zice ca vrea un buton roz, atunci roz o sa fie.

    Thumb up 0

  21. #42

    Eu nu am reusit sa reproduc problema.
    Am facut astfel:

    Testul 1:
    1. Conectare pe userul A.
    2. Navigare in acelasi tab la un alt site
    3. Revenire la homebank
    4. Conectare pe userul B -> se logheaza pe contul lui B

    Testul 2:
    1. Conectare pe userul A.
    2. Deschis un alt tab
    3. Inchis primul tab
    4. Revenire la homebank
    5. Conectare pe userul B -> se logheaza pe contul lui B

    Testul 3:
    1. Conectare pe userul A.
    2. Deschis un alt tab
    3.NU am inchis primul tab
    4. Revenire la homebank
    5. Conectare pe userul B -> se logheaza pe contul lui B
    6. Revenire in tabul cu contul lui A -> dat clik pe ceva -> fereastra face refresh pe contul lui B.

    Pe Chrome.

    Thumb up 1

  22. #43

    Rezolvarea ar trebui s-o faca programatorul si este urmatoarea: daca esti autentificat, accesul la formularul de autentificare sa fie interzis (un mesaj de eroare sau redirect catre pagina contului).

    Thumb up 0

  23. Eu nu am reusit sa reproduc eroarea. De fiecare data am intrat in contul care trebuie.

    Am testat in Firefox si Opera.

    PS: asta nu inseamna ca ING nu are scheleți în dulap
    – cookie-ul de Google Analytics nu are ce căuta în sesiunea mea de banking; eu am semnat contractul cu ING, nu cu Google
    – idem, cookie-ul de la fereastra aia de chat, care e pe alt domeniu decat homebank.ro

    Thumb up 0

  24. #45

    MI se pare mie sau serviciul se numeste HomeBank? Adica de acasa, sau macar dintr-o locatie cat de cat sigura.
    Daca tu vrei sa faci tranzacti din internet cafe-uri meriti sa iti fie furate pin-ul, puk-ul, ID-ul, muc-ul sau digipass-ul.

    Thumb up 0

  25. copii, copii,
    vorbim despre un risc asa de mic, incat pana si probabilitatea ca eu sa ma pish fix acum un heineken, inca inainte sa fi baut o terapia, este mai mare, decat riscul ca sistemul de securitate de la homebanking-ul lui ING sa va priveze de cei 6 lei si 3 bani pe care ii aveti in conturi… :-))

    Thumb up 0

    • Hahahaa 1 E un risc mic cind stii ca nu-ti poate lua mare lucru din cont. Dar daca in cont ai undeva la peste 10000 lei noi crede-ma, veriici de cinci ori pina si suma pe care o platesti cu cardul la magazin. Ca este loc in caz de vreun 0 in plus.
      Altfel si eu sint relaxat, dar stiu cum e sa am in cont ceva mai mult. Atunci ma interesa absolut tot. Plus verificari de doua ori pe zi.

      Thumb up 0

  26. hary, nu e vorba de dracia asta fix.
    dar daca au lasat o gaura atat de evidenta, ce altceva au mai trecut cu vederea ?

    Thumb up 0

    • user, nimic. nu este vorba de buticul de la colt.
      ing este o banca olandeza. punct.
      mai repede descoperi o planeta noua in sistemul solar, decat sa gasesti tu o bresa relevanta de securitate la ing.

      Thumb up 0

  27. Ce m-am speriat … dar m-am linistit … am verificat si tot 6 lei si 3 bani am in cont la ING :)
    P.S.
    Sunt multumit de homebank mai ales pentru ca nu trebuie sa mai vad nicio moaca de individa sculata cu fata la cearceaf.

    Thumb up 0

  28. Eu folosesc ING… cam de cand am eu card bancar. De vreo 6 ani si ceva. Nu am lucrat cu alta banca si de ei am fost multumita. Home bank am de 3 ani si la fel nu am avut niciun fel de prb.
    Ce m-a deranjat este ca atunci cand nu imi functiona homebank-ul pe chrome si am sesizat acest lucru m-a invitat sa folosesc politcos un broswer mai serios. Da, da…cu tot cu rima. Si exact astea au fost cuvintele. in rest numa` de bine.

    Thumb up 0

  29. salut,
    si eu am reclamat o problema la ING dar legata de “usability” la noua versiune de homebank, mi-au raspuns ca nu se poate ameliora nimic (le reclamasem ca interfata veche functiona si arata mult mai bine decat asta..) dar o sa “trimita” mai departe sesizarea..

    apropos: e doar digipass-ul meu mai special sau si voua vi s-a intamplat sa generati de multi ori acelasi cod..? :D

    Thumb up 0

    • #53

      Se întâmplă doar când introduci ID-ul tranzacției ca să-ți de cod din digipass. Mi se pare firesc să fie același cod, tot timpul. Codul de inițializare nu e niciodată același însă. Tu stai să scrii undeva cârnațul ăla de cifre, sau ai o memorie groaznic de bună?

      Thumb up 0