Condividi tramite


Metodi e tecniche corrispondenti per i pacchetti di regole in Exchange 2013

Si applica a: Exchange Server 2013

In questo argomento vengono descritte le tecniche per associare criteri e elementi in evidenza per la prevenzione della perdita di dati in un file XML progettato per contenere un pacchetto personalizzato di regole per i tipi di informazioni sensibili. Dopo aver formattato il file XML, è possibile importare il file utilizzando l'interfaccia di amministrazione di Exchange o Exchange Management Shell come aiuto nella creazione della propria soluzione DLP di Microsoft Exchange Server 2013. Prima di poter utilizzare uno dei metodi di corrispondenza descritti, è necessario avere già avviato un file XML DLP. Per ulteriori informazioni relative alla definizione dei propri modelli DLP e file XML, vedere Definire modelli DLP e tipi di informazione propri.

L'elemento Match

L'elemento Match viene usato all'interno degli Pattern elementi e Evidence per rappresentare la parola chiave, il regex o la funzione sottostante che deve essere confrontata. La definizione della corrispondenza stessa viene archiviata all'esterno dell'elemento Rule e viene fatto riferimento tramite l'attributo idRef obbligatorio. È possibile includere più Match elementi in una definizione di modello che possono essere inclusi direttamente nell'elemento Pattern o combinati usando l'elemento per definire la Any semantica corrispondente.

<?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>

Definizione di corrispondenza basata su parola chiave

Un comune requisito di una regola è la corrispondenza basata sul riconoscimento di espressioni stringa parola chiave. Questa operazione viene eseguita usando l'elemento Keyword . L'elemento Keyword ha un id attributo utilizzato come riferimento nelle regole di entità o affinità corrispondenti. Ad un singolo elemento Keyword possono far riferimento più regole dell'entità e dell'affinità.

La corrispondenza può essere effettuata utilizzando sia la esatta corrispondenza o una corrispondenza di parola basata su algoritmi. La corrispondenza esatta utilizza un algoritmo che distingue fra maiuscole e minuscole e che effettua una ricerca di elementi testuali nella lingua specificata. La corrispondenza di parola applica un algoritmo di corrispondenza basato sui limiti della parola. I termini da trovare possono essere inclusi inline nella definizione parola chiave usando il sottoelemento Term.

Consiglio

Utilizzare lo stile di corrispondenza basato su costanti piuttosto che su regex per migliori livelli di prestazioni ed efficienza. Utilizzare la corrispondenza regex solo nei casi in cui le corrispondenze basate su costanti non sono sufficienti ed è necessaria la flessibilità garantita dalle espressioni regolari.

<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>

Definizione di corrispondenze basate su espressioni regolare

Un altro metodo comune di corrispondenza si basa su espressioni regolari. La flessibilità della corrispondenza di espressioni regolari la rende una scelta comune nella realizzazione di corrispondenze di dati ad esempio numero della patente di guida, indirizzi. La comune sintassi delle espressioni regolari viene utilizzata per definire i modelli regex. Questa tabella mostra esempi di alcune delle più comuni espressioni regolari disponibili.

Consiglio

Utilizzare lo stile di corrispondenza basato su costanti piuttosto che su regex per migliori livelli di prestazioni ed efficienza. Utilizzare la corrispondenza regex solo nei casi in cui le corrispondenze basate su costanti non sono sufficienti ed è necessaria la flessibilità garantita dalle espressioni regolari.

Simbolo Significato
C Trova una corrispondenza con il carattere letterale c una volta, a meno che non si tratti di uno dei caratteri speciali.
^ Controlla la corrispondenza all'inizio di una riga.
. Controlla la corrispondenza con qualsiasi carattere che non è una nuova linea.
$ Controlla la corrispondenza alla fine di una riga.
| OR logico tra espressioni.
() Gruppi di sottoespressioni.
[] Definizione di una classe di caratteri.
* Controlla la corrispondenza all'espressione precedente zero o più volte.
+ Controlla la corrispondenza all'espressione precedente una o più volte.
? Controlla la corrispondenza dell'espressione precedente zero o più volte.
{n} Controlla la corrispondenza all'espressione precedente n volte.
{n,} Controlla la corrispondenza all'espressione precedente almeno n volte.
{n, m} Controlla la corrispondenza all'espressione precedente almeno n volte e più di m volte.
\D Controlla la corrispondenza di una cifra.
\D Trova la corrispondenza con un carattere che non è una cifra.
\W Controlla la corrispondenza di un carattere alfanumerico, compreso il carattere di sottolineatura.
\W Trova la corrispondenza con un carattere che non è un carattere alfa.
\s Controlla la corrispondenza di un carattere di spazio (\t, \n, \r o \f).
\S Controlla la corrispondenza a un carattere non di spazio.
\T Scheda.
\n Nuova linea.
\R Ritorno a capo.
\F Alimentazione foglio.
\ M Escape m, dove m è uno dei meta caratteri descritti in precedenza: ^, ., $, |, (), [, ], *, +, ?, \, /.

L'elemento Regex ha un id attributo utilizzato come riferimento nelle regole di entità o affinità corrispondenti. Ad un singolo elemento Regex possono far riferimento più regole entità e affinità. L'espressione Regex è definita come il valore dell'elemento 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>

Combinazione di più elementi di corrispondenza

Una comune tecnica per aumentare l'affidabilità della corrispondenza è definire la semantica tra più elementi Match, ad esempio che si devono verificare una o più corrispondenze. L'elemento Any consente la definizione di una logica basata tra più corrispondenze. L'elemento Any può essere utilizzato come sottoelemento dell'elemento Pattern. Contiene uno o più elementi figlio Match e definisce la logica della corrispondenza tra loro. Vedere gli esempi di codice XML seguenti per gli elementi Any con tutte le corrispondenze, logica "not" e conteggio corrispondenza esatta.

L'attributo opzionale minMatches può essere utilizzato (predefinito = 1) per definire il numero minimo di elementi Match che devono essere verificati per soddisfare la corrispondenza. Similmente, l'attributo opzionale maxMatches può essere utilizzato (predefinito = numero di elementi figlio Match) per definire il numero massimo di elementi Match che devono essere verificati per soddisfare la corrispondenza. Queste condizioni vengono utilizzate combinando operatori logici basati sull'utilizzo degli attributi minMatches e maxMatches, consentendo le seguenti semantiche:

  • Controlla la corrispondenza di tutti gli elementi figlio Match

    Non controllare la corrispondenza di nessun elemento figlio Match

    Controlla la corrispondenza di un sottogruppo esatto di elementi Match

<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>

Aumento del livello di affidabilità con maggiore evidenza

Per le regole basate su entità, un'altra opzione per migliorare l'affidabilità è definire più elementi Pattern, ciascuno con un numero crescente di evidenze avvaloranti. Questo si ottiene utilizzando minMatches e maxMatches per l'elemento Any per creare modelli indipendenti con livello di affidabilità crescente basato sull'aumento del numero di evidenze avvaloranti. Esempio:

  • se viene trovata una parte di prova convalidante: livello di probabilità del 65%
  • se due parti: livello di probabilità del 75%
  • se tre parti: livello di probabilità del 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>

Esempio: Regola codice di previdenza sociale statunitense

Questa sezione include una descrizione introduttiva per la realizzazione di una regola che controlla la corrispondenza del codice di previdenza sociale statunitense. Si inizierà con una descrizione di come identificare i contenuti che corrispondono al codice di previdenza sociale. Un codice di previdenza sociale si considera trovato se:

  1. Il Regex corrisponde a un codice di previdenza sociale formattato (ed è nell'intervallo SSN valido)
  2. Evidenza avvalorante nelle vicinanze deve trovarsi uno dei seguenti:
    1. Parola chiave corrispondente {previdenza sociale, Soc Sec, SSN, SSNS, SSN #, SS#, SSID}
    2. Testo che rappresenta un indirizzo statunitense
    3. Testo che rappresenta una data
    4. Testo che rappresenta un nome

Quindi, tradurre la descrizione nella rappresentazione dello schema della regola:

<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>

Ulteriori informazioni

Prevenzione della perdita di dati

Definire modelli DLP e tipi di informazione propri

Importare un modello di criteri DLP personalizzato da un file