Partilhar via


Migrar regras de deteção do QRadar para o Microsoft Sentinel

Este artigo descreve como identificar, comparar e migrar suas regras de deteção do QRadar para as regras internas do Microsoft Sentinel.

Identificar e migrar regras

O Microsoft Sentinel usa análises de aprendizado de máquina para criar incidentes acionáveis e de alta fidelidade, e algumas de suas deteções existentes podem ser redundantes no Microsoft Sentinel. Portanto, não migre todas as suas regras de deteção e análise cegamente. Analise estas considerações à medida que identifica as regras de deteção existentes.

  • Certifique-se de selecionar casos de uso que justifiquem a migração de regras, considerando a prioridade e a eficiência do negócio.
  • Verifique se você entende os tipos de regras do Microsoft Sentinel.
  • Verifique se você entende a terminologia da regra.
  • Analise as regras que não dispararam alertas nos últimos 6 a 12 meses e determine se elas ainda são relevantes.
  • Elimine ameaças ou alertas de baixo nível que você ignora rotineiramente.
  • Use a funcionalidade existente e verifique se as regras de análise internas do Microsoft Sentinel podem resolver seus casos de uso atuais. Como o Microsoft Sentinel usa análises de aprendizado de máquina para produzir incidentes acionáveis e de alta fidelidade, é provável que algumas de suas deteções existentes não sejam mais necessárias.
  • Confirme as fontes de dados conectadas e revise seus métodos de conexão de dados. Revisite as conversas de coleta de dados para garantir a profundidade e a amplitude dos dados nos casos de uso que você planeja detetar.
  • Explore os recursos da comunidade, como o SOC Prime Threat Detection Marketplace , para verificar se suas regras estão disponíveis.
  • Considere se um conversor de consulta online, como o Uncoder.io, pode funcionar para suas regras.
  • Se as regras não estiverem disponíveis ou não puderem ser convertidas, elas precisarão ser criadas manualmente, usando uma consulta KQL. Revise o mapeamento de regras para criar novas consultas.

Saiba mais sobre as práticas recomendadas para migrar regras de deteção.

Para migrar suas regras de análise para o Microsoft Sentinel:

  1. Verifique se você tem um sistema de teste em vigor para cada regra que deseja migrar.

    1. Prepare um processo de validação para suas regras migradas, incluindo cenários de teste completos e scripts.

    2. Certifique-se de que sua equipe tenha recursos úteis para testar suas regras migradas.

    3. Confirme se você tem todas as fontes de dados necessárias conectadas e revise seus métodos de conexão de dados.

  2. Verifique se suas deteções estão disponíveis como modelos internos no Microsoft Sentinel:

    • Se as regras internas forem suficientes, use modelos de regras internos para criar regras para seu próprio espaço de trabalho.

      No Microsoft Sentinel, vá para a guia Modelos > de Regra do Configuration Analytics > e crie e atualize cada regra de análise relevante.

      Para obter mais informações, consulte Criar regras de análise agendadas a partir de modelos.

    • Se você tiver deteções que não são cobertas pelas regras internas do Microsoft Sentinel, tente um conversor de consulta online, como Uncoder.io para converter suas consultas em KQL.

      Identifique a condição de gatilho e a ação da regra e, em seguida, construa e revise sua consulta KQL.

    • Se nem as regras internas nem um conversor de regras online forem suficientes, você precisará criar a regra manualmente. Nesses casos, use as seguintes etapas para começar a criar sua regra:

      1. Identifique as fontes de dados que você deseja usar em sua regra. Você desejará criar uma tabela de mapeamento entre fontes de dados e tabelas de dados no Microsoft Sentinel para identificar as tabelas que deseja consultar.

      2. Identifique quaisquer atributos, campos ou entidades em seus dados que você deseja usar em suas regras.

      3. Identifique os critérios e a lógica da regra. Nesta etapa, você pode querer usar modelos de regras como exemplos de como construir suas consultas KQL.

        Considere filtros, regras de correlação, listas ativas, conjuntos de referências, listas de observação, anomalias de deteção, agregações e assim por diante. Você pode usar referências fornecidas pelo SIEM herdado para entender a melhor forma de mapear a sintaxe da consulta.

      4. Identifique a condição de gatilho e a ação da regra e, em seguida, construa e revise sua consulta KQL. Ao revisar sua consulta, considere os recursos de orientação de otimização do KQL.

  3. Teste a regra com cada um dos seus casos de uso relevantes. Se ele não fornecer os resultados esperados, você pode querer revisar o KQL e testá-lo novamente.

  4. Quando estiver satisfeito, você pode considerar a regra migrada. Crie um manual para sua ação de regra, conforme necessário. Para obter mais informações, consulte Automatizar a resposta a ameaças com manuais de procedimentos no Microsoft Sentinel.

Saiba mais sobre as regras de análise:

Comparar terminologia de regras

Esta tabela ajuda você a esclarecer o conceito de uma regra no Microsoft Sentinel em comparação com o QRadar.

QRadar Microsoft Sentinel
Tipo de regra • Eventos
• Fluxo
• Frequentes
• Ofensa
• Regras de deteção de anomalias
• Consulta agendada
• Fusão
• Segurança Microsoft
• Análise de Comportamento de Machine Learning (ML)
Critérios Definir na condição de teste Definir em KQL
Condição do gatilho Definir na regra Limite: Número de resultados da consulta
Ação • Criar ofensa
• Expedição de novo evento
• Adicionar ao conjunto de referência ou dados
• E muito mais
• Criar alerta ou incidente
• Integra-se com Aplicativos Lógicos

Mapear e comparar exemplos de regras

Use esses exemplos para comparar e mapear regras do QRadar para o Microsoft Sentinel em vários cenários.

Regra Sintaxe Regra de deteção de amostra (QRadar) Exemplo de consulta KQL Recursos
Testes de propriedades comuns Sintaxe QRadar • Exemplo de expressão regular
• Exemplo de consulta de filtro AQL
• exemplo igual/não igual
• Exemplo de expressão regular
• Exemplo de consulta de filtro AQL
• exemplo igual/não igual
• Expressão regular: corresponde ao regex
• Consulta de filtro AQL: operadores de string
• igual/não igual: operadores de string
Testes de data/hora Sintaxe QRadar • Exemplo de dia selecionado do mês
• Exemplo de dia selecionado da semana
• depois/antes/no exemplo
• Exemplo de dia selecionado do mês
• Exemplo de dia selecionado da semana
• depois/antes/no exemplo
• Operadores de data e hora
• Dia selecionado do mês: diadomês()
• Dia selecionado da semana: dayofweek()
• após/antes/em: format_datetime()
Testes de propriedade do evento Sintaxe QRadar • Exemplo de protocolo IP
• Exemplo de cadeia de caracteres de carga útil do evento
• Exemplo de protocolo IP
• Exemplo de cadeia de caracteres de carga útil do evento
• Protocolo IP: Operadores de cadeia de caracteres
• String de carga útil do evento: tem
Funções: contadores Sintaxe QRadar Exemplo de propriedade e tempo do evento Exemplo de propriedade e tempo do evento resumir
Funções: condições negativas Sintaxe QRadar Exemplo de condições negativas Exemplo de condições negativas • juntar()
• Operadores de cordas
• Operadores numéricos
Funções: simples Sintaxe QRadar Exemplo de condições simples Exemplo de condições simples or
Testes de IP/porta Sintaxe QRadar • Exemplo de porta de origem
• Exemplo de IP de origem
• Exemplo de porta de origem
• Exemplo de IP de origem
Logs de testes de origem Sintaxe QRadar Exemplo de origem de log Exemplo de origem de log

Sintaxe de testes de propriedade comum

Aqui está a sintaxe QRadar para uma regra de testes de propriedade comum.

Diagrama ilustrando uma sintaxe de regra de teste de propriedade comum.

Testes de propriedades comuns: Exemplo de expressão regular (QRadar)

Aqui está a sintaxe para uma regra de testes de propriedade comum QRadar de exemplo que usa uma expressão regular:

when any of <these properties> match <this regular expression>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa uma expressão regular.

Testes de propriedades comuns: Exemplo de expressão regular (KQL)

Aqui está a regra de testes de propriedade comum com uma expressão regular no KQL.

CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"

Testes de propriedades comuns: exemplo de consulta de filtro AQL (QRadar)

Aqui está a sintaxe de uma regra de testes de propriedade comum QRadar de exemplo que usa uma consulta de filtro AQL.

when the event matches <this> AQL filter query

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa uma consulta de filtro A Q L.

Testes de propriedades comuns: exemplo de consulta de filtro AQL (KQL)

Aqui está a regra de testes de propriedade comum com uma consulta de filtro AQL no KQL.

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Testes de propriedades comuns: exemplo igual/não igual (QRadar)

Aqui está a sintaxe para uma regra de testes de propriedade comum QRadar de exemplo que usa o equals operador or not equals .

and when <this property> <equals/not equals> <this property>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa igual/não igual.

Testes de propriedades comuns: exemplo igual/não igual (KQL)

Aqui está a regra de testes de propriedade comum com o equals operador ou not equals no KQL.

CommonSecurityLog
| where SourceIP == DestinationIP

Sintaxe dos testes de data/hora

Aqui está a sintaxe QRadar para uma regra de testes de data/hora.

Diagrama ilustrando uma sintaxe de regra de teste de data/hora.

Testes de data/hora: Exemplo de dia selecionado do mês (QRadar)

Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo que usa um dia selecionado do mês.

and when the event(s) occur <on/after/before> the <selected> day of the month

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa um dia selecionado.

Testes de data/hora: Exemplo de dia selecionado do mês (KQL)

Aqui está a regra de testes de data/hora com um dia selecionado do mês no KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Testes de data/hora: Exemplo de dia selecionado da semana (QRadar)

Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo que usa um dia selecionado da semana:

and when the event(s) occur on any of <these days of the week{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa um dia selecionado da semana.

Testes de data/hora: Exemplo de dia selecionado da semana (KQL)

Aqui está a regra de testes de data/hora com um dia selecionado da semana no KQL.

SecurityEvent
 | where dayofweek(TimeGenerated) between (3d .. 5d)

Testes de data/hora: depois/antes/no exemplo (QRadar)

Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo que usa o afteroperador , beforeou at .

and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa o operador after/before/at.

Testes de data/hora: depois/antes/no exemplo (KQL)

Aqui está a regra de testes de data/hora que usa o afteroperador , beforeou at no KQL.

SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"

TimeGenerated está em UTC/GMT.

Sintaxe de testes de propriedade de evento

Aqui está a sintaxe QRadar para uma regra de testes de propriedade de evento.

Diagrama ilustrando uma sintaxe de regra de teste de propriedade de evento.

Testes de propriedade de evento: exemplo de protocolo IP (QRadar)

Aqui está a sintaxe para uma regra de testes de propriedade de evento QRadar de exemplo que usa um protocolo IP.

and when the IP protocol is one of the following <protocols>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de propriedade de evento que usa um protocolo I P.

Testes de propriedade de evento: exemplo de protocolo IP (KQL)

CommonSecurityLog
| where Protocol in ("UDP","ICMP")

Testes de propriedade do evento: Exemplo de cadeia de caracteres de carga útil do evento (QRadar)

Aqui está a sintaxe para uma regra de testes de propriedade de evento QRadar de exemplo que usa um Event Payload valor de cadeia de caracteres.

and when the Event Payload contains <this string>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade de evento que usa uma cadeia de caracteres de carga útil de evento.

Testes de propriedade do evento: exemplo de cadeia de caracteres de carga útil do evento (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Para otimizar o desempenho, evite usar o search comando se já souber o nome da tabela.

Funções: sintaxe dos contadores

Aqui está a sintaxe QRadar para uma regra de funções que usa contadores.

Diagrama ilustrando a sintaxe de uma regra de funções que usa contadores.

Contadores: propriedade do evento e exemplo de tempo (QRadar)

Aqui está a sintaxe de uma regra de funções QRadar de exemplo que usa um número definido de propriedades de evento em um número definido de minutos.

and when at least <this many> events are seen with the same <event properties> in <this many> <minutes>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de funções que usa propriedades de evento.

Contadores: propriedade do evento e exemplo de tempo (KQL)

CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5

Funções: sintaxe de condições negativas

Aqui está a sintaxe QRadar para uma regra de funções que usa condições negativas.

Diagrama ilustrando a sintaxe de uma regra de funções que usa condições negativas.

Exemplo de condições negativas (QRadar)

Aqui está a sintaxe para uma regra de funções QRadar de exemplo que usa condições negativas.

and when none of <these rules> match in <this many> <minutes> after <these rules> match with the same <event properties>

Aqui estão duas regras definidas no QRadar. As condições negativas basear-se-ão nestas regras.

Diagrama ilustrando uma regra de testes de propriedade de evento a ser usada para uma regra de condições negativas.

Diagrama ilustrando uma regra de testes de propriedade comum a ser usada para uma regra de condições negativas.

Aqui está uma amostra da regra de condições negativas com base nas regras acima.

Diagrama ilustrando uma regra de funções com condições negativas.

Exemplo de condições negativas (KQL)

let spanoftime = 10m;
let Test2 = (
CommonSecurityLog
| where Protocol !in ("UDP","ICMP")
| where TimeGenerated > ago(spanoftime)
);
let Test6 = (
CommonSecurityLog
| where SourceIP == DestinationIP
);
Test2
| join kind=rightanti Test6 on $left. SourceIP == $right. SourceIP and $left. Protocol ==$right. Protocol

Funções: sintaxe de condições simples

Aqui está a sintaxe QRadar para uma regra de funções que usa condições simples.

Diagrama ilustrando a sintaxe de uma regra de funções que usa condições simples.

Exemplo de condições simples (QRadar)

Aqui está a sintaxe para uma regra de funções QRadar de exemplo que usa condições simples.

and when an event matches <any|all> of the following <rules>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de funções com condições simples.

Exemplo de condições simples (KQL)

CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP

Sintaxe de testes de IP/porta

Aqui está a sintaxe QRadar para uma regra de testes de IP/porta.

Diagrama ilustrando a sintaxe de uma regra de testes de IP/porta.

Testes de IP/porta: exemplo de porta de origem (QRadar)

Aqui está a sintaxe de uma regra QRadar de exemplo especificando uma porta de origem.

and when the source port is one of the following <ports>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra que especifica uma porta de origem.

Testes de IP/porta: exemplo de porta de origem (KQL)

CommonSecurityLog
| where SourcePort == 20

Testes de IP/porta: exemplo de IP de origem (QRadar)

Aqui está a sintaxe de uma regra QRadar de exemplo especificando um IP de origem.

and when the source IP is one of the following <IP addresses>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra que especifica um endereço IP de origem.

Testes de IP/porta: exemplo de IP de origem (KQL)

CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)

A sintaxe dos testes de origem do log

Aqui está a sintaxe QRadar para uma regra de testes de origem de log.

Diagrama ilustrando a sintaxe de uma regra de testes de origem de log.

Exemplo de fonte de log (QRadar)

Aqui está a sintaxe de uma regra QRadar de exemplo especificando fontes de log.

and when the event(s) were detected by one or more of these <log source types>

Aqui está a regra de exemplo no QRadar.

Diagrama ilustrando uma regra que especifica fontes de log.

Exemplo de origem do log (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Próximos passos

Neste artigo, você aprendeu como mapear suas regras de migração do QRadar para o Microsoft Sentinel.