Care-i treaba cu atacurile cibernetice "sofisticate" în realitate

Care-i treaba cu atacurile cibernetice “sofisticate” în realitate

După ce, zilele trecute, vreo patru spitale au fost umplute cu ransomware, a fost o nemaipomenită oportunitate de PR pentru companiile de securitate. Bitdefender a avut cel puțin trei advertoriale (pe care le-am văzut eu), SRI a ieșit la înaintare cu comunicate despre ce mai fac ei în timpul liber pe felia asta, CERT au produs și ei niște declarații neinteligibile șamd.

Vestea bună e că, până acum, nimeni n-a zis că au fost niște “atacuri sofisticate”. Asta pentru că, în general, nu prea există atacuri sofisticate în sensul ăla pe care-l vede lumea prin filme, iar de prin 2013 încoace, “hackerii” sunt mai degrabă puși pe pescuit decât pe penetrat rețele.

Și când spun “pescuit” (sau phishing), mă refer fix la asta: spam global cu link-uri de unde sunt descărcate tot soiul de atașamente care-și fac de treabă. E “pescuit” pentru că principiul e fix ăsta: dacă mușcă momeala, i-am prins. Las mai jos câteva explicații simplificate la sânge, pentru că nici eu nu înțeleg toate chestiile care se întâmplă acolo și n-are sens să mă complic încercând să intru în termeni tehnici.

Câteva idei despre cum ajung unele sisteme să fie sparte

  • așa, după ureche, aș spune că cel puțin 90% dintre sisteme sunt sparte din cauza neglijenței oamenilor
  • întâmplarea face că lucrez pentru o companie de managed services și am cam văzut cam care e modul de lucru în zona asta: sistemele sunt atât de bine securizate, încât e aproape imposibil să intri ca-n filme
  • “hackerii” nu sunt ca ăia de la TV, care stau cocoșați în fața unui laptop și tastează cu viteză cod HTML într-un editor. Și nici oamenii de securitate nu au cinci monitoare cu holograme și alarme sonore. Și nici nu fac concursuri de tipul “care tastează mai repede”, eu sau hackeru’
  • la fel ca în cazul spitalelor românești, de cele mai multe ori, cineva dă click pe un link din mail sau intră pe un site dubios și descarcă ceva
  • asta în cazurile instituțiilor de stat. În cele private, se întâmplă din cauză că angajații sunt lăsați să-și ia acasă laptopurile de serviciu, care nu sunt configurate astfel încât utilizatorul să nu poată intra pe internet fără o conexiune prealabilă la VPN
  • există zeci de softuri de securitate configurate să protejeze laptopul unui angajat, dar din cauză că modulele de protecție sunt vândute pentru rețea, dacă ajungi acasă și nu ești logat la VPN, softul nu știe să restricționeze accesul la un site oarecare, că nu mai primește instrucțiunile necesare
  • iei un virus acasă, iar a doua zi, când ajungi la muncă și bagi cablul de rețea în laptop, un carcalac de genul ăsta își poate face de cap înainte să apuce softul să îl scaneze. Da, tehnologie de vârf, dar nu toate sunt suficient de rapide și nu cred că există un singur soft care să aibă un protocol de blocat toate conexiunile până când n-a fost făcută o scanare prealabilă – asta pentru că s-ar pierde foarte mult timp în fiecare zi din programul de lucru al angajatului
  • de ce-și iau angajații laptopurile acasă? Pentru că politica firmei e aceea de business continuity: dacă se întâmplă ceva la sediu (ia foc peste noapte), angajatul trebuie să-și continue treaba
  • există inclusiv variante în care un administrator de sistem vrea să-și verifice mailul (gmail, să zicem), dar pentru că un firewall rule (sună aiurea “regulă de firewall”) îi blochează accesul, intră prin Citrix/remote desktop pe vreo mașină virtuală care are acces nelimitat la net
  • iar mașinile virtuale care ajung să fie infectate astfel (și sunt accesate remote) sunt în rețeaua cu acces la net – de regulă, aia care ține site-urile unei companii, iar primele care pică sunt site-ul, baza de date, discurile cu stocarea diverselor documente etc. Gândacul n-are cum să ajungă în rețeaua internă, în astfel de cazuri, dar e suficient să aibă acces la cea externă ca să facă o pagubă masivă. Când auziți de ransomware pe la vreo companie, cel mai probabil asta e cauza – un virusel a intrat, a găsit date, le-a criptat pe toate și cere bani

Disaster recovery și un pic de context

  • în general, când se întâmplă câte-o dudă de genul ăsta, în funcție de cât de simpatic a fost atacul, factura pentru disaster recovery poate fi mai mare decât recompensa cerută
  • în general, cam toate datele au backup în cel puțin alt datacenter, dacă nu chiar în două, și există tot soiul de protocoale de comunicare între ele: poți avea sincronizare în timp real sau sincronizare (backup, mai exact) la nu-știu-ce interval orar (de regulă, peste noapte)
  • conexiunile între datacentere sunt extrem de limitate, dar asta ține foarte mult și de modul în care e gândită arhitectura de rețea
  • o companie mare cu propria infrastructură (care nu se bazează pe Amazon) lucrează cu foarte multe rețele, din care una sau două sunt conectate la internet.
  • ca exemplu banal, o rețea poate duce lejer 30-40 de mașini virtuale (hai să le zicem “servere” pentru cei mai puțin tehnici, că e mai ușor de înțeles). Unele mașini virtuale din rețele fără internet au nevoie de conexiune la internet, așa că sunt create tot felul de noduri de firewall, comunică exclusiv cu mașina Y și așa mai departe, tocmai pentru a fi protejate
  • în cazul unui incident nefericit, infrastructura respectivă din datacenterul afectat, cu toate datele, e deja oglindită în altă parte. Ca regulă generală, rețeaua externă dintr-un singur datacenter e folosită pentru, să zicem, a ține un site sau o aplicație online, iar în caz de ceva (poate pică curentul, de exemplu), toate conexiunile se mută automat pe cea din al doilea. Al treilea “site” e ținut, în majoritatea cazurilor, exclusiv pentru backup, fix pentru cazuri în care și infrastructura de pe al doilea a fost compromisă
  • ca noțiune generală, infrastructura asta nu înseamnă că există mașini fizice legate între ele prin cabluri, 15 blade-uri într-un rack pentru rețeaua internă X, 20 în altul pentru rețeaua internă Y și cinci în al treilea pentru rețeaua externă
  • în ultimii ani, mai toate datacenterele au început să migreze către infrastructură virtuală. Adică ai 30 de dulapuri cu blade-uri pe care rulează doar procesoare, 30 pe care rulează doar RAM și încă 50 de dulapuri cu SSD-uri pentru stocare de date, legate între ele prin fibră optică
  • serverul e virtual (adică e o instanță de Windows, să zicem, care rulează pe o configurație virtuală), nu mai arată ca un calculator (desigur, există în continuare și din alea, dar sunt folosite pentru altceva), iar resursele sunt alocate în funcție de necesități: unități de procesare, RAM, stocare șamd. Alocarea e, cum ziceam, virtuală, pentru că mai mulți clienți pot folosi același procesor, în funcție de câte resurse are nevoie fiecare mașină și de câte sau de ce tip de procese rulează. Ca să simplific și mai mult, nu prea mai există “ăsta e discul meu cu Windows”, ci pe un disc pot fi cinci clienți diferiți, fiecare cu spațiu alocat lui. Un Windows poate folosi spațiu de stocare de pe cinci discuri diferite pe care le mai folosesc și alții pentru că discurile alea fizice sunt luate împreună și tratate ca un singur mediu de stocare. Adică jumate dintr-un fișier Word poate fi pe un disc dintr-un colț de datacenter, iar cealaltă jumătate în colțul opus
  • la fel, rețelele fiind virtuale, dacă una e atacată, nu cad toți clienții, pentru că există o separare foarte clară între ele și sunt foarte bine izolate de celelalte

De ce se folosește “pescuitul”

  • odată cu evoluția tehnologiilor de rețea, a devenit aproape imposibil să mai spargi servere de la distanță
  • există reguli stricte de comunicare între mașini, există mașini care doar trimit informație și mașini care doar primesc un anumit tip de informație,, există sisteme de operare (IBM are, de exemplu) care nu permit primirea de instrucțiuni decât în anumite condiții (de exemplu, nu poți să-i spui să facă ceva fără să îi dai un restart înainte pentru a te loga și doar cât timp ești logat, iar dacă ai greșit parola de trei ori, nu se mai poate loga nimeni la ea niciodată, e pierdută complet), ceea ce le face extrem de sigure (băncile lucrează, de obicei, cu echipamente IBM tocmai pentru motivul ăsta)
  • în mare, există două motive majore pentru care se folsoește phishingul: pentru bani și pentru spionaj
  • ransomware-ul e folosit primordial pentru bani pentru că poți să pescuiești câte-un prost care dă click pe un link și infectează toată rețeaua unui spital
  • alte tipuri de malware sunt folosite pentru sifonat informații cu țârâita, ca să nu bată la ochi în software-ul de monitorizare a traficului din rețea. Abia alea sunt atacuri sofisticate pentru că sunt targetate și sunt programate să caute informații specifice
  • și avem spionaj industrial – au circulat niște știri, în ultimul an, despre cum niște ingineri chinezi au fost arestați pe aeroporturile din State pentru că demisionaseră de la Apple ca să lucreze pentru Huawei sau similare, dar numai după ce copiaseră informații din interior – exemplul ăsta e important pentru a înțelege cam cât de bine sunt monitorizate calculatoarele într-o corporație (inclusiv de câte ori folosești un stick USB)
  • și mai există spionajul de stat, care e altă poveste, și unde se folosesc tot felul de tehnici precum cele de care povestește omul ăsta aici
  • adică cu tehnici tradiționale de spionaj, cu documentare despre angajați, cu clonat carduri de acces, cu intrat în clădire și tot tacâmul. Dar astea sunt extrem de rare raportat la numărul de atacuri și extrem de riscante
  • de asta e mai simplu să pescuiești fraieri care dau click pe orice link

Care-i problema cu tipul ăsta de atacuri pentru instituțiile publice

  • am văzut că SRI sau CERT-RO, nu mai știu care, a dat-o pe aia cu “atacurile provin din China”. Posibil, nu m-aș mira, dar nu cred că a fost un atac targetat, ci mai degrabă o pescuială după bani, iar dacă mai pică și ceva pe lângă, cu atât mai bine
  • genul ăsta de atacuri sunt periculoase pentru statele unde există infrastructură informatică pe bune, nu în România. La noi, pericolul e că tre’ să cumperi calculatoare noi și licențe antivirus și că nu mai poți folosi Pentiumuri II din 1996
  • gluma deoparte, scopul unui astfel de atac e să verifice dacă rețeaua în care a aterizat carcalacul are acces și la alte rețele. De exemplu, dintr-un spital, dacă poate ajunge în rețeaua ministerului și, de acolo, în calculatoarele decidenților sau prin cine știe ce baze de date
  • cum România nu are baze de date sau rețele importante interconectate riscurile sunt mai mici decât la alții. Dar asta nu înseamnă că nu e neplăcut
  • problema adevărată, în România, e că instituțiile publice funcționează cam după ureche. De exemplu, acu’ doi ani, la Fisc se lucra cu hârtiuța pentru că tocmai ANAF uitase să reînnoiască licențele de antiviruși. Cam de vreo două luni, așa. Da, cam atât de penibilă e situația – și nu m-aș mira ca același lucru să fie valabil și la spitalele alea; cineva n-a mai cumpărat licențele, dar în loc să oprească accesul la internet (și adevărul e că nu prea ai cum), a lăsat lumea liberă să se dea pe net

Ca să pun capăt acestei explicații extrem de simplificate și extrem de lungi, ideea generală e că cele mai multe incidente de genul ăsta au loc din cauza neglijenței oamenilor. Uneori e din cauză de click-uri date aiurea, alteori e din cauză că un calculator nu e conectat la VPN-ul organizației (iar aici motivul e că utilizatorul nu vrea ca angajatorul să vadă ce anumite site-uri a accesat, iar conexiunile la VPN sunt extrem de atent monitorizate), alteori e din cauză că unul a intrat remote într-o rețea și s-a gândit să-și verifice mailul, iar de multe alte ori e din cauză că arhitectura rețelei e gândită cu picioarele.

Asta, ultima, apare mai ales atunci când ai nevoie de conexiuni între rețelele interne și externe, dar din cauză că trebuie să muți volume mari de date (PDF-uri, să zicem), ai nevoie de bandă mare de internet și nu mai activezi un nod de firewall pentru că ăla îți limitează viteza din cauză că tre’ să scaneze tot ce trece pe-acolo.

În concluzie, majoritatea atacurilor sunt cauzate de neglijență, iar realitatea n-are nici o legătură cu Mr. Robot sau mai știu eu ce filme cu hackeri ați mai văzut. Iar când mai pică câte-un site al vreunei corporații pentru mai mult de jumate de zi, e foarte probabil să fi intrat în disaster recovery. Nu neapărat de asta, că uneori mai crapă și din cauză că un update la nu știu ce orchestrator virtual de rețele nu se mai pupă cu nu știu care soft care face altceva.

Pe lângă cele de mai sus, mai există tot soiul de explicații, de la zgârcenia companiei (e prea scump sistemul ăla, nu-l cumpărăm, prea scumpă licența aia, n-o luăm etc.) și până la tot soiul de chestii stupide, precum lipsa update-urilor de firmware la unele echipamente sau software-uri folosite care au diverse vulnerabilități (prea scumpă licența pentru versiunea nouă, prea mult downtime pentru update, d-astea), adică lucruri care, altfel, ar fi simplu de evitat.

Dacă îţi place acest blog şi vrei să-l susţii, cumpără de la eMag folosind acest link.

5 comentarii

  1. Orice atac care nu presupune doar rularea unui ./ de un script kid e un atac sofisticat. Targetarea victimelor, indiferent de nivelul acestora de securitate informatică, îl transformă într-un atac sofisticat.
    În altă ordine de idei, ăsta e singurul articol concret, la subiect și foarte bine detaliat pe care l-am citit zilele astea apropo de treaba asta. Restul sunt doar reclame la Bitdefender.

  2. Eu mi-am dat seamă cât de greu este să-ți dai seama de un atac phishing completând testul acesta https://phishingquiz.withgoogle.com/
    Nu m-am gândit niciodată la faptul că România nu are rețele interconectate ca fiind un avantaj.

  3. uneori si data-centerele mari fac greseli. Vezi exemplul webfactor.

    • @silviu: webfactor nu era un datacenter in sine. Sau, ma rog, era, dar nu genul ala de care vorbesc eu. Daca ai zece dulapuri cu servere nu inseamna ca e un datacenter adevarat. Eu vorbesc de alea de dimensiunea celor de la INES, de exemplu.