Annotations et attributs pris en charge
Certains attributs ou annotations utilisés pour enrichir le code sont traités lors des examens. Lorsqu'une annotation ou un attribut pris en charge est détecté lors d'un examen, ces informations sont utilisées pour marquer la méthode enrichie en tant que rappel entaché. Une méthode marquée comme rappel entaché est traitée si tous ses arguments comportent des données entachées. Ceci débouche sur un plus grand nombre de constatations accompagnées de traces. Les annotations et attributs pris en charge sont répertoriés dans cette rubrique d'aide.
Annotations Java™ prises en charge
Annotation | Abréviation |
---|---|
javax.xml.ws.WebServiceProvider |
@WebServiceProvider |
javax.jws.WebService |
@WebService |
javax.jws.WebMethod |
@WebMethod |
Annotations AppScan® Source Java™ prises en charge
Lors de l'utilisation de l'AppScan® Source pour examiner Java™, les annotations au niveau de la méthode @ValidatorMethod
, @CallbackMethod
et @SuppressSecurityTrace
sont prises en charge.
Utilisation des annotations AppScan® Source
Il est possible d'utiliser les annotations comme suit :
- Les annotations sont prises en charge par défaut. Le fichier d'annotation .jar est <install_dir>\lib\SecurityAnnotations.jar(où <install_dir> est l'emplacement de votre installation AppScan® Source.).
- Si vous examinez des classes pré-compilées, des fichiers .war ou des fichiers .jar, localisez le projet Java contenant les sources annotées.
- Ajoutez SecurityAnnotations.jar au chemin de classe du projet.
- Régénérez le projet.
Les annotations peuvent être ajoutées au code source avant l'examen, ou après l'examen et pendant le triage pour identifier et éliminer les faux positifs.
Les annotations permettent d'insérer directement des connaissances dans le code source sous la forme d'annotations de sécurité. Les annotations pouvant être utilisées pour déclarer fiables des portions de code, elles doivent être utilisées avec beaucoup de précautions. Elles ne doivent pas être utilisées pour du code dans lequel des vulnérabilités de sécurité doivent être recherchées. Si vous voyez des annotations, un analyste de sécurité peut choisir de les ignorer en désactivant la fonctionnalité dans le fichier <data_dir>\config\scanner.ozsettings(où <data_dir> est l'emplacement de vos données de programme AppScan® Source, comme décrit dans Emplacements des fichiers de données utilisateur et des fichiers d'installation). Dans ce fichier, repérez le paramètre suivant :
<Setting
name="process_security_annotations"
value="true"
default_value="true"
description="When turned on, security annotations in the
source code will be processed by AppScan Source."
display_name="Process Security Annotations"
type="bool"
/>
Pour désactiver la fonctionnalité, remplacez value="true"
par value="false"
.
@ValidatorMethod
Les valideurs sont des méthodes qui vérifient les données en entrée et renvoient généralement une valeur booléenne qui indique si l'entrée est valide. Plutôt que d'accepter ou de rejeter les entrées utilisateur à l'aide de valideurs, vous pouvez les modifier pour leur donner un format acceptable. Ces méthodes s'appellent des nettoyeurs.
L'annotation @ValidatorMethod
permet d'identifier toutes les méthodes de validation et de nettoyage dans le code source de l'application. Au cours des examens d'AppScan® Source, ces informations sont utilisées pour supprimer les flux de données qui transitent par ces méthodes, puisque ces données sont alors considérées comme fiables.
@SuppressSecurityTrace
Toutes les traces qui passent par une méthode marquée avec cette annotation sont supprimées. Cette annotation est utile lorsqu'un groupe de traces est identifié comme de faux positifs, ou est moins important ou intéressant que d'autres. Vous pouvez l'utiliser pour éliminer ces traces, ou pour les masquer afin de réduire l'encombrement.
@CallbackMethod
Cette annotation est utilisée pour identifier des rappels ou les points d'entrée d'une application. Tous les arguments sont considérés comme tachés.
Attributs Microsoft™ .NET pris en charge
Attribut | Abréviation |
---|---|
System.Web.Services.WebServiceAttribute |
WebService |
System.Web.Services.WebMethodAttribute |
WebMethod |