Shellshock este un bug în shell-ul de interfață cu linia de comandă Bash care există de 30 de ani și a fost descoperit ca o amenințare semnificativă în 2014. Astăzi, Shellshock rămâne în continuare o amenințare pentru întreprinderi.
Amenințarea este cu siguranță mai puțin riscantă decât în anul în care a fost descoperită. Cu toate acestea, într-un an în care prioritățile de securitate s-au recalibrat pentru a ține pasul cu peisajul haotic, este un moment bun pentru a privi înapoi la această amenințare și la factorii de bază care mențin aceste atacuri în viață și astăzi.
De ce este Shellshock relevant în 2020?
Shellshock este o vulnerabilitate critică din cauza privilegiilor escaladate acordate atacatorilor, care le permit acestora să compromită sistemele în voie. Deși vulnerabilitatea ShellShock, CVE-2014-6271, a fost descoperită în 2014, se știe că aceasta există încă pe un număr mare de servere din lume. Vulnerabilitatea a fost actualizată (CVE-2014-7169) la scurt timp după aceea și a fost modificată până în 2018.
Motivul principal pentru care Shellshock este încă utilizat nu este șocant. Această vulnerabilitate este un atac simplu și ieftin pe care actorii răi îl pot desfășura împotriva unei ținte neștiutoare. Patch-urile au fost disponibile încă de la intrarea CVE, dar orice organizație care nu dispune de sisteme adecvate de gestionare a patch-urilor poate fi în continuare vulnerabilă.
Shellshock era încă proeminent în 2017. Când tot ce au nevoie atacatorii sunt câteva abilități de programare de bază, un server și acces la malware, nu este surprinzător. În plus, costul pentru a efectua un atac nu este cu mult mai mare de câțiva dolari pe lună. Matematica este în favoarea atacatorilor. Cunoștințe minime, puțin efort și costuri reduse echivalează cu o strategie de hacking ușoară.
În ciuda întregii acoperiri mediatice extinse în domeniul securității cibernetice și chiar a unei alerte a Departamentului de Securitate Internă, unele sisteme rămân neprotejate. Într-un exemplu, oficialii de la Center for Election Systems nu au aplicat un patch care a compromis sistemele electorale din Georgia.
Cum funcționează Shellshock?
În termeni simpli, Shellshock este o vulnerabilitate care permite ca sistemele care conțin o versiune vulnerabilă de Bash să fie exploatate pentru a executa comenzi cu privilegii mai mari. Acest lucru permite atacatorilor să preia în mod potențial controlul acelui sistem.
Din punct de vedere tehnic, Shellshock este o eroare de securitate în shell-ul Bash (GNU Bash până la versiunea 4.3) care face ca Bash să execute comenzi Bash neintenționate din variabilele de mediu. Actorii amenințători care exploatează vulnerabilitatea pot emite comenzi de la distanță pe gazda țintă. Deși Bash nu este în mod inerent orientat către internet, multe servicii interne și externe, cum ar fi serverele web, utilizează variabile de mediu pentru a comunica cu sistemul de operare al serverului.
Dacă aceste intrări de date nu sunt dezinfectate – procesul standard de codare care asigură că codul nu face parte din intrare – înainte de execuție, atacatorii pot lansa comenzi de solicitare HTTP executate prin intermediul shell-ului Bash.
Vulnerabilitatea în detaliu
Serverele web nu sunt singurele resurse de rețea vulnerabile. Serverele de e-mail și serverele DNS care utilizează BASH pentru a comunica cu sistemul de operare ar putea fi, de asemenea, afectate. Deși BASH se găsește în mod normal pe sistemele bazate pe Unix, organizațiile care utilizează sisteme bazate pe Windows nu sunt imune. Acestea folosesc probabil aparate sau hardware care sunt vulnerabile. Amintiți-vă că BASH poate face parte din routerele casnice, multe dispozitive IoT și sisteme încorporate.
Shellshock poate fi folosit chiar și pentru a lansa atacuri de tip Denial of Service (DOS).
Iată linia de cod (o declarație de funcție Bash urmată de un punct și virgulă și comanda „sleep” rulată din trei căi posibile pentru a se asigura că este executată):
new_function() { :;} ; /bin/sleep 20 /sbin/sleep 20 | /usr/bin/sleep 20
Această comandă „sleep” forțează serverul să aștepte douăzeci de secunde înainte de a răspunde. Procedând astfel, resursele de pe mașină sunt practic ținute ostatice, deoarece mașina nu mai poate face nimic altceva timp de douăzeci de secunde.
O singură comandă „sleep” poate fi inofensivă, dar un atacator poate fi capabil să o înlocuiască cu un cod malițios. Apoi, acel cod poate încătușa serverul sau resursa astfel încât să nu mai poată gestiona nicio solicitare.
Riscul de a permite utilizatorilor de internet dăunători să execute de la distanță comenzi la alegerea lor este ridicat. Prin utilizarea deschiderii, actorii răi pot lansa programe pe sistem, pot crea conexiuni de ieșire către propriile sisteme și pot executa software malițios.
Poate cel mai critic, vulnerabilitatea poate fi exploatată pentru a fura date și informații confidențiale stocate în sistem, cum ar fi detalii ale cărților de credit, parole și informații de identificare personală (PII).
Este Shellshock încă răspândit?
Shellshock nu mai este la fel de răspândit ca atunci când a fost descoperit în 2014. Imaginați-vă provocarea de a trebui să aplicați patch-uri pe toate serverele vulnerabile ale companiei dvs. (și, erau multe la acea vreme).
Acesta fiind spus, Shellshock rămâne o problemă.
De exemplu, există o amenințare cibernetică în curs de desfășurare și o campanie de vulnerabilitate numită „Sea Turtle”, care profită de înregistrările DNS pentru a obține acces la sisteme sensibile. Pentru ca atacurile să aibă succes, este nevoie de o serie de vulnerabilități hardware și software comune – Shellshock fiind una dintre ele.
Chiar dacă nu mai este la fel de răspândită ca înainte, fiecare companie ar trebui să se asigure că toate componentele hardware și software sunt corectate și actualizate.
Cum să știți dacă sunteți afectat
Pentru că Shellshock este vechi de șase ani, sunt disponibile o mulțime de scanere de vulnerabilități. Unele dintre ele sunt gratuite. Unul dintre ele, bashcheck, poate fi descărcat folosind Github.
Pentru acei oameni tehnici, tastarea unei comenzi simple în promptul Bash va face, de asemenea, treaba:
env X=”() { :;} ; echo Bash is Infected” /bin/sh -c „echo completed”
env X=”() { :;} ; echo Bash is Infected” `which bash` -c „echo completed”
env VAR=”() { :;}; echo Bash is Infected” bash -c „echo completed”
Dacă promptul returnează un mesaj „Bash is Infected”, este timpul să actualizați și să remediați. Dacă ieșirea dvs. nu returnează mesajul „Bash is Infected”, va răspunde cu ceva de genul:
bash: warning: VAR: ignoring function definition attempt
bash: error importing function definition for `VAR’
Bash Test
Dacă doriți să testați vulnerabilitatea pentru site-uri web sau scripturi CGI specifice, următorul instrument vă poate ajuta: ‘ShellShock’ Vulnerabilitatea Bash CVE-2014-6271 Instrument de testare. În oricare dintre cele două câmpuri de introducere a datelor, introduceți URL-ul site-ului web sau al scriptului CGI pe care doriți să îl testați și faceți clic pe butoanele albastre.
Ce putem învăța despre amenințările la adresa securității cibernetice
Cea mai mare lecție pentru întreprinderi aici – și merită repetată – este aceea de a vă plasa patch-uri pe sisteme.
Echipele care pot reduce timpii de plasare a patch-urilor sunt într-o poziție mai bună pentru a transfera aceste resurse către preocupări de securitate mai presante. În timp ce unele companii consideră că gestionarea patch-urilor este mai degrabă o responsabilitate IT decât una de securitate, gestionarea patch-urilor trebuie să fie întotdeauna în atenția departamentelor de securitate, deoarece este esențială pentru poziția de securitate a unei companii.
Dacă sistemele dvs. sunt încă vulnerabile astăzi, probabil că există unele probleme operaționale subiacente care ar trebui abordate. Shellshock este o vulnerabilitate foarte veche, cu patch-uri disponibile pentru aproape orice sistem. Cel mai bun mod de a vă proteja împotriva acestui tip de vulnerabilitate este să vă mențineți sistemele la zi, aplicând toate corecțiile lansate pentru acest exploit.
Când aplicați patch-uri la active, de obicei un proces simplu, ar trebui să adoptați o abordare strategică.
Patch-urile testate temeinic sunt o modalitate excelentă de a minimiza impactul asupra afacerii – cum ar fi un server esențial pentru misiune care rulează un sistem de operare vechi, de exemplu. În cazul în care un sistem nu poate fi corectat imediat, riscul potențial al vulnerabilității trebuie să fie pus în balanță cu impactul asupra afacerii.
Shellshock este doar una dintr-o listă lungă de vulnerabilități cu care întreprinderea trebuie să se confrunte. Gestionarea fluxului aparent nesfârșit de vulnerabilități este și va fi întotdeauna o strategie esențială care stă la baza securității cibernetice.
Listă de verificare pentru o organizație sigură
Pentru o gestionare reușită a vulnerabilităților, companiile trebuie să aibă capacitatea de a reuși în aceste trei domenii:
- Identificarea rapidă a vulnerabilităților cu potențial impact: Viteza este totul aici. Faptul că toată lumea este pe aceeași pagină cu un plan solid ar trebui să promoveze timpi de reacție mai rapizi.
- Determinarea nivelului de gravitate al vulnerabilității: Cunoașterea toleranței la risc a organizației dvs. va contribui mult la determinarea gradului de severitate a unei vulnerabilități. În funcție de infrastructura rețelei dumneavoastră, unele vulnerabilități sunt mai dăunătoare decât altele.
- Având un plan de acțiune care să echilibreze urgența de securitate cu impactul potențial asupra mediilor de producție: Echilibrarea securității cu producția și productivitatea este un obstacol constant, dar organizațiile cu cele mai bine definite planuri de gestionare a vulnerabilităților găsesc, de obicei, cel mai bun echilibru.
Pentru cercetătorul independent de securitate Rod Soto, cea mai mare lecție învățată de la Shellshock a fost că internetul se bazează pe multe aplicații vulnerabile și are întotdeauna potențialul de a compromite o mare parte din segmentele sale.
„Modul de a gestiona aceste vulnerabilități potențiale în viitor este de a menține comunicarea deschisă și transparentă între dezvoltatori, mentenanți și profesioniști în domeniul securității”, spune Soto. „Astfel, în cazul în care se descoperă o vulnerabilitate atât de extinsă și semnificativă, coordonarea între toate părțile afectate poate fi folosită pentru a remedia sau atenua sistemele afectate.”
Chiar și în cazurile în care compania dvs. reușește să atenueze riscul la Shellshock sau la orice altă vulnerabilitate, nu puteți presupune că planul dvs. de răspuns este perfect. Planul de răspuns ar trebui să fie un document viu, care respiră, și ar trebui să fie revizuit des, astfel încât organizația dvs. să poată răspunde rapid la amenințări.
În cele din urmă, ca în orice scenariu post-atac, există întrebări pe care ar trebui să vi le puneți pe măsură ce revizuiți fiecare fază a planului.
- Ce părți ale planului au avut succes?
- Ce părți ale planului nu au avut succes?
- Ce nu am făcut și acum ne dăm seama că trebuia să facem?
- Ce am învățat care ne permite să fim mai pregătiți pentru următoarea vulnerabilitate care ne iese în cale?
Shellshock poate fi un atac vechi, dar pentru un atacator, acesta bifează toate căsuțele pentru a exploata victimele care nu au o igienă de securitate adecvată.