Création de stratégies de conformité personnalisées

Si vous disposez des droits requis, vous pouvez créer et supprimer vos propres stratégies de conformité personnalisées.

Une stratégie de conformité personnalisée est définie à l'aide d'une arborescence d'expression JSON. Cette dernière peut se composer d'une seule expression de base ou de plusieurs expressions reliées par une opération logique (And, Or, Not). Chaque expression de base se compose d'une fonction prédéfinie et de son paramètre (s'il est requis). Vous pouvez définir la valeur du paramètre lors de la création de la stratégie de conformité ou utiliser $ pour que cette valeur ne soit pas définie. Lorsqu'un paramètre n'est pas défini, l'utilisateur devra communiquer la valeur au moment d'associer la stratégie de conformité à une application.
Remarque : Lorsque vous créez une stratégie de conformité qui sera utilisée par le biais de l'interface utilisateur, vous devez définir tous les paramètres, sinon il sera impossible de les associer à une application.
La création d'une stratégie de conformité personnalisée présente l'avantage de pouvoir coder les paramètres en dur dans la stratégie de conformité, afin que les utilisateurs puissent avoir recours à la stratégie de conformité sans systématiquement définir les paramètres. Par exemple, vous pouvez utiliser la stratégie de conformité de référence prédéfinie pour créer une série de stratégies de conformité personnalisées avec des dates de début spécifiées.

Fonctions prédéfinies

Vous pouvez utiliser les fonctions prédéfinies suivantes dans vos stratégies de conformité :
Fonction Paramètres Description
StartDate Date (possibilité d'inclure l'heure) dans l'un des formats suivants :
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm (Heure locale +/- décalage UTC)
Renvoie des problèmes détectés après la date (et l'heure) indiquée.
Exemples :
Date uniquement
2018-04-24
Heure UTC
2018-04-24T10:30Z
Heure locale +/- décalage UTC
2018-04-24T11:30+01:00

2018-04-24T07:30-03:00

MinSeverity Gravité au format suivant :
  • Informations
  • Faible
  • Moyen
  • Elevé
  • Critique
Renvoie des problèmes de gravité supérieure ou égale au paramètre indiqué.
OwaspTop10_2017 Non applicable Renvoie des problèmes définis par OWASP comme faisant partie des 10 principaux risques pour la sécurité.
SansTop25 Non applicable Renvoie des problèmes définis par SANS Institute comme faisant partie des 25 principales erreurs critiques.
EUGdpr_2016 Non applicable Renvoie des problèmes qui empêchent la conformité de l'application avec le RGPD.
CWE Liste des ID CWE Renvoie des problèmes qui correspondent aux ID CWE spécifiés.
PCI Non applicable Renvoie des problèmes qui empêchent la conformité de l'application avec la norme PCI sur la sécurité des données.
HIPAA Non applicable Renvoie des problèmes qui empêchent la conformité de l'application avec la loi HIPAA.
Technology Technologies valides :
  • DAST
  • SAST
  • IAST
  • SCA
Renvoie des problèmes qui correspondent aux technologies spécifiées.

Création de stratégies de conformité personnalisées par le biais de l'interface utilisateur

Pour créer une stratégie de conformité personnalisée :
  1. Sur le tableau de bord, cliquez sur Stratégies de conformité, puis sur Ajouter une stratégie de conformité personnalisée.
  2. Donnez un nom à la stratégie de confomité et définissez-la en tant qu'expression JSON.
    Remarque : Si la stratégie de conformité va être associée à des applications par le biais de l'interface, vous devez définir des paramètres lorsque vous créez cette stratégie de conformité. Il n'est pas possible de définir des paramètres au moment d'associer la stratégie de conformité. Si la stratégie de conformité va être associée à des applications par le biais de l'API, vous pouvez laisser les paramètres non définis et les définir au moment de l'association.

    Exemple 1 : Stratégie de conformité de base de référence personnalisée

    {  
       "Function":"StartDate",
       "Parameters":[  
          "2017-12-31T13:50Z"
       ]
    }
    

    Exemple 2 : Stratégie de conformité CWE personnalisée

    {  
       "Function":"CWE",
       "Parameters":[  
          89,
          90
       ]
    }
    

    Exemple 3 : Stratégie de conformité personnalisée composée

    {  
       "Operation":"And",
       "Expressions":[  
          {  
             "Function":"StartDate",
             "Parameters":[  
                "2018-04-24T10:30Z"
             ]
          },
          {  
             "Function":"MinSeverity",
             "Parameters":[  
                "Medium"
             ]
          }
       ]
    }
    

    Exemple 4 : Stratégie de conformité personnalisée pour exclure les CWE 89 et 90

    {
        "Operation": "Not",
        "Expressions": [
            {
                "Function": "CWE",
                "Parameters": [
                    89,
                    90
                ]
            }
        ]
    }
    

    Exemple 5 : Stratégie de conformité OWASP Top 10 personnalisée qui exclut les CWE 89 et 90

    {
        "Operation": "And",
        "Expressions": [
            {
                "Operation": "Not",
                "Expressions": [
                    {
                        "Function": "CWE",
                        "Parameters": [
                            89,
                            90
                        ]
                    }
                ]
            },
            {
                "Function": "OwaspTop10_2017"
            }
        ]
    }
                                

    Exemple 6 : Stratégie de conformité personnalisée pour filtrer les problèmes en fonction de la technologie

    {
       "Function": "Technology",
       "Parameters": [
          "DAST",
          "SAST"
        ]
    }
                                    
  3. Lorsque vous avez terminé, cliquez sur Fermer

Création de stratégies de conformité personnalisées par le biais de l'API REST

Dans l'API REST, une stratégie de conformité est définie à l'aide d'une arborescence d'expression. Cette dernière peut se composer d'une seule expression de base ou de plusieurs expressions reliées par une opération logique (And, Or, Not). Chaque expression de base se compose d'une fonction prédéfinie et de son paramètre (s'il est requis). Vous pouvez définir la valeur du paramètre lors de la création de la stratégie de conformité ou utiliser $ pour que cette valeur ne soit pas définie. Lorsqu'un paramètre n'est pas défini, l'utilisateur doit communiquer la valeur au moment d'associer la stratégie de conformité à une application.

Exemple 1 : Stratégie de conformité de base de référence personnalisée

{
    "Name": "Baseline",
    "Predefined": true,
    "Expression": {
      "Function": "StartDate",
      "Parameters": [
        "$DATE"
      ]
    }
}

Exemple 2 : Stratégie de conformité CWE personnalisée

{
   "Name": "CWE policy",
   "Expression": {
     "Function": "CWE",
     "Parameters": [
       89,
       90
     ]
   }
}

Exemple 3 : Stratégie de conformité personnalisée composée

Dans cet exemple de stratégie de conformité personnalisée, les fonctions StartDate et MinSeverity sont incluses avec l'opération And. Ainsi, seuls les problèmes ayant la gravité minimale définie et détectés après la date indiquée sont inclus.

  {
    "Name": "MyPolicy",
    "Predefined": false,
    "Expression": {
      "Operation": "And",
      "Expressions": [
        {
          "Function": "StartDate",
          "Parameters": [
            "2018-04-24T10:30Z"
          ]
        },
        {
          "Function": "MinSeverity",
          "Parameters": [
            "$minseverity"
          ]
        }
      ]
    }
  }

Exemple 3 : Stratégie de conformité personnalisée pour filtrer les problèmes en fonction de la technologie. Seules les questions soulevées lors des examens DAST et SAST sont répertoriées.

{ 
    "Name": "Tech Filter", 
    "Expression": { 
        "Function": "Technology", 
        "Parameters": [ 
            "DAST", 
            "SAST" 
        ]
    } 
}