Home » Banking » Securitatea Aplicatiilor Mobile (IV): BCR 24 banking
formats

Securitatea Aplicatiilor Mobile (IV): BCR 24 banking

Dacă tot am dat drumul la analiza aplicațiilor bancare, am decis să continui cu aplicația unei bănci care mie mi-a provocat multe neplăceri. Dar să lăsăm asta la o parte și să începem analiza.

Încă de la început pot spune că prea multe nu sunt de analizat – și veți vedea de ce. Cred că cel mai mare noroc al lor e că fac parte din grupul Erste.

O luăm mai întâi pe partea de conexiune cu banca, via web. Orice încercare fie de autentificare sau de a vedea pur și simplu locațiile băncilor din apropiere (iar pentru asta nu trebuie sa fiu logat) s-a lăsat cu un mesaj de eroare de comunicare. Snifferul nu a prins absolut niciun trafic.

Inițial am zis că aplicația chiar nu funcționează, așa că am trecut la analiza codului aplicației.  Mi-am dat imediat seama de ce aplicația refuza orice trafic extern:

Aplicația verifică dacă certificatul folosit de serviciul web al 24banking este semnat de Verisign și aparține BCR. Pentru a înțelege mai bine cum stau lucrurile, pentru a putea intercepta traficul HTTPS eu folosesc fie un certificat semnat personal, deci nu de o autoritate competentă precum Verisign, ce conțtine datele de identificare al hostului (în cazul acesta 24banking.ro) fie un certificat semnat de o autoritate competentă ce însă nu mai este pentru același host. Ei bine, aplicația, făcând aceste verificări, nu mai permite conexiunea deci își dă seama dacă traficul este capturat și decriptat de către altcineva.

Tot pe partea de cod am observat că întrega comunicație se face în mod securizat și nu se permit altfel de conexiuni.

Am zis că vreo scăpare tot trebuie să aibă așa că nu am mai folosit propriul certificat ci am folosit un tool care acționează ca un proxy și forțează comunicarea prin HTTP din partea clientului (aici al aplicației) iar mai departe transmite prin HTTPS la destinație. Dar pentru a funcționa este nevoie de cel puțin un redirect din HTTP către HTTPS din partea aplicației. Gândiți-vă ca scrieți în browser http://www.bancamea.ro iar banca transmite browser-ului că această comunicație ar trebui să fie criptată, astfel încât veți fi redirecționat către https://www.bancamea.ro. Ori, în cazul acestei aplicații totul se face din start pe HTTPS din start deci nu ai ce captura. Ca o paranteză, acesta este unul din motivele pentru care mereu tastez manual https când e vorba să accesez conturile bancare, contul de email, Paypal și altele. Așadar nici aici nu am găsit o problemă.

Ce a mai rămas de analizat sunt datele stocate local, pe dispozitiv, de către aplicație. Ideea era următoarea: mă conectez cu un cont valid, nu fac deloc sniffing și las contul conectat să vedem dacă sunt automat deconectat și ce date mai rămân după.

După conectare și aproximativ 5 minute aplicația mă anunța că am fost deconectat pentru a-mi fi protejate datele. Lucrurile sunt din ce în ce mai bune. Pot spune că am întâlnit aplicații care nu făceau acest lucru. Imediat am copiat datele stocate în cache de către aplicație și…

NIMIC! Toate informațiile au fost șterse în momentul de-autentificării. De ce e foarte important acest aspect? După cum observați, avem mai multe câmpuri iar unul dintre ele este „expires”. Acum gândiți-vă că v-ați conectat prin aplicația mobilă a băncii, nu ați dat log-off (sau ați dat, e mai puțin important) iar după câteva minute v-ați pierdut dispozitivul mobil. Puteți bloca într-adevăr SIM-ul, cardul, dar nu puteți bloca și datele aflate pe smartphone de exemplu. În cache-ul telefonului se află informațiile despre o sesiune de-a dumneavoastră cu banca. Atunci când o persoană rău-voitoare va încerca să deschidă aplicația bancară, i se va cere să se conecteze întrucât sesiunea precedentă e expirată. Asta doar dacă nu cumva modificăm valoarea expired a acelei înregistrări și o setăm la o data ulterioară. Astfel, la următoarea deschidere a aplicației acea persoană va fi conectată automat la contul dumneavoastră, fără a i se cere user, parolă – chiar dacă acea parolă e generată de un token ce se află încă în posesia dumneavoastră. Degeaba ați blocat cardul, tranzacțiile din contul de online banking tot funcționează. Cred că nu mai e necesar să spun că am gasit aplicații bancare ce nu șterg datele din cache și că exemplul dat anterior nu e SF, ci chiar funcționează :)

Concluzia: felicitări BCR! Este cea mai sigură aplicație bancară dintre cele testate.

PS: Din motive evidente nu voi da numele aplicațiilor bancare care au probleme exterm de mari cu securizarea datelor așa cum aminteam anterior.

 
Tags: , ,

3 Responses

  1. Precupescu

    Pentru episoade viitoare, sugerez si eu alte banci care dispun de aplicatii mobile:
    – ING (iOS si Android)
    – Citi (iOS si Android)
    – Millenium (cel putin iOS, posibil si Android).

  2. bogo

    poti baga si raiffeisen-ul si transilvania… 😀 (Android)

Dă-i un răspuns lui bogo Anulează răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

Poți folosi aceste etichete și atribute HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

© m-sec.net
credit