Evaluarea uzabilității și securității extraselor de cont prin email
Într-un articol precedent am comparat două interfețe de online banking din Moldova. Acea oferită de Fincombank era net superioară interfeței Agroindbank, pentru scenariul achitării facturilor.
De data aceasta voi evalua aspectele de uzabilitate și securitate a mesajelor de tip ”extras de cont” care vin regulat pe email, de la Fincombank (FCB) și Victoriabank (VB). Scenariul evaluat este găsirea răspunsului la 2 întrebări: „câți bani am în cont?” și „ce tranzacții am efectuat luna aceasta?”.
Înainte de a porni la drum, trebuie să clarific un detaliu - un email poate fi interceptat în timpul transmiterii de la un server la altul. Există diverse nuanțe tehnice care trebuie luate în considerație, dar pentru a simplifica lucrurile: ceea ce expediezi sau primești prin email nu este confidențial.
Așadar, să purcedem la lectură!
Fincombank
Așa arată mesajele de la FCB (screenshot, ca să vezi în culori).
Buna ziua, stimate Client!
La acest e-mail veti gasi atasat extrasul cardului Dvs.
Pentru a deschide fisierul dat, Va rugam sa utilizati ultimele 4 (patru) cifre a codului fiscal din buletinul Dvs. de identitate.
La fel, pentru a deschide acest fisier aveti nevoie de un program de dezarhivare. Daca nu aveti acest program instalat pe calculatorul Dvs., il puteti descarca gratuit de pe adresa http://www.7-zip.org sau http://www.7zip-ro.com/ro/ .Va multumim de interesul manifestat pentru produsele FinComBank S.A. si Va rugam sa adaugati adresa de e-mail in lista Dvs de contacte pentru a fi sigur ca scrisorile nu vor fi percepute ca spam.
Acest mesaj este transmis automat. Va rugam sa nu raspundeti la acest mesaj.
- FinComBank S.A. nu poarta raspundere pentru instalarea/utilizarea de catre Client a produselor soft pentru arhivarea/dezarhivarea fisierelor trimise. Responsabilitatea pentru alegerea si utilizarea unui anumit instrument apartine utilizatorului final.
Cu stima,
FinComBank S.A.
Добрый день, уважаемый Клиент!
В приложении к этому письму Вы найдете выписку по Вашей карте.
Чтобы открыть файл, используйте, пожалуйста, последние четыре (4) цифры идентификационного кода Вашего удостоверения личности.
Также для открытия этого файла вам необходима программа для разархивирования. Если, на вашем компьютере не установлена эта программа, вы можете скачать ее бесплатно по адресу http://www.7-zip.org или http://www.7zip-ro.com/ro/ .Благодарим за интерес, проявленный к продуктам FinComBank S.A. и просим Вас добавить наш e-mail адрес в список контактов, чтобы быть уверенным, что письма не рассматриваются как спам.
Это сообщение передается автоматически. Пожалуйста, не отвечайте на него.
- FinComBank S.A. не несет ответственности за установку/использования клиентами продуктов для программного обеспечения для архивирования/разархивирования отправленных файлов. Ответственность за выбор и использование конкретного инструмента принадлежит конечному пользователю.
С уважением,
FinComBank S.A.
Ce nu e bine aici?
Securitatea
Mesajul ne îndeamnă să vizităm un careva web-site și să instalăm o aplicație pentru a putea deschide fișierul atașat. Sunt câteva probleme:
- Utilizatorul se expune unui risc sporit. Actualmente, adresa 7zip-ro.com nu este validă. Asta înseamnă că un răufăcător ar putea chiar acum să înregistreze acest domain, să lanseze pe el un site care arată exact ca 7-zip.org, și să distribuie un program malițios, care pe lângă 7-zip mai instalează și un backdoor care va expedia undeva toate parolele, adresele vizitate, documente din calculator, etc. Utilizatorul va face ceea ce face întotdeauna: download, next, I agree, next, next, continue, finish. O variație a unui atac nu necesită cumpărarea domainului; cineva care administrează o rețea ar putea redirecționa apelurile către 7-zip.org spre un site interpus.
- Banca include și o remarcă de ”spălare a mâinilor” - noi nu purtăm răspundere, bla bla bla. Practica arată că responsabilitatea trebuie plasată pe entitatea cel mai bine-pregătită s-o poarte. În caz contrar ajungem la decizii sub-optimale, iraționale sau chiar periculoase. Acest principiu fundamental a fost încălcat. Chiar e rezonabil să așteptăm de la un fermier care a mers pe site-ul 7zip, să știe diferența dintre 32-bit exe, 64-bit exe, MSI și așa mai departe?
- Mai trist e faptul că îndrumarea nici nu este necesară. Orice sistem de operare modern poate deschide un fișier ZIP fără careva aplicații terțe (Windows poate s-o facă din cel puțin anul 2000). Totul putea fi evitat.
Cifrele magice
Care a fost intenția folosirii arhivei cu parolă? Să protejeze datele? Să ascundă starea contului meu de ochii vicleni a ciberhoților?
Iată codul unui program care găsește parola în două secunde, încercând pe rând variantele de la 0000 la 9999. Nu în zadar în popor există expresia ”zece linii în cruce, parola se duce” :-)
from zipfile import PyZipFile
z = PyZipFile('extras.zip')
for i in range(0, 10000):
try:
z.extractall(pwd=b'%04d' % i)
except:
pass
else:
print('Password = %04d' % i)
break
Cu alte cuvinte, această măsură de securitate nu reprezintă un obstacol în calea criminalilor, dar e un obstacol în fața utilizatorilor. Aceștia trebuie să treacă prin niște pași adiționali ca să vadă starea contului lor, sunt împinși spre riscuri nenecesare, în timp ce banca ”nu poartă răspundere”.
Diacritice
Acest mesaj ar fi mai plăcut dacă era scris cu diacritice. În secolul nostru, chiar și un Tamagochi sau un ”999-in-1 brick game” poate afișa text Unicode, cu diacritice, umlauturi, accente exotice și emoji. E una când un adolescent scrie comentarii pe Youtube fără diacritice, dar e alta când o instituție serioasă face același lucru. Sunt curios să aflu, dacă româna din aceste mesaje e fără diacritice deoarece cuiva pur și simplu nu-i pasă de limbă, sau e din cauza îngrijorării că mesajul nu va fi afișat corect la unii clienți.
Bonus: cum sună româna fără diacritice.
Personalizare
Un mesaj adresat cuiva ar putea începe cu numele persoanei: ”Dragă Tractorin Prițăpovici, ...”. O astfel de personalizare îl face mai credibil și îl evidențiază pe fonul spamului, care deseori nu e suficient de sofisticat ca să știe numele persoanei, căreia i se adresează.
”Client” sau ”Vă” scris cu majusculă e o încercare de a exprima respect, dar aceasta nu se compară cu cele mai dulci cuvinte din lume: $firstName $lastName
.
Aspectul lingvistic
O copie a textului vine și în limba rusă. Sunt clientul acestei bănci de peste zece ani și în această perioadă au fost multe ocazii să mă întrebe în ce limbă vreau să-mi vină mesajele, iar apoi să mi le expedieze anume în acea limbă. Textul lung distrage atenția cititorului și reduce probabilitatea că va fi citit în integritate. Și așa suntem bombardați cu zeci de mesaje și alerte pe zi, la ce ne mai trebuie o sarcină cognitivă adițională?
Căutare
Serviciile de email oferă opțiunea de a căuta mesaje după cuvinte-cheie. Problema este că datele despre tranzacții nu se află în textul mesajelor electronice, ci în fișierele atașate, care sunt arhivate și criptate. Deci, informația din ele nu este indexată și nu poate fi găsită, decât printr-un efort manual.
Rezumat Fincombank
- Textul în sine nu conține informații confidențiale.
- Textul nu este personalizat, ceea ce simplifică sarcina unui răufăcător care ar vrea să impersoneze banca în mesaje de phishing. Interesant e că fișierul atașat e unic și e asociat cu contul meu, ceea ce înseamnă sistemul care trimite mesajele le poate personaliza.
- Răspunsul la cele două întrebări despre starea contului se ascunde după un număr mare de pași adiționali.
- Mesajele nu sunt ”căutabile”.
- Pe alocuri securitatea utilizatorilor este pusă în pericol.
- Un inamic care a interceptat mesajul va găsi fără probleme parola, deci măsurile de securitate sunt aproape irelevante.
- Culmea este că după ce treci prin această aventură, te ciocnești cu ultima problemă - care sunt ultimele 4 cifre din IDNP? Tu le ții minte? (eu - da).
Victoriabank
Mesajele de la Victoriabank arată astfel:
- Răspunsul la cele două întrebări despre starea contului se află chiar în mesaj, așadar utilitatea acestuia nu poate fi pusă la îndoială.
- Textul e personalizat, acolo văd numele meu, e un semn bun.
- Datele despre tranzacții sunt chiar în mesaj, deci acestea sunt ”căutabile”.
- Mesajul începe cu o ofertă specială, exact cum 99% din spam - credit rapid, bani gratuiți, investește CHIAR ACUM, etc. Cineva care vede mesajul pe ecranul unui telefon mic, va citi aceste paragrafe și își va spune ”OOo! ofertă unică! Hai să le dau ultimele 12 cifre din numărul cardului și primele 4 cifre din PIN, ura!!1”.
- Deși mesajul e în română, oferta specială din antet vine și în varianta rusă. Probabil programul care generează prima parte a mesajului ține cont de preferințele utilizatorului, iar programul care generează prima parte - nu. Probabil programele au fost scrise de persoane diferite.
- În schimb, prima parte a mesajului e cu diacritice, iar a doua - nu. Probabil textul care a fost transmis programatorilor, a venit din surse diferite (una din aceste surse posibil că a învățat în aceeași clasă cu persoana care scrie textele pentru FCB).
- La capitolul securitate, mesajul se termină cu proclamația precum că textul este confidențial și cu rugămintea nostimă de a-l transmite înapoi expeditorului, dacă a ajuns la noi din greșeală. Acest text vine în română (cu diacritice) și în engleză (fără diacritice, din păcate [e.g., "întruchipătion of evil"]).
În general, VB a echilibrat utilitatea și securitatea. Deși textul conține numărul contului și alte detalii, putem presupune că acele entități care sunt capabile să intercepteze mesajele de acest gen, cunosc deja unde am conturi, cine-mi sunt inamicii pe Facebook și cine m-a învățat să scriu cu diacritice. Mai mult decât atât, aceste mesaje sunt indexate și se supun căutării. Adică, dacă caut o tranzacție de 548 EUR de 3 ani vechime, în aplicația mea de email scriu ”548” și voi găsi mesajul. În cazul FCB - nu.
Ce fac alte bănci?
- Nu transmit astfel de mesaje, dar în schimb oferă o aplicație pe smartphone care îți permite să accesezi rapid contul.
- Transmit mesaje în care se spune ”Dragă Tractorin Prițăpovici, apasă aici ca să vezi extrasul” și te duc la ei pe site sau te îndeamnă să instalezi aplicația lor pe telefon.
În ultimul exemplu, nu se transmite informație despre bilanț și tranzacții, ceea ce înseamnă că entitățile care pot intercepta mesajele nu știu despre conturile și sumele de bani de care dispun clienții.
Concluzii și sfaturi bătrânești
- În ambele cazuri, mesajele pot fi scurtate, pentru a îmbunătăți raportul semnal/zgomot.
- În mesaje sunt inconsistențe lingvistice, care pot fi rectificate ușor.
- Băncile ar putea oferi utilizatorilor opțiunea de a alege ce fel de emailuri vor să primească: informative, utile și ”căutabile”, dar care divulgă anumite date despre tranzacțiile lor; sau uber-securizate, care nu divulgă nimic, dar necesită mai mult efort pentru a fi deschise.
- FCB ar putea oferi gratis acces la serviciul de online banking Fincompay, pentru a rezolva problema mesajelor cu utilitate redusă. Actualmente FCB cere 7 lei/lună pentru acest serviciu, în timp ce alte bănci (e.g., N26, ING Diba, Comdirect, DKB, etc.) oferă conturi gratuite, fără taxe lunare, care sunt 100% accesibile online (chiar și contul îl poți deschide fără de a-ți ridica fundul de pe canapea).
- Băncile ar trebui să țină cont de uzabilitate, deoarece aceasta deseori se intersectează cu securitatea. Dacă nu ești atent (cum în exemplul domainului expirat), asta poate avea implicații dezastruoase pentru clientelă.
- Personalizarea lingvistică se poate rezolva în felul următor - data viitoare când trimiți clienților un email, include linkuri unice cu textul ”[Vreau corespondența să fie în limba română] [Пишите по-русски] și [I want all future correspondence to be in English]”.