Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNStratégie - que...Stratégie - que...IMPORTANT : Vulnérabilité sérieuse ASP.NET et DotNetNukeIMPORTANT : Vulnérabilité sérieuse ASP.NET et DotNetNuke
Précédente
 
Suivante
Nouveau message
19/09/2010 06:08
 
Bonjour,

Depuis quelques jours, si comme moi vous passez votre vie derrière un écran, une nouvelle très inquiétante circulait sur Internet disant que tout site web utilisant un framework tel qu'ASP.NET et donc DotNetNuke par extension, mais aussi JSP était exposé à une sérieuse vulnérabilité. En exploitant une technique connue depuis 2002 dite de l'Oracle, les frameworks utilisant un cryptage symètrique pour leurs données sensibles (mot de passe, View State, CAPTCHA, etc.) pourraient être décrypté assez facilement. Ceci, vous le devinez, expose quasiment tous les sites modernes de la planète !

Ces deux "soit disant" chercheurs en sécurité, ont voulu réserver la primeur des détails de leur découverte pour la conférence ekoparty qui a eu lieu vendredi dernier à Buenos Aires. Je précise "soit disant" entre guillemets - et ceci n'engage que moi - car il s'agit plutôt de deux petits connards à qui l'on devrait botter le cul sérieusement ! Tout expert réel en sécurité respecte une ethique professionnelle et fourni les données de ses recherches aux éditeurs de logiciels AVANT de les révéler au grand public ! Ceci permet d'éviter les fameux "Zero days" et d'exposer inutilement les utilisateurs aux risques de piratage. Pire, l'un de ces petits cons, a même indiqué sur Twiter qu'ils feraient la démonstration de la vulnérabilité d'ASP.NET sur ... DotNetNuke !!! Non seulement c'est ce qu'ils ont fait à la conférence, mais ils ont aussi publié une vidéo sur YouTube ainsi que des outils pour faciliter encore la tâche des pirates !

Evidement, Microsoft et tous les grands éditeurs y compris le team DotNetNuke ont sûrement passés une sale nuit ainsi qu'un très mauvais week-end. Pour ma part, j'ai eu quelques échanges avec Cathal Connolly en charge de la sécurité chez DotNetNuke Corp suite à son premier blog ainsi que par courriel. Scott Guthrie de chez Microsoft a aussi publié un billet sur son blog, suivi de plusieurs autres alertes sur les différents sites relatif à la sécurité chez Microsoft.

Vous pouvez lire le second blog de Cathal expliquant comment se protéger sur le site de DNN US. Il reprend globalement les informations du blog de Scott Guthrie avec quelques explications spécifiques à DNN pour déterminer facilement la version de votre framework .NET utilisé. Par ailleurs, Shaun Walker (le créateur de DNN) a lui aussi publié un billet expliquant pourquoi le site US a été arrêté plusieurs heures afin de le protéger pour éviter que les données des comptes utilisateurs (entre autres) puissent être exposées. Soyez assuré que le team DNN travaille en étroite relation avec les équipes concernées chez Microsoft et que ces dernières préparent un correctif dont la disponibilité n'est pas encore annoncée. Dans les jours qui viennent, une version 5.5.1 de DNN corrigeant la vulnérabilité sera publiée sur Codeplex.

Pour les non Anglophones, voici les étapes à suivre pour protéger vos instances de DNN ainsi que toutes applications ASP.NET (y compris SharePoint) :

Spécifique DNN
  1. Connectez-vous en tant que host sur votre instance DNN.
  2. Allez dans le menu Hôte > Configuration.
  3. Dans la première section Paramètres de base > Informations sytème, notez le numéro du framework .NET utilisé.

Commun à toutes les applications ASP.NET

Pour les versions : 1.0, 1.1, 2.0 et 3.5 suivez la procédure 1 ci-après.
Pour les versions : 3.5 SP1et 4.0 suivez la procédure 2.

Commencez par arrêter votre site ! Le plus simple étant d'arrêter le service de publication web de Windows Server, ce qui aura pour effet d'arrêter tous les sites présents sur ce serveur. Alternativement, arrêter le site via IIS.

Procédure 1

  1. Ouvrir le fichier web.config qui se trouve à la racine du site.
  2. Rechercher la chaîne "customErrors".
  3. Vous devriez avoir la ligne suivante utilisé par défault :
    <customErrors mode="RemoteOnly" />
  4. Remplacer celle-ci par la ligne suivante :
    <customErrors mode="On" defaultRedirect="~/error.html" />
  5. Créer une simple page HTML conforme avec votre éditeur favori indiquant qu'une erreur est survenue sans plus de détail.
  6. Placer cette page à la racine de votre site.
  7. Redémarrer le service ou le site via IIS.
  8. Dormez tranquille, c'est tout !

Procédure 2

  1. Ouvrir le fichier web.config qui se trouve à la racine du site.
  2. Rechercher la chaîne "customErrors".
  3. Vous devriez avoir la ligne suivante utilisé par défault :
    <customErrors mode="RemoteOnly" />
  4. Remplacer celle-ci par la ligne suivante :
    <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.aspx" />
  5. Créer une simple page ASPX conforme avec votre éditeur favori indiquant qu'une erreur est survenue sans plus de détail. Un exemple de page plus défensive est disponible sur le blog de Scott Guthrie cité plus haut.
  6. Placer cette page à la racine de votre site.
  7. Redémarrer le service ou le site via IIS.
  8. Dormez tranquille, c'est tout !

Je continue de suivre cette affaire de très près et vous tiendrais informé des évolutions. En attendant, je vais aller me coucher car il est bien tôt !

Votre dévoué,

Gilles Le Pigocher

 
Nouveau message
19/09/2010 16:04
 
Merci, pour l'info !
J'ai sécurisé toutes mes instances.
Mais pour reprendre ce que tu as écrit, il semblerait qu'ils n'aient pas mis à disposition l'outil qu'ils utilisent pour obtenir le cookie.
Merci encore.
Manu

www.avenir-numerique.fr
 
Nouveau message
19/09/2010 16:31
 
Bonjour Manu,

Sur leur site, une version est disponible pour attaquer les sites JSP. En revanche, l'un d'eux a clairement indiqué sur son fil Twiter que la version ASP.NET avait été téléchargée plus de 500 fois en 1 heure juste après la démonstration à la conférence. Compte tenu qu'une information quelconque se diffuse de façon exponentielle sur Internet, il faut s'attendre a trouver ce script Phyton un peu partout très rapidement.
Pour ma part, je suis un adèpte du "Mieux vaut prévenir que guérir" ! Toutefois, la solution proposé par Microsoft et reprise ici même n'est pas parfaite. Je ne vais pas donner des idées à d'autres petits cons en expliquant pourquoi, mais elle a au moins le mérite d'être simple à mettre en oeuvre. La seule véritable solution viendra de Microsoft lorsqu'ils auront corrigé la façon dont répond leur algorythme de décryptage.

Gilles
 
Nouveau message
19/09/2010 18:23
 
Merci à toi pour cette info !

David.
 
Nouveau message
19/09/2010 20:01
 
Si vous avez un firewall, surveillez vos logs et réglez la détection des attaques de type DoS car cette faille génère obligatoirement un grand nombre de requêtes AVANT que l'exploit lui-même puisse aboutir...
Et mettez vos systèmes à jour ! Toujours !
 
Nouveau message
20/09/2010 09:13
 
Vous trouverez sur le site de microsoft sur la sécurité un script très pratique qui vous permettra de valider tous les sites actifs sur votre serveur et possiblement exposé à la faille par l'inspection du fichier web.config.

Pour l'utiliser, rendez-vous sur cette page, copiez le code VBS s'y trouvant, créez un fichier test.vbs et déposez le sur votre serveur et via l'invite de commande, lancez-le.
Il va déterminer les fichiers web.config à modifier/patcher.
 
Nouveau message
20/09/2010 09:31
 
Autre info : si comme moi vous avez des serveurs sous windows exploitant PHP ou d'autre, sachez que la faille n'est pas exploitable dans ce cadre car elle ne touche QUE les extensions exploitant .NET comme .aspx ... pour l'instant !

J'en profite également pour faire une mise au point et compléter le propos de Gilles : la faille a été mise en évidence sous ASP.NET mais touche ou touchera tous les systèmes faisant appel au cryptage symétrique (ASP.NET n'est pas le seul !) puisqu'il s'agit d'exploiter un mécanisme propre à cette technologie par le biais du mécanisme dit de "l'oracle".
DotNetNuke est le framework qui a été ciblé pour mettre en évidence cette faille par les deux "gugus" car c'est le framework sous Windows le plus utilisé à travers le monde et qu'il utilise le cryptage symétrique pour son mécanisme de sécurité.
Ce n'est pas une faille de DotNetNuke !
 
Nouveau message
24/09/2010 05:17
 
Bonjour,

La version 5.5.1 de DotNetNuke est disponible sur Codeplex. Elle corrige et ajoute des tests pour éviter l'exposition à l'attaque précédement citée. dans les jours qui viennent, un module sera disponible pour la version 4.9.5 afin de proteger les anciennes versions. Pour le moment seule cette version est ciblée mais je n'ai pas plus d'information sur la compatibilité avec des versions précédentes.

Gilles
 
Nouveau message
29/09/2010 01:42
 
Bonjour,

Microsoft vient de publier le patch pour toutes les versions de Windows et de .Net, il sera bien sûr diffusé via Windows Update !!!
Pour ceux qui veulent se protéger le plus rapidement possible (environnements critiques), rendez-vous sur ce bulletin de sécurité (en Anglais) afin de télécharger votre version. Attention, il y a un patch différent par version de Windows et de .Net donc pas mal de combinaisons.

Ceci clos, pour le bien de tous, cet épisode malheureux.

Gilles
 
Nouveau message
02/10/2010 01:54
 
Bonjour,

C'est officiel, le patch de sécurité est maintenant déployé via Windows Update. N'oubliez donc pas de vérifier qu'il soit bien sélectionné ! Pour plus d'informations, veuillez lire ce post (en Anglais) sur le blog de Scott Guthrie.

Gilles
 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNStratégie - que...Stratégie - que...IMPORTANT : Vulnérabilité sérieuse ASP.NET et DotNetNukeIMPORTANT : Vulnérabilité sérieuse ASP.NET et DotNetNuke