vBulletin stats
November, 2009 - Christophe Lauer, My Microsoft Life - Site Home - MSDN Blogs

Christophe Lauer, My Microsoft Life

Think Different. Think for Yourself.

November, 2009

Posts
  • Christophe Lauer, My Microsoft Life

    Sécurité des sites et applications Web : le problème est entre la chaise et le clavier, et ça ne s’améliore pas

    • 13 Comments

    Au début du l’essor du Web, il y a dix ans, il était courant que les problèmes de sécurité les plus graves viennent de bugs ou de failles présents dans les systèmes d’exploitation, les serveurs HTTP, les serveurs d’applications et autres composants “système”, ceux-là même sur lesquels les ingénieurs système, les DBA et les développeurs n’ont pas la main.

    Avec le temps et la répétition de ces problèmes de sécurité, l’ensemble de éditeurs et des fournisseurs de ces couches basses a fait son travail et il est communément accepté aujourd’hui dans le monde de la sécurité et des hackers que les systèmes d’exploitation, serveurs HTTP et serveurs d’applications ont fortement gagné en robustesses et deviennent beaucoup plus difficiles à attaquer que par le passé.

    On serait donc tentés de penser qu’avec maintenant 10 ans de recul et d’expérience accumulés sur le web, l’industrie et les écosystèmes du Web ont atteint une maturité qui confère aux sites et aux applications Web un niveau de sécurité confortable.

    Pourtant, à y regarder de plus près, il semble bien justement qu’il n’en soit rien au niveau de certaines pratiques de codage dangereuses encore trop souvent utilisées par des développeurs. A croire que l’éducation en la matière ne porte pas ses fruits.

    En Février 2004, je publiais ainsi un billet sur mon blog de l’époque (en Anglais) qui reflétait les résultats d’une enquête qui venait d’être publiée et dont les conclusions étaient que “seulement 10% des applications Web étaient protégées des techniques de hacking les plus courantes”. Si l’étude de la société WebCohort a depuis disparu, mon billet avait reproduit le tableau suivant :

    Most Common Application Layer Vulnerabilities (Source: Webcohort)

    Attack Percent vulnerable
    Cross-site scripting 80%
    SQL injection 62%
    Parameter tampering 60%
    Cookie poisoning 37%
    Database server 33%
    Web Server 23%
    Buffer overflow 19%

     

    En début de mois de Novembre 2009, donc cette année, et pratiquement cinq ans après l’étude suivante, une nouvelle étude publiée par Cenzic montre que la situation ne s’est pas améliorée, pire, elle se serait dégradée par rapport à 2008. Je cite :

    “The number of software vulnerabilities detected has risen to the point that almost 9 out of 10 Web applications have flaws that could lead to the exposure of sensitive information.

    Cenzic's "Web Application Security Trends Report Q1-Q2, 2009" report, released on Monday, says that more than 3,100 vulnerabilities were identified in the first half of the year, 10% more than the number identified in the second half of 2008.”

    Si je lis bien “9 out of 10” ça fait donc 10% soit le même chiffre qu’en 2004.

    En Février dernier, c’est l’ami Fred de Villamil qui se fait l’écho sur son blog du rapport annuel de CWE qui liste et explique le Top 25 des erreurs de sécurité dans les applications Web. Allez, on regarde vite fait le haute de la liste :

      1. Mauvais filtrage des données envoyées par les utilisateurs
      2. Mauvais encodage ou échappement des données en sortie
      3. Injections SQL
      4. Cross Site Scripting (ou XSS)
      5. Injection de commandes directement exécutables par le système d’exploitation (system() ou exec())
      6. CSRF
      7. Race conditions
      8. Divulgation d’informations dans les messages d’erreur (comme le PATH dans lequel est installée votre application web)

    Comparez avec le tableau datant de 2004. Effarant, non ?

    Plus récemment encore, c’est l’organisme OWASP (= Open Web Application Security Project) qui publie le très didactique rapport de ton Top10 des failles dans les applications Web, un véritable document de référence que chaque chef de projet ou team manager devrait passer une journée à lire et à travailler avec ses équipes de développement. Si j’étais encore chef de projet, c’est certain que j’aurais déjà conduit cette initiative avec mes équipes.

    Rapport OWASP “The 10 Most Critical Web Application Security Risks, ed. 2010” – PDF, 21 pages

    Vous pouvez le télécharger ici, l’imprimer, le distribuer à vos équipes, le publier sur votre intranet ou dans votre wiki projet, etc… Faites tourner !

    Si ce rapport vous intéresse et que vous voulez entrer en contact avec un représentant de l’OWASP : contactez Sébastien Gioria de ma part (twitter @SPoint). Sébastien est un consultant indépendant en sécurité informatique, et il est également le représentant en France de l’OWASP.

    [Edit] Sébastien Gioria nous signale en commentaire que le rapport de l'OWASP Edition 2007 est disponible en Français ici. L'édition 2010 en Français devrait aussi arriver sous peu... A suivre.

    Durant notre récente journée de Conférence Web, organisée le 17 Novembre dernier chez Microsoft France, la dernière session de l’après-midi était animée par François Sutter, le Directeur Technique de l’agence Blue acacia et portait justement sur les questions de sécurité des applications Web. François a publié sa présentation (légèrement expurgée ;)) sur Slideshare. Vous pouvez donc la consulter, surtout si la lecture de l’Anglais n’est pas votre fort, car elle est en Français contrairement aux documents précédents.

    La session de François Sutter a rencontré un vif succès parmi les participants : pour plusieurs d’entre eux, ça a été comme un choc, une révélation. En effet, on constate dans “la profession” un nombre croissant d’acteurs qui viennent de divers horizons et arrivent au développement Web parce que c’est facile en apparence.

    De même que passer son permis de conduire ne fait pas de vous un mécanicien, le fait de déployer un moteur de CMS ou un blog sur un serveur ne fait pas de vous un développeur ou un informaticien “pro”. Et du fait, beaucoup utilisent des outils dont ils ne maitrisent pas tous les aspects et ignorent tout simplement parfois dans quelle mesure ils peuvent présenter des risques, non seulement pour eux, mais surtout pour leurs clients !

    Les cas et les anecdotes présentés en session par François étaient édifiants : sites de eCommerce sur lesquels on peut faire ses prix soi même, moteur de CMS hackables avec un simple navigateur et dans lesquels on peut entrer en admin en deux temps et trois mouvements, sites sur lesquels on peut récupérer des dumps et des backups avec tous les fichiers clients et les mots de passe, jusqu’aux numéros de CB stockés en clair (un procédé très étroitement encadré par la loi, rappelons-le). Bref, la liste est longue.

    Et personne ne semble être à l’abri. La semaine dernière, c’est l’éditeur Symantec – pourtant un spécialiste des solutions de sécurité – qui a connu une telle mésaventure : faille sur leur site Web, récupération des fichiers clients et de listes de serials de produits. C’est la fête ! La faille ? Une banale Injection SQL, top 2 et top 3 dans les tableaux ci-dessus. Tellement banal !

    Faites le test du “or 1=1” chez vous, sur le login/password de votre site Web, et vous verrez…

    Essentiellement, le problème vient entre la chaise et le clavier : l’homme, qu’il soit développeur, “webmaster” ou ingénieur système. Mais loin de moi l’idée de leur jeter la pierre. L’objet de ce (long) billet est d’attirer l’attention de chacun sur le besoin d’éducation sur le sujet, passant par la formation des développeurs et des IT Pros, et par la mise en place dans chaque équipe de développement de processus de revue de code, ou encore de mise en place de “bonnes pratiques” au sein du code, clairement documentées et expliquées.

    Et vous, chez vous, quelles pratiques avez-vous mises en oeuvre pour traiter ces problèmes ? J’attends vos commentaires avec impatience ;)

    [Edit du 15/01/2010] : En complément à ce billet, et pour entrer plus concrêtement dans les détails techniques des différentes techniques courants et des moyens de s'en prémunir, je vous conseille la lecture de la traduction en Français réalisée par Frédéric de Villamil d'un très bon article publié sur le non moins excellent site Smashing Magazine. Enjoy :)

  • Christophe Lauer, My Microsoft Life

    Conférence Développeurs PDC09 : Une semaine riche en nouveautés pour la plate-forme Web Microsoft

    • 0 Comments

    PDC09Bling_BeforeAfter_240 La Conférence Développeurs Microsoft PDC’09 que je vous avais annoncée et présentée sur ce blog a donc eu lieu du 17 au 19 Novembre dernier à Los Angeles.

    Bien entendu, elle a été l’occasion de nombreuses annonces et de la sortie de nouvelles technologies en pré-versions pour certaines, et en version finale pour d’autres, comme l’annonce majeure portant sur la disponibilité commerciale de la plateforme de Cloud Computing : Windows Azure.

    Au rayon des pré-versions, la PDC09 a été l’occasion de voir apparaître la première Bêta de Silverlight 4, moins de cinq mois après la release de la version finale de Silverlight 3, le 10 Juillet dernier. Mais nous aurons l’occasion de revenir plus en détails spécifiquement sur le contenu et les apports de cette pré-version de Silvelright 4.

    Pour les plus gourmands parmi vous : voici quelques avant goûts en Anglais, ici et ici.

    Mais revenons au sujet de ce billet…

    La semaine a été très riche en annonces et sorties de toutes sortes concernant la plate-forme Web Microsoft. Voici un aperçu des annonces qui ont retenu mon attention :

    Le module PHP WinCache dispo en version finale

    Je vous avais parlé de la pré-version de ce cache de op-code PHP pour Windows en Septembre sur ce même blog. Voilà ce module maintenant en version finale et disponible pour être mis en oeuvre sur vos serveurs de production. Voilà l’annonce et pour le téléchargement c’est par là ou via Web PI.

    IIS SEO Toolkit V1 Finale est disponible

    Il s’agit d’un outil qui analyse la structure et le contenu de vos sites Web et vous fournit des conseils et recommandations afin de mettre en place des optimisations pour le référencement naturel dans les moteurs de recherche. Tous les détails ainsi qu’une vidéo explicative (4’30” en Anglais) dispo depuis cette page. Disponible pour les versions 32 bits et 64 Bits de IIS, et via Web Platform Installer.

    ASP.NET Ajax Library, une première bêta est disponible

    L’annonce est faite via un billet très détaillé sur le blog de James Senior, qui vous présente cette librairie Open Source qui sera fourni sous une licence BSD mais surtout qui est le premier projet de la CodePlex Foundation et pourra ainsi accepter des contributions externes. Contrairement à l’ASP.NET Ajax Control Toolkit (ACT) que vous connaissiez peut être avant, celle-ci n’a pas de dépendance vers ASP.NET et peut être utilisée avec tous les langages server-side (PHP, Perl, Ruby, etc.) et elle peut aussi être combinée à d’autres frameworks Ajax comme par exemple JQuery.

    IIS Application Request Router v2 Finale

    Là on entre dans le très sérieux d’un module redoutablement puissant pour toutes celles et ceux qui ont des sites à fort traffic avec des infras répliquées sur plusieurs serveurs frontaux, éventuellement dans différentes géographies (ie les CDN = Content Delivery Networks, à l’instar de Akamai, Level3 ou encore Limelight). Ce module apporte des fonctionnalités de routage et de load-balancing de requêtes HTTP pour vos sites et applications avec IIS. La version 2 apporte un support particulier de la technologie Smooth Streaming, permettant le streaming vidéo adaptatif en HD. Tous les détails sur ce blog, et je vous conseille de regarder la vidéo sur cette page pour mieux comprendre de quoi il s’agit.

    ASP.NET MVC 2 Bêta

    Et on terminera cette liste de nouveautés avec la dispo de la première Bêta de la v2 du framework ASP.NET MVC. Tous les détails dans ce billet.

    J’en ai oublié ?



  • Christophe Lauer, My Microsoft Life

    PDC09 : La conférence développeurs Microsoft de l’année démarre Mardi 17. Suivez les news !

    • 0 Comments

    Après le lancement de Windows 7 et la grosse actualité de l’année pour Microsoft et son écosystème passera par la conférence PDC09 (PDC = Professional Developer’s Conference") qui démarrera Mardi 17 Novembre à Los Angeles.

    HomepagePDC09

    La PDC contrairement à une idée reçue n’est pas une conférence annuelle. Elle est organisée et se tient quand “l’actualité” technique autour des produits et technologies Microsoft le justifie. Ainsi, les précédentes éditions de la PDC ont eu lieu en 2001, 2003 et 2005 (j’ay assisté à ces trois éditions) puis ensuite plus rien jusqu’en 2008, l’an dernier une édition à laquelle je n’ai pas assisté mais dont on a pu suivre les retransmissions en live des sessions de Keynote.

    Le keynote de la PDC08 avait été l’occasion en particulier le lever un coin du voile sur la stratégie et la future plateforme de Cloud Computing de Microsoft : Windows Azure et les Azure Services Platform, sans oublier les annonces autour de “Microsoft Online”. J’avais à cette occasion rédigé un billet de synthèse sur ce même blog.

    La prochaine PDC démarrera donc Mardi 17 à Los Angeles et arrivera avec son lot d’annonces et de nouvelles pré-versions Bêta tous azimuts, et pourrait aussi être l’occasion d’un lancement final d’une offre majeure. Enfin c’est ce qui se dit.

    Si vous vous intéressez aux technologies Microsoft, comme les solutions tactiles (Table Surface, Windows 7), ou les applications RIA avec Silverlight, mais surtout le Cloud Computing et les solutions de productivité personnelle et de collaboration, je vous incite vivement à suivre la retransmission en vidéo live HD du keynote d’ouverture de la conférence, et à ajouter les flux qui vont bien dans vos lecteurs et autres comptes de réseaux sociaux :

    Enjoy!



Page 1 of 1 (3 items)