Netskope LogoNetskope Logo
  • Services de sécurité
  • Services d’IA
  • Services de miseenréseau
  • Services d'analyse
  • Intégrations
  • getting-started.svgPour commencer
    • Support
    • Communauté
    • Netskope.com
    © 2026 Tous droits réservés. Netskope Inc.
    Accueil
    Prévention des pertes de données
    Construction d'expressions régulières

    Construction d'expressions régulières

    Le moteur DLP (Prévention des pertes de données) contient plus de 3000 identifiants de données prédéfinis qui peuvent être utilisés dans les règles DLP (Prévention des pertes de données). Le moteur DLP (Prévention des pertes de données) prend également en charge les identificateurs de données personnalisés qui utilisent soit une recherche par mot clé, soit une recherche par expression régulière. Cette page décrit comment écrire des identifiants de données personnalisés pour la prévention des pertes de données (DLP) à l'aide d'expressions régulières.

    Lorsque vous créez une expression régulière, tenez toujours compte des paramètres suivants :

    • Coverage - Si une cible de fléchettes représente les données correspondant à l'expression régulière, quelle est la probabilité que toutes les correspondances possibles soient incluses dans la surface de la cible de fléchettes ? Si vous lancez une fléchette sur la cible, que vous ratez la cible et que vous avez encore la possibilité de toucher de vraies fléchettes, la couverture de la cible de fléchettes n'est pas complète.
    • Accuracy - La précision est une mesure de l'adéquation d'un élément à un autre. Combien de fois la fléchette atteindra-t-elle une correspondance appropriée lorsqu'elle frappera la cible ? Plus important encore, combien de fois la fléchette touche-t-elle une mauvaise cible, même si elle touche la cible ? L'expression régulière "trop large" inclut-elle trop de déchets ?
    • False Positives – Considérons la chaîne : 95054. Bien que ce soit le code postal de Netskope à Santa Clara, il se peut que ce ne soitreally une référence à un code postal. Peut-être que ce sont les cinq derniers chiffres d’un numéro de carte de crédit American Express, un numéro de pièce d’accessoire LEGO, un numéro de dossier dans le service d’urbanisme du comté de Price George, etc.
    • Performance - La performance est une mesure subjective de l'efficacité de l'expression régulière dans différentes conditions réelles, et n'est pas aussi simple qu'il n'y paraît. Si vous lancez des fléchettes à une vitesse extrêmement élevée, mais que vous n'atteignez pas la cible, à quoi sert la haute performance ? Inversement, si vous lancez des fléchettes si lentement qu'elles ne se plantent pas dans les fibres ou le bouchon (l'équivalent des temps morts du moteur), vous manquerez toutes les données sensibles.

    Syntaxe

    Cette section décrit la syntaxe des expressions régulières prises en charge par le moteur DLP (Prévention des pertes de données). L'analyseur du moteur DLP (Prévention des pertes de données) interprète la syntaxe des expressions régulières différemment de la syntaxe des expressions régulières UNIX et certaines expressions et usages courants doivent être adaptés au moteur DLP (Prévention des pertes de données).

    Le moteur DLP (Prévention des pertes de données) est limité à 256 caractères.

    Les fonctions Regex courantes ci-dessous sont prises en charge :

    • Classes de caractères - par exemple [a-z]
    • Cours de sténographie courants — par exemple \d, \w, \s, et d’autres. Ce sont not recommended non [0-9] car c’est bien plus clair que \d.
    • Classes de caractères négatifs - par exemple [^0-9] ou \D. Ceux-ci sont not recommended pour des raisons de performance.
    • Groupes et alternatives - par exemple (A|B)
    • Quantificateurs - + et *. Prend également en charge les quantificateurs d'intervalle {n,m}; cependant, l'intervalle doit être petit et la classe précédente doit être positive et étroite. Des problèmes de compilation peuvent survenir si ces directives ne sont pas respectées.

    Considérations

    Tenez compte des considérations suivantes.

    Le moteur d'entités DLP (Prévention des pertes de données) inclut des limites de mots implicites autour des entités prédéfinies et personnalisées, empêchant ainsi un modèle de dictionnaire ou de regex tel que "cat" de correspondre à "catalog" ou "authenticate", tout en empêchant également un modèle de nombre tel que "[0-9]{16}" (censé ne correspondre qu'à des nombres aléatoires de 16 chiffres) de correspondre à des sous-chaînes telles que celles contenues dans "DF435201748403266864D2B24".

    Alors que les limites de mots délimitent traditionnellement les caractères verbaux (0-9A-Za-z_) et les caractères non verbaux (tout le reste), les limites de mots implicites mises en œuvre par Netskope DLP (Prévention des pertes de données) prennent également en considération de nombreux caractères verbaux non anglais, sans quoi le moteur ne pourrait pas faire correspondre des mots entiers et des phrases tels que "řidičský průkaz", "Валерий" ou "Điện Biên Phủ".

    Le concept de "limites implicites des mots" se rapporte à la manière dont les dictionnaires et les modèles de regex délimitent les limites d'un mot, sans nécessiter l'utilisation explicite de points d'ancrage tels que \b (classe de limite de mot). Cela permet au moteur de regex de reconnaître et de respecter automatiquement les frontières entre les mots, et donc de ne faire correspondre que des mots entiers du début à la fin, ce qui réduit considérablement le nombre de faux positifs.

    Les tabulations (et plusieurs autres formes d'espaces blancs) sont normalisées en espaces avant l'inspection.

    Application de l'utilisation des expressions rationnelles

    Netskope données Les entités de prévention des pertes sont principalement utilisées pour l'identification des données sensibles. Comme indiqué précédemment, plusieurs fonctionnalités robustes, telles que les expressions régulières, sont incluses pour atteindre cet objectif. En raison de la diversité des données qui peuvent évoluer, les organisations tentent souvent une identification générale en utilisant ".*", ".{0,}" ou ".+" au début ou à la fin d'une expression ou même de façon autonome. Le fait de les utiliser au début ou à la fin de la définition entraîne souvent une couverture excessivement large, ce qui conduit à un volume de détection élevé et inattendu que l'organisation n'avait pas prévu, et qui n'est donc pas pris en charge.

    i.e. 

    • .*cat
    • cat.*
    • .+cat
    • cat.+
    • .*cat.+
    • .*
    • .+
    • .{0,}

    Au lieu de cela, tirez parti des ancres fortes qui sont essentielles pour des expressions régulières performantes car elles limitent fondamentalement l'espace de recherche, éliminent les retours en arrière inutiles et permettent d'éviter les correspondances faussement positives. 

    Par exemple, si vous essayez d'identifier des numéros de pièces qui suivent un schéma comme celui-ci

    • 190-15-X-6789.partsX
    • 181-26-A-6789.partsY
    • 472-37-A-6789.partsY
    • 165-49-K-6789.partsY
    Non pris en chargeBonne ancreAncre Forte
    .*part.+\b[0-9]{3}-[0-9]{2}-[A-Z]-[0-9]{4}\.parts[A-Z]\b\b[0-9]{3}-[0-9]{2}-[XAK]-[0-9]{4}\.parts[XY]\b
    Cette regex détecterait toute séquence contenant la partie mot.mismatch d'intention potentiel causant des alertes : Très élevé.Cette expression rationnelle se concentre sur la structure du numéro de pièce afin d'identifier un large éventail de pièces et de variantes.Cette expression se concentre strictement sur le modèle disponible, avec moins de flexibilité pour couvrir les variations.
    (Dans le cas où vous pouvez la combiner avec une entité du dictionnaire dans une règle qui devrait être proche (NEAR) by pour garantir une précision encore plus grande de la signification.

    Opérateurs pris en charge

    OperatorMotif assorti
    \Citez (échappez) le métacaractère suivant pour qu'il puisse être utilisé comme un littéral. Un métacaractère est un caractère qui a une signification particulière lors du traitement du motif, comme l'un de ces opérateurs.
    .Correspond à n'importe quel caractère (à l'exception de la nouvelle ligne). Inclut les lettres, les chiffres, la ponctuation, le japonais, les emoji, etc. Il y a 140 000 caractères.
    (Début du sous-modèle
    )Fin du sous-modèle
    |Alternance. Il s'agit d'un OU logique. Par exemple (chat|chien) correspond à chat ou chien.
    [xy]Caractère x ou y
    [x-z]La plage de caractères entre x et z
    [^z]Tout caractère sauf z. Non recommandé pour des raisons de performance.

    Quantificateurs pris en charge

    OperatorMotif assorti
    *Match 0 ou plus
    +Correspondance 1 ou plusieurs fois
    ?Correspondance 0 ou 1 fois
    {n}Correspondre exactement n fois
    {n,}Correspondance au moins n fois
    {n,m}Correspondance au moins n fois, mais pas plus de m fois

    Questions fréquemment posées et bonnes pratiques

    Utilisez des entités prédéfinies dans la mesure du possible.

    Les entités prédéfinies sont généralement plus performantes que les entités personnalisées. À moins que le service d'assistance de Netskope n'ait vérifié qu'il existe un problème avec une entité prédéfinie, il est toujours préférable d'utiliser une entité prédéfinie.

    Certains vrais positifs peuvent être des faux positifs fonctionnels

    Par exemple, si vous cherchez Passcode, vous trouverez que les invitations aux réunions de Zoom contiennent une chaîne de caractères comme Passcode: 123456. Il s'agit d'un vrai positif lorsque vous recherchez Passcode, mais fonctionnellement, c'est un faux positif car l'impact de cette chaîne est très faible.

    Quelles sont les fonctions RegEx les plus courantes que la saveur de Netskope ne prend PAS en charge ?

    Les fonctionnalités les plus demandées qui ne sont pas prises en charge sont les suivantes :

    • les assertions de contournement positives/négatives - par ex. (?! ou (?<=
    • les rétro-références, ou les groupes de capture indexés ou nommés - par exemple \1
    • non-capturing groups — e.g. (?:
    • non-greedy (or lazy) quantifiers — e.g. .+?, \d*?, or (?U)
    • possessive quantifiers — e.g. .++, \w++, or (?-U)
    • les modificateurs de mode - par exemple (?i) ou (?x)
    • les groupes atomiques - par exemple (?>

    Indiquez toujours quelque chose autour de la correspondance attendue dans le champ d'entrée du test.

    N'oubliez pas d'inclure les espaces.

    Fusionnez vos entités chaque fois que cela est possible.

    Examinez les phrases suivantes :

    • password
    • passwd
    • pwd
    • pword

    Plutôt que de créer quatre sites Entities distincts pour chaque phrase, créez un modèle qui puisse correspondre à toutes les phrases, par exemple :

    p(ass)?w(or)?d

    Ou même :

    (password|passwd|pwd|pword)

    Les regex de validation de formulaire ne doivent PAS être utilisées comme regex d'inspection de contenu.

    Par exemple, pour vérifier qu'un utilisateur a saisi une année valide entre 1900 et 2099, un RegEx de validation de formulaire pourrait ressembler à ceci :

    ^(19|20)[0-9]{2}$

    Le carat (^) signifie que la correspondance des motifs doit commencer au début de la ligne ou de l'entrée. Inversement, le signe du dollar ($) signifie qu'il faut faire correspondre la fin. Les deux sont généralement absurdes lorsque l'on recherche des données dans un texte, une feuille de calcul ou tout autre document typique. Le RegEx ci-dessus ne peut pas faire correspondre une année à un texte tel que le suivant : January 31, 2022.

    En règle générale, avoid anchor assertions.

    Exemples d'expressions régulières

    • Vous recherchez toutes les occurrences de Acme, Budget Forecast, ou Confidential dans un document, avec les lettres majuscules et minuscules exactement comme indiqué.

      (Acme|Budget\ Forecast|Confidential)

      | - Le symbole du tuyau signifie "OU", et les parenthèses ouvertes et fermées définissent un groupe de choix. Dans cet exemple, les parenthèses ne sont pas nécessaires, mais ajoutez-les quand même parce que c'est une bonne pratique et que cela vous évitera des problèmes lorsque vous écrirez des RegEx plus compliquées plus tard.

      \N- Ce symbole de barre oblique inverse permet d'échapper au caractère suivant (dans ce cas, l'espace " "). Lorsque vous créez un RegEx long ou compliqué qui s'enroule (ou a même le potentiel de s'enrouler) sur l'écran ou le papier, vous ne pouvez pas être sûr à 100% que cet espace existe, devrait exister, ou peut-être ne devrait pas exister lorsqu'il est au bord de l'enroulement. Échappez à l'espace pour lever cette ambiguïté.

    • Correspondance à des expressions similaires comme Acme, Acme Inc, Acme Inc.ou Acme Incorporated.

      Acme(\ Inc(\.|orporated)?)?

      ? – Matchs 0 ou 1 fois. Dans cet exemple, cela cherche Acme, suivi d’un groupe optionnel (marqué par ?) qui se compose d’un espace et de Inc, qui est lui-même optionnellement suivi d’un groupe soit d’un point, soit du reste du mot orporated (marqué par un autre ?).

    Dans ce thème
    • Construction d'expressions régulières