Créer des identifiants d'applications
Les identifiants d'applications permettent de définir les applications sur lesquelles portent les règles d'audit ou de protection, c'est-à-dire :
- Les applications à protéger ou à exclure d'une protection,
- Les applications susceptibles d'agir sur une application protégée, de manière légitime ou illégitime.
Les identifiants sont propres aux jeux de règles et vous devez donc créer des identifiants dans chaque jeu. Vous pouvez néanmoins exporter tous les identifiants d'un jeu de règles pour les importer et les utiliser dans un autre. Pour plus d'informations, reportez-vous à la section Exporter et importer des identifiants
EXEMPLE
Vous souhaitez interdire l'enregistrement des frappes clavier de votre navigateur web à toutes les applications, sauf à votre outil de virtualisation qui a légitimement besoin d'enregistrer les frappes clavier. Dans ce cas, vous devez créer un identifiant d'applications pour votre application à protéger (navigateur web), et un identifiant pour votre application qui pratique légitimement l'enregistrement de frappes (outil de virtualisation).
Les identifiants d'applications sont nécessaires lors de la création des jeux de règles et vous devez donc les créer au préalable.
- Dans le menu Sécurité > Politiques, sélectionnez une politique puis un jeu de règles.
- Cliquez sur l'onglet Identifiants en haut à droite, puis sur l'onglet Identifiants d'applications.
- Cliquez sur Modifier dans le bandeau supérieur puis sur Ajouter un identifiant.
Un identifiant vide s'affiche en dessous des identifiants existants. - Cliquez sur Modifier en bas à droite.
- Dans le champ Nouvel identifiant d'application, entrez un nom d'identifiant, puis une description si nécessaire.
- Cliquez sur et sélectionnez tous les critères d'identifiants que vous souhaitez utiliser. Par exemple Chemin et Certificat.
- Cliquez à l'extérieur de la fenêtre des critères et définissez chaque critère d'identification sélectionné :
Chemins
Cliquez sur Modifier puis dans le champ bleu en bas saisissez le chemin partiel ou complet du fichier exécutable de l'application. Il peut s'agir du chemin dans le système de fichiers ou d'un lien.
Les caractères * et ? sont autorisés. Par exemple, entrez *\Apache.exe pour désigner l'application Apache quel que soit son emplacement sur le poste de travail.
Les chemins complets commençant par une lettre (i.e., E:\Data\Backup) ne sont pas supportés si le Type de volume est distant ou amovible.
Stormshield recommande fortement l'utilisation des racines de chemins EsaRoots fournies par SES Evolution à la place des lettres de lecteurs (i.e., C:\...). En effet, ces lettres peuvent différer d'un poste de travail à l'autre.Vous pouvez aussi préciser un flux de données alternatif (Alternate Data Stream). Les ADS d'un fichier exécutable lui permettent d'être constitué de plusieurs flux de données. Reportez-vous à la documentation Microsoft Windows pour en savoir plus.
Cliquez sur Ajouter.
Saisissez d'autres chemin dans le champ bleu si nécessaire, puis cliquez sur Ajouter.
Cliquez sur Valider pour confirmer la liste de chemins.
Hashes- Un hash permet d'identifier très précisément un binaire de confiance : toute modification changera le hash qui ne sera donc plus reconnu. Vous pouvez utiliser l'identification par hash dans les cas suivants :
- Pour s'assurer qu'un binaire légitime n'est ni remplacé ni modifié. Cependant, cela nécessite une maintenance assez lourde car vous devrez modifier les identifiants à chaque mise à jour logicielle. Elle est donc à réserver pour les systèmes qui subissent très peu de changements.
- Pour identifier les malware qui changent souvent de nom mais peuvent conserver leur hash. Importez la liste des hashes des malware les plus courants et bloquez ainsi leur exécution.
Cliquez sur Modifier puis sur l'icône crayon.
Dans le champ bleu en bas, saisissez le hash MD5, SHA1, ou SHA256 du binaire de l'application ainsi qu'une description, puis cliquez sur Ajouter
Pour obtenir le hash d'un binaire, vous pouvez utiliser la commande Powershell suivante. Dans cet exemple, on obtient le hash SHA256 de tous les fichiers .exe :
Get-ChildItem -Recurse -Filter '*.exe' | get-filehash -Algorithm SHA256 | select path, Hash
Saisissez d'autres hashes dans le champ bleu si nécessaire, puis cliquez sur Ajouter.
Cliquez sur Valider.
Vous pouvez aussi importer une liste de hashes à partir d'un fichier CSV ou txt. Le fichier doit contenir une ligne par hash avec deux informations par ligne, séparées par une virgule, une tabulation ou un point-virgule :
Le hash (MD5, SHA1 ou SHA2),
La description.
- Cliquez sur Valider pour confirmer la liste des hashes.
Pour ajouter des hashes :
En cas d'erreur ou de doublon de hash, SES Evolution le signale et seuls les hashes valides et uniques sont importés.
Une fois les hashes saisis ou importés, la fenêtre affiche le nombre de hashes pour chaque algorithme.
Processus parentSélectionnez le processus qui lance l'exécution de l'application. L'identifiant d'applications de ce processus doit avoir été créé au préalable.
Cliquez sur Modifier.
Recherchez l'identifiant du ou des processus parent grâce au champ de recherche et sélectionnez-les dans la liste.
Cliquez sur Valider pour confirmer la liste des processus parents.
CertificatImportez le certificat de signature numérique fourni par l'éditeur de logiciel de l'application. Vous pouvez utiliser l'identification par certificats dans les cas suivants :
Pour renforcer l'identification d'un binaire de confiance de manière moins restrictive qu'un hash car le certificat ne change pas à chaque nouvelle version du binaire. Elle est plus fiable que l'utilisation du chemin seul car un attaquant pourrait renommer un malware en winword.exe par exemple.
Pour faire confiance à un éditeur et donc à tous les logiciels qu'il signe avec son certificat. Par exemple vous pouvez autoriser l'exécution de tous les binaires signés par Microsoft, ou même de tous les binaires signés par une autorité de certification de confiance.
Pour obtenir un certificat, vous pouvez utiliser la commande Powershell suivante. Dans cet exemple, on obtient le certificat d'Acrobat Reader que l'on nomme Adobe.cer :
(Get-AuthenticodeSignature -FilePath "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe").SignerCertificate | Export-Certificate -FilePath Adobe.cer
Pour ajouter des certificats :
- Cliquez sur Modifier à droite de la case à cocher, puis sur Importer le certificat.
- Choisissez les certificats à importer.
- Si nécessaire, recherchez le ou les certificats grâce au champ de recherche et sélectionnez-les dans la liste.
- Cliquez sur Valider pour confirmer la liste des certificats.
- L'option Limiter la recherche à la liste (0) permet de rechercher les applications identifiées par les certificats listés dans l'identifiant. Conservez la case décochée (par défaut) si vous souhaitez qu'une règle recherche parmi tous les certificats ayant signé des applications. Dans ce cas, il n'est pas nécessaire d'importer des certificats dans l'identifiant.
Vous pouvez affiner la recherche avec les options Valide et Non valide pour qu'une règle s'applique lorsqu'elle trouve des certificats valides ou non valides (listés dans l'identifiant ou non). Le statut invalide couvre les cas suivants : certificat non signé, révoqué, non vérifié, expiré, corrompu ou absence de certificat. Ces options sont compatibles avec les agents à partir de la version 2.3. - Si nécessaire, cochez Ignorer les erreurs de validation de la signature du certificat afin que les règles utilisant cet identifiant s'appliquent quand même lorsque la vérification du certificat est impossible et qu'une application est identifiée par d'autres critères définis dans l'identifiant.
La vérification du certificat peut être impossible dans les cas suivants :
lorsqu'un fichier binaire est démarré avant l'installation de l'agent, avant le démarrage des services de l'agent, lors du premier redémarrage suivant l'installation de l'agent ou bien suivant une mise à jour majeure du système d'exploitation,
dans le cas du fichier binaire WerFault.exe, qui est traité différemment des autres pour des raisons techniques,
lorsque la lecture du fichier binaire est bloquée par un logiciel tiers.
Contexte d'exécution- Cliquez sur Modifier.
Dans la liste déroulante en bas, choisissez le type de compte qui lance l'application identifiée (e.g., NT_AUTHORITY\System), puis cliquez sur Ajouter.
Vous pouvez choisir un niveau d'intégrité strict ou supérieur ou égal. Par exemple, si vous définissez un identifiant Powershell avec contexte d'exécution en Niveau d'intégrité Administrateur (strict), la règle se déclenche uniquement pour un Powershell exécuté par un Administrateur. En revanche, avec un contexte d'exécution en Niveau d'intégrité Administrateur (ou supérieur), la règle se déclenche si Powershell est exécuté par un Administrateur ou le Système d'exploitation.
Pour définir un compte bien spécifique, saisissez le SID (security identifier) du compte dans le champ.
Choisissez d'autres comptes si nécessaire et cliquez sur Ajouter.
Cliquez sur Valider pour confirmer la liste des comptes.
Pour obtenir un SID, lancez une fenêtre de commandes avec les droits d'administration et exécutez la commande suivante :
WMIC useraccount get name,sid
Type du volumeActivez le ou les types de volume sur lesquels s'exécute l'application : disque local du poste de travail, partage réseau (e.g., Samba/CIFS, DFS, etc.) ou périphérique amovible (e.g., clé USB, disque dur externe, téléphones mobiles selon leur configuration, etc.).
Ligne de commandeFiltrez les applications en fonction des arguments de leur ligne de commande. Cela permet d'appliquer des règles différentes à une même application selon l'usage qui en est fait. Pour utiliser le critère Ligne de commande, reportez-vous à la section suivante.
Plus vous spécifiez de critères, plus l'identification de l'application est précise car tous les critères doivent correspondre.
EXEMPLE
Dans l'identification de l'application PowerShell.exe signée par Microsoft, lancée par la tâche planifiée schtasks.exe, s'exécutant depuis le disque local via le compte NT_AUTHORITY\System, les quatre critères doivent être présents pour que l'application soit identifiée.
- Cliquez sur Ajouter une entrée si vous souhaitez ajouter une autre liste de critères pour le même identifiant. Avoir plusieurs entrées permet de regrouper sous un même identifiant diverses ressources qui sont utilisées par les mêmes règles de sécurité. Par exemple vous pouvez regrouper les différents navigateurs, ou alors regrouper diverses applications dangereuses afin d'établir une liste noire.
- Activez l'option Inclure les enfants des applications identifiées ci-dessous pour qu'une règle appliquée à un identifiant soit propagée à tous ses identifiants enfants. Cette option permet par exemple d'identifier les programmes d'installation qui sont extraits dans un répertoire temporaire et lancent des exécutables ayant des noms aléatoires. Si vous déclarez le programme d'installation comme légitime, la légitimité se propagera à tous les fichiers temporaires qu'il aura créés et lancés.
- Cliquez sur Valider.
- Si vous avez terminé la création des identifiants d'applications, cliquez sur Enregistrer dans le bandeau supérieur.
- Pour afficher le contenu d'un identifiant d'applications sans l'éditer, cliquez sur le bouton Voir.
ASTUCE
Vous pouvez également créer un identifiant d'applications directement depuis une règle. Dans une règle, cliquez sur le bouton , puis sur Créer un nouvel identifiant.
De même, depuis une règle, vous pouvez cliquer sur un identifiant déjà sélectionné afin de le modifier. Les modifications s'appliqueront aussi à l'identifiant dans l'onglet Identifiants.