S-a creat multa confuzie in urma problemelor detectate prima data in Iunie in modul in care aplicatiile complementare interactioneaza cu Internet Explorer-ul si ultimul Security Adviser 943521 care se refera la modul in care Internet Explorer 7 instalat pe platforma Windows XP sau Windows 2003 treateaza URI-urile. Dar haide sa facem putina lumina.

Ce sint URI-urile . Conform definitiei din Wikipedia reprezinta un sir compact de caractere folosit pentru a identifica o resursa. Scopul lor este de a permite interactiunea cu diferite resurse din retea folosind anumite protocoale de comunicatie. Exemplul cel mai elocvent si cunoscut este http://. De exemplu https://securityaspects.wordpress.com care inseamna ca:

  • resursa (pagina de web HTML) va fi interpretata folosint un program care interpreteaza cod HTML in cazul nostru browserul
  • poate fi obtinuta folosind protocolul http de la o anumita locatie (site-ul de web).

Sintaxa unui URI este protocol :resursa  Important de mentionat ca sintaxa accepta si alti parametrii care vor fii tratati de aplicatia caruia ihi este adresat ca parametrii. Alte exemplu celebrú este maito:adresademail@domeniu care care inseamna ca resursa va fii interpretata de programul default de mail din sistem si va folosi protocolul de mail (SMTP) pentru a indetifica resursa, adresa destinatarului.

Acum ca am vazut ce este un URI haide sa vedem ce se intimpla de fapt.

In Iunie s-a demonstrat ca Windows API-urile nu filtreaza URI-ule corect in momentul interactiunii dintre un browser si o aplicatie complementara cu ar fii Skype sau Acrobat Reader. Microsoftul a remediat ce a putut dar a recomandat ca si cei care fac aplicatii sa verifice URI-urile in momentul in care sint tratate de aplicatiile lor.

In Iulie s-a semnalat insa ca IE7 este cel care nu trateaza corect URI-ule.

Ce se intimpla? IE 6 de exemplu, primeste URI-ul si incearca sa-l valideze din punct de vedere al sintaxei. Este valid, atunci este trimis catre Windows shell32 function ShellExecute() pentru a fii executat. Nu este valid,  atunci IE-ul reactioneaza normal si se intoarce la starea initiala abandonind executia. La IE 7 pe platforma Windows XP sau 2003, browserul in momentul in care detecteaza ca URI-ul nu este valid, incearca sa-l repare dar toata procedura nu este implementata corect si se poate transmite cod personal catre functia ShellExecute().

Modalitatile de exploatare sint prin convingerea victimei de a accesa o resursa web ( a da click pe un link care are o anumita structura).

Ce se poate face? Patch , patch si atentie la toate URI-urile care sint inregistrate in sistemul vostru. Cu cit sint mai putine, cu atit suprafata de atac este mai mica.

Have fun,

De citit:

Anunțuri