Shellshock - noua breșă de securitate ce bântuie Internetul


 21 Oct, 2014  doru  503  
security bash shellshock linux osx unix

Shellshock, breșa de securitate făcută publică pe 24 septembrie 2014, a fost descoperită pe 12 septermbrie 2014 de Stéphane Chazelas și botezată inițial bashdoor.
 

Shellshock

Despre ce e vorba?

Este vorba de o eroare de progrmare (bug) descoperită într-unul din cele mai folosite programe din Linux, Mac OSX și chiar Unix (ba chiar și în Windows): bash (Bourne Again Shell). Bash este interpretorul de comenzi (command shell) care vine preinstalat (este shell-ul implicit) în toate distribuțiile GNU Linux și în Mac OSX (sistemul de operare care rulează pe calculatoarele Apple) dar se întâlnește adesea și în diferite variante de Unix. De asemenea se poate găsi și în Windows dacă aveți instalat Cygwin sau MinGW.

În ce constă Shellshock?

Shellshock este o breșă de securitate făcută posibilă de o eroare de progrmare (bug) care permite unui utilizator de la distantă să injecteze cod arbitrar prin intermediul unei comenzi din bash. Și anume, dacă caracterele "{ :;};" sunt incluse ca definiție a unei funcții atunci orice cod arbitrar (comenzi shell posibil/probabil nocive), care este inclus după această definitie, este executat - lucru care n-ar trebui să se întâmple.

Pentru a vedea dacă calculatorul tău (daca ai Linux, Mac, Unix sau Cygwin în Windows ) este vulnerabil deschide terminalul bash și tastează următoare comandă:

env x='() { :;}; echo vulnerabil' bash -c 'echo acesta este un test'
vulnerabil
acesta este un test

Dacă îți apare în răspuns "vulnerabil" atunci sistemul tău chair este vulnerabil.

Dacă îți apare următorul răspuns înseamnă ca bash-ul a fost securizat:

env x='() { :;}; echo vulnerabil' bash -c "acesta este un test"
bash: warning: x: ignoring function definition attempt
bash: eroare în importarea definiţiei funcţiei pentru 'x'
acesta este un test

Vedem că aici, în răspuns, nu apare cuvântul "vulnerabil".

Un alt mod de a vedea același lucru este să verifici ce versiune de bash ai: dacă ai o versiune anterioară versiunii 4.3 înseamnă că sistemul tău e vulnerabil. De fapt, bash-ul este vulnerabil de la versiunea 1.13, deci încă din... 1992. Acesta este și motivul pentru care unii specialiști zic că această breșă ar fi mai gravă decât Heartbleed.

Cine este afectat?

Pentru utilizatorii normali se pare că riscul este scăzut: accesul de la distanță către shell este blocat de obicei de firewall și se pare că nimeni nu a venit (încă) cu o modalitate de a executa cod pe calculatoarele individuale.

Problema gravă este în cazul serverelor web (care reprezintă cam jumătate din calculatoarele de pe Internet - milioane de saituri), în speță Apache (fiind cel mai folosit). Și asta mai ales pentru că sunt atâtea astfel de servere al căror soft trebuie înnoit (updated) și cu cât sunt întârziate update-urile cu atât lucrurile se pot complica. Asta pentu că mai toare serverele web rulează în fundal bash-ul pentu executarea scripturilor CGI. Prin urmare un hacker care are acces la shell-ul vulnerabil de pe un astfel de server web poate injecta cod nociv (prin care să obțină, de exemplu, acces la fișiere sensibile de pe server pe care să le facă publice sau să scrie în fișierele sensibile de pe serverul web - lucru la fel de grav). 

De asemenea sunt afectate routerele wireless dar și alte echipamente care se bazează pe vreo variantă de GNU Linux - camere web, tablete etc.

Concluzie - cât de grav este?

Cât de nociv poate fi acest cod injectat prin intermediul unui bash shell vulnerabil de pe un server web? Păi, aș zice, foarte nociv. Ca dovadă, Divizia natională de securitate cibernetică din Statele Unite a catalogat amenințarea ca fiind de gradul 10 din 10 - adica maximă. Iar noaptea trecută, experții în securitate cibernetică au avertizat oamenii să nu-și mai utilizeze cardurile de credit pentru cumpărăturile online, până când mare parte din serverele afectate vor avea software-ul vulnerabil securizat (updated) împotriva Shellshock.

P.S.

Se pare că deja bug-ul este deja exploatat la scară mare. Iată ce scrie Wikipedia engleză:

 

On 26 September 2014, within a day of the announcement of the vulnerability, the first botnet based on computers compromised with this exploit was reported. Dubbed "wopbot", the botnet was being used to attack Akamai Technologies and the United States Department of Defense.

 

 

(Pe 26 septembrie 2014, la mai puțin de o zi de la anunțarea vulnerabilității, s-a raportat apariția primului botnet [rețea formată din calculatoarele compromise și luate în stăpânire de hackeri - n.a.] format din calculatoarele compromise folosind această breșă de securitate. Denumită "wopbot", această rețea nocivă de calculatoare a fost folosită pentru a ataca Akamai Technologies și Departamentul Apărării al Statelor Unite .)