![]() |
CERTA Centre d'Expertise Gouvernemental de |
![]() |
|
Affaire suivie par : CERTA Objet : Bulletin d'actualité
2008-37
Gestion du documentLe bulletin d'actualité est disponible dans son intégralité et au format PDF à l'adresse suivante : http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-037.pdf Un extrait du bulletin, ne reprenant que les articles de la semaine, se trouve en HTML à l'adresse suivante : http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-037/ 1 Incidents traités cette semaine1.1 Données oubliéesCette semaine, le CERTA a eu l'occasion de traiter un incident dû à un oubli de l'administrateur d'un site Internet. Lors d'une modification de son site web, l'administrateur avait placé dans un répertoire temporaire une sauvegarde des informations contenues dans une base de données. Une fois son travail effectué, la personne a oublié de nettoyer les données présentes dans le répertoire et ces dernières se sont retrouvées sur l'Internet, accessible à tous. Le CERTA rappelle qu'il est important de vérifier régulièrement le contenu des sites Internet afin de détecter ce type d'oubli ou une éventuelle modification du site. Il existe pour cela différents outils permettant de vérifier l'arborescence d'un site ou de contrôler l'intégrité des pages. Dans le cas présent, les fichiers laissés dans le répertoire temporaire se sont retrouvés indexés par les moteurs de recherche facilitant ainsi les divulgations. Le CERTA insiste également sur la nécessité de régulièrement inspecter les journaux d'événements afférant à l'activité des visiteurs du site web. Cette analyse peut permettre de détecter des comportements suspects et de révéler des données disponibles depuis l'Internet alors que ces dernières devraient être inaccessibles ou tout simplement effacées. 2 Un comportement de MySQL : "la troncature des données"Lors de l'insertion d'une chaine de caractères de longueur supérieure à celle d'une colonne de taille fixe (ex: char(10)), la chaîne est tronquée avant d'être insérée et l'avertissement (warning) 1265 est levée. Dans la pratique cet avertissement est tout simplement ignoré. Ce comportement mal contrôlé est utilisé dans une exploitation de vulnérabilité mise en ligne cette semaine et visant WordPress. Il est possible de modifier la configuration de la base pour que l'erreur bloquante 1405 soit levée plutôt qu'un avertissement. Pour cela il faut ajouter le mode "STRICT_ALL_TABLES" au serveur. Le CERTA recommande que les variables soient vérifiées avant toute utilisation. Ce contrôle doit avoir lieu au niveau du code du serveur et ne pas reposer sur des limitations de formulaires (taille de champs) ou des scripts de la page, ceux-ci pouvant être facilement contournés. 2.1 Exemple de troncature et de configuration
mysql> create table coltrunc(nom char(5));
mysql> insert into coltrunc(nom) values("12345");
Query OK, 1 row affected (0.00 sec)
mysql> insert into coltrunc(nom) values("123456");
Query OK, 1 row affected, 1 warning (0.00 sec)
On remarque ici l'alerte qui est consultable avec show warnings mysql> show warnings ; +---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1265 | Data truncated for column 'nom' at row 1 | +---------+------+------------------------------------------+ mysql> select * from coltrunc ; +-------+ | nom | +-------+ | 12345 | | 12345 | +-------+ Effectivement la consultation de la table retourne bien deux valeurs identiques. On modifie alors le mode du serveur et en essayant d'insérer une donnée trop grande, on obtient une erreur.
mysql> set sql_mode='STRICT_ALL_TABLES';
mysql> insert into coltrunc(nom) values("123456");
ERROR 1406 (22001): Data too long for column 'nom' at row 1
Dans le cas des vulnérabilités identifiées et corrigées cette semaine, le principe est identique à l'exemple mais s'applique aux tables utilisateur. L'exploitation de cette faille permet d'ajouter de nouvelles entrées pour l'utilisateur admin illégitimes (l'exploitation dépendant fortement de l'index et des clés primaires utilisés pour la table). 2.2 Documentation
3 Pages indiscrètesCette semaine, le CERTA a prévenu plusieurs administrations que certains de leurs sites contenaient des pages indiscrètes. Dans ce cas précis, il s'agissait de contenus de répertoires visibles, ce qui peut se produire lorsqu'il n'y a pas de fichier d'index (fichier défini par DirectoryIndex dans Apache et « document par défaut » dans l'onglet « Documents » de IIS). Si, dans la plupart des cas, la possibilité de visualisation du contenu des répertoires ne pose pas un grand risque pour un site, une bonne pratique est toutefois de la désactiver. En effet, cela peut faciliter la découverte par une personne malintentionnée des éléments suivants :
D'une manière générale, les serveurs doivent être configurés pour cacher un maximum d'informations sur leur fonctionnement. Pour désactiver l'affichage du contenu des répertoires (et provoquer l'affichage d'une erreur HTTP 403) dans Apache, il faut désactiver l'option Indexes : <Directory monrépertoire/> Options -Indexes ... </Directory>Les options des répertoires sont héritées et celle-ci n'est pas désactivée par défaut. Dans IIS 6.0, il faut décocher la case « Exploration du répertoire » (ou « Directory Browsing ») dans les options de sites Internet, ce qui semble être le cas par défaut. 4 Traitement d'un rootkit sous WindowsCette semaine, le CERTA a traité le cas d'une machine sous Windows XP SP3 sur laquelle était installée un rootkit (ensemble d'outils modifiant le comportement du système, typiquement pour camoufler l'activité d'un intrus). L'objet de cet article est de présenter deux approches différentes pour nettoyer la machine, avec leurs avantages et inconvénients. 4.1 Réinstallation complète du systèmeLorsqu'une machine est compromise, le CERTA préconise généralement une réinstallation complète du système. Cette méthode présente l'avantage de faire disparaître tous les éléments susceptibles de modifier le système. Elle est particulièrement bien adaptée aux systèmes Linux, mais elle présente quelques inconvénients sous Windows :
4.2 Nettoyage du système en supprimant le rootkitLa suppression simple des codes malveillants semble être une solution séduisante (mais déconseillée) car relativement rapide. Toutefois, elle se heurte à quelques problèmes. En effet, le rootkit découvert dans cette affaire modifiait le comportement des routines ZwxXx, ce qui avait pour effet d'empêcher la désinstallation des fichiers concernés, ainsi que des clés de registre. La méthode choisie consiste donc à redémarrer sur un autre système. Plusieurs possibilités s'offrent à nous, notamment :
Cette méthode permet d'effacer les codes malveillants, mais il faut encore effectuer une étape supplémentaire qui consiste à purger la base de registre de toute référence aux fichiers effacés. 4.3 ConclusionLa suppression du code malveillant semble être très séduisante de prime abord, car elle permet de s'affranchir des diverses réinstallations. Elle se révèle toutefois plus compliquée car elle nécessite de disposer d'un second système sain, et que l'on ne peut jamais être sûr que le code malveillant est intégralement désinstallé. Au final, la réinstallation complète du système ne prend pas forcément beaucoup plus de temps, mais est en revanche susceptible d'engendrer une confusion importante dans le système de fichiers, notamment au niveau des comptes utilisateur. 5 La problématique des mises à jour automatiquesLe CERTA rappelle très souvent qu'il est important d'appliquer des correctifs de sécurité afin d'avoir un système et des applications à jour. Cette remarque avait également fait l'objet d'une note d'information CERTA-2001-INF-004, « Acquisition des correctifs ». L'objet de cet article n'est pas de rappeler une nouvelle fois ce bon principe, mais de souligner qu'il est important de bien maîtriser cette étape dans le cadre d'une gestion d'un parc informatique. Les composants physiques vendus dans le commerce, tout comme les applications installées sur les machines, offrent souvent la possibilité de faire des mises à jour automatiques. Citons à valeur d'exemple : des points d'accès sans-fil, des applications de bureautique, des navigateurs, des lecteurs de fichiers PDF, etc. Ce choix de mise à jour automatique est proposé par défaut dans plusieurs installations. Il est également choisi par l'administrateur car il permet de s'affranchir de la vérification périodique d'annonces de mises à jour. Derrière cette apparente simplification des tâches se cache un problème de sécurité plus important : ce processus de mise à jour doit être compris et maîtrisé. Pour chacune des mises à jour, il faut pouvoir répondre aux questions suivantes :
Comment faire pour parvenir à répondre aux questions précédentes ? Voici quelques éléments de réponse :
Si ces différentes approches ne permettent pas de répondre, alors il faut considérer l'étape de mise à jour comme une tâche obscure sur et depuis le système. La plus grande méfiance doit être accordée à ce dernier. Il ne peut plus être considéré comme un système de confiance au sein du réseau.
|
![]() |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||