Métodos e técnicas correspondentes para pacotes de regras no Exchange 2013

Aplica-se a: Exchange Server 2013

Este tópico descreve técnicas para correspondência de padrões e elementos de evidência dentro de um arquivo XML de prevenção de perda de dados (DLP) que foi feito para conter seu próprio pacote de regra de tipo de informação confidencial. Depois de ter criado um arquivo XML no formato correto, você poderá importar o arquivo, usando o Centro de administração do Exchange (EAC) ou o Shell de Gerenciamento do Exchange, para ajudar a criar sua solução DLP do Microsoft Exchange Server 2013. Antes de você poder fazer uso dos métodos de correspondência descritos aqui, você já deve ter um arquivo XML de DLP iniciado. Para mais informações sobre definir seus próprios modelos DLP e arquivos XML, consulte Definir seus próprios modelos de DLP e tipos de informações.

O elemento Match

O Match elemento é usado dentro dos Pattern elementos e Evidence para representar o palavra-chave, regex ou função subjacente que deve ser correspondida. A definição da correspondência em si é armazenada fora do Rule elemento e é referenciada por meio do idRef atributo necessário. Vários Match elementos podem ser incluídos em uma definição De padrão que pode ser incluída diretamente no Pattern elemento ou combinada usando o Any elemento para definir a semântica correspondente.

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

Definir correspondências baseadas em palavras-chave

Um requisito de Regra comum é fazer a correspondência com base em expressões de cadeia de caracteres de palavra-chave bem conhecidas. Isso é feito usando o Keyword elemento. O elemento Palavra-chave tem um id atributo que é usado como referência nas regras de Entidade ou Afinidade correspondentes. Um único elemento Keyword pode ser referenciado em várias regras de Entidade e Afinidade.

A correspondência pode ser executada usando-se uma correspondência exata ou um algoritmo baseado em correspondência de palavras. A correspondência exata usa um algoritmo que diferencia maiúsculas de minúsculas e que pesquisa pelo texto no idioma especificado. A correspondência de palavras aplica um algoritmo de correspondência com base em limites de palavra. Os termos a serem correspondidos podem ser incluídos embutidos na definição da palavra-chave usando o sub-elemento Termo.

Dica

Use o estilo de correspondência baseada em constantes sobre regex para uma melhor eficiência e desempenho. Use a correspondência de regex somente em casos onde as correspondências baseadas em constantes não são suficientes e a flexibilidade de expressões regulares é necessária.

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

Definir de expressão regular com base em correspondência

Um outro método comum de correspondência é baseado em expressões regulares. A flexibilidade da correspondência de expressão regular faz dessa uma escolha comum para implementar a correspondência para dados como números de carteira de motorista, endereços. A sintaxe de expressão regular comum é usada para definir os padrões de expressão regular. A tabela a seguir contém exemplos de algumas das mais comuns tokens de expressões regulares disponíveis.

Dica

Use o estilo de correspondência baseada em constantes sobre regex para uma melhor eficiência e desempenho. Use a correspondência de regex somente em casos onde as correspondências baseadas em constantes não são suficientes e a flexibilidade de expressões regulares é necessária.

Símbolo Significado
c Corresponda ao caractere literal c uma vez, a menos que seja um dos caracteres especiais.
^ Comparar com o início de uma linha.
. Compara a qualquer caractere que não seja uma nova linha.
$ Comparar com o fim de uma linha.
| Lógica OU entre expressões.
() Agrupar subexpressões.
[] Definir uma classe de caractere.
* Corresponder à expressão anterior zero ou mais vezes.
+ Corresponder à expressão anterior uma ou mais vezes.
? Corresponder à expressão anterior zero ou uma vez.
{n} Corresponder à expressão anterior n vezes.
{n,} Corresponder à expressão anterior pelo menos n vezes.
{n, m} Corresponder à expressão anterior pelo menos n vezes e no máximo m vezes.
\D Corresponder a um dígito.
\D Corresponda a um caractere que não é um dígito.
\W Corresponder a um caractere alfa, incluindo sublinhado.
\W Corresponda a um caractere que não é um caractere alfa.
\s Corresponder a um caractere de espaço em branco (qualquer um dentre \t, \n, \r ou \f).
\S Corresponder a um caractere diferente de espaço.
\T Tabulação.
\n Nova linha.
\R Retorno de carro.
\F Alimentação de formulário.
\ M Escape m, onde m é um dos meta-caracteres descritos acima: ^, ., $, |, (), [, ], *, +, ?, \, /.

O elemento Regex tem um id atributo que é usado como referência nas regras de Entidade ou Afinidade correspondentes. Um único elemento Regex pode ser referenciado em várias regras de Entidade e Afinidade. A expressão Regex é definida como o valor do 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>

Combinar vários elementos de correspondência

Uma técnica comum para aumentar a confiança da correspondência é definir a semântica entre várias elementos de Match, por exemplo, que seja necessário acontecer uma ou mais correspondências. O elemento Qualquer permite a definição da lógica com base em várias correspondências. O elemento Qualquer pode ser usado como subelemento no elemento padrão. Ele contém um ou mais elementos filho Match e define a lógica de correspondências entre eles. Veja abaixo exemplos de códigos XML para os elementos Qualquer com todas as correspondências, lógica "não" e a conta de correspondências exatas.

O atributo opcional minMatches pode ser usado (padrão = 1) para definir o número mínimo de elementos Match que devem ser atendidos para se satisfazer uma correspondência. Similarmente, o atributo opcional maxMatchs pode ser usado (padrão = número de elementos filho de Match) para definir o número máximo de elementos de Match que devem ser atendidos para satisfazer uma correspondência. Essas condições são combinadas usando-se operadores lógicos baseados no uso dos atributos minMatches e maxMatchs, permitindo estas semânticas:

  • Corresponder todos os elementos filhos de Match

    Não corresponder todos os elementos filhos de Match

    Corresponder um subconjunto exato dos elementos filhos de 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>

Aumentar o nível de confiança com mais evidências

Para regras de base de entidade, outra opção de aumentar a confiança é definir vários elementos Padrão, cada um com um número maior de evidência corroborativa. Isso é conseguido usando-se minMatches e maxMatches para o elemento Qualquer, para criar padrões independentes com um nível de confiança crescente, com base no número crescente de evidências corroborativas. Por exemplo:

  • se for encontrado uma peça de evidência corroborativa: nível de confiança é de 65%
  • se duas peças: nível de confiança é de 75%
  • se três peças: nível de confiança é 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>

Exemplo: Regra Seguro Social dos EUA

Essa seção inclui uma descrição introdutória para se autorar uma regra correspondente a um número do Seguro Social dos EUA. Primeiro, comece com uma descrição de como identificar conteúdo que contenha o número do seguro social. Um número de Seguro Social é encontrado se:

  1. Regex corresponde a um SSN formatado (e é o intervalo válido de SSN)
  2. Evidências Corroborativas um dos seguintes devem ocorrer nas proximidades:
    1. Correspondência de palavra-chave {Seguro Social, Soc Sec, SSN, SSNS, SSN#, SS#, SSID}
    2. Texto que representa um endereço nos EUA
    3. Texto que representa uma data
    4. Texto que representa um nome

Em seguida, traduza a descrição para a representação do esquema de Regra:

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

Para obter mais informações

Prevenção contra perda de dados

Definir seus próprios modelos de DLP e tipos de informações

Importar um modelo de política DLP personalizado de um arquivo