Silverlight ou comment surfer à travers .NETThomas Caplin

Silverlight est développé en .NET, il repose donc sur le framework Microsoft éponyme mais il embarque en plus sa propre machine virtuelle et son propre modèle de sécurité.

En conséquence, sa surface d’attaque est assez large :

  • le framework .NET lui-même ;
  • le coeur de Silverlight ;
  • les bibliothèques natives Windows utilisées par Silverlight.

Une attaque se réalise comme avec les modèles de sécurité classiques des plugins et navigateurs Web, côté client : un site Web malicieux profite d’une vulnérabilité pour héberger une application Silverlight malicieuse et compromettre ainsi tous les clients qui se connectent sur le site en ayant un framework Microsoft .NET ou un plugin Silverlight vulnérables. Dans une première partie, nous introduirons le modèle de sécurité de Silverlight, ainsi que les différentes couches sur lesquelles l’application repose afin d’identifier les diverses sources d’attaques potentielles. Ensuite, nous étudierons une vulnérabilité du framework .NET impactant directement Silverlight. Il s’agit du CVE-2010-1898. Ce type de vulnérabilité étant spécifique à la machine virtuelle Microsoft, nous expliquerons à l’assistance l’origine de cette vulnérabilité ainsi que son danger.

Dans une troisième partie, nous montrerons comment exploiter une vulnérabilité de ce type. Nous avons écrit un exploit permettant l’exécution de code sur la machine, et nous verrons que les protections