Malware bancar: detectare comportamentală și recuperare post-compromis
La acest nivel de expertiză, malware bancar detectare comportamentală recuperare nu mai înseamnă „pune-ți un antivirus și nu da OTP-ul nimănui”. Înseamnă să citești semnătura unui troian bancar activ direct din comportamentul anormal al tranzacțiilor, din procesele sistemului de operare și din traficul de rețea — și apoi să execuți un protocol de remediere post-compromisiune care minimizează pierderea în minute, nu în zile. Tu, cititorul acestei lecții, stăpânești deja securitatea bancară elementară și nivelul avansat de 2FA; aici intrăm în analiza la nivel de OS și de pachete TLS, acolo unde un troian de tip banker (familii ca QakBot, IcedID, SharkBot, Anatsa/TeaBot sau Coper pe Android) operează prin web-inject, overlay și ATS (Automated Transfer System).
Voi trata patru straturi pe care un manual obișnuit le ratează. Primul: detectarea unui troian după comportamentul anormal al tranzacțiilor și după semnele ascunse de infectare a cardului bancar, în sesiunea de internet banking. Al doilea: analiza traficului de rețea pentru malware financiar (DNS-uri C2, beaconing, TLS fingerprinting JA3). Al treilea: fluxul exact de malware post-compromisiune și remediere a fluxului de plată — de la izolare la recuperarea contului infectat cu malware în context românesc. Al patrulea: protocoalele de securitate post-infectare la nivel de sistem de plată, inclusiv SWIFT recall pentru transferurile transfrontaliere. Totul cu praguri reale RO 2026, cu cifre verificabile și cu pași cantitativi.
Premisa de lucru: în 2026 un banker modern nu mai fură parola — fură sesiunea autentificată. MFA-ul tău a fost deja trecut de tine, legitim, iar troianul fie modifică plata din spate (ATS), fie suprapune un overlay care îți fură codul de semnare în timp real. De aceea apărarea de expert este 60% detecție comportamentală și 40% protocol de recuperare cronometrat.
Modelul de amenințare: cum operează un banker în 2026
Un troian bancar serios nu rulează „un virus” monolitic. Este un lanț de etape, fiecare cu o semnătură detectabilă distinctă. Dacă înțelegi lanțul, știi exact unde să cauți:
- Loader / dropper. Sosește prin LNK, ISO, HTA, macro Office sau APK sideload (pe Android, prin „accessibility service” cerută agresiv). Persistă prin Run-key în registry, Scheduled Task sau, pe Android, prin abuzul serviciului de accesibilitate ca să se reinstaleze.
- Injecție în proces. Pe Windows, troianul se injectează în
explorer.exesau în procesul browserului (process hollowing, DLL side-loading) ca să trăiască sub un nume legitim. Aici apare prima anomalie: un proces „de încredere” care deschide conexiuni de rețea neobișnuite. - Web-inject / overlay. Când deschizi pagina băncii, malware-ul injectează cod HTML/JS suplimentar (web-inject) sau, pe mobil, desenează un overlay identic cu aplicația băncii peste cea reală. Tu introduci datele în fereastra falsă; ele pleacă la C2.
- ATS (Automated Transfer System). Etapa de elită: malware-ul nu mai cere date, ci rescrie în memorie IBAN-ul și suma exact în momentul în care tu apeși „semnează”. Tu vezi 200 lei către furnizorul X; banca primește 8.400 lei către un cont-mula. Aceasta este sursa principală de comportament anormal al tranzacțiilor pe care îl vei detecta mai jos.
Concluzia operațională: la nivel ATS, ochiul tău pe ecran este deja compromis. Singura sursă de adevăr rămâne notificarea independentă a băncii (push/SMS) și extrasul — adică un canal out-of-band față de dispozitivul infectat.
Detectarea comportamentală: semnătura unei sesiuni compromise
Detecția de expert nu caută „un fișier rău”, ci o deviație de la baseline. Construiește mental (sau în SIEM, dacă ai unul) un profil normal și marchează abaterile. Iată indicatorii comportamentali ranjați după valoarea lor diagnostică.
1. Anomalii la nivel de tranzacție (semnalul cu cea mai mare valoare)
- Desincronizare ecran vs. notificare. Apeși „plată 250 lei” dar push-ul băncii anunță altă sumă sau alt beneficiar. Aceasta este semnătura ATS pură — orice nepotrivire de un singur leu între ce vezi și ce confirmă banca = stop imediat.
- Pagină de „așteptați / verificare în curs” care îngheață sesiunea 30–120 secunde după login — fereastra în care operatorul uman din spate inițiază transferul folosind sesiunea ta vie.
- Solicitări de date care nu au sens contextual: internet banking-ul nu îți cere niciodată CVV-ul, PIN-ul de card sau „re-confirmarea” codului OTP de două ori. Un web-inject da.
- Beneficiari noi pre-completați în lista de plăți sau limite de transfer modificate fără acțiunea ta.
Modelează cantitativ: dacă definești un scor de risc tranzacție R = w1·Δsumă + w2·beneficiar_nou + w3·oră_atipică + w4·desincronizare_push, ponderea dominantă trebuie pusă pe desincronizarea push (w4 ≈ 0,6), pentru că este singurul indicator imposibil de falsificat din interiorul dispozitivului compromis. Ceilalți termeni sunt utili, dar coliniari cu comportamentul legitim.
2. Semne ascunse de infectare a cardului și a dispozitivului
- Micro-tranzacții de test de 0,1–4,9 lei către comercianți obscuri: atacatorul validează cardul furat înainte de lovitura mare. Pe extras apar ca autorizări mici, uneori stornate imediat.
- Permisiuni anormale pe Android: o aplicație are activat „accessibility service” și „display over other apps” fără motiv funcțional — semnătura clasică overlay+ATS pe mobil (Anatsa, SharkBot, Coper).
- Bateria și datele mobile consumate anormal în repaus — beaconing C2 constant.
- SMS-uri care „dispar” sau nu ajung: malware-ul interceptează și șterge OTP-ul înainte să-l vezi (SMS-stealer), exact tiparul descris în lecția despre acces direct la cont prin cod OTP.
3. Anomalii la nivel de sistem de operare
- Procese de încredere cu conexiuni de rețea atipice:
explorer.exesau un proces de browser care vorbește direct cu IP-uri externe pe porturi non-standard. Pe Windows:netstat -anobși corelarea PID→proces; pe Linux/macOS:lsof -i -Pșiss -tnp. - Persistență suspectă: chei Run noi (
HKCU\Software\Microsoft\Windows\CurrentVersion\Run), Scheduled Tasks fără semnătură, sau servicii recent create. Pe macOS: LaunchAgents/LaunchDaemons nesemnate. - Hijack DNS local: verifică fișierul
hostsși serverul DNS configurat — un banker poate redirecționa domeniul băncii către un proxy man-in-the-middle. - Certificat root injectat în magazinul de certificate (semnătura unui proxy TLS local care decriptează traficul de banking).
Analiza traficului de rețea pentru malware financiar
Aici se separă specialistul de utilizatorul avansat. Un banker activ trebuie să comunice cu infrastructura C2 (command-and-control), iar acea comunicare lasă o amprentă de rețea pe care o poți citi cu un mirror SPAN sau cu o captură pe gateway.
Indicatori de rețea (NIDS / hunting)
- Beaconing periodic. Calculează intervalul dintre conexiunile către același destinatar. Un beacon de malware are jitter mic și periodicitate regulată (de ex. la fiecare 60 s ± 5%). Un coeficient de variație al intervalelor sub ~0,15 pe zeci de conexiuni = puternic suspect, indiferent că traficul e criptat.
- DNS anomal: interogări către domenii cu entropie ridicată (DGA — Domain Generation Algorithm), TTL foarte mic, sau un volum de NXDOMAIN neobișnuit (malware-ul testează multe domenii generate algoritmic până găsește C2-ul viu).
- JA3/JA3S fingerprinting: chiar și pe TLS criptat, handshake-ul ClientHello produce un hash JA3 caracteristic stack-ului malware (nu al unui browser real). Un JA3 cunoscut ca malițios + destinație nouă = alertă chiar fără să decriptezi conținutul.
- SNI care nu corespunde: conexiune TLS către un IP a cărui reputație/ASN nu se potrivește cu SNI-ul pretins, sau certificat self-signed pe o conexiune care imită banca.
- Exfiltrare: rafale de upload mici și regulate (form-grabbing trimite credențiale pe măsură ce le tastezi) sau un POST mare către un endpoint necunoscut imediat după login-ul în banking.
Protocol minim de captură pentru un incident: oglindește portul gateway-ului, capturează cu tcpdump/Wireshark filtrând pe IP-ul stației suspecte, extrage lista de SNI-uri și de destinații IP, verifică-le în surse de threat-intel (reputație ASN, liste C2). Dacă identifici un beacon regulat către un IP fără reputație legitimă, ai confirmarea de rețea că dispozitivul este controlat la distanță — chiar dacă antivirusul tace.
Cum cuantifici beaconing-ul concret: extrage timestamp-urile conexiunilor către aceeași destinație, calculează diferențele consecutive Δt, apoi coeficientul de variație CV = σ(Δt) / μ(Δt). Traficul uman (navigare reală) are CV mare, peste 0,8–1,0, fiindcă e neregulat; un beacon automat are CV mic. Aplică și un test de entropie pe nume de domenii: un FQDN legitim are entropie Shannon moderată (~3,0–3,5 biți/caracter), în timp ce un domeniu DGA generat aleator urcă peste ~4,0 biți/caracter și se combină cu un volum anormal de NXDOMAIN. Coroborează cele două semnale — interval prea regulat ȘI entropie ridicată a destinației — și ai un detector cu rată de fals-pozitiv foarte mică, fără să decriptezi un singur pachet.
Protocolul de recuperare post-compromisiune (cronometrat)
Recuperarea unui cont infectat cu malware este o cursă contra timpului. Banii trec prin conturi-mula și sunt scoși/converti în crypto rapid; fiecare oră scade probabilitatea de recall. Execută în ordine, paralel unde poți.
T+0 → T+15 minute: izolare și înghețare
- Deconectează fizic dispozitivul compromis de la rețea (scoate cablul / oprește Wi-Fi). NU îl șterge și NU îl reseta încă — este probă și sursă de IoC. Pune-l în mod avion, nu îl închide brusc dacă vrei memorie volatilă pentru analiză.
- Sună banca pe linia oficială (de pe ALT dispozitiv) și cere blocarea cardului și a accesului la internet banking, plus recall/recuperarea fondurilor pentru transferul fraudulos. Notează ora exactă — devine reper legal.
- Activează limita de pierdere: conform reglementărilor europene de plăți (PSD2, transpus în România), pentru o plată neautorizată raportată prompt, răspunderea ta este în general limitată; pentru plăți frauduloase nerecunoscute, banca trebuie să ramburseze, cu excepția cazurilor de neglijență gravă sau fraudă din partea ta. Cadrul PSD2 plafonează expunerea utilizatorului pentru operațiuni neautorizate cu instrument pierdut/furat la maximum 50 EUR (echivalent în lei), iar răspunderea cade la zero dacă pierderea nu era detectabilă de tine înainte de plată sau dacă banca nu ți-a furnizat un mijloc de notificare. Atenție însă la pragul de „neglijență gravă”: aici banca poate refuza rambursarea, iar deznodământul depinde de cum demonstrezi că nu ți-ai compromis intenționat credențialele. Promptitudinea raportării este factorul care îți păstrează poziția.
T+15 min → T+2 ore: dovezi și escaladare
- Schimbă parolele de pe un dispozitiv curat (alt telefon/PC neinfectat), în ordinea: e-mail principal → internet banking → orice cont legat. Revocă sesiunile active și token-urile (sign out everywhere).
- Colectează probe: screenshot-uri ale tranzacțiilor neautorizate, ora exactă, extras, eventuala captură de rețea, lista de procese suspecte. Nu „cureți” încă mașina — păstrează lanțul de custodie.
- Depune sesizare la poliție / DIICOT pentru fraudă informatică (numărul de dosar îți întărește cererea de rambursare la bancă) și raportează la bancă în scris cererea de plată neautorizată.
Protocoale post-infectare la nivel de sistem de plată (SWIFT recall)
Pentru transferurile interne (instant payment în lei), șansa de stop scade dramatic în secunde-minute, fiindcă decontarea e aproape instantanee — de aceea contactul telefonic imediat cu banca este singura pârghie reală. Pentru transferurile transfrontaliere, intră în joc mecanismul SWIFT recall:
- Banca ta emite un mesaj de recall (anularea/returul ordinului) către banca beneficiarului. Returul nu este garantat — depinde dacă fondurile mai sunt în contul-mula și dacă banca beneficiară cooperează — dar fereastra de succes este maximă în primele ore.
- Pentru fraude clare există și mecanismul de recovery of funds coordonat între bănci. Furnizează imediat: referința tranzacției, suma, IBAN-ul beneficiar fraudulos, ora și numărul dosarului penal.
- Regula de aur cantitativă: probabilitatea de recuperare scade aproximativ exponențial cu timpul. Practic, raportarea în prima oră vs. a doua zi face diferența între „bani recuperați” și „bani pierduți”. Tratează fereastra de aur ca pe un parametru critic, nu ca pe o formalitate.
Remedierea tehnică: curățare vs. reconstrucție
După ce ai oprit hemoragia financiară, întrebarea de specialist nu este „cum curăț virusul”, ci „pot avea încredere în acest dispozitiv?”. Pentru un banker modern cu rootkit/bootkit, răspunsul onest este nu:
- Nu te baza pe „dezinfectare” cu antivirus pentru un sistem care a procesat bani. Standardul de specialist este wipe + reinstalare de la zero dintr-o sursă curată (reinstalare OS din media verificată, nu „restaurare” care poate readuce persistența).
- Tratează backup-urile cu suspiciune: dacă restaurezi un backup făcut după infectare, readuci malware-ul. Folosește un punct de restaurare anterior compromiterii sau reconstruiește datele selectiv (doar fișiere de date, nu executabile).
- Verifică certificatele și fișierul hosts înainte de a declara mașina curată; elimină orice certificat root injectat și orice intrare hosts care rutează domenii bancare.
- Pe Android: revocă „accessibility” și „display over apps” pentru tot ce e suspect, dezinstalează APK-urile sideload, iar la dubiu fă factory reset și reinstalează DOAR din magazinul oficial.
- Rotește credențialele a doua oară de pe dispozitivul reconstruit, presupunând că prima rotație s-a făcut posibil cu un keylogger încă activ pe alt canal.
Hardening pentru următoarea rundă
Un specialist nu se mulțumește să supraviețuiască incidentului; își reduce suprafața de atac astfel încât un viitor banker să nu mai poată semna în numele tău:
- Dispozitiv dedicat de banking, fără e-mail, fără navigare, fără sideload — separarea fizică elimină vectorul principal de livrare.
- MFA rezistent la phishing (FIDO2/passkey) în locul SMS-OTP, care e furabil de un SMS-stealer.
- Notificări push pe TOATE tranzacțiile și limite zilnice joase setate la bancă — astfel ATS-ul lovește un plafon mic, iar desincronizarea ecran-vs-push devine detectabilă instant.
- EDR și DNS filtrant (DNS securizat care blochează domenii C2 cunoscute) acolo unde gestionezi sume mari.
- Confirmare out-of-band a IBAN-ului pentru orice plată mare — telefon pe numărul cunoscut, nu pe cel din e-mail.
Checklist operațional de specialist
- Detecție: orice nepotrivire între suma/beneficiarul de pe ecran și push-ul băncii = oprește semnarea, ești în ATS.
- Sistem: verifică procese de încredere cu conexiuni externe atipice, persistență nouă, hosts și certificate root injectate.
- Rețea: caută beaconing regulat (CV interval < 0,15), DNS cu entropie mare/NXDOMAIN în rafală, JA3 malițios, SNI nepotrivit.
- T+0–15 min: deconectează fizic (nu șterge), sună banca pe linia oficială de pe alt dispozitiv, cere blocare + recall, notează ora.
- T+15 min–2 h: rotește parolele de pe dispozitiv curat, revocă sesiunile, colectează probe, depune sesizare penală.
- Transfrontalier: declanșează SWIFT recall imediat — fereastra de aur e prima oră.
- Remediere: wipe + reinstalare de la zero; nu restaura backup post-infectare; rotește credențialele a doua oară de pe mașina curată.
- Hardening: dispozitiv dedicat, FIDO2/passkey, push pe toate tranzacțiile, limite joase, confirmare IBAN out-of-band.