Utilisation de l'assistant Règles personnalisées

L'assistant Règles personnalisées vous aide à ajouter des méthodes à la AppScan® Base de connaissances de sécurité Source. La portée de la plupart des règles de méthode est globale (s'applique à tous les projets). Les constatations sans trace, les sources, les collecteurs et les propagateurs de tache personnalisés sont toujours globaux. Les routines de validation/codage personnalisées ne sont pas globales.

Remarque : L'assistant Règles personnalisées ne valide pas vos sélections. Vous pouvez définir, par exemple, une règle personnalisée qui identifie une méthode en tant que propagateur de tâche et un collecteur, ce qui ne constitue pas un scénario valide.

L'assistant Règles personnalisées vous guide tout au long du processus de définition et d'ajout des éléments suivants à la Base de connaissances :

  • Collecteurs et sources
  • Propagateurs de tâche
  • Interfaces de programme d'application (API) non vulnérables aux taches
  • Vulnérabilités
  • API générant des constatations sans trace
  • API n'étant pas des routines de codage/validation
  • Rappels entachés
  • Constatations à titre informatif

Source (de tache)

Méthode qui fournit des entrées à un programme pouvant être incorrectement formé ou malveillant.

Collecteur (vulnérable aux taches)

API qui extrait les données du programme (ou de la partie visible du programme) pour les envoyer vers un fichier, le réseau, une base de données, une autre bibliothèque ou une unité pouvant être vulnérable à une entrée malveillante.

Propagateur de tâche

Le marquage d'une méthode en tant que propagateur de tâche implique que si des arguments de l'API sont dérivés de données d'entrée utilisateur non validées (données entachées), après l'appel, les données non constantes référencées par les autres arguments, tout comme la valeur renvoyée, seront elles-mêmes potentiellement entachées. Ces données doivent être validées ou codées avant leur envoi à un collecteur. Cette situation se produit généralement lorsque les données de l'argument entaché sont copiées ou annexées aux autres arguments, ou renvoyées.

Non vulnérable aux tâches

Le marquage d'une API comme non vulnérable aux tâches (comme n'étant pas un propagateur de tâche) implique que l'appel de l'API avec un argument dérivé de données d'entrée utilisateur non validées (données entachées) n'entraîne pas un comportement non sécurisé ou malveillant de l'API.

Si des données entachées parviennent à un appel et que celui-ci est marqué comme non vulnérable aux taches, AppScan® Source ignore cet appel en ce qui concerne les traces. AppScan® Trace Source ne signale pas que la trace est perdue et ne traite pas les données propagées comme des données entachées.

Remarque : Si des données entachées parviennent à une méthode qui n'est pas une routine de validation ou de codage, un collecteur, un propagateur de tâche ou qui n'est pas vulnérable aux tâches, cette méthode est signalée comme une trace perdue. Les arguments autres que des constantes et les valeurs renvoyées peuvent être ou ne pas être entachés. Le diagramme d'appel de AppScan® Trace Source affiche une trace perdue.

Constatation sans trace

Méthode ou API qui apparaît toujours comme une constatation mais qui ne génère pas de trace.

N'est pas une routine de validation/codage

Le marquage d'une API comme n'étant pas une routine de validation/codage indique que cette API ne valide aucune donnée.

Rappel entaché

Un rappel est une routine de votre code généralement appelée par un autre code (par exemple, depuis une infrastructure de plus bas niveau). Le rappel est transmis à l'autre code sous forme d'argument et peut être appelé ultérieurement avec des arguments éventuellement entachés. Si vous soupçonnez qu'un rappel peut contenir des données entachées transmises à ses arguments, vous pouvez le marquer en tant que rappel entaché. Ceci rend visible le flux de données entachées dans la routine.

Une routine marquée en tant que rappel entaché sera analysée comme si elle était placée à la racine du diagramme d'appel (en d'autres termes, comme si elle était appelée par un appelant externe) et tous ses arguments d'entrée seront considérés être entachés. Par conséquent, AppScan® Source renverra des constatations avec des traces commençant aux arguments du rappel entaché.

Si la même routine est appelée dans d'autres contextes par votre code applicatif, elle sera traitée sans prise en compte spéciale des tâches éventuelles. Dans ces contextes, l'analyse ordinaire sera appliquée.

Message d'information

Les lignes de code identifiées comme constatations relatives à des informations peuvent ne pas être vulnérables mais doivent être incluses dans un audit de sécurité.