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

Le , par parrot, Membre actif
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Virgil Scipion Virgil Scipion - Membre habitué http://www.developpez.com
le 24/11/2010 à 18:03
Un outil pour rechercher les failles de sécurité...

Hé bien chez nous c'est juste l'être humain.
Parce qu'avant de se poser ce genre de questions, il faudrait que les mots de passe ne soient pas en clair dans les tables et surtout que les personnes qui s'occupent du SAV évitent de donner un mot de passe à un type qui le demande au téléphone et ne fournit rien de plus que son nom et celui de sa société
Avatar de Vince78 Vince78 - Nouveau membre du Club http://www.developpez.com
le 24/11/2010 à 18:05
J'ai mis en place Sonar pour l'analyse statique et dynamique des prog java (via CheckStyle, Cobertura, PMD et FindBug).

Pour répondre à la question, FindBug détecte, en autres, les failles de sécurité les plus courante.
De mon point de vue, il est très efficace et rarement remis en cause.

J'en profite aussi pour faire un feedback sur les outils OpenSource C++ :
CppCheck --> équivalent java de Find bug + CheckStyle
Flawfinder --> security weaknesses
RATS --> Security weaknesses
AntiC --> Find bug

@+
Avatar de cdubet cdubet - Membre habitué http://www.developpez.com
le 25/11/2010 à 20:53
java : findbugs
C/C++: polyspace (projet embarque en c), glowcode (C++/windows), purify.

l idee en general n etait pas vraiment de verifier la securite de l application (a par dans le cas ou on a utilise polyspace) mais plus de resoudre des problemes de fuite de memoire.
dans le cas de findbugs, c etait une initiative perso, couplee aux revus de code organisees par ma societe

avis perso:
purify est tres bien :-) .

glowcode est nettement moins pratique a utiliser

polyspace sort enormement de problems qui peuvent etre dans certains cas des fausses alertes (faux positifs). etant donné le temps pour investiguer chaque probleme, la majeur partie des problemes ont ete ignores (polyspace classe les problemes en rouge, orange et jaune). On a regarde que les cas classés rouge. On avait tort, on a trouve plus tard par hasard un probleme serieux par hasard. celui ci avait ete detecte par polyspace mais classe orange
Polyspace ne connaissant pas l application, il ne peut deduire les effets du probleme (par ex un overflow sur une variable avait ete la cause de la perte de la premiere ariane V. a priori pas un bug super mechant)
Avatar de trident_job trident_job - Membre averti http://www.developpez.com
le 26/11/2010 à 18:49
Pour les applications C/C++, nous utilisons deux outils differents :

* Un Rule Checker - Vérificateur de règles. QAC/QaC++ de chez PRQA.
* Un Static Analyzer - Analyse statique de code. CodeSonar de chez Gammatech.

Le premier vérifie les bonnes pratiques de codage, y compris les règles de codage en vigueur dans l'entreprise.
Ce genre d'outil trouve peu de bugs, mais plutôt des faiblesses dans la maintenabilité, la portabilité, et un peu la robustesse.

Le second est plus orienté robustesse (puisqu'il compile et simule le code), il vérifie les chemin possibles et l'excursion des données pour détecter des problèmes mémoire, de non-initialisation de donnée, d'overflow et de code mort.

Bien sûr, cela n'empêche pas les relectures croisées ... mais sur de grosses applications, les outils aident bien ... mais il faut relativiser : ce n'est pas magique !
Avatar de vic78 vic78 - Candidat au Club http://www.developpez.com
le 03/12/2010 à 12:21
Bonjour,
Réponse légèrement tardive, mais comme dit le proverbe "mieux vaut tard ...."

C'est une question très intéressante, je suis, entre autres, responsable sécurité logicielle dans une SSII et je traite ce sujet très au sérieux.

J'utilise :
FindBugs : pour l'analyse du code
Acunetix : pour les failles de sécurité
Revue de code systématique avant déploiement

Cordialement
Vic
Avatar de kaymak kaymak - Membre chevronné http://www.developpez.com
le 03/12/2010 à 15:22
Citation Envoyé par vic78  Voir le message
Bonjour,
Réponse légèrement tardive, mais comme dit le proverbe "mieux vaut tard ...."

C'est une question très intéressante, je suis, entre autres, responsable sécurité logicielle dans une SSII et je traite ce sujet très au sérieux.

J'utilise :
FindBugs : pour l'analyse du code
Acunetix : pour les failles de sécurité
Revue de code systématique avant déploiement

Cordialement
Vic

hello,

aurais tu des ressources disponibles sur le web que tu sais particulièrement touffues sur ces sujets ?

a +
Avatar de vic78 vic78 - Candidat au Club http://www.developpez.com
le 06/12/2010 à 17:22
Salut kaymak
Je pose certainement une question idiote ..... mais tu souhaites avoir des ressources sur quoi ?
- Les outils (FindBugs, acunetix, etc.)
ou
- sur la sécurité logicielle en générale ?
Avatar de kaymak kaymak - Membre chevronné http://www.developpez.com
le 08/12/2010 à 14:34
Citation Envoyé par vic78  Voir le message
Salut kaymak
Je pose certainement une question idiote ..... mais tu souhaites avoir des ressources sur quoi ?
- Les outils (FindBugs, acunetix, etc.)
ou
- sur la sécurité logicielle en générale ?

Hello,

Merci de ta réponse, en fait des ressources utiles. C'est un peu simple comme réponse, mais souvent je cherche des ressources sur un sujet, et au premier abord je ne dispose pas des bons mots clés et je me retrouve avec des trucs complètement inutile, désuet, hors d'âge etc.

Alors que lorsqu'on commence à connaitre un peu le sujet, avec le champ lexical approprié, les ressources que l'on trouve sont bien meilleures.

La semaine dernière encore je découvrait jmeter, et il y à de tout comme ressources, des trucs bien, et des trucs moins bien, mais les bonnes ressources je ne les ai trouvées qu'après un certain apprentissage.

D'où ma question, qui vise en fait, je l'avoue, à profiter de ton expérience et de tes recherches !! : )
Après ma question était ici rapporté au sujet du thread, les procédures, outils, théories(?) sur le test de logiciel, en général, car je suis curieux de voir ce qu'il se fait pour tester des codes asm par exemple (si c'est seulement possible, c'est peut une ânerie comme exemple).

Ma question ne portait pas vraiment sur le fonctionnement des buffers/stack overflow ou autres plaisirs de la sécurité logicielle etc j'ai déjà quelques lectures à ce sujet, comme misc par exemple !

'fin voilà !

a +
Avatar de Trankille Trankille - Membre habitué http://www.developpez.com
le 07/04/2011 à 10:07
Bonjour,

je voudrais savoir si certains connaissent et/ou utilisent l'outil Yasca ?
apparemment c'est un analyseur de code statique multi-langage.

J'aimerais avoir des retours.

Merci
Avatar de Trankille Trankille - Membre habitué http://www.developpez.com
le 12/04/2011 à 12:14
Citation Envoyé par Jonathan38  Voir le message
Devant la foule de reponse a ce topic..on peut en déduire que personnes ne teste la sécurité de ses applis !!

Bizarre.. parce que ça commence à devenir une priorité
(tout est relatif )
Avatar de tich.marcel tich.marcel - Futur Membre du Club http://www.developpez.com
le 29/05/2011 à 20:56
Oui, ce doit être une priorité...
Offres d'emploi IT
Architecte big data H/F
Safran - Ile de France - Magny-les-Hameaux (78114)
Data scientist H/F
Safran - Ile de France - Magny-les-Hameaux (78114)
Ingénieur sécurité des systèmes d'information drone (2 postes à pourvoir) H/F
Safran - Ile de France - Éragny (95610)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil