Données déclaratives

Les données déclaratives permettent de déclarer explicitement des informations liées à un actif.

Elles servent à créer un actif air gap ou à modifier les informations d’un actif déjà présent dans Cyberwatch pour adapter les résultats des scans.

Les informations à renseigner doivent respecter la syntaxe décrite ci-dessous.

Modifier les données déclaratives d’un actif

  1. Cliquer sur Inventaire.
  2. Sélectionner un actif.
  3. Depuis la page dédiée à l’actif concerné, onglet « Analyse », cliquer sur le bouton d’édition devant « Données déclaratives ».
  4. Renseigner les informations relatives à l’actif, en respectant la syntaxe.
  5. Valider en cliquant sur le bouton « Mettre à jour ».

Syntaxe du langage

Chaque propriété du langage est composée d’une paire de clé/valeur, dont la syntaxe est :

KEY:value

Précisions sur la syntaxe

  • Les clés sont composées exclusivement de lettres majuscule et d’underscores (tirets du bas) :

     bad_key: → erreur de syntaxe
     BAD-KEY: → erreur de syntaxe
     GOOD_KEY:
    
  • Les lignes ne respectant pas le format clé:valeur déclenchent également des erreurs de syntaxe.

    Il est à noter que les erreurs de syntaxe ne sont jamais fatales, la propriété ne sera simplement pas prise en compte dans l’analyse.

  • Les commentaires commencent au début de la ligne par la caractère #, et s’étendent sur toute la ligne. Les valeurs pouvant contenir le caractère #, commenter une partie de la ligne n’est pas possible.

  • Des valeurs en plusieurs lignes sont acceptées pour certaines propriétés. Elles doivent avoir une indentation plus importante que la propriété qui les définit :

     KEY:start
        ...
        end
    

Interdiction d’une valeur

Vous pouvez interdire une valeur pour qu’elle ne soit plus prise en compte par Cyberwatch, en faisant précéder la syntaxe précédente d’un trait d’union :

-KEY1:value1

Toutes les occurrences de KEY1:value1 qui suivront -KEY1:value1 seront ignorées.

Le trait d’union doit être suivi de la ligne exacte remontée lors du scan.

Types de propriétés

Deux types de propriétés sont disponibles :

  • Les propriétés simples qui ne peuvent être définies qu’une fois et qui n’acceptent qu’une seule valeur. Si la propriété est redéfinie, la deuxième valeur est ignorée :

     HOSTNAME:server-1
     HOSTNAME:server-2 → ignorée
    
  • Les propriétés multiples qui peuvent être renseignées plusieurs fois dans le script. Elles permettent de construire une liste d’éléments :

     # Renseigne 2 paquets :
     PACKAGE:coreutils|8.32-1
     PACKAGE:bash|5.1.004-1
    

Notez que lors de la modification des informations d’un actif, les propriétés simples peuvent être directement réécrites. Elles remplaceront alors les informations remontées lors des scans :

   HOSTNAME:server-1 → remplace la valeur remontée

A l’inverse, les propriétés multiples ne peuvent pas être directement réécrites. Pour qu’une valeur remontée lors des scans soit remplacée, il convient de l’interdire et d’ajouter une propriété avec la nouvelle valeur.

Exemple de cas d’usage :

   # Remplacer la version d'un paquet
   -PACKAGE:coreutils|8.31
   PACKAGE:coreutils|8.32

Liste des propriétés principales

Informations système

KEYImpactExemple KEY:valueSimple/Multiple
HOSTNAMEDéfinit le nom de l’actifHOSTNAME:serverSimple
KERNEL_VERSIONDéfinit la version du noyau de l’OSKERNEL_VERSION:5.4.0-42-genericSimple
OS_NAMEDéfinit le nom du système d’exploitation de l’actifOS_NAME:UbuntuSimple
OS_VERSIONDéfinit la version du système d’exploitationOS_VERSION:20.04.1 LTSSimple
OS_PRETTYNAMEDéfinit le système d’exploitation et sa versionOS_PRETTYNAME:Ubuntu 20.04.1 LTSSimple
ARCHDéfinit l’architecture sous laquelle l’actif tourneARCH:x86_64Simple

État du système

KEYImpactExemple KEY:valueSimple/Multiple
REBOOTPermet la définition de l’état en Redémarrage nécessaireREBOOT:falseSimple
BOOT_TIMEDéfinit l’heure et la date de démarrageBOOT_TIME:2021-03-18T07:38:59+0000Simple

Services

KEYImpactExemple KEY:valueSimple/Multiple
SERVICEAjoute une ligne dans l’onglet ServicesSERVICE:ssh|enabledMultiple

Paquets/applications installés

KEYImpactExemple KEY:valueSimple/Multiple
PACKAGEAjoute un package aux technologies de l’actifPACKAGE:firefox|80.0.1+build1-0ubuntu0.20.04.1Multiple
APPLICATIONAjoute une application aux technologies de l’actifAPPLICATION:Microsoft Office 365 ProPlus - en-us|16.0.11328.20512Multiple
NVD_APPLICATIONAjoute une application tierce à partir d’une CPE connue de la base NVDNVD_APPLICATION:cpe:/a:elastic:kibana:7.0.0Multiple
METAAjoute une ligne à l’onglet MétadonnéesMETA:processor-version|Intel(R) Core(TM) i7-10700 CPU @ 2.90GHzMultiple

Informations réseau

KEYImpactExemple KEY:valueSimple/Multiple
IPDéfinit les adresses IP de l’actifIP:127.0.0.1Multiple
TCPAjoute un port TCP à l’onglet PortsTCP:22 ou TCP:22|opensshMultiple
UDPAjoute un port UDP à l’onglet PortsUDP:53Multiple

Propriétés spécifiques à Windows

KEYImpactExemple KEY:valueSimple/Multiple
OS_BUILDDéfinit le build de WindowsOS_BUILD:17763.1158Simple
WUAVERSIONDéfinit la version du Windows Update AgentWUAVERSION:10.0.17763.1Simple
CAB_FILENAMEDéfinit le nom du fichier officiel de Microsoft utilisé pour ce scanCAB_FILENAME:dcdb9e78484667695627acea9213897eaf.cabSimple

Propriétés spécifiques à SAP

KEYImpactExemple KEY:valueSimple/Multiple
SAP_NOTEAjoute une note SAP à l’actifSAP_NOTE:3119365Multiple

Défauts de sécurité

KEYImpactExemple KEY:valueSimple/Multiple
SECURITY_ISSUEAjoute une ligne dans l’onglet Défauts de sécuritéSECURITY_ISSUE:
   sid: WSTG-CRYP-04 (low)
   cipher: TLS_RSA_WITH_AES_128_CBC_SHA
   grade: A
   port: 443
Multiple
sidSpécifie la référence du défaut de sécurité associéSECURITY_ISSUE:
   sid: WSTG-ATHN-02
Simple
cipherDéfinit le chiffrement non-conformeSECURITY_ISSUE:
   sid: WSTG-CRYP-04 (low)
   cipher: TLS_RSA_WITH_AES_256_CBC_SHA
Simple
portDétail le port associé au défaut de sécuritéSECURITY_ISSUE:
   sid: WSTG-CRYP-04 (low)
   port: 443
Simple
infoPrécise des informations complémentairesSECURITY_ISSUE:
   sid: WSTG-CONF-07
   path: "/login.php"
   method: GET
   info: HttpOnly flag is not set in the cookie : language
Simple
methodSpécifie la méthode de requête HTTPSECURITY_ISSUE:
   sid: WSTG-CONF-07
   path: "/login.php"
   method: GET
Simple
pathSpécifie le chemin d’accèsSECURITY_ISSUE:
   sid: WSTG-CONF-07
   path: "/login.php"
Simple
parameterDéfinit le paramètre vulnérableSECURITY_ISSUE:
   sid: WSTG-INPV-01
   info: XSS vulnerability found via injection in the parameter id
   parameter: id
Simple
http_requestSpécifie la requête HTTP associéeSECURITY_ISSUE:
   sid: WSTG-INPV-01
   path: "/login.php"
   parameter: id
   http_request: |−
      GET /login.php HTTP/1.1
      host: website.test
Simple
curl_commandInforme de la commande curl équivalenteSECURITY_ISSUE:
   sid: WSTG-CONF-07
   curl_command: curl "<https://website.test/login.php>"
Simple
descriptionDescription du défaut de sécuritéSECURITY_ISSUE:
   sid: WSTG-CONF-07
   description: HTTP Strict Transport Security
Simple
protocolDéfinit le protocole non conformeSECURITY_ISSUE:
   sid: Telnet-port
   protocol: TCP
Simple

Équipements réseau

KEYImpactExemple KEY:valueSimple/Multiple
FIRMWARESpécifie le code CPE du micrologiciel d’un équipementFIRMWARE:cpe:/o:stormshield:stormshield_network_security:3.8.1Multiple
HARDWAREPrécise le code CPE du hardware de l’équipementHARDWARE:cpe:2.3:h:sonicwall:nssp_15700Multiple

Retour en haut