Comment puis-je trouver des vulnérabilités de sécurité dans mon code source?
L'original, et toujours la meilleure, la méthode pour trouver des failles de sécurité dans le code source est à lire et à comprendre le code source.
Le code source des failles de sécurité varient entre les langues et les plates-formes.
Éléments à rechercher dans le code C comprennent:
| Vulnérabilité potentielle | Appels de fonction d'examiner les vulnérabilités |
|---|---|
| Buffer overflows | est (), scanf (), sprintf (), strcat (), strcpy () |
| Format string vulnérabilités | printf (), fprintf (), vprintf (), snprintf (), vsnprintf (), syslog () |
| Race conditions | accès (), chown (), chgrp (), chmod (), mktemp (), tempnam (), tmpfile (), tmpnam () |
| Random number acquisition des vulnérabilités | rand (), random () |
| Shell metacharacter vulnérabilités | exec (), popen (), système () |
Code de sécurité automatisés Source Vulnerability Scanners
Il existe des outils intelligents pour vous aider à examiner de grandes quantités de code source de failles de sécurité.
| Outil | Description |
|---|---|
| Flawfinder | Examine le code source et les rapports possibles failles de sécurité |
| RATS de Secure Software Solutions | Scans C, C + +, PERL, PHP et Python pour le code source des failles de sécurité potentielles. |
| ITS4 de Cigital | Scans de la recherche de code source potentiellement vulnérables, des appels de fonctions et de préformes d'analyse de code source afin de déterminer le niveau de risque |
| Pscan | Un petit problème pour scanner les fichiers source C |
| BOON | Un débordement de tampon de détection |
| MOPS | MOdelchecking programmes pour la sécurité des propriétés |
| Cqual | Un outil pour ajouter des qualificatifs de type C |
| MC | Meta-Level Compilation |
| SLAM | Microsoft |
| ESC/Java2 | Extended Static Checking Java version 2 |
| Splint | Secure Programming Lint |
| CYCLOMOTEUR | A Model-Checker pour Systems Pushdown |
| JCAVE | Applet JavaCard Environnement de vérification |
| Le Toolkit Boop | Utilise l'abstraction et de raffinement pour déterminer l'accessibilité du programme de points dans un programme C |
| Blast | Berkeley Lazy Abstraction Software Verification Tool |
| Uno | Simple outil d'analyse de code source |
| PMD | Scans de code source Java et recherche d'éventuels problèmes |
| C + + Test | Les tests unitaires et d'outil d'analyse statique |
Pour plus d'informations sur les scanners de code source, lire le code source pour une meilleure Scanners Code dans le Linux Journal.
Pour plus d'informations sur la programmation sécurisée, lire le Secure Programming for Linux HOWTO et Unix.
Trouver des vulnérabilités dans le code source de votre code à l'aide de ces livres sur la programmation sécurisée de Amazon.com
|
Vulnerability Management for Dummies
| Virus Scan Essayez gratuitement Kaspersky anti-virus à jour. | Anti Malware Haute performance des logiciels Anti-Malware de Sunbelt Software |


