In acest ultim articol din miniseria dedicata atacurilor de securitate discutam despre:
- spyware
- SQL injection
- trojan horse
- XSS (cross-site scripting)
- atacuri de tip zero-day
Spyware – suna putin a la James Bond, nu? 😊 Spyware-ul este un tip de malware care infecteaza un calculator sau un smartphone si care colecteaza informatii despre utilizator, incluzand ce site-uri viziteaza acesta, ce fisiere download-eaza, cu ce credentiale se conecteaza in conturile sale, ce informatii de card ofera la platile online, chiar si email-urile primite si trimise. Spyware-ul poate ajunge pe un sistem atunci cand se instaleaza programe de genul freeware care pot ascunde cod malitios (un fel de trojan horse). Printre cele mai populare tipuri de spyware se numara si keylogger-ele care inregistreaza fiecare apasare de tasta, si pot face chiar capturi de ecran sau pot inregistra feed-urile audio/video de la perifericele conectate la sistem. Un spyware care a facut ravagii in toata lumea este Emotet. Emotet este un troian bancar special construit pentru a fura informatii bancare din tranzactiile online. Toata aceasta monitorizare secreta a sistemului victima se face in background fara ca utilizatorul sa suspecteze ceva neobisnuit. Cea mai buna masura de protectie este ca utilizatorul sa instaleze programe doar din surse cunoscute, oficiale si sa fie vigilent la emailurile primite. Daca sistemul a fost deja infectat cu spyware, se recomanda o scanare a acestui cu un software de antivirus, eliminarea spyware-ului si schimbarea tuturor parolelor de acces la conturi si aplicatii. Daca au fost facute plati online, atunci trebuie contactata banca si inghetate conturile active, plus schimbarea cardurilor folosite la plati. Aceste lucruri pot parea anevoioasa, insa “better safe, than sorry”.
SQL injection – foarte multe companii mari (Yahoo, LinkedIn, Sony, Equifax) au cazut victime atacurilor de tip SQL injection. Un astfel de atac se foloseste de vulnerabilitatile software din aplicatiile web pentru a extrage, a modifica sau a sterge informatii din bazele de date asociate cu aceste aplicatii sau pentru a obtine privilegii de administrator pe sistemele afectate de acele vulnerabilitati. Un atac de tip SQL injection este unul dintre cele mai usoare tipuri de atac care pot fi executate asupra unui site web, existand chiar si un serviciu (Google Dorking) care ajuta hackerii sa gaseasca site-uri vulnerabile si sa execute atacul in mod automat. Hackerii pot folosi interogari SQL modificate in campurile de search sau de login astfel incat sa extraga din bazele de date informatiile dorite ca numere de card, parole, CNP-uri si alte date confidentiale. Cele mai bune metode de protectie in fata unui atac SQL injection sunt sanitizarea codului sursa pentru eliminarea vulnerabilitatilor de cod si validarea inputului primit de la utilizator. Updatarea software-ului pentru bazele de date elimina bug-uri care pot fi exploatate de atacatori. Pentru a evita escaladarea privilegiilor de catre hacker, trebuie implementat principiul de “least privilege”. Un cont care are nevoie doar sa citesca date dintr-o baza de date, nu are de ce sa aiba si privilegii de scriere sau de modificare a datelor.
Trojan horse – numele acestui tip de malware este preluat din mitologia greaca si razboiul troian. Un troian este un program software care pare deghizat sa para un program legitim, dar care in realitate are ca scop un obiectiv malitios. Multi dintre noi asociem un troian cu un virus sau cu un worm, dar mai degraba un troian este o strategie folosita de atacatori pentru livrarea si distribuirea malware-ului. In functie de scopul atacatorului, troianul poate sa livreze un malware in sine, cum ar fi un ransomware sau un spyware sau un malware zombie, poate sa instaleze un backdoor pe sistem, sau poate initia download-ul unui malware de pe un server din Internet. Un troian poate infecta un sistem la instalarea programelor “crack-uite” sau din surse necunoscute, prin deschiderea atasamentelor corupte sau la vizitarea unor site-uri web dubioase. Scanarea periodica a sistemului cu un software de antivirus este o masura de protectie, ca si evitarea site-urilor dubioase si deschiderea mailurilor suspecte. Mentinerea la zi a sistemului de operare si a aplicatiilor reprezinta un alt nivel de protectie care se recomanda a fi impementat.
XSS (cross-site scripting) – in acest tip de atac, hackerul reuseste sa transmita un script malitios (cel mai adesea JavaScript) catre browser-ul web al user-ului atunci cand acesta da click pe un continut (link, buton, video, imagine) dintr-un site, de altfel curat si de incredere. Intrucat scriptul vine de pe serverul compromis, browser-ul web nu are de unde sa stie ca acel script nu este de incredere si nu trebuie executat. Scriptul poate accesa cookie-uri, token-uri de sesiune si alte informatii salvare de browser si folosite la accesarea acelui site. Hackerul poate impersona utilizatorul legitim si poate modifica interactiunea acestui cu serverul web. De exemplu, atacatorul poate modifica o plata pe care user-ul o face catre o alta persoana, inlocuind numele acelei persoane cu al sau chiar schimband suma de bani transferata. Hacker-ul reuseste sa “injecteze” scriptul malitios folosindu-se de greseli de implementare din partea programatorilor web. Cea mai buna forma de protectie este verificarea inputului care vine din partea utilizatorului, pentru ca acesta sa nu contina ceva malitios.
Atac de tip zero-day – intr-un astfel de atac, hackerii se folosesc vulnerabilitati de software sau hardware despre care producatorii sau developerii de-abia au aflat ca exista si pentru care au zero zile sa le rezolve 😊 De multe ori, atacatorii exploateaza in mod activ aceste vulnerabilitati cu succes intrucat nu exista vreun patch care sa rezolve problema. Poate dura cateva saptamani sau chiar luni pana cand developerii sa identifice vulnerabilitatea si sa o adreseze, timp in care hackerii pot lansa atacul imediat sau pot astepta pana cand este cel mai avantajos pentru ei. Cele mai vulnerabile sisteme sunt browser-ele web, firmware-ul unui dispozitiv, echipamentele IoT, sistemele de operare (desktop, server, mobile). Cea mai buna protectie este oferita de o solutie de tipul endpoint protection care urmareste comportamentul sistemului pentru activitate neobisnuita. Detectarea traditionala pe baza unor semnaturi nu este eficienta, intrucat noul malware nu a fost analizat de specialist, este nou si necunoscut. Mentinerea la zi a software-ului si a sistemului de operare prin aplicarea patch-urilor de securitate ofera protectie dupa ce vulnerabilitatile 0-day au fost adresate. Folosirea unui NGFW care sa permite conexiuni doar catre serviciile folosite de organizatie joaca un rol esential protejarea retelei de un atac zero-day.
Mihai Dumitrascu, Sr Systems Engineer