Cel mai des auzim de hacking și hackeri prin problemele pe care le generează cei care exploatează ilegal instrumentele digitale. Există însă și-o ramură mai nobilă a activității: white hat hacking. Și e necesară, pentru că niciun produs digital nu-i infailibil.

Alexandru Bălan și Andrei Avădănei Foto: Colaj foto

Unul dintre subiectele care au monopolizat începutul lui 2021 a fost vulnerabilitatea din serverele Microsoft Exchange care a expus, estimativ, câteva zeci de mii de organizații. Microsoft a livrat un patch, dar pentru mulți dintre cei afectați era un pic prea târziu ca să prevină eventualele probleme. Iar atacatorii ar fi avut acces câteva luni bune la toate aceste sisteme.

În acest context mi-am amintit ce-a spus un fost oficial de la Microsoft, Steven Sinofsky. El a analizat, în urmă cu câțiva ani, de ce pare că orice problemă măruntă pentru Apple, pe iPhone, e una imensă. În esență, iOS rulează pe circa 1 miliard de dispozitiv. Astfel, o problemă (poate chiar și o vulnerabilitate cibernetică) care afectează doar 0,01% dintre dispozitive tot se traduce în zeci de milioane.

În acest context, eu am vrut să explorez un pic subiectul white hat hacking. Uneori e făcut de cercetători în securitate cibernetică. Alteori de companii cu echipe dedicate, unde intră și companiile de securitate cibernetică. Și mai sunt oamenii care au făcut din asta o meserie.

Ultimul an a demonstrat că e nevoie mai mare ca niciodată de white hat hacking

Am menționat Microsoft Exchange, dar acesta e doar ultimul de anvergură. A fost și atacul de tip ransom asupra dezvoltatorului jocului Cyberpunk 2077. În decembrie 2020 a fost SolarWinds, când atacul a vizat un furnizor de soluții IT folosit de zeci de mii de companii și instituții guvernamentale. Atacatorii au exploatat vulnerabilitățile și prin intermediul furnizorului au ajuns și la clienților acestuia. Iar în septembrie un atac ransomware a dus chiar la pierderi de vieți.

Ar putea fi prevenite astfel de cazuri? Nu chiar, dar pagubele ar putea fi diminuate. Și, mai important, fereastra de timp pe care ar avea-o atacatorii la dispoziție ar fi mai mică. După cum pune problema Andrei Avădănei, fondator Bit Sentinel, industria de IT dezvoltă mai multă tehnologie decât ar putea toți specialiștii în securitate cibernetică și white hat hacking să evalueze sau să protejeze de atacuri informatice. Dar evoluția accelerată a industriei a împins comunitatea de white hat hacking să devină un organism dinamic, viu în care oricine își poate aduce contribuția.

Andrei Avădănei. Sursa foto: arhiva personală

“Suntem în punctul în care comunitatea de criminalitate informatică este extrem de motivată să identifice vulnerabilități în soluții critice sau soluții folosite de milioane de utilizatori. În acest context, Cybersecurity Ventures estimează că, până în 2025, pierderile anuale cauzate de criminalitatea cibernetică vor depăși 10,5 trilioane de dolari anual”, explică Andrei. “Nu există o soluție care să poată proteja o infrastructură complexă de absolut toate amenințările informatice existente.”

Pentru a-și lua toate măsurile de securitate, Andrei susține că o companie ar avea nevoie de: soluție antivirus sau o soluție de tip EDR (Endpoint detection and response) pentru fiecare stație de lucru, server sau echipament de rețea, soluție VPN pentru a putea să te conectezi de la distanță, soluție de tip firewall IDS/IPS pentru a putea monitoriza și bloca atacuri populare împotriva sistemelor și aplicațiilor, dar și soluție de tip DLP (Data loss prevention) pentru a preveni furtul sau exfiltrarea neautorizată a datelor.

Totodată, ar fi necesare o soluție de protecție împotriva atacurilor phishing, ransomware sau malware venite prin mail, o soluție de tip web firewall pentru a proteja aplicații web, o soluție de management al politicilor și procedurilor de securitate, dar și soluții de administrare a vulnerabilităților. Nu în ultimul rând, lista mai trebuie să conțină o soluție de protecție împotriva atacurilor DDoS, dar și o soluție centralizată care să agreeze log-uri și alte elemente care pot fi folosite pentru a reacționa la atacuri informatice (SIEM).

Toate acestea nu vin însă cu o garanție pentru protecție perfectă. Totuși, Alexandru Bălan, Chief Security Researcher, Bitdefender, susține că identificarea unei vulnerabilități e un lucru bun, dar cu o condiție. “Când te expui white hat hacking, cu siguranță vor fi găsite vulnerabilități la care nu te așteptai. Nu ar trebui să fie nimeni (companie, organizație, instituție publică n.r.) shamed că are vulnerabilități. Mai ales dacă se comunică, dacă se face public. Critica trebuie adusă pentru felul defectuos în care gestionează vulnerabilități, dacă e cazul de așa ceva”, explică acesta.

“Transparența este foarte importantă”, adaugă Alexandru. “Uite, să luăm exemplul platformei de vaccinare din România și de ce e important să fie încurajat white hat hacking. Dacă cineva identifică o vulnerabilitate în platformă, nu știe de când e așa, poate chiar de la lansare. Și asta înseamnă că a putut fi exploatată, deja, de câteva luni. De aceea e important să se vorbească despre asta și să se permită white hat hacking, ca să se închidă fereastra în care ar putea fi exploatată o vulnerabilitate. Odată identificată problema se repară și, odată reparată, se poate comunica.”

Pe de altă parte, e legal să testezi securitatea unei platforme doar dacă platforma comunică asta și vrea să primească “sugestii”. Ceea ce duce la un paradox: cei care ar putea găsi și spune despre probleme nu au voie. Cei care n-au voie, oricum o fac și exploatează cu lunile, cu anii.

De ce ai nevoie ca white hat hacker

Din punct de vedere al banilor, domeniul e unul profitabil. Și, mai presus de orice, e 100% legal, spre deosebire de black hacking. “Poți, desigur, să faci zero-day trading pe piața neagră. Și banii sunt, de multe ori, de zece ori mai mulți. Dar îți faci o reputație foarte proastă și, în general, nu e de viitor, nu e sustenabil. În bug bounty situația e cu totul alta: ai o imagine bună, iar companiile încurajează colaborarea”, explică Alexandru. În general, când vine vorba de bani, aceștia vin fie prin programe de bug bounty, lansate de companii, fie prin identificat vulnerabilități și contactat companiile direct ca să le repare și să plătească identificarea.

Cele mai mari comunități de white hat hacking, susține Andrei, sunt Hackerone și Bugcrowd, însă există numeroase alte comunități de acest fel unde te poți înscrie gratuit și poți încerca să găsești vulnerabilități în companiile listate. “România excelează și aici. De exemplu, un român este prima persoană care a depășit pragul de 2 milioane de dolari câștigați prin raportarea unor vulnerabilități pe Hackerone, cea mai mare comunitate de bug bounty din lume.”

Nevoie și potențial există, dar de unde pornești? “Dacă începi de la zero, când vine vorba de skill-uri, îți trebuie mai mult o bază algoritmică. Asta pentru că echipamentele sau serviciile sunt programate în feluri diferite și majoritatea celor pe care vrei să le spargi sunt la nivel de logică de aplicație, nu la nivel de limbaj. Skill-urile de programare sunt utile mai ales ca să-ți automatizezi atacul”, detaliază Alexandru. “Când vine vorba de ghicit o parolă, începi cu «admin» ca username și încerci: «1234», «admin1234», «admin». Și tot așa. Îți dai seama că ai putea crea un algoritm: repeți același mecanism, dar schimbi o singură variabilă. Automatizezi. Și atunci îți trebuie o unealtă pe care o descarci sau o creezi și testează mii de parole până la cea bună.”

Niciun skill deja dobândit nu e însă inutil, iar Andrei pune într-o listă ce cunoștințe ar fi necesare pentru ce tehnologii sunt acum. Cunoștințe în modul în care sunt construite și cum comunică aplicațiile web, inclusiv limbaje de programare populare (ex.: PHP, Javascript, Nodejs, Java, ASP.net), apoi cunoștințe pe tehnologii de virtualizare (ex.: mașinii virtuale, containere, kubernetes etc.), cunoștințe în baze de date (ex.: MySQL, Elasticsearch, MariaDB, NoSQL etc.) și cunoștințe despre protocoale de comunicare și cum circulă acestea (modelul OSI).

Legat de hardware, sunt utile cunoștințele despre echipamente de rețea comune (firewall, switch, router etc.), cunoștințe în rețelistică și în arhitecturile sistemelor de calcul. Și poți completa lista cu cunoștințe de criptografie.

“Totuși, un white hacker bun are nevoie de câteva calități soft: multă răbdare, organizare impecabilă, atenție distributivă și gândire «out of the box». Dar și un dram de noroc”, adaugă Andrei.

Toate cunoștințele și aptitudinile sunt însă completate din plin de experiență. “Pe măsură ce găsești o vulnerabilitate, un vector de atac, acestea pot fi folosite în mai multe locuri. Și așa identifici vulnerabilități chiar și în platforme noi”, completează Alexandru. “Practic, dacă îți dai seama cum rulează un produs, poți chiar să-l păcălești să execute cod malițios. Cel mai bun exemplu: Bouncer-ul de la Google Play. Mecanismul e simplu: urci o aplicație, ca developer, o rulează și-i studiază comportamentul ca să vadă dacă nu cumva are alt scop. Dar încă de la început cineva a făcut un backdoor atât de bun, încât a obținut acces în infrastructura de administrare a bouncer-ului prin funcționalitățile de bază ale bouncer-ului. Se poate întâmpla și așa, tocmai de aceea e importantă viteza cu care identifici o vulnerabilitate și-o repari.”

Alexandru Bălan. Sursa foto: arhiva personală

Platforma perfectă nu există, dar toate sunt perfectibile

Odată ce indivizi și organizații care folosesc cel puțin un produs digital (software sau hardware) admit că ce au creat sau folosesc nu-i perfect, abia de-acolo lucrurile pot deveni mai bune. “Nu există un sistem, serviciu sau aplicație mai greu de spart. Mai degrabă, se referă la timing sau pur și simplu că ar putea exista niște proprietăți care pot face dificilă identificarea unei vulnerabilități într-un sistem. Uneori, e vorba de lipsa accesului la codul sursă. Un hacker poate doar să «intuiască», pe baza răspunsurilor primite, dacă există sau nu o vulnerabilitate. Apoi e lipsa accesului la echipament. E așa-zisa securitate prin obscuritate când o entitate mizează că un sistem este inaccesibil unor actori neautorizați pentru a crește gradul de securitate. În fine, ține și de popularitate. Adesea vedem în industrie cum atenția comunității se îndreaptă către o serie de produse, altele în fiecare an. Motivul principal fiind că și comunitatea de hacking reacționează în funcție de cât de popular sau utilizat este un produs, dacă cineva creează un precedent”, explică Andrei.

Cum amenințările informatice se schimbă constant, orice specialist care dorește să rămână relevant trebuie să fie într-un proces constant de învățare. “Acest lucru este posibil prin studierea materialelor de specialitate, prin obținerea unor traininguri și certificări recunoscute în domeniu și prin multă practică. Există poligoane virtuale de antrenament, cum ar fi CyberEDU, care furnizează exemple de vulnerabilități inspirate din aplicații cu probleme reale. Acestea sunt folosite în exerciții de securitate și pot fi exploatate sau pur și simplu simulează atacuri care pot fi lansate virtual pentru a înțelege comportamentul acestora, totul într-un mediu controlat”, conchide Andrei.

În practică, cu cât o tehnologie este mai populară, cu atât aceasta devine mai sigură pentru că noile vulnerabilități sunt remediate. În același timp crește și complexitatea atacurilor și dificultatea de a fi identificate. Ca un joc de șah, aproape, dar fără să aibă un sfârșit.