Vue Propriétés : projet sélectionné

Ce mode de la vue Propriétés permet de configurer des paramètres pour le projet sélectionné. Les attributs de projet dépendent des attributs globaux créés auparavant. Les propriétés varient selon le projet sélectionné.

Onglet Présentation du projet sélectionné

L'onglet Présentation contient les éléments suivants :

  • Nom du projet. Le projet peut être renommé en entrant un nouveau nom dans la zone.
  • Nom et chemin du fichier de projet
  • Type du projet
  • Configuration : Cette section affiche la configuration cible. Pour les projets .NET et C++Objective-C, elle affiche la configuration cible qui a été sauvegardée dans l'onglet Dépendances de projet. Pour tous les autres types de projet, elle affiche Par défaut.
  • Option de filtrage : Sélectionnez Filtrer les constatations contenues dans des sources externes pour écarter les constatations provenant de fichiers qui ne sont pas des fichiers source du projet analysé. Cette option réduit le bruit pour les projets où les constatations sont signalées dans des fichiers générés par le compilateur ou temporaires, tels que ASP.NET.
  • Options de mise en cache de l'analyse de vulnérabilités : En affinant votre évaluation d'un codebase en l'examinant par itérations et en ajoutant des règles personnalisées, puis en l'examinant à nouveau sans modifier le code source, vous pouvez réduire considérablement la durée de l'examen en définissant les propriétés du projet de sorte à utiliser un cache d'analyse des vulnérabilités. Pour ce faire, cochez la case Activer le cache d'analyse de vulnérabilités dans les propriétés du projet. Un cache d'analyse de vulnérabilités est créé la première fois que vous examinez le projet après avoir coché cette case. Ce cache sera utilisé à chaque examen ultérieur du projet, réduisant ainsi la durée de l'examen.

    Pour vider le cache d'analyse de vulnérabilité, cliquez sur Vider le cache. Lors du prochain examen du projet, un examen complet aura lieu et un nouveau cache d'analyse de vulnérabilité sera créé. Vous pouvez envisager de vider le cache si :

    • Le code source du projet a été modifié depuis le dernier examen.
    • Vous avez apporté des modifications à la configuration du projet (par exemple, l'ajout ou la suppression de fichiers source).
    • Vous avez modifié des options de configuration du code. Par exemple, vous pouvez vouloir vider le cache si vous examinez un projet Java et que le chemin de classes a changé ou si vous examinez un projet C ou C++ et que vous avez modifié le chemin include ou les définitions de préprocesseur.
    Remarque : Vous pouvez également vider le cache d'analyse de vulnérabilités en cochant la case Vider le cache lors de la création de règles personnalisées dans l'assistant Règles personnalisées.
  • Analyse de chaîne : L'analyse de chaîne surveille les manipulations de chaînes dans les projets Java ou Microsoft .NET. Elle assure la détection automatique des routines d'assainissement et de validation. Grâce à cette détection, il est possible de réduire les résultats faussement positifs ou faussement négatifs. Pour activer l'analyse de chaîne, cochez la case Activer l'analyse de chaîne pour trouver les fonctions permettant de valider et rendre inoffensif. La case Appliquer les règles importées à la portée globale détermine si les routines d'assainissement ou de validation découvertes doivent être appliquées à l'échelle du projet ou au niveau global (à tous les projets).
    Remarque : L'analyse de chaîne peut ralentir un examen. Il est donc recommandé de ne l'appliquer qu'après un changement de code, puis de la désactiver pour les examens suivants. En outre, les routines découvertes doivent être considérées comme des suggestions et examinées par les auditeurs. Ces routines peuvent être visualisées dans la vue Règles personnalisées.
  • Codage du fichier : Le codage de caractères des fichiers dans votre projet doit être défini afin que AppScan® Source puisse lire ces fichiers correctement (et, par exemple, afin qu'il puisse les afficher correctement dans la vue Source).
    Remarque : Le codage de fichier par défaut pour les projets AppScan® Source est ISO-8859-1. Il est possible de modifier le codage du fichier par défaut dans la page générale de préférences.

Filtres

Cet onglet vous permet de spécifier les filtres existants pour le projet sélectionné, et la façon dont vous souhaitez que les filtres soient appliqués (un filtre peut être appliqué directement ou de manière inversée). Voir Triage et analyse pour plus d'informations sur les filtres, et Application de filtres globalement. pour plus de détails sur leur application globale.

Règles de schéma et ensembles de règles

Lorsque vous sélectionnez un projet dans la vue Explorateur, l'onglet Règles de schéma et Ensembles de règles de la vue Propriétés vous permet d'ajouter des règles de schéma et des ensembles de règles qui seront appliqués lors de l'examen du projet. L'examen basé sur des schémas permet de rechercher des schémas de texte que vous désirez voir figurer en tant que constatations. Des règles et des ensembles de règles individuels peuvent être appliqués à la fois aux applications et aux projets. Voir Personnalisation à l'aide de règles basées sur des schémas pour plus de détails sur l'analyse basée sur des schémas et Application de règles et d'ensembles de règles de schémas pour plus de détails sur l'application de règles et d'ensembles de règles dans la vue Propriétés.

Extensions de fichier

Utilisez cet onglet pour configurer ou ajouter des extensions de fichier valides pour le projet - et pour exclure des fichiers des examens et spécifier des extensions comme fichiers Web.

La section Extensions de fichier répertorie les extensions qui ont été définies de manière globale dans la page de préférences Extensions de fichier de projet du type de projet en cours (vous pouvez choisir des extensions de fichier pour un type de projet différent en utilisant le menu Ensemble d'extensions de fichier). Pour exclure une extension des examens du projet en cours, sélectionnez-la dans la liste et cliquez sur Exclure une extension. L'extension apparaît alors dans la section Extensions exclues de l'onglet.

Pour ajouter une extension supplémentaire pour le projet, sélectionnez Ajouter une extension dans la section Extensions supplémentaires et entrez ensuite l'extension du fichier et indiquez si les fichiers ayant cette extension doivent être examinés, considérés comme des fichiers Web ou exclus.

Tableau 1. Paramètres d'extension de fichier
Paramètre Description Exemples d'utilisation
Examen ou Evaluation Inclure les fichiers ayant l'extension indiquée dans l'analyse complète.
  • Si une extension .xxx est créée pour les projets Java et marquée comme Examen ou Evaluation, les fichiers dotés de cette extension seront compilés et examinés.
  • Un fichier peut faire partie d'un projet mais ne pas être marqué comme Examen ou Evaluation s'il ne doit pas être compilé et examiné (comme des fichiers d'en-tête dans C++). Ces fichiers doivent être inclus dans le projet et recherchés au cours de l'analyse basée schéma.
Fichier Web Marquer les fichiers ayant l'extension indiquée pour la compilation JSP. Ce paramètre autorise AppScan® Source à séparer les sources Web des sources non Web. Si une extension .yyy est créée pour les projets Java et marquée comme Fichier Web, les fichiers ayant cette extension sont organisés en sources Web dans les projets. Lorsqu'AppScan® Source se prépare pour l'analyse, ces fichiers seront précompilés en classes à analyser.
Exclude Ne pas créer de fichiers source dans le projet pour des fichiers ayant l'extension indiquée. Les fichiers ayant cette extension ne seront pas examinés. Créez une extension .zzz pour les fichiers qui sont nécessaires à vos projets pour la compilation, mais qui ne doivent pas être inclus dans l'analyse.

Sources

Spécifiez les sources à inclure dans l'examen.

  • Répertoire de travail : Emplacement du fichier de projet AppScan® Source (ppf) qui constitue la base de tous les chemins relatifs.
  • Ajouter une racine source et Supprimer une racine source : L'onglet Sources affiche les propriétés définies pour le projet à partir de l'assistant Configuration de projet ou dans le ppf importé.

    L'option Supprimer la racine source est uniquement disponible si l'icône Racine source est sélectionnée. Elle permet de supprimer le répertoire racine de code source.

  • Rechercher des racines source (projets Java uniquement) : Permet à AppScan® Source for Analysis d'identifier automatiquement les racines source valides.
  • Les fichiers de projet sont affichés sous l'icône Racine source. Les fichiers qui sont exclus de l'examen sont accompagnés d'une icône de fichier rouge (si vous faites un clic droit sur un fichier exclus, l'option Exclure de son menu est désactivée et l'option Inclure est activée). Pour exclure un fichier inclus, faites un clic droit dessus et sélectionnez Exclure dans le menu. Pour inclure un fichier exclus, faites un clic droit dessus et sélectionnez Inclure dans le menu.

Dépendances de projet JSP (JavaServer Page)

Cet onglet affiche les propriétés définies pour le projet JSP sélectionné.

  • Contient un contenu Web (JSP) : Indique si le projet est une application Web contenant des pages JavaServer Pages.
  • Racine de contexte Web : Une WAR est un fichier ou un répertoire hébergeant le répertoire WEB-INF. La racine de contexte Web doit être la racine d'une application Web valide.
  • Compilateur JSP : Prêt à l'emploi, Tomcat 7 est le compilateur JSP sélectionné par défaut (il est possible d'en changer sur la page de préférences Java et JSP). Pour en savoir plus sur les compilateurs pris en charge par AppScan® Source, voir Configuration requise et composants prérequis pour l'installation.

    Les versions d'Apache Tomcat versions 7 et 8 sont incluses dans l'installation d'AppScan® Source. Si les pages de préférences Tomcat 7 et Tomcat 8 ne sont pas configurées, AppScan® Source compile les fichiers JSP à l'aide du compilateur JSP Tomcat fourni et indiqué comme valeur par défaut. Si vous souhaitez employer un compilateur Tomcat externe pris en charge, utilisez les pages de préférences Tomcat pour pointer sur votre installation Tomcat locale.

    Si vous utilisez Oracle WebLogic Server ou WebSphere® Serveur d'applications, vous devez configurer la page de préférences correspondante, le but étant de désigner votre installation locale du serveur d'applications afin qu'elle puisse être utilisée pour la compilation du code JSP durant l'analyse. Si vous n'avez pas encore terminé cette configuration, un message vous demandera de la faire lorsque vous sélectionnerez le compilateur JSP. Si vous répondez Oui au message, la page de préférences appropriée s'affiche. Si vous répondez Non, un lien d'avertissement s'affiche à côté de la sélection du compilateur JSP (ce lien permet d'ouvrir la page de préférences).

Dépendances de projet

Cet onglet présente les propriétés du projet. Les paramètres de configuration qui figurent dans cet onglet varient selon le langage, par exemple :

  • Options permet de sélectionner tout paramètre de compilateur supplémentaire requis.
  • Les paramètres du JDK sont propres à Java.
  • Les définitions de préprocesseur sont propres au code C/C++. Lorsque vous spécifiez des définitions de préprocesseur, n'incluez pas l'option -D du compilateur (par exemple, indiquez a=definition1 au lieu de -Da=definition1). Lorsque vous spécifiez plusieurs définitions, utilisez une liste d'éléments séparés par un point-virgule.
  • La configuration cible est disponible pour les projets .NET et C++Objective-C seulement.
Remarque : Dans l'onglet Dépendances de projet d'un projet Objective-C, la section Configuration cible seulement peut être éditée. Toutes les autres sections de l'onglet sont accessibles en lecture seule.

Compilation

  • Options possibles : Paramètres de compilation requis supplémentaires pour la configuration du projet.
  • Utiliser le kit JDK : Identifiez le kit JDK utilisé pour la compilation du projet et configuré dans les préférences. Voir Préférences.

    Les projets Java peuvent se référer à un emplacement de kit JDK (Java Development Kit) local. Lorsque les projets sont transférés au serveur, le chemin du kit JDK peut ne plus être valide. Pour transférer des projets locaux au serveur, vous devez identifier le chemin JDK par défaut pour chaque projet spécifiant nominativement un kit JDK.

    Remarque : Prêt à l'emploi, le compilateur par défaut des projets JSP est Tomcat 7, qui requiert Java version 1.6 ou version ultérieure. Si Tomcat 7 est conservé par défaut et que vous sélectionnez un JDK plus ancien, des erreurs de compilation seront générées pendant les examens.
  • Valider : L'option Valider garantit que les dépendances du projet soient correctement configurées. Elle vérifie l'absence dans les projets Java de conflits de configuration entre les sources et le chemin de classes et vérifie également l'absence d'erreurs de compilation. Un conflit existe si une classe du chemin de classes est dupliquée dans une racine source. (En cas de conflit, modifiez le chemin de classes en supprimant celle en conflit)

    Après la vérification de l'absence de conflits, l'option Valider détermine si le projet peut être compilé et rend compte des erreurs de compilation éventuelles.

Optimisations

  • Classes précompilées : Utilisez des fichiers de classe Java ou JSP précompilés au lieu d'effectuer une compilation au cours de l'examen. Lorsque cette option est sélectionnée, elle permet de désactiver les options d'étape source.
  • Déployer pour pré-traitement les fichiers source pour minimiser les effets d'erreur de compilation : permet de contrôler l'éventualité qu'AppScan® Source copie les sources vers le répertoire de transfert.

    Corriger pour les packages non conformes à la structure de répertoire exige que le compilateur Java ouvre chaque fichier source.

    Nettoyer la zone de préparation entre chaque examen améliore les performances entre les examens.

Onglet Précompiler (ASP.NET uniquement)

La précompilation est effectuée à l'aide d'une requête HTTP pour une page spéciale (par défaut, precompile.axd) sur le site Web. Cette page est traitée par un gestionnaire HTTP spécial spécifié dans le fichier web.config. Ce gestionnaire compile le site entier, y compris les fichiers client.aspx, vers le répertoire de fichiers temporaires ASP.NET du répertoire .NET Framework où ils sont alors tous analysés.

Pour un examen d'ASP.NET 1.1, vous devez configurer le site web de sorte à être compilé et à générer des informations de débogage. Par la suite, le fait qu'un site Web est compilé et génère des informations de débogage constitue en soi une vulnérabilité. Vous pouvez ignorer cette vulnérabilité puisque l'examen la requiert. Cependant, veillez à ce que l'application déployée ne soit pas compilée avec debug=true dans le fichier web.config.

Pour précompiler un site Web ASP.NET 1.1, ajoutez l'élément suivant en tant qu'enfant de l'élément <system.web> dans votre fichier web.config :

<httpHandlers><add verb="*" path="precompile.axd"
type="System.Web.Handlers.BatchHandler"/></httpHandlers>

Vous devez également spécifier debug=true dans l'élément de compilation. Par exemple :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<system.web>
		<httpHandlers><add verb="*" path="precompile.axd"
		type="System.Web.Handlers.BatchHandler"/>
		</httpHandlers>
			<compilation
				defaultLanguage="c#"
				debug="true"
			/>
...

Cet élément spécifie au site Web que la page precompile.axd sera traitée par la classe spéciale .Net System.Web.Handlers.BatchHandler. Cette classe précompile le contenu du site Web vers le répertoire des fichiers temporaires d'ASP.NET.

  • Site Web : Cible de la requête de précompilation du site. L'emplacement par défaut est precompile.axd. Precompile.axd est un fichier virtuel mappé au fichier spécifié dans le fichier web.config.
  • Répertoire de sortie : Répertoire ciblé par la précompilation. AppScan® Source recherche la sortie de la précompilation dans ce répertoire.
  • Précompiler le site web ASP.NET : AppScan® Source précompile automatiquement et examine la sortie précompilée.
  • Arrêter l'examen en cas d'échec de la précompilation : La sélection de Précompiler le site web ASP.NET et d'Arrêter l'examen en cas d'échec de la précompilation, arrête l'examen si la précompilation échoue. Sinon, l'examen se poursuit sur la sortie principale du site web uniquement.
  • Compiler maintenant : Test vérifiant avant un examen que la précompilation, basée sur les paramètres actuels, aboutit avant l'examen. La sortie de la compilation est affichée dans le panneau Sortie de la précompilation.
  • Assemblages supplémentaires : Permet de spécifier des assemblages supplémentaires à examiner pour un type de projet .NET quelconque.
  • Références du projet : Liste les répertoires dans lequel rechercher les assemblages référencés dans les projets .NET Assembly et les projets .NET existants.