EMET La firme de Redmond vient de publier un avis de sécurité au sujet d'une vulnérabilité d'exécution de code à distance qui affecte toutes les versions d'Internet Explorer supportées ( IE6, 7 et 8 ), et ce pour tous les systèmes d'exploitation Windows. Windows 7 ne fait donc notamment pas exception.

Cette vulnérabilité a fait l'objet d'une divulgation publique et présente un danger potentiel lors de la consultation d'un site Web hébergeant du code malveillant. Pour le moment, Microsoft indique que l'impact est limité et n'a pas connaissance d'attaques actives.

Ladite vulnérabilité avait fait l'objet en début de mois d'un avis de sécurité publié par VUPEN Security. La société française de recherche en sécurité informatique avait pointé du doigt un problème dans le moteur HTML de IE ( mshtml.dll ) lors du traitement d'une page référençant un fichier CSS qui intègre des règles @import. Les règles @import permettent d'importer des feuilles de style externes dans un document HTML.

Le projet Metasploit, qui propose un framework pour le développement et l'exécution de codes exploits à distance, a publié un exploit pour cette faille. L'une de ses particularités est de pouvoir contourner les protections DEP et ASLR présentes dans Windows 7, ce qu'a confirmé Microsoft.

Address Space Layout Randomization aide à empêcher les attaquants à avoir accès à des adresses mémoire connues ( prédites ) pour les utiliser dans des dépassements de tampon, tandis que Data Execution Prevention aide à déjouer des attaques en empêchant du code malveillant d'être exécuté dans la mémoire non-exécutable.


Fichier DLL désuet
Le problème est ici qu'Internet Explorer est forcé à charger un fichier DLL ( mscorie.dll ) afin de traiter certaines balises HTML. Or, pour ce fichier, la protection ASLR n'est pas active. Microsoft explique qu'il n'a pas été compilé avec  /DYNAMICBASE. " Les attaquants utilisent cet adressage prédictible pour se soustraire à ASLR et contourner DEP en utilisant des gadgets ROP depuis ces DLL dans le but d'allouer de la mémoire exécutable, copier leur shellcode et y accéder. "

La technique ROP ( Return Oriented Programming ) consiste à s'appuyer sur la pile des appels afin de pointer vers une fonction d'une bibliothèque logicielle dont l'adresse est connue. Un accès indirect à une zone exécutable est ainsi obtenu.

Ce n'est pas la première fois que ASLR et DEP sont ainsi contournés. Cela avait par exemple été le cas avec une faille dans Adobe Reader. Pour une protection, Microsoft renvoie vers son outil gratuit EMET ( Enhanced Mitigation Evaluation Toolkit ) via lequel il est possible d'avoir recours à ASLR Mandatory afin de forcer une DLL à une autre adresse et donc de bloquer l'exploit. Rappelons néanmoins que Windows XP ne possède pas de protection ASLR.

En fonction de l'évolution de son investigation, Microsoft décidera ou non de publier un correctif en urgence.