Partager via


Méthodes et techniques de correspondance pour les packages de règles dans Exchange 2013

S’applique à : Exchange Server 2013

Cette rubrique décrit les techniques permettant de faire correspondre les éléments Pattern et Evidence dans un fichier XML de protection contre la pertes de données (DLP, Data Loss Prevention) destiné à accueillir votre package de règles de types d'informations sensibles. Vous devez d'abord créer un fichier XML bien formé, puis l'importer en utilisant le Centre d'administration Exchange (CAE) ou l'environnement de ligne de commande Exchange Management Shell qui vous aideront à créer votre solution DLP Microsoft Exchange Server 2013. Vous devez disposer d'un fichier XML DLP avant d'utiliser les méthodes de correspondance décrites ci-dessous. Pour plus d'informations sur la définition de vos modèles DLP et fichiers XML, consultez la rubrique Définition de vos modèles DLP et types d'informations.

Élément Match

L’élément Match est utilisé dans les Pattern éléments et Evidence pour représenter la mot clé, l’expression régulière ou la fonction sous-jacente à mettre en correspondance. La définition de la correspondance elle-même est stockée en dehors de l’élément Rule et est référencée via l’attribut idRef requis. Plusieurs Match éléments peuvent être inclus dans une définition de modèle qui peut être incluse directement dans l’élément ou combinée à l’aide Pattern de l’élément Any pour définir la sémantique correspondante.

<?xml version="1.0" encoding="utf-8"?>
<Rules packageId="...">
        ...
<Entity id="...">
  <Pattern confidenceLevel="85">
             <IdMatch idRef="FormattedSSN" />
             <Match idRef="USDate" />
             <Match idRef="USAddress" />
  </Pattern>
</Entity>
        ...
         <Keyword id="FormattedSSN "> ... </Keyword>
         <Regex id=" USDate "> ... </Regex>
         <Regex id="USAddress"> ... </Regex>
        ...
</Rules>

Définition de correspondances basées sur des mots clés

Il est fréquent d'utiliser une règle de correspondance basée sur des expressions de chaîne de mots clés réservés. Pour ce faire, utilisez l’élément Keyword . L’élément Keyword a un id attribut qui est utilisé comme référence dans les règles Entity ou Affinity correspondantes. Un élément Keyword peut être référencé dans plusieurs règles Entity et Affinity.

Vous pouvez utiliser des algorithmes basés sur une correspondance exacte ou une correspondance de mot pour effectuer cette mise en correspondance. La correspondance exacte utilise un algorithme respectant la casse qui recherche le texte dans la langue spécifiée. La correspondance de mot applique un algorithme de correspondance basé sur des limites de mot. Les termes à mettre en correspondance peuvent être inclus dans la définition de mot clé à l’aide du sous-élément Term.

Conseil

Utilisez le style de correspondance à constante au lieu de la correspondance regex pour augmenter l'efficacité. Utilisez la correspondance regex uniquement dans le cas où les correspondances à constante sont insuffisantes et où les expressions régulières exigent de la souplesse.

<Keyword id="Word_Example">
    <Group matchStyle="word">
       <Term>card verification</Term>
       <Term>cvn</Term>
       <Term>cid</Term>
       <Term>cvc2</Term>
       <Term>cvv2</Term>
       <Term>pin block</Term>
       <Term>security code</Term>
    </Group>
</Keyword>
...
<Keyword id="String_Example">
    <Group matchStyle="string">
       <Term>card</Term>
       <Term>pin</Term>
       <Term>security</Term>
    </Group>
</Keyword>

Définition de correspondances basées sur des expressions régulières

La méthode de correspondance basée sur des expressions régulières est elle aussi couramment utilisée. En raison de sa souplesse d'utilisation, la correspondance basée sur des expressions régulières sert souvent à appliquer des correspondances pour des données telles que des numéros de permis de conduire ou des adresses. Les modèles d'expression régulière sont définis à l'aide d'une syntaxe d'expression régulière courante. Le tableau suivant propose des exemples de certains des jetons d'expression régulière les plus courants actuellement disponibles.

Conseil

Utilisez le style de correspondance à constante au lieu de la correspondance regex pour augmenter l'efficacité. Utilisez la correspondance regex uniquement dans le cas où les correspondances à constante sont insuffisantes et où les expressions régulières exigent de la souplesse.

Symbole Signification
c Faites correspondre le caractère littéral c une fois, sauf s’il s’agit de l’un des caractères spéciaux.
^ Correspond au début d'une ligne.
. Correspond à tout caractère qui n'est pas une nouvelle ligne.
$ Correspond à la fin d'une ligne.
| OU logique entre des expressions.
() Regroupe des sous-expressions.
[] Définit une classe de caractères.
* Correspond à l'expression qui précède zéro ou plusieurs fois.
+ Correspond à l'expression qui précède une ou plusieurs fois.
? Correspond à l'expression qui précède zéro ou une fois.
{n} Correspond à l'expression précédente n fois.
{n,} Correspond à l'expression précédente au moins n fois.
{n, m} Correspond à l'expression précédente au moins n fois et au plus m fois.
\d Correspond à un chiffre.
\D Mettre en correspondance un caractère qui n’est pas un chiffre.
\w Correspond à un caractère alphabétique, y compris le trait de soulignement.
\W Mettre en correspondance un caractère qui n’est pas un caractère alpha.
\s Correspond à un espace (\t, \n, \r ou \f).
\S Correspond à un caractère autre qu'un espace.
\t Tabulation.
\n Nouvelle ligne.
\r Retour chariot.
\f Saut de page.
\m Échappement m, où m est l’un des méta-caractères décrits ci-dessus : ^, ., $, |, (), [, ], *, +, ?, \, /.

L’élément Regex a un id attribut qui est utilisé comme référence dans les règles Entity ou Affinity correspondantes. Un élément Regex peut être référencé dans plusieurs règles Entity et Affinity. L'expression Regex est définie comme la valeur de l'élément Regex.

<Regex id="CCRegex">
     \bcc\#\s|\bcc\#\:\s
</Regex>
...
<Regex id="ItinFormatted">
    (?:^|[\s\,\:])(?:9\d{2})[- ](?:[78]\d[-
     ]\d{4})(?:$|[\s\,]|\.\s)
</Regex>
...
<Regex id="NorthCarolinaDriversLicenseNumber">
    (^|\s|\:)(\d{1,8})($|\s|\.\s)
</Regex>

Combinaison de plusieurs éléments de correspondance

Pour augmenter la confiance de correspondance, il est courant de définir une sémantique entre plusieurs éléments Match, par exemple pour qu'une ou plusieurs correspondances se produisent. L'élément Any permet de définir la logique entre plusieurs correspondances. Il peut être utilisé comme sous-élément dans l'élément Pattern. Il contient un ou plusieurs éléments Match enfants et définit la logique entre les correspondances. Vous trouverez ci-dessous des exemples de code XML concernant les éléments Any quand la correspondance porte sur tous les éléments, sur aucun élément (logique « not ») et sur un nombre exact d'éléments.

L’attribut minMatches facultatif peut être utilisé (valeur par défaut = 1) pour définir le nombre minimal d’éléments Match qui doivent être remplis pour satisfaire une correspondance. De même, l’attribut maxMatches facultatif peut être utilisé (valeur par défaut = nombre d’éléments Match enfants) pour définir le nombre maximal d’éléments Match qui doivent être remplis pour satisfaire une correspondance. Ces conditions sont combinées à l’aide d’opérateurs logiques basés sur l’utilisation des attributs minMatches et maxMatches, ce qui permet les sémantiques suivantes :

  • Correspondance à tous les enfants Match enfants

    Aucune correspondance avec les éléments Match enfants

    Correspondance avec un sous-ensemble exact d'éléments Match enfants

<Any minMatches="3" maxMatches="3">
    <Match idRef="USDate" />
    <Match idRef="USAddress" />
    <Match idRef="Name" />
</Any>
<Any maxMatches="0">
    <Match idRef="USDate" />
    <Match idRef="USAddress" />
    <Match idRef="Name" />
</Any>
<Any minMatches="1" maxMatches="1">
    <Match idRef="USDate" />
    <Match idRef="USAddress" />
    <Match idRef="Name" />
</Any>

Augmentation du niveau de confiance avec davantage de preuves

Pour les règles basées sur des entités, il est également possible d'augmenter le niveau de confiance en définissant plusieurs éléments Pattern, chacun avec un nombre croissant de preuves corroborantes. À cette fin, utilisez les attributs minMatches et maxMatches pour l'élément Any afin de créer des modèles indépendants dont le niveau de confiance augmente avec le nombre de preuves corroborantes. Par exemple :

  • si un élément de preuve corroborante est trouvé : le niveau de confiance est de 65 %
  • si deux éléments sont trouvés : le niveau de confiance est de 75%
  • si trois éléments sont trouvés : le niveau de confiance est de 85%
<Entity id="..." patternsProximity="300" >
    <Pattern confidenceLevel="65">
        <IdMatch idRef="UnformattedSSN" />
        <Any maxMatches="1">
            <Match idRef="USDate" />
            <Match idRef="USAddress" />
            <Match idRef="Name" />
        </Any>
    </Pattern>
    <Pattern confidenceLevel="75">
        <IdMatch idRef="UnformattedSSN" />
        <Any minMatches="2" maxMatches="2">
            <Match idRef="USDate" />
            <Match idRef="USAddress" />
            <Match idRef="Name" />
        </Any>
    </Pattern>
    <Pattern confidenceLevel="85">
        <IdMatch idRef="UnformattedSSN" />
        <Any minMatches="3">
            <Match idRef="USDate" />
            <Match idRef="USAddress" />
            <Match idRef="Name" />
        </Any>
    </Pattern>
</Entity>

Exemple : Règle de sécurité sociale aux États-Unis

Cette section commence par une description indiquant comment créer une règle de correspondance d'un numéro de sécurité sociale aux États-Unis. Commencez par décrire comment identifier le contenu qui renferme le numéro de sécurité sociale. Un numéro de sécurité sociale est trouvé si :

  1. Regex correspond à un numéro de sécurité sociale (SSN) mis en forme (et compris dans la plage SSN valide)
  2. Preuve corroborante l'une des conditions suivantes doit se produire à proximité :
    1. Correspondance de mot clé {Social Security, Soc Sec, SSN, SSNS, SSN#, SS#, SSID}
    2. Texte représentant une adresse aux États-Unis
    3. Texte représentant une date
    4. Texte représentant un nom

Ensuite, convertissez la description en représentation de schéma de règle, comme suit :

<Entity id="a44669fe-0d48-453d-a9b1-2cc83f2cba77"
         patternsProximity="300" RecommendedConfidence="85">
    <Pattern confidenceLevel="85">
      <IdMatch idRef="FormattedSSN" />
      <Any minMatches="1">
          <Match idRef="SSNKeywords" />
          <Match idRef="USDate" />
          <Match idRef="USAddress" />
          <Match idRef="Name" />
      </Any>
    </Pattern>
</Entity>

Pour plus d'informations

Protection contre la perte de données

Définition de vos modèles DLP et types d'informations

Importer un modèle de stratégie DLP personnalisé à partir d'un fichier