Developpez.com

Le Club des Développeurs et IT Pro

Quels outils d'analyse de code source utilisez-vous pour découvrir les problèmes de sécurité ?

Venez partager votre expérience

Le 2010-11-18 14:22:58, par parrot, Membre averti
Venez partager votre expérience avec la communauté Développez


Il existe des outils analysant le code source afin d'y détecter des erreurs de programmation ou même des problèmes de sécurité. Certains sont gratuits (FindBug, PMD pour java, FxCop pour dotNET), d'autres commerciaux et très chers (IBM Rational AppScan Source, HP Fortify,...).

A l'heure où les attaques sur les applications internet se multiplient, de nombreux experts recommandent l'utilisation de ces outils.

Et vous ?

Quelles sont vos expériences avec ces outils? Lequel utilisez-vous et pourquoi celui-là? Auxquels avez-vous (ou votre entreprise) renoncé, pour quelles raisons? Comment sont-ils intégrés dans le processus de développement?

N'hésitez pas àpartager votre expérience avec la communauté Développez
  Discussion forum
22 commentaires
  • Jonathan38
    Nouveau membre du Club
    Devant la foule de reponse a ce topic..on peut en déduire que personnes ne teste la sécurité de ses applis !!
  • elmcherqui
    Membre averti
    Topic très très très intéressant , et pour ma part je n'utilise aucun plugin et sa m'intéresserais de profiter de l'expérience des autres sur ce sujet .
  • kaymak
    Membre émérite
    Envoyé par Jonathan38
    Devant la foule de reponse a ce topic..on peut en déduire que personnes ne teste la sécurité de ses applis !!
    hello,

    amha, l'analyse dynamique à plus de popularité. Cela me semble plus simple et plus concret. C'est d'ailleurs ma méthode de prédilection.

    Je n'ai jamais pratiqué l'analyse statique d'un source code pour en découvrir ces failles, mais j'ai si je devais le faire, ma crainte serait que les messages renvoyés par l'analyseur soient complètement cryptique, et ou peu probant.

    Cependant je reste curieux des retours d'expérience dans ce domaine.

    a plus
  • bi_turbo
    Membre actif
    Hello!
    Quand à moi, j'utilise Polyspace . Ex frenchie appartenant maintenant à
    The mathworks.
  • if_zen
    Membre averti
    Est-ce que ça existe au moins ?

    Je pense que ça dépend beaucoup de la plateforme. On ne devrait pas du tout trouver les mêmes outils pour analyser un site web et ses failles css, que pour une appli lourde avec ses flux réseaux (Tiens ça me fait penser à l'ex Ethereal, SiW je crois, pour commencer à citer un outil), ses accès mémoire (heuu, de tête valgrind pour les applis en C ?), les fuites (jprobe, et l'équivalent gratuit fourni avec la JDK pour Java), ses accès aux ressources et périphériques systèmes (et là encore, on divise entre W$, Nux et la pomme)... Et encore j'oublie sûrement d'autres sujets.
    Je pense que je sujet "sécurité" est bien trop large pour que les gens y répondent exhaustivement, et surtout, pour qu'on y trouve un logiciel capable de tout faire.

    En tout cas je suis comme les personnes précédentes : les retours m'intéressent beaucoup.
  • Pignoufy
    Membre du Club
    Les dave de mon appli sont en java et j'ai par curiosité lancé findbugs... Et bien ce fut très intéressant ! Ce qu'il dit est vrai (en tout cas pour les points que j'ai regardé) je le recommande donc.

    Maintenant la philosophie de ma boite est plutôt basée sur des revues de pairs qui ont une plus value car effectuée par des developeurs confirmés. Mais cette pratique est bonne lorsqu'elle est régulière ET fréquente.

    Une combinaison des 2 est, a mon avis, une bonne approche.
  • if_zen
    Membre averti
    @Pignoufy : Intéressant pour findbugs. J'ai également entendu parler de Metrics et de PMD pour les programmes Java (mais j'ai peur qu'on s'éloigne du sujet de la sécurité là).

    Les revues de pairs est-elle une pratique plutôt répandue dans l'entreprise ? Chez nous on n'a pas encore franchi le pas, mais on pourrait y songer.
  • Pignoufy
    Membre du Club
    Effectivement on s'éloigne un peu du sujet mais cela t'interesse on peut en discuter par MP ou ouvrir une nouvelle discussion sur le sujet ?...

    Je viens de relire le sujet initial du post (que j'avais lu un peu trop vite ) : la question porte surtout sur les applications web, ce qui n'est pas le style d'appli que j'ai pu développé durant ces dernières années.

    Dans tous les cas, l'utilisation d'outils d'analyse de code, de déverminage est un réflexe à avoir surtout qu'ils peuvent être dans le vrai ! Dans un environnement d'intégration continu, ces rapports peuvent générés toutes les nuits (et oui, les machines n'ont pas de syndic ) et envoyés à qui de droit pour gérer au mieux les développements et surtout éviter les dérives qui peuvent coûtées chères si elles sont découvertes tardivement...
  • miaous
    Membre averti
    Perso FindBugs
    Et il marche bien
  • parrot
    Membre averti
    Envoyé par Pignoufy
    Je viens de relire le sujet initial du post (que j'avais lu un peu trop vite ) : la question porte surtout sur les applications web, ce qui n'est pas le style d'appli que j'ai pu développé durant ces dernières années.
    Si j'ai porté ma question sur les applications web, c'est parce qu'elles représentent la majorité des applis développées dans ma boîte. Et parce qu'elles sont a priori les plus exposées. Toutefois, d'autres applications peuvent être sensibles car utilisant internet (pour charger des données, des mises à jour, des informations géographiques, des bibliothèques de code, des rapports d'erreur,...). Un retour serait aussi intéressant!