Migrar as regras de detecção do QRadar para o Microsoft Sentinel
Este artigo descreve como identificar, comparar e migrar suas regras de detecção do QRadar para as regras internas do Microsoft Sentinel.
Identificar e migrar regras
O Microsoft Sentinel usa a análise de machine learning para criar incidentes acionáveis e de alta fidelidade, e algumas das detecções existentes podem ser redundantes no Microsoft Sentinel. Portanto, não migre todas as regras de detecção e análise indiscriminadamente. Examine essas considerações à medida que identifica as regras de detecção existentes.
- Selecione casos de uso que justifiquem a migração da regra, considerando a prioridade e a eficiência dos negócios.
- Verifique se você entende os tipos de regras do Microsoft Sentinel.
- Verifique se você entende a terminologia de regras.
- Examine todas as regras que não dispararam nenhum alerta nos últimos 6 a 12 meses e determine se elas ainda são relevantes.
- Elimine ameaças de baixo nível ou alertas que você costuma ignorar.
- Use a funcionalidade existente e verifique se as regras de análise internas do Microsoft Sentinel podem abordar seus casos de uso atuais. Como o Microsoft Sentinel usa a análise de machine learning para produzir incidentes acionáveis e de alta fidelidade, é provável que algumas das suas detecções existentes não sejam mais necessárias.
- Confirme as fontes de dados conectadas e examine os métodos de conexão de dados. Reveja as conversas de coleta de dados a fim de garantir a profundidade e a amplitude dos dados nos casos de uso que você planeja detectar.
- Explore os recursos da comunidade, como o Marketplace de Detecção de Ameaças do SOC Prime, para verificar se as suas regras estão disponíveis.
- Considere se um conversor de consultas 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. Examine o mapeamento de regras para criar consultas.
Saiba mais sobre as melhores práticas para migrar regras de detecção.
Para migrar suas regras de análise para o Microsoft Sentinel:
Verifique se há um sistema de teste em vigor para cada regra que você deseja migrar.
Prepare um processo de validação para suas regras migradas, incluindo scripts e cenários de teste completos.
Verifique se a equipe tem recursos úteis para testar suas regras migradas.
Confirme se você tem todas as fontes de dados necessárias conectadas e examine os métodos de conexão de dados.
Verifique se as detecções estão disponíveis como modelos internos no Microsoft Sentinel:
Se as regras internas forem suficientes, use modelos de regra internos para criar regras para seu próprio workspace.
No Microsoft Sentinel, vá para a guia Configuração > Análise > Modelos de regra e crie e atualize cada regra de análise relevante.
Para saber mais, confira Detectar ameaças prontas para uso.
Se você tiver detecçõ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 de regra e, em seguida, construa e revise sua consulta KQL.
Se nem as regras internas nem um conversor de regra online forem suficientes, você precisará criar a regra manualmente. Nesses casos, use as seguintes etapas para começar a criar sua regra:
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.
Identifique quaisquer atributos, campos ou entidades em seus dados que você deseja usar em suas regras.
Identifique os critérios de regra e a lógica. Neste estágio, talvez você queira usar modelos de regra como exemplos de como construir suas consultas KQL.
Considere filtros, regras de correlação, listas ativas, conjuntos de referência, watchlists, anomalias de detecção, agregações e assim por diante. Você pode usar referências fornecidas pelo SIEM herdado a fim de entender como mapear melhor a sintaxe da sua consulta.
Identifique a condição de gatilho e a ação de regra e, em seguida, construa e revise sua consulta KQL. Ao revisar sua consulta, considere os recursos de diretrizes de otimização do KQL.
Teste a regra com cada um de seus casos de uso relevantes. Se isso não fornecer os resultados esperados, examine o KQL e teste-o novamente.
Quando estiver satisfeito, você poderá considerar a regra migrada. Crie um guia estratégico para sua ação de regra, conforme necessário. Para saber mais, confira Automatizar a resposta a ameaças com guias estratégicos no Microsoft Sentinel.
Saiba mais sobre as regras de análise:
- Criar regras de análise personalizadas para detectar ameaças. Use o agrupamento de alertas para reduzir a fadiga agrupando os alertas que ocorrem em um determinado período de tempo.
- Mapeie campos de dados para entidades no Microsoft Sentinel a fim de permitir que os engenheiros de SOC definam entidades como parte da evidência a ser rastreada durante uma investigação. O mapeamento de entidade também possibilita que os analistas do SOC tirem proveito de um gráfico intuitivo de [investigação (investigate-cases.md#use-the-investigation-graph-to-deep-dive) que pode ajudar a reduzir o tempo e o esforço.
- Investigue incidentes com dados do UEBA, como um exemplo de como usar evidências para ver eventos, alertas e quaisquer indicadores associados a um incidente específico no painel de visualização de incidentes.
- O KQL (Linguagem de Consulta Kusto), que você pode usar para enviar solicitações somente leitura ao banco de dados do Log Analytics para processar dados e retornar resultados. O KQL também é usado em outros serviços da Microsoft, como o Microsoft Defender para Ponto de Extremidade e o Application Insights.
Comparar a terminologia de regra
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 • Comum • Ofensa • Regras de detecção de anomalias |
• Consulta agendada • Fusão • Segurança da Microsoft • Análise Comportamental de ML (Machine Learning) |
Critérios | Definir na condição de teste | Definir no KQL |
Condição do gatilho | Definir na regra | Limite: número de resultados de consulta |
Ação | • Criar ofensa • Expedir novo evento • Adicionar a dados ou conjunto de referência • E mais |
• Criar alerta ou incidente • Integra-se aos Aplicativos Lógicos |
Mapear e comparar exemplos de regra
Use esses exemplos para comparar e mapear regras do QRadar para o Microsoft Sentinel em vários cenários.
Sintaxe de testes de propriedades comuns
Esta é a sintaxe do QRadar para uma regra de testes de propriedades comuns.
Testes de propriedades comuns: exemplo de expressão regular (QRadar)
Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa uma expressão regular:
when any of <these properties> match <this regular expression>
Esta é a regra de exemplo no QRadar.
Testes de propriedades comuns: exemplo de expressão regular (KQL)
Esta é a regra de testes de propriedades comuns com uma expressão regular em KQL.
CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"
Testes de propriedade comuns: exemplo de consulta de filtro de AQL (QRadar)
Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa uma consulta de filtro de AQL.
when the event matches <this> AQL filter query
Esta é a regra de exemplo no QRadar.
Testes de propriedade comuns: exemplo de consulta de filtro de AQL (KQL)
Esta é a regra de testes de propriedades comuns com uma consulta de filtro de AQL no KQL.
CommonSecurityLog
| where SourceIP == '10.1.1.10'
Testes de propriedades comuns: exemplo de equals/not equals (QRadar)
Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa o operador equals
ou not equals
.
and when <this property> <equals/not equals> <this property>
Esta é a regra de exemplo no QRadar.
Testes de propriedades comuns: exemplo de equals/not equals (KQL)
Esta é a regra de testes de propriedades comuns com o operador equals
ou not equals
no KQL.
CommonSecurityLog
| where SourceIP == DestinationIP
Sintaxe de testes de data/hora
Esta é a sintaxe do QRadar para uma regra de testes de data/hora.
Testes de data/hora: exemplo de dia selecionado do mês (QRadar)
Este é um exemplo de sintaxe de uma regra de teste de data/hora do QRadar que usa um dia selecionado do mês.
and when the event(s) occur <on/after/before> the <selected> day of the month
Esta é a regra de exemplo no QRadar.
Testes de data/hora: exemplo de dia selecionado do mês (KQL)
Esta é a regra de testes de data/hora com um dia selecionado do mês em KQL.
SecurityEvent
| where dayofmonth(TimeGenerated) < 4
Testes de data/hora: exemplo de dia selecionado da semana (QRadar)
Este é um exemplo de sintaxe de uma regra de teste de data/hora do QRadar 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}>
Esta é a regra de exemplo no QRadar.
Testes de data/hora: exemplo de dia selecionado da semana (KQL)
Esta é a regra de testes de data/hora com um dia selecionado da semana em KQL.
SecurityEvent
| where dayofweek(TimeGenerated) between (3d .. 5d)
Testes de data/hora: exemplo de após/antes/em (QRadar)
Este é um exemplo de sintaxe de uma regra de testes de data/hora do QRadar que usa o operador after
, before
ou at
.
and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>
Esta é a regra de exemplo no QRadar.
Testes de data/hora: exemplo de após/antes/em (KQL)
Esta é a regra de testes de data/hora que usa o operador after
, before
ou at
no KQL.
SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"
TimeGenerated
está em UTC/GMT.
Sintaxe de testes de propriedade de evento
Esta é a sintaxe do QRadar para uma regra de testes de propriedade de evento.
Testes de propriedade de evento: exemplo de protocolo IP (QRadar)
Este é um exemplo da sintaxe de uma regra de teste de propriedade de evento do QRadar que usa um protocolo IP.
and when the IP protocol is one of the following <protocols>
Esta é a regra de exemplo no QRadar.
Testes de propriedade de evento: exemplo de protocolo IP (KQL)
CommonSecurityLog
| where Protocol in ("UDP","ICMP")
Testes de propriedade de evento: exemplo de cadeia de caracteres de carga do evento (QRadar)
Este é um exemplo da sintaxe de uma regra de teste de propriedade de evento do QRadar que usa um valor de cadeia de caracteres Event Payload
.
and when the Event Payload contains <this string>
Esta é a regra de exemplo no QRadar.
Testes de propriedade de evento: exemplo de cadeia de caracteres de carga do evento (KQL)
CommonSecurityLog
| where DeviceVendor has "Palo Alto"
search "Palo Alto"
Para otimizar o desempenho, evite usar o comando search
se você já souber o nome da tabela.
Funções: sintaxe de contadores
Esta é a sintaxe do QRadar para uma regra de funções que usa contadores.
Contadores: exemplo de propriedade e hora do evento (QRadar)
Esta é a sintaxe de uma regra de funções de exemplo do QRadar 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>
Esta é a regra de exemplo no QRadar.
Contadores: exemplo de propriedade e hora do evento (KQL)
CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5
Funções: sintaxe de condições negativas
Esta é a sintaxe do QRadar para uma regra de funções que usa condições negativas.
Exemplo de condições negativas (QRadar)
Esta é a sintaxe de um exemplo de regra de funções do QRadar 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>
Estas são duas regras definidas no QRadar. As condições negativas serão baseadas nessas regras.
Este é um exemplo da regra de condições negativas com base nas regras acima.
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
Esta é a sintaxe do QRadar para uma regra de funções que usa condições simples.
Exemplo de condições simples (QRadar)
Esta é a sintaxe de um exemplo de regra de funções do QRadar que usa condições simples.
and when an event matches <any|all> of the following <rules>
Esta é a regra de exemplo no QRadar.
Exemplo de condições simples (KQL)
CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP
Sintaxe de testes de IP/porta
Esta é a sintaxe do QRadar para uma regra de testes de IP/porta.
Testes de IP/porta: exemplo de porta de origem (QRadar)
Este é um exemplo da sintaxe de uma regra do QRadar que especifica uma porta de origem.
and when the source port is one of the following <ports>
Esta é a regra de exemplo no QRadar.
Testes de IP/porta: exemplo de porta de origem (KQL)
CommonSecurityLog
| where SourcePort == 20
Testes de IP/porta: exemplo de IP de origem (QRadar)
Este é um exemplo da sintaxe de uma regra do QRadar que especifica um IP de origem.
and when the source IP is one of the following <IP addresses>
Esta é a regra de exemplo no QRadar.
Testes de IP/porta: exemplo de IP de origem (KQL)
CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)
Sintaxe de testes de origem de log
Esta é a sintaxe do QRadar para uma regra de testes de origem de log.
Exemplo de origem de log (QRadar)
Este é um exemplo da sintaxe de uma regra do QRadar que especifica origens de log.
and when the event(s) were detected by one or more of these <log source types>
Esta é a regra de exemplo no QRadar.
Exemplo de origem de log (KQL)
OfficeActivity
| where OfficeWorkload == "Exchange"
Próximas etapas
Neste artigo, você aprendeu a mapear suas regras de migração do QRadar para o Microsoft Sentinel.