Developpez.com

Le Club des Développeurs et IT Pro

Une vague d'attaques menace les applications ASP.NET

Et d'autres frameworks, une faille permettrait de déchiffrer les cookies

Le 2010-09-14 13:46:00, par Idelways, Expert éminent sénior
Mise à jour du 29/09/2010 par Idelways

Microsoft vient de sortir en urgence un correctif pour son Framework web ASP.NET afin de colmater la faille de type Padding Oracles Everywhere (POE) dévoilée par deux chercheurs récemment.

Cette faille permettrait de cracker le système de chiffrement du framework, voler des informations critiques voir dans le pire des cas de s'attribuer des droits d'administrateur (pour plus de détails, lire ci-avant).

Microsoft avait communiqué sur cette faille il y a une dizaine de jours afin de préparer les développeurs et les administrateurs à tester puis à appliquer le patch dès sa sortie.

L'entreprise avait classé cette faille au niveau "Important" (deuxième sur une échelle de quatre), du fait que la vulnérabilité — selon Microsoft — ne permet pas d'exécuter du code.

Le patch s'adresse aux versions 3.5 SP1 et supérieures du framework sur toutes les versions de Windows (desktop ou serveurs). Les installations minimalistes de Windows Server 2008 connues sous le nom de « Server Core » sont aussi concernées par cette faille et donc par ce correctif.

Pour l'instant, le patch n'est disponible que sur Microsoft Download Center, il sera diffusé via Windows Update ultérieurement.

A appliquer le plus rapidement possible donc.

Téléchargez la mise à jour du framework qui inclut le correctif.

Source : le bulletin de sécurité de Microsoft

Et vous ?

Avez-vous été victime de ce genre d'attaques ?
Allez-vous mettre à jour vos serveurs de production ?

Une vague d'attaques menace la sécurité des applications ASP.NET
Et d'autres frameworks, une faille permettrait de déchiffrer les cookies

Les applications-web écrites en ASP.NET pourraient subir une nouvelle vague de crypto-attaques mettant en péril la sécurité des données critiques.

Cette faille, de type « Padding Oracles Everywhere » selon le chercheur en sécurité Juliano Rizzo permettrait aux attaquants de déchiffrer les cookies et d'extirper les statistiques, les mots de passes et les données des utilisateurs (comme le numéro de sécurité social), en fait tout ce qui est chiffré avec l'API du framework.

En mettant la main sur ces données sensibles, un hacker mal intentionné pourrait utiliser l'exploit pour simuler un ticket d'identification et accéder à l'application avec des droits d'administrateur.

Plus techniquement, Juliano explique que l'attaque exploite l'implémentation boguée de l'algorithme de chiffrement symétrique : Advanced Encryption Standard (AES) largement utilisé sur les applications ASP.NET. Le maillon faible étant la gestion des erreurs par ASP.Net lorsque les données chiffrées dans les cookies sont modifiés.

Quand le texte encodé change, l'application vulnérable génère un message d'erreur qui expose des informations relatives au fonctionnement du processus de décryptage.

Plus d'erreurs signifient donc plus d'informations. Analyser plusieurs messages d'erreurs peut fournir à l'attaquant assez d'informations pour deviner la clé de chiffrement.

ASP.Net n'est pas la seule plateforme affectée par ces « padding oracle attacks », une faille par ailleurs connue depuis 2002.

Rizzo et son collègue Thai Duong ont pu démontrer la même faiblesse dans JavaServer Faces, Ruby on Rails et OWASP ESAPI.

Mais nos chercheurs ont – comme ils l'avouent eux-mêmes - choisi de faire du bruit autour de la plateforme de Microsoft afin d'attirer le maximum d'attention sur ce problème, Redmond étant généralement plus sujet aux critiques que les autres frameworks open-source, surtout en matière de sécurité.

Toujours dans le but de sensibiliser, Rizzo et Duong ont conçu et publié un utilitaire gratuit appelé POET (pour Padding Oracle Exploit Tool) capable de détecter cette faille... et de l'exploiter.

Dans un Livre blanc publié en mai dernier, les deux chercheurs espéraient sensibiliser l'ensemble des développeurs au danger de ces exploits et les encourager à les prendre aussi au sérieux que les injections SQL et les attaques type XSS.

En attendant que les développeurs des frameworks réagissent et sortent des patches, les chercheurs ne proposent aucune solution.

Mais ils déconseillent l'utilisation des algorithmes de chiffrement faits-maison, une démarche qu'ils jugent très risquée.

Source : Présentation à la conférence ekoparty Security, Livre blanc sur POA (PDF)

Et vous ?

Connaissiez-vous ce genre d'attaques ? Que faites-vous pour les prévenir sur vos applications web ?

En collaboration avec Gordon Fowler
  Discussion forum
13 commentaires
  • lutecefalco
    Rédacteur
    Quand le texte encodé change, l'application vulnérable génère un message d'erreur qui expose des informations relatives au fonctionnement du processus de décryptage.
    A condition de ne pas utiliser de pages d'erreur custom, non?
    Car c'est un peu la 1ere chose à faire quand on passe en prod
  • ILP
    Membre confirmé
    Envoyé par Idelways
    [...] et d'extirper les statistiques, les mots de passes et les données des utilisateurs (comme le numéro de sécurité social), en fait tout ce qui est chiffré avec l'API du framework.
    Je n'ai jamais saisie mon numéro de sécurité social sur un ordinateur. Et encore moins sur un site Web .
    Est-ce que cette news est en rapport avec celle affirmant que l'État ne sécurise pas assès ses serveurs Web ?
  • Gordon Fowler
    Expert éminent sénior
    Envoyé par Bart-Rennes
    Même si l'info indique sur 1 ligne que ça affecte d'autre Framework (Ruby, javaserver,...) je trouve ça très à la mode journalistique du moment: faire du sensationnel à tout prix
    Comme il est très à la mode de se faire mousser en crachant sur des news

    Une faille touche des frameworks - dont ASP.NET - et alors ? On en parle pas ? On dit pas que la faille touche les autres frameworks ?

    Le gars fait un PoC et on la ferme ?

    C'est la définition du sérieux ?

    Non mais vraiment...
  • p1k1
    Membre du Club
    Je n'ai jamais saisie mon numéro de sécurité social sur un ordinateur. Et encore moins sur un site Web .
    Regardes donc sur ameli.fr si tu n'as pas besoin de le saisir...
  • stailer
    Membre chevronné
    OUais mais la y aura aucun souci, c'est du PHP
  • Bart-Rennes
    Membre habitué
    Envoyé par Gordon Fowler
    Comme il est très à la mode de se faire mousser en crachant sur des news

    Une faille touche des frameworks - dont ASP.NET - et alors ? On en parle pas ? On dit pas que la faille touche les autres frameworks ?

    Le gars fait un PoC et on la ferme ?

    C'est la définition du sérieux ?

    Non mais vraiment...
    Et pourquoi un titre qui cible l'ASP.NET ? en aucun cas je dis qu'il ne faut pas balancer l'info, il y a juste une façon de rapporter l'information et une façon de la grossir...
    Pourquoi pas simplement: Une vague d'attaques menace la sécurité des applications web
  • kaymak
    Membre émérite
    Envoyé par stailer
    OUais mais la y aura aucun souci, c'est du PHP
    Qui sait
    http://www.owasp.org/index.php/Categ...ty_API#tab=PHP

    Et pourquoi un titre qui cible l'ASP.NET ? en aucun cas je dis qu'il ne faut pas balancer l'info, il y a juste une façon de rapporter l'information et une façon de la grossir...
    Pourquoi pas simplement: Une vague d'attaques menace la sécurité des applications web
    Toutes les applications webs ne sont pas vulnérables à cette faille, c'est pas la peine de les mettre toutes dans le même panier

    Maintenant je pense que la réponse à ta question est dans la news.

    Mais nos chercheurs ont – comme ils l'avouent eux-mêmes - choisi de faire du bruit autour de la plateforme de Microsoft afin d'attirer le maximum d'attention sur ce problème, Redmond étant généralement plus sujet aux critiques que les autres frameworks open-source, surtout en matière de sécurité.

    ...

    Dans un Livre blanc publié en mai dernier, les deux chercheurs espéraient sensibiliser l'ensemble des développeurs au danger de ces exploits et les encourager à les prendre aussi au sérieux que les injections SQL et les attaques type XSS.

    après y'en à qui font la news, et d'autres qui la rapportent.
    a plus
  • ILP
    Membre confirmé
    Envoyé par stailer
    OUais mais la y aura aucun souci, c'est du PHP
    La partie https://assure.ameli.fr aussi ?
    Le serveur ne donne aucune information à ce sujet.
  • stailer
    Membre chevronné
    Cool les gars, j'ai dit cette phrase pour "plaisanter", humour humour

    J'ai un temps était passionné de Java et aujourd'hui passionné de Dotnet et PHP.
    J'essaie de rester le plus objectif possible par rapport à ces 2 plateformes très différentes mais que j'apprécie tout autant.

    Des 2 côtés il y a, et il y aura encore des soucis de sécurité. Comme dirait un ami : "dès qu'un tuyau est ouvert, tout est possible". Et je suis bien d'accord : dès qu'une appli ou plus largement un réseau est ouvert au web il faut être extrêmement vigilant.

    Bref, il est inutile de se focaliser sur la plateforme de microsoft, je pense que du côté d'Apache et Linux aussi il y a de quoi dire et de nombreux sujets ont été écrits également sur des problèmes de sécurité (et bien sur PHP y compris pour faire la comparaison avec ASP.NET).
  • ixpe
    Membre averti
    Il me semble qu il existe un mecanisme tout simple en dot net pour prevenir ce genre de probleme non?
    Un petit :
    Code :
    <customErrors mode="On"/>
    dans le web config et on aura un joli message generique pour chaque erreur du genre :

    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.