Vulnerabilitatile Format String

dehackeradvisor™

Vulnerabilitatile Format String

 

Ce inseamna atacurile impotriva vulnerabilitatilor Format String ?

 

Limbajele de programare in mod uzual permit utilizatorilor să formateze afisarea sau prezentarea în diverse moduri, sau de a introduce o sectiune de date in alta, printr-un șir formatat. Un exemplu comun în sistemele de programare este afișarea output-ului a unui utilizator. Spre exemplu, am putea avea o funcție pe o linie, care afiseaza ceva date pe ecranul utilizatorului :

 

printf("Welcome %s!", username);

 

Dacă utilizatorul introduce ceva de genul John, am vedea următoarea ieșire de pe ecran: „Bine ai venit, John!”. Cu toate acestea, in conditiile in care variabila username (numele de utilizator) nu este validata, atunci un atacator poate executa, ceea ce este cunoscut ca fiind un atac Format String. Funcția printf indicata mai sus, permite o serie de caractere de control (cum ar fi %), pentru a defini formatul datelor așteptate. În cazul în care un atacator poate insera caractere de control suplimentare in șir, printf poate cauta date pentru a le introduce intre placeholdere, facand posibila accesarea a diferite locatii ale memoriei, sau chiar executarea unor coduri arbitrare.

 

Cele mai multe discutii legate de atacurile Format String au fost purtate in comunitatea desktop software, în care comenzile mai vechi C cum ar fi printf erau mai frecvente. Totusi aceste functii au migrat de asemenea si pe net, si majoritatea exemplelor de Format String sunt mai ascunse decat cele de mai sus.

 

Cum afecteaza asta securitatea mea ?

 

Atacurile Format String pot conduce catre atacuri de tipul denial of service, si in anumite cazuri sunt folosite pentru a afecta memoria serrver-ului (care conduc ca serverul dvs. web, cum ar fi IIS sau Apache sa se blocheze). In anumite cazuri, atacurile Format String pot fi folosite pentru a fura date, sau chiar pentru a executa coduri arbitrare. Executarea de cod arbitrar ar putea permite unui atacator să preia controlul asupra server-ului web.

 

Prevenirea atacurilor asupra vulnerabilitatilor Format String

 

Atacurile de tip Format String apar datorita ne-sanitizarii datelor utiilizator trimise catre o functie care foloseste formatari string. Asta nu inseamna neaparat date catre sunt trimise inapoi catre utilizator sau catre afisaj, ar putea fi date care apeleaza interogari in baza de date, functii de log-are, sau functii de sistem. De obicei semnul (%) este folosit pentru a indica un formator string, deci eliminarea acestuia este un prim pas.

 

In general, funcțiile de sistem sunt securizate impotriva vulnerabilitatilor de tip Format String pe masura ce sunt descoperite. In PHP, de exemplu, cele mai recente actualizări pot oferi protectie impotriva celor mai recent descoperite vulnerabilitati de tip string format. Actualizarea versiunii limbajului de programare, la cea mai recentă, va va oferi cea mai mare protecție împotriva acestor tipuri de atacuri. De mentionat este ca totusi, aceste upgrade-uri la codul de bază ar putea necesita modificări in site-ul dvs., astfel încât ar trebui să fie testate temeinic inainte de implementare.

 

Resurse Suplimentare

 

Format String Vulnerabilities in Various Programming Languages
Format String Examples

 

HackerAdvisor.com  include scanari numeroase si diferite, care te vor ajuta sa-ti securizezi site-ul, inclusiv te vor ajuta sa descoperi daca esti vulnerabil la atacuri de tip Format String.

Despre autor

hackeradvisor™ administrator

Contacteaza-ne pentru servicii premium, de tip Managed Security for Websites. Malware Scanning, Vulnerability Scanning, Backup, etc. » Managed Security for websites