Le jeudi 27 janvier 2005 à 11:14 +0100, CHAROLOIS Raphaël a écrit :
> Il reste un "scanner" : comment est-ce traduit d'habitude ?

J'ai remplacé "scannant" par "parcourant" ça passe mieux. En revanche,
je n'ai rien à proposer pour le substantif "scanner".

Merci à Raphaël CHAROLOIS et Philippe Grenard pour leurs relectures.


-- 
Simon Paillard <[EMAIL PROTECTED]>
#use wml::debian::translation-check translation="1.13" maintainer="DFS Task Force"
#use wml::debian::template title="Outils d'audit de sécurité"
#use wml::debian::recent_list

<p>Plusieurs paquets disponibles dans l'archive Debian sont destinés à
faciliter les audits de code source. Sont inclus&nbsp;:</p>

<ul>
<li><a href="http://packages.debian.org/flawfinder";>Flawfinder</a>
<ul>
<li><a href="examples/flawfinder">Exemple d'utilisation de flawfinder</a></li>
</ul></li>
<li><a href="http://packages.debian.org/its4";>ITS4</a>
<ul>
<li>Il n'y a pas d'exemple fourni pour ITS4 puisque celui-ci a été enlevé de la
distribution instable (<i>Sid</i>).</li>
</ul>
</li>
<li><a href="http://packages.debian.org/rats";>RATS</a>
<ul>
<li><a href="examples/RATS">Exemple d'utilisation de RATS</a></li>
</ul></li>
<li><a href="http://packages.debian.org/pscan";>pscan</a>
<ul>
<li><a href="examples/pscan">Exemple d'utilisation de pscan</a></li>
</ul></li>
</ul>

<p>Aucun de ces outils n'est parfait. Ils ne peuvent être utilisés que comme
point de départ pour des études plus poussées. Mais étant donné leur simplicité
d'utilisation, cela vaut le coup de passer du temps à les essayer.</p>

<p>Chaque outil a ses avantages et ses inconvénients. C'est pourquoi il est
recommandé d'en utiliser plus d'un.</p>

<h2>Flawfinder</h2>

<p>flawfinder est un outil codé en Python destiné à analyser du code source C
et C++ à la recherche de défauts de sécurité potentiels.</p>

<p>Lorsqu'il est exécuté dans un répertoire contenant du code source, la liste
des problèmes potentiels détectés est générée, triés par risque (où la variable
<i>risk</i> est un entier entre 1 et 5). Pour ignorer les risques mineurs, il
est possible de configurer le programme pour de ne pas lister les défauts en
dessous d'un certain niveau de risque. Par défaut, la sortie sera formatée en
texte brut, mais une sortie au format HTML est également disponible.</p>

<p>Le programme fonctionne en parcourant le code à la recherche de fonctions
connues pour être couramment mal utilisées.</p>

<p>Afin de faciliter la lecture du rapport, il est possible de générer un
rapport contenant la ligne du code source, contenant la fonction utilisée. Cela
peut être utile pour détecter immédiatement un problème, ou également 
l'éliminer.</p>

<p>Vous pouvez voir un exemple de la façon dont est utilisé flawfinder, ainsi
que le rapport qu'il génère dans la <a href="examples/">section des exemples
d'audit</a>.</p>

<h2>ITS4</h2>

<p>ITS4 est un outil appartenant à la section <i>non-free</i> de l'archive
Debian, qui est disponible uniquement pour l'actuelle distribution stable
(<i>Woody</i>).</p>

<p>ITS4 peut être utilisé pour chercher dans du code source C et C++ de
potentielles failles de sécurité, de même que flawfinder.</p>

<p>Le rapport généré essaie d'être pertinent, en exluant une partie des cas où
les appels à des fonctions dangereuses ont été faits avec précaution.</p>


<h2>RATS</h2>

<p>RATS est un outil similaire à ceux listés ci-dessus, excepté qu'il supporte
plus de langages. Actuellement sont supportés&nbsp; C, C++, Perl, PHP et
Python.</p>

<p>Cet outil utilise un simple fichier XML pour obtenir les vulnérabilités, ce
qui en fait l'outil le plus simple à modifier. De nouvelles fonctions peuvent
être ajoutées facilement pour chaque langage supporté.</p>

<p>Vous pouvez voir un exemple d'utilisation de RATS et le rapport généré dans
la <a href="examples/">section des exemples d'audit</a>.</p>

<h2>pscan</h2>

<p>pscan diffère des outils précédemment décrits, car ce n'est pas du tout un
scanner généraliste. Au contraire, c'est un programme qui vise spécifiquement
la détection de bogues dans le format des chaînes de caractères.</p>

<p>L'outil essaiera de trouver des problèmes potentiels dans l'utilisation des
fonctions variadiques (pouvant accepter un nombre variable d'arguments) dans du
code C et C++, par exemple les fonctions <tt>printf</tt>, <tt>fprintf</tt> et 
<tt>syslog</tt>.</p>

<p>Les bogues de format des chaînes de caractères sont facilement détectables
et réparables. Ainsi, bien qu'ils constituent la nouvelle génération d'attaques
logicielles, la majorité d'entre eux ont sans doute déjà été trouvés et
corrigés.</p>


<p>Vous pouvez voir un exemple d'utilisation de pscan et le rapport généré dans
la <a href="examples/">section des exemples d'audit</a>.</p>


<h2>Comprendre les résultats du scanner</h2>

<p>Chaque tous les outils généralistes de recherche fournissent des résultats
incluant la description du défaut détecté, et dans certains cas un conseil pour
corriger le code.</p>

<p>Par exemple, ce qui suit est tiré du rapport généré par RATS et décrit les
dangers de <tt>getenv</tt>&nbsp;:</p>

<p>&quot;Les variables d'environnement sont des paramètres d'entrée auxquels on
ne peut pas faire confiance. Ils peuvent être de toute taille, et contenir
n'importe quelles données. Ne faites pas d'hypothèse sur leur contenu ou leur
taille. Evitez si possible de les utiliser, et si cela est nécessaire,
vérifiez-les et tronquez-les à une taille raisonnable.&quot;</p>

<p>Si vous avez besoin de conseils avancés sur la manière de corriger une
vulnérabilité rapportée, vous devriez étudier un ouvrage sur la manière de
programmer sûrement, tel que l'ouvrage 
<a href="http://www.dwheeler.com/secure-programs/";>Secure Programming for Linux
and Unix HOWTO</a> par David A. Wheller.</p>

<p>(Rappelez-vous qu'une rustine bouchant le trou de sécurité est grandement
appréciée lorsque vous rapportez un bogue de sécurité)</p>

<p>Des discussions portant sur la correction de portions de code
particulièrement problématiques peuvent également se tenir sur la
<a href="http://shellcode.org/mailman/listinfo/debian-audit";>liste de diffusion
debian-audit</a>. Veillez simplement à ne pas rendre évident le nom du
programme concerné par le défaut.</p>

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=

Répondre à