Compartilhar via


Usar o Encaminhamento de Eventos do Windows para ajudar na detecção de intrusões

Saiba mais sobre uma abordagem para coletar eventos de dispositivos em sua organização. Este artigo fala sobre eventos em operações normais e quando há suspeita de invasão.

O Reencaminhamento de Eventos do Windows (WEF) lê qualquer evento operacional ou administrativo registado num dispositivo na sua organização e reencaminha os eventos que escolher para um servidor do Recoletor de Eventos do Windows (WEC).

Para realizar esta funcionalidade, existem duas subscrições diferentes publicadas em dispositivos cliente : a subscrição de Linha de Base e a subscrição suspeita. A subscrição de Linha de Base inscreve todos os dispositivos na sua organização e uma subscrição Suspeita inclui apenas dispositivos que tenham sido adicionados por si. A subscrição Suspeita recolhe mais eventos para ajudar a criar contexto para a atividade do sistema e pode ser rapidamente atualizada para acomodar novos eventos e/ou cenários, conforme necessário, sem afetar as operações de linha de base.

Esta implementação ajuda a diferenciar onde os eventos são armazenados. Os eventos de linha de base podem ser enviados para dispositivos com capacidade analítica online, como o Security Event Manager (SEM), ao mesmo tempo que enviam eventos para um sistema MapReduce, como o HDInsight ou o Hadoop, para armazenamento a longo prazo e análises mais profundas. Os eventos da subscrição Suspeito são enviados diretamente para um sistema MapReduce devido ao volume e à menor proporção de sinal/ruído, sendo utilizados em grande parte para a análise forense do anfitrião.

A força de um SEM consiste em poder inspecionar, correlacionar eventos e gerar alertas para a forma de padrões conhecidos e alertar a equipa de segurança à velocidade da máquina.

Um sistema MapReduce tem um tempo de retenção mais longo (anos versus meses para um SEM), maior capacidade de entrada (centenas de terabytes por dia) e a capacidade de realizar operações mais complexas nos dados, como análise estatística e de tendência, análise de clustering de padrões ou aplicar algoritmos do Machine Learning.

Eis um guia de dimensionamento aproximado para eventos WEF:

Eventos/segundo intervalo Arquivo de dados
0 - 5,000 SQL ou SEM
5,000 - 50,000 SEM
50,000+ Hadoop/HDInsight/Data Lake

A geração de eventos num dispositivo tem de ser ativada separadamente ou como parte do GPO para a implementação do WEF de linha de base, incluindo a ativação de registos de eventos desativados e a definição de permissões de canais. Para obter mais informações, consulte Apêndice C – Métodos de definições do canal de eventos (ativar e acesso de canal). Esta condição deve-se ao facto de o WEF ser um sistema passivo em relação ao registo de eventos. Não pode alterar o tamanho dos ficheiros de registo de eventos, ativar canais de eventos desativados, alterar permissões de canais ou ajustar uma política de auditoria de segurança. O WEF apenas consulta canais de eventos para eventos existentes. Além disso, ter a geração de eventos já a ocorrer num dispositivo permite uma coleção de eventos mais completa, criando um histórico completo da atividade do sistema. Caso contrário, estará limitado à velocidade dos ciclos de atualização da subscrição DE GPO e WEF para efetuar alterações ao que está a ser gerado no dispositivo. Nos dispositivos modernos, ativar mais canais de eventos e expandir o tamanho dos ficheiros de registo de eventos não resultou em diferenças de desempenho visíveis.

Para obter a política de auditoria mínima recomendada e as definições da ACL do sistema de registo, veja Apêndice A – Política mínima de auditoria mínima recomendada e Apêndice B – Política de ACL do sistema de registo mínima recomendada.

Observação

Estes são apenas valores mínimos necessários para cumprir o que a subscrição WEF seleciona.

Do ponto de vista da gestão de subscrições WEF, as consultas de eventos fornecidas devem ser utilizadas em duas subscrições separadas para facilitar a manutenção; apenas as máquinas que cumpram critérios específicos teriam permissão para aceder à subscrição de destino. Este acesso seria determinado por um algoritmo ou direção de um analista. Todos os dispositivos devem ter acesso à subscrição de Linha de Base.

Este sistema de subscrição dupla significa que iria criar duas subscrições base:

  • Subscrição WEF de linha de base. Eventos recolhidos de todos os anfitriões; estes eventos incluem alguns eventos específicos de funções, que só serão emitidos por essas máquinas.
  • Subscrição WEF direcionada. Eventos recolhidos de um conjunto limitado de anfitriões devido a atividade invulgar e/ou maior reconhecimento para esses sistemas.

Cada um com a respetiva consulta de evento abaixo. Para a subscrição Direcionada, a ativação da opção "ler eventos existentes" deve ser definida como verdadeira para permitir a recolha de eventos existentes a partir de sistemas. Por predefinição, as subscrições WEF só reencaminharão eventos gerados após a subscrição WEF ter sido recebida pelo cliente.

No Apêndice E – Consulta de Eventos da Subscrição de Linha de Base Anotada e Apêndice F – Consulta de Eventos de Subscrição Suspeita Anotada, o XML da consulta de eventos é incluído ao criar subscrições WEF. Estas subscrições são anotadas para efeitos de consulta e clareza. O elemento individual <Query> pode ser removido ou editado sem afetar o resto da consulta.

Perguntas comuns sobre o WEF

Esta secção aborda questões comuns de profissionais de TI e clientes.

O utilizador irá reparar se o computador está ativado para o WEF ou se o WEF encontrar um erro?

A resposta curta é: Não.

A resposta mais longa é: o canal de eventos Eventlog-forwardingPlugin/Operational regista os eventos de êxito, aviso e erro relacionados com as subscrições WEF presentes no dispositivo. A menos que o utilizador abra o Visualizador de Eventos e navegue para esse canal, não irá reparar no WEF através do consumo de recursos ou de pop-ups da Interface Gráfica do Utilizador. Mesmo que exista um problema com a subscrição do WEF, não existe nenhuma interação do utilizador ou degradação do desempenho. Todos os eventos de êxito, aviso e falha são registados neste canal de eventos operacional.

O WEF é Push ou Pull?

Uma subscrição WEF pode ser configurada para ser enviada ou solicitada, mas não ambas. A implementação de TI mais simples e flexível com a maior escalabilidade pode ser alcançada com uma subscrição push ou iniciada pela origem. Os clientes WEF são configurados através de um GPO e o cliente de reencaminhamento incorporado é ativado. Para solicitação, iniciada pelo recoletor, a subscrição no servidor WEC está pré-configurada com os nomes dos dispositivos cliente WEF a partir dos quais os eventos devem ser selecionados. Esses clientes devem ser configurados antecipadamente para permitir que as credenciais utilizadas na subscrição acedam remotamente aos respetivos registos de eventos (normalmente, adicionando a credencial ao grupo de segurança local incorporado leitores do Registo de Eventos ).) Um cenário útil: monitorizar de perto um conjunto específico de máquinas.

O WEF irá trabalhar através de VPN ou RAS?

O WEF processa bem cenários de VPN, RAS e DirectAccess e irá restabelecer a ligação e enviar qualquer registo de tarefas pendentes acumulado de eventos quando a ligação ao Recoletor WEF for restabelecida.

Como é que o progresso do cliente é controlado?

O servidor WEC mantém no respetivo registo as informações dos marcadores e a hora do último heartbeat para cada origem de evento para cada subscrição WEF. Quando uma origem de eventos se volta a ligar a um servidor WEC, a última posição de marcador é enviada para o dispositivo para utilizar como ponto de partida para retomar o reencaminhamento de eventos. Se um cliente WEF não tiver eventos para enviar, o cliente WEF liga-se periodicamente para enviar um Heartbeat para o servidor WEC para indicar que está ativo. Este valor de heartbeat pode ser configurado individualmente para cada subscrição.

O WEF funcionará num ambiente IPv4, IPv6 ou IPv4/IPv6 misto?

Sim. O WEF é agnóstico de transporte e irá trabalhar através de IPv4 ou IPv6.

Os eventos WEF estão encriptados? Vejo uma opção HTTP/HTTPS!

Numa definição de domínio, a ligação utilizada para transmitir eventos WEF é encriptada através de Kerberos, por predefinição (com NTLM como uma opção de contingência, que pode ser desativada através de um GPO). Apenas o recoletor WEF pode desencriptar a ligação. Além disso, a ligação entre o cliente WEF e o servidor WEC é mutuamente autenticada independentemente do tipo de autenticação (Kerberos ou NTLM.) Existem opções de GPO para forçar a Autenticação a utilizar Apenas Kerberos.

Esta autenticação e encriptação são efetuadas independentemente de HTTP ou HTTPS estar selecionado.

A opção HTTPS está disponível se for utilizada a autenticação baseada em certificados, nos casos em que a autenticação mútua baseada em Kerberos não seja uma opção. O certificado SSL e os certificados de cliente aprovisionados são utilizados para fornecer autenticação mútua.

Os Clientes WEF têm uma memória intermédia separada para eventos?

O registo de eventos local das máquinas cliente WEF é a memória intermédia do WEF para quando a ligação ao servidor WEC for perdida. Para aumentar o "tamanho da memória intermédia", aumente o tamanho máximo de ficheiro do ficheiro de registo de eventos específico onde os eventos estão a ser selecionados. Para obter mais informações, consulte Apêndice C - Métodos de Definições do Canal de Eventos (ativar e Acesso ao Canal).

Quando o registo de eventos substitui os eventos existentes (o que resulta na perda de dados se o dispositivo não estiver ligado ao Recoletor de Eventos), não é enviada nenhuma notificação ao recoletor WEF de que os eventos são perdidos do cliente. Também não existe um indicador de que foi encontrada uma lacuna no fluxo de eventos.

Que formato é utilizado para eventos reencaminhados?

O WEF tem dois modos para eventos reencaminhados. A predefinição é "Texto Composto" que inclui a descrição textual do evento como o veria no Visualizador de Eventos. A inclusão desta descrição significa que o tamanho do evento é efetivamente duplicado ou triplicado consoante o tamanho da descrição composta. O modo alternativo é "Eventos" (também por vezes referido como formato "Binário") - que é apenas o evento XML enviado em formato XML binário (como seria escrito no ficheiro evtx.) Este formato é compacto e pode mais do dobro do volume de eventos que um único servidor WEC pode acomodar.

Uma subscrição "testSubscription" pode ser configurada para utilizar o formato Eventos através do utilitário WECUTIL:

@rem required to set the DeliveryMaxItems or DeliveryMaxLatencyTime
Wecutil ss "testSubscription" /cf:Events

Com que frequência são entregues os eventos WEF?

As opções de entrega de eventos fazem parte dos parâmetros de configuração da subscrição WEF – existem três opções de entrega de subscrições incorporadas: Normal, Minimizar Largura de Banda e Minimizar Latência. Está disponível um quarto catch-all denominado "Personalizado", mas não pode ser selecionado ou configurado através da IU do WEF com o Visualizador de Eventos. A opção Entrega personalizada tem de ser selecionada e configurada com a aplicação de linha de comandos WECUTIL.EXE. Todas as opções de subscrição definem uma contagem máxima de eventos e a idade máxima do evento, se um dos limites for excedido, os eventos acumulados são enviados para o recoletor de eventos.

Esta tabela descreve as opções de entrega incorporadas:

Opções de otimização da entrega de eventos Descrição
Normal Esta opção garante a entrega fiável de eventos e não tenta conservar a largura de banda. É a escolha adequada, a menos que precise de um controlo mais apertado sobre a utilização da largura de banda ou precise de eventos reencaminhados fornecidos o mais rapidamente possível. Utiliza o modo de entrega de solicitação, lota 5 itens de cada vez e define um tempo limite de lote de 15 minutos.
Minimizar a largura de banda Esta opção garante que a utilização da largura de banda de rede para a entrega de eventos é estritamente controlada. É uma escolha adequada se quiser limitar a frequência das ligações de rede efetuadas para entregar eventos. Utiliza o modo de entrega push e define um tempo limite de lote de 6 horas. Além disso, utiliza um intervalo de heartbeat de 6 horas.
Minimizar a latência Esta opção garante que os eventos são entregues com um atraso mínimo. É uma opção adequada se estiver a recolher alertas ou eventos críticos. Utiliza o modo de entrega push e define um tempo limite de lote de 30 segundos.

Para obter mais informações sobre as opções de entrega, consulte Configurar Definições Avançadas de Subscrição.

A principal diferença está na latência que os eventos são enviados do cliente. Se nenhuma das opções incorporadas cumprir os seus requisitos, pode definir opções de entrega de eventos personalizadas para uma determinada subscrição a partir de uma linha de comandos elevada:

@rem required to set the DeliveryMaxItems or DeliveryMaxLatencyTime
Wecutil ss "SubscriptionNameGoesHere" /cm:Custom
@rem set DeliveryMaxItems to 1 event
Wecutil ss "SubscriptionNameGoesHere" /dmi:1
@rem set DeliveryMaxLatencyTime to 10 ms
Wecutil ss "SubscriptionNameGoesHere" /dmlt:10

Como posso controlar que dispositivos têm acesso a uma Subscrição WEF?

Para subscrições iniciadas pela origem: cada subscrição WEF num servidor WEC tem a sua própria ACL para contas de computador ou grupos de segurança que contêm contas de computador (não contas de utilizador) que têm permissão explícita para participar nessa subscrição ou que são explicitamente negados. Esta ACL aplica-se apenas a uma única subscrição WEF (uma vez que pode haver várias subscrições WEF num determinado servidor WEC), outras Subscrições WEF têm a sua própria ACL separada.

Para subscrições iniciadas pelo recoletor: a subscrição contém a lista de máquinas a partir das quais o servidor WEC pretende recolher eventos. Esta lista é gerida no servidor WEC e as credenciais utilizadas para a subscrição têm de ter acesso para ler registos de eventos a partir dos Clientes WEF . As credenciais podem ser a conta do computador ou uma conta de domínio.

Um cliente pode comunicar com vários Recoletores de Eventos WEF?

Sim. Se quiser um ambiente High-Availability, configure vários servidores WEC com a mesma configuração de subscrição e publique ambos os URIs do Servidor WEC nos clientes WEF. Os clientes WEF reencaminham eventos em simultâneo para as subscrições configuradas nos servidores WEC, se tiverem o acesso adequado.

Quais são as limitações do servidor WEC?

Existem três fatores que limitam a escalabilidade dos servidores WEC. A regra geral para um servidor WEC estável em hardware de mercadoria está a planear um total de 3000 eventos por segundo, em média, para todas as subscrições configuradas.

  • E/S do disco. O servidor WEC não processa nem valida o evento recebido, mas coloca o evento recebido em memória intermédia e, em seguida, regista-o num ficheiro de registo de eventos local (ficheiro EVTX). A velocidade de registo no ficheiro EVTX é limitada pela velocidade de escrita do disco. Isolar o ficheiro EVTX para a sua própria matriz ou utilizar discos de alta velocidade pode aumentar o número de eventos por segundo que um único servidor WEC pode receber.

  • Ligações de Rede. Embora uma origem WEF não mantenha uma ligação permanente e persistente ao servidor WEC, não se desliga imediatamente após o envio dos eventos. Esta clemência significa que o número de origens WEF que podem ligar simultaneamente ao servidor WEC está limitado às portas TCP abertas disponíveis no servidor WEC.

  • Tamanho do registo. Para cada dispositivo exclusivo que se liga a uma subscrição WEF, existe uma chave de registo (correspondente ao FQDN do Cliente WEF) criada para armazenar informações de heartbeat de origem e marcadores. Se estas informações não forem executadas para remover clientes inativos, este conjunto de chaves de registo pode aumentar para um tamanho incontrolável ao longo do tempo.

    • Quando uma subscrição tem >1000 origens WEF ligadas à mesma durante a sua duração operacional, também conhecidas como origens WEF de duração, o Visualizador de Eventos pode deixar de responder durante alguns minutos ao selecionar o nó Subscrições no painel de navegação esquerdo, mas funcionará normalmente posteriormente.
    • Em >50 000 origens WEF de duração, o Visualizador de Eventos já não é uma opção e wecutil.exe (incluído no Windows) tem de ser utilizado para configurar e gerir subscrições.
    • Às >100.000 origens WEF de duração, o registo não será legível e o servidor WEC provavelmente terá de ser reconstruído.

Informações da assinatura

Abaixo, indica todos os itens que cada subscrição recolhe, o XML de subscrição real está disponível num Apêndice. Estes itens são separados em Linha de Base e Direcionados. A intenção é subscrever todos os anfitriões na Linha de Base e, em seguida, inscrever (e remover) anfitriões conforme necessário para a subscrição Direcionada.

Subscrição de linha de base

Embora esta subscrição pareça ser a maior subscrição, é realmente o volume mais baixo por dispositivo. (Devem ser permitidas exceções para dispositivos invulgares – espera-se que um dispositivo que efetue tarefas complexas relacionadas com programadores crie um volume invulgarmente elevado de criação de processos e eventos do AppLocker.) Esta subscrição não requer uma configuração especial em dispositivos cliente para ativar canais de eventos ou modificar permissões de canais.

A subscrição é essencialmente uma coleção de instruções de consulta aplicadas ao Registo de Eventos. Esta subscrição significa que é modular por natureza e que uma determinada instrução de consulta pode ser removida ou alterada sem afetar outra instrução de consulta na subscrição. Além disso, suprima instruções que filtram eventos específicos, aplicam-se apenas nessa instrução de consulta e não são para toda a subscrição.

Requisitos da subscrição de linha de base

Para obter o maior valor da subscrição de linha de base, recomendamos que tenha os seguintes requisitos definidos no dispositivo para garantir que os clientes já estão a gerar os eventos necessários para serem reencaminhados para fora do sistema.

  • Aplique uma política de auditoria de segurança que seja um super conjunto da política de auditoria mínima recomendada. Para obter mais informações, consulte Apêndice A – Política de Auditoria Mínima Recomendada. Esta política garante que o registo de eventos de segurança está a gerar os eventos necessários.

  • Aplicar, pelo menos, um Audit-Only política appLocker aos dispositivos.

    • Se já estiver a permitir ou restringir eventos com o AppLocker, este requisito é cumprido.
    • Os eventos do AppLocker contêm informações úteis, como hash de ficheiros e informações de assinatura digital para executáveis e scripts.
  • Ative os canais de eventos desativados e defina o tamanho mínimo para os ficheiros de eventos modernos.

  • Atualmente, não existe nenhum modelo de GPO para ativar ou definir o tamanho máximo para os ficheiros de eventos modernos. Este limiar tem de ser definido através de um GPO. Para obter mais informações, consulte Apêndice C - Métodos de Definições do Canal de Eventos (ativar e Acesso ao Canal).

A consulta de evento anotada pode ser encontrada no seguinte. Para obter mais informações, consulte Apêndice F – Consulta de Eventos de Subscrição Suspeita Anotada.

  • Eventos antimalware da Segurança do Windows. Estes eventos podem ser configurados para qualquer produto antimalware fornecido facilmente se escrever no registo de eventos do Windows.

  • Registo de eventos de segurança Processo Criar eventos.

  • Eventos de Criação de Processos do AppLocker (EXE, script, instalação e execução de aplicações em pacote).

  • Eventos de modificação do registo. Para obter mais informações, consulte Apêndice B – Política mínima recomendada da ACL do Sistema de Registo.

  • Arranque e encerramento do SO

    • Os eventos de arranque incluem a versão do sistema operativo, o nível do service pack, a versão QFE e o modo de arranque.
  • Instalação do serviço

    • Inclui o nome do serviço, o caminho da imagem e quem instalou o serviço.
  • Eventos de auditoria da Autoridade de Certificação

    • Estes eventos só são aplicáveis em sistemas com a função Autoridade de Certificação instalada.
    • Regista pedidos de certificado e respostas.
  • Eventos de perfil de utilizador

    • A utilização de um perfil temporário ou a impossibilidade de criar um perfil de utilizador pode indicar que um intruso está a iniciar sessão interativamente num dispositivo, mas não quer deixar um perfil persistente para trás.
  • Falha no início do serviço

    • Os códigos de falha são localizados, pelo que tem de verificar se existem valores na DLL da mensagem.
  • Eventos de acesso à partilha de rede

    • Filtre as partilhas de ficheiros IPC$ e /NetLogon, que são esperadas e ruidosas.
  • Pedidos de início de encerramento do sistema

    • Descubra o que iniciou o reinício de um dispositivo.
  • Evento de fim de sessão interativo iniciado pelo utilizador

  • As sessões dos Serviços de Ambiente de Trabalho Remoto ligam, reconectam ou desligam.

  • Eventos EMET, se o EMET estiver instalado.

  • Eventos de plug-in de reencaminhamento de eventos

    • Para monitorizar operações de subscrição WEF, como eventos de Êxito Parcial. Este evento é útil para diagnosticar problemas de implementação.
  • Criação e eliminação de partilhas de rede

    • Ativa a deteção da criação de partilhas não autorizadas.

      Observação

      Todas as partilhas são recriadas quando o dispositivo é iniciado.

  • Sessões de início de sessão

    • Início de sessão bem-sucedido para ambiente de trabalho interativo (local e Remoto Interativo/Remoto)
    • Início de sessão bem-sucedido para serviços para contas não incorporadas, como LocalSystem, LocalNetwork, entre outros.
    • Início de sessão bem-sucedido para sessões em lote
    • Fecho da sessão de início de sessão, que consiste em eventos de fim de sessão para sessões que não são de rede.
  • Relatório de Erros do Windows (apenas eventos de falha da aplicação)

    • Esta sessão pode ajudar a detetar sinais iniciais de intrusos que não estão familiarizados com o ambiente empresarial através de software maligno direcionado.
  • Eventos do serviço de registo de eventos

    • Erros, eventos de início e eventos de paragem para o serviço de Registo de Eventos do Windows.
  • Registo de eventos limpo (incluindo o Registo de Eventos de Segurança)

    • Este evento pode indicar um intruso que está a cobrir os seus rastos.
  • Privilégios especiais atribuídos ao novo início de sessão

    • Esta atribuição indica que, no momento do início de sessão, um utilizador é um Administrador ou tem acesso suficiente para se tornar Administrador.
  • Tentativas de sessão dos Serviços de Ambiente de Trabalho Remoto de Saída

    • Visibilidade em potencial cabeça de praia para intruso
  • Hora do sistema alterada

  • Cliente SMB (ligações de unidade mapeadas)

  • Validação de credenciais da conta

    • Contas locais ou contas de domínio em controladores de domínio
  • Um utilizador foi adicionado ou removido do grupo de segurança Administradores local.

  • Chave privada da API Cripto acedida

    • Associado a objetos de assinatura com a chave privada armazenada localmente.
  • Criação e eliminação de tarefas do Programador de Tarefas

    • O Programador de Tarefas permite que os intrusos executem código em horas especificadas como LocalSystem.
  • Iniciar sessão com credenciais explícitas

    • Detetar alterações de utilização de credenciais por intrusos para aceder a mais recursos.
  • Eventos de verificação do titular do smartcard

    • Este evento deteta quando um smartcard está a ser utilizado.

Subscrição suspeita

Esta subscrição adiciona alguma atividade relacionada com intrusos para ajudar o analista a refinar ainda mais as suas determinações sobre o estado do dispositivo.

  • Criação de sessão de início de sessão para sessões de rede

    • Ativa a análise de série temporal de gráficos de rede.
  • Eventos RADIUS e VPN

    • Útil se utilizar uma implementação RADIUS/VPN IAS da Microsoft. Mostra a atribuição de> endereço IP do utilizador com o endereço IP remoto a ligar à empresa.
  • Eventos de cadeia de objetos e de cadeias de criação da API Crypto X509

    • Deteta certificado incorreto conhecido, AC ou sub-AC
    • Deteta a utilização invulgar do processo do CAPI
  • Grupos atribuídos ao início de sessão local

    • Dá visibilidade aos grupos que permitem o acesso ao nível da conta
    • Permite um melhor planeamento dos esforços de remediação
    • Exclui contas de sistema incorporadas bem conhecidas.
  • Saída da sessão de início de sessão

    • Específico para sessões de início de sessão na rede.
  • Eventos de pesquisa de DNS do cliente

    • Devolve o processo que executou uma consulta DNS e os resultados devolvidos do servidor DNS.
  • Saída do processo

    • Ativa a verificação de processos que terminam inesperadamente.
  • Validação de credenciais local ou início de sessão com credenciais explícitas

    • Gerado quando o SAM local é autoritativo para as credenciais da conta que estão a ser autenticadas.
    • Ruidoso nos controladores de domínio
    • Nos dispositivos cliente, só é gerado quando as contas locais iniciam sessão.
  • Eventos de auditoria de modificação do registo

    • Apenas quando um valor de registo está a ser criado, modificado ou eliminado.
  • Autenticação 802.1x sem fios

    • Detetar ligação sem fios com um endereço MAC de elemento da rede
  • Registo do Windows PowerShell

    • Abrange o Windows PowerShell 2.0 e posterior e inclui os melhoramentos de registo do Windows PowerShell 5.0 para ataques dentro da memória com o Windows PowerShell.
    • Inclui o registo de comunicação remota do Windows PowerShell
  • Evento "Driver Loaded" da Estrutura do Controlador do Modo de Utilizador

    • É possível detetar um dispositivo USB a carregar vários controladores de dispositivo. Por exemplo, um dispositivo USB_STOR a carregar o teclado ou o controlador de rede.

Se a sua política de auditoria organizacional permitir mais auditorias para satisfazer as suas necessidades, tudo bem. A política abaixo são as definições mínimas de política de auditoria necessárias para ativar os eventos recolhidos pelas subscrições de linha de base e direcionadas.

Categoria Subcategoria Definições de auditoria
Início de Sessão da Conta Validação de Credenciais Êxito e Falha
Gerenciamento de contas Gestão de Grupos de Segurança Êxito
Gerenciamento de contas Gerenciamento de contas de usuário Êxito e Falha
Gerenciamento de contas Gestão de Contas de Computador Êxito e Falha
Gerenciamento de contas Outros Eventos de Gestão de Contas Êxito e Falha
Controlo Detalhado Criação de Processos Êxito
Controlo Detalhado Terminação do Processo Êxito
Início de Sessão/Fim de Sessão Afirmações de Utilizador/Dispositivo Não configurado
Início de Sessão/Fim de Sessão Modo Expandido IPsec Não configurado
Início de Sessão/Fim de Sessão Modo Rápido IPsec Não configurado
Início de Sessão/Fim de Sessão Início de sessão Êxito e Falha
Início de Sessão/Fim de Sessão Logoff Êxito
Início de Sessão/Fim de Sessão Outros Eventos de Início de Sessão/Início de Sessão Êxito e Falha
Início de Sessão/Fim de Sessão Início de Sessão Especial Êxito e Falha
Início de Sessão/Fim de Sessão Bloqueio de Conta Êxito
Acesso a Objetos Aplicação Gerada Não configurado
Acesso a Objetos Partilha de Ficheiros Êxito
Acesso a Objetos Sistema de arquivos Não configurado
Acesso a Objetos Outros Eventos de Acesso a Objetos Não configurado
Acesso a Objetos Registro Não configurado
Acesso a Objetos Armazenamento Removível Êxito
Alteração de Política Alteração da Política de Auditoria Êxito e Falha
Alteração de Política Alteração da Política de Rule-Level MPSSVC Êxito e Falha
Alteração de Política Outros Eventos de Alteração de Política Êxito e Falha
Alteração de Política Alteração da Política de Autenticação Êxito e Falha
Alteração de Política Alteração da Política de Autorização Êxito e Falha
Utilização de Privilégios Utilização de Privilégios Confidenciais Não configurado
System Alteração do Estado de Segurança Êxito e Falha
System Extensão do Sistema de Segurança Êxito e Falha
System Integridade do Sistema Êxito e Falha

As chaves Run e RunOnce são úteis para intrusos e persistência de software maligno. Permite que o código seja executado (ou executado apenas uma vez e depois removido, respetivamente) quando um utilizador inicia sessão no sistema.

Esta implicação pode ser facilmente expandida para outras chaves de Pontos de Início de Execução Automática no registo.

Utilize as seguintes figuras para ver como pode configurar essas chaves de registo.

acl predefinida para chave de execução.

acl predefinida para chave runonce.

Apêndice C - Métodos de definições do canal de eventos (ativar e acesso de canal)

Alguns canais estão desativados por predefinição e têm de ser ativados. Outros, como o Microsoft-Windows-CAPI2/Operational, têm de ter o acesso ao canal modificado para permitir que o grupo de segurança incorporado Leitores de Registo de Eventos leia a partir do mesmo.

A forma recomendada e mais eficaz de efetuar esta personalização é configurar o GPO de linha de base para executar uma tarefa agendada para configurar os canais de eventos (ativar, definir o tamanho máximo e ajustar o acesso ao canal). Esta configuração entrará em vigor no próximo ciclo de atualização do GPO e terá um impacto mínimo no dispositivo cliente.

O fragmento de GPO seguinte executa as seguintes tarefas:

  • Ativa o canal de eventos Microsoft-Windows-Capi2/Operacional .
  • Define o tamanho máximo de ficheiro para Microsoft-Windows-Capi2/Operational para 100 MB.
  • Define o tamanho máximo de ficheiro para Microsoft-Windows-AppLocker/EXE e DLL para 100 MB.
  • Define o acesso máximo de canais para Microsoft-Windows-Capi2/Operational para incluir o grupo de segurança Leitores de Registos de Eventos incorporado.
  • Ativa o canal de eventos Microsoft-Windows-DriverFrameworks-UserMode/Operational .
  • Define o tamanho máximo de ficheiro para Microsoft-Windows-DriverFrameworks-UserMode/Operational para 50 MB.

configurar canais de eventos.

A tabela seguinte também contém as seis ações a configurar no GPO:

Programa/Script Argumentos
%SystemRoot%\System32\wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:true
%SystemRoot%\System32\wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /ms:102432768
%SystemRoot%\System32\wevtutil.exe sl "Microsoft-Windows-AppLocker/EXE e DLL" /ms:102432768
%SystemRoot%\System32\wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /ca:"O:BAG:SYD:(A;; 0x7;;; BA)(A;; 0x2;;; AU)(A;; 0x1;;; S-1-5-32-573)"
%SystemRoot%\System32\wevtutil.exe sl "Microsoft-Windows-DriverFrameworks-UserMode/Operational" /e:true
%SystemRoot%\System32\wevtutil.exe sl "Microsoft-Windows-DriverFrameworks-UserMode/Operational" /ms:52432896

Apêndice D – GPO Mínimo para a configuração do Cliente WEF

Eis os passos mínimos para o WEF operar:

  1. Configure os URI(s) do recoletor.
  2. Inicie o serviço WinRM.
  3. Adicione a conta de Serviço de Rede ao grupo de segurança Leitores do Registo de Eventos incorporado. Esta adição permite ler a partir de um canal de eventos seguro, como o canal de eventos de segurança.

configurar o cliente wef.

Apêndice E – Consulta de evento de subscrição de linha de base anotada

<QueryList>
  <Query Id="0" Path="System">
    <!-- Anti-malware *old* events, but only detect events (cuts down noise) -->
    <Select Path="System">*[System[Provider[@Name='Microsoft Antimalware'] and (EventID &gt;= 1116 and EventID &lt;= 1119)]]</Select>
  </Query>
  <!-- AppLocker EXE events or Script events -->
  <Query Id="1" Path="Microsoft-Windows-AppLocker/EXE and DLL">
    <Select Path="Microsoft-Windows-AppLocker/EXE and DLL">*[UserData[RuleAndFileData[PolicyName="EXE"]]]</Select>
    <Select Path="Microsoft-Windows-AppLocker/MSI and Script">*</Select>
  </Query>
  <Query Id="2" Path="Security">
    <!-- Wireless Lan 802.1x authentication events with Peer MAC address -->
    <Select Path="Security">*[System[(EventID=5632)]]</Select>
  </Query>
  <Query Id="3" Path="Microsoft-Windows-TaskScheduler/Operational">
    <!-- Task scheduler Task Registered (106),  Task Registration Deleted (141), Task Deleted (142) -->
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=106 or EventID=141 or EventID=142 )]]</Select>
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=106 or EventID=141 or EventID=142 )]]</Select>
  </Query>
  <Query Id="4" Path="System">
    <!-- System startup (12 - includes OS/SP/Version) and shutdown -->
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Kernel-General'] and (EventID=12 or EventID=13)]]</Select>
  </Query>
  <Query Id="5" Path="System">
    <!-- Service Install (7000), service start failure (7045), new service (4697) -->
    <Select Path="System">*[System[Provider[@Name='Service Control Manager'] and (EventID = 7000 or EventID=7045)]]</Select>
<Select Path="Security">*[System[(EventID=4697)]]</Select>
  </Query>
  <Query Id="6" Path="Security">
    <!-- TS Session reconnect (4778), TS Session disconnect (4779) -->
    <Select Path="Security">*[System[(EventID=4778 or EventID=4779)]]</Select>
  </Query>
  <Query Id="7" Path="Security">
    <!-- Network share object access without IPC$ and Netlogon shares -->
    <Select Path="Security">*[System[(EventID=5140)]] and (*[EventData[Data[@Name="ShareName"]!="\\*\IPC$"]]) and (*[EventData[Data[@Name="ShareName"]!="\\*\NetLogon"]])</Select>
  </Query>
  <Query Id="8" Path="Security">
    <!-- System Time Change (4616)  -->
    <Select Path="Security">*[System[(EventID=4616)]]</Select>
  </Query>
  <Query Id="9" Path="System">
    <!-- Shutdown initiate requests, with user, process and reason (if supplied) -->
    <Select Path="System">*[System[Provider[@Name='USER32'] and (EventID=1074)]]</Select>
  </Query>
  <!-- AppLocker packaged (Modern UI) app execution -->
  <Query Id="10" Path="Microsoft-Windows-AppLocker/Packaged app-Execution">
    <Select Path="Microsoft-Windows-AppLocker/Packaged app-Execution">*</Select>
  </Query>
  <!-- AppLocker packaged (Modern UI) app installation -->
  <Query Id="11" Path="Microsoft-Windows-AppLocker/Packaged app-Deployment">
    <Select Path="Microsoft-Windows-AppLocker/Packaged app-Deployment">*</Select>
  </Query>
  <Query Id="12" Path="Application">
    <!-- EMET events -->
    <Select Path="Application">*[System[Provider[@Name='EMET']]]</Select>
  </Query>
  <Query Id="13" Path="System">
    <!-- Event log service events -->
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Eventlog']]]</Select>
  </Query>
  <Query Id="14" Path="Security">
    <!-- Local logons without network or service events -->
    <Select Path="Security">*[System[(EventID=4624)]] and (*[EventData[Data[@Name="LogonType"]!="3"]]) and (*[EventData[Data[@Name="LogonType"]!="5"]])</Select>
  </Query>
  <Query Id="15" Path="Application">
    <!-- WER events for application crashes only -->
    <Select Path="Application">*[System[Provider[@Name='Windows Error Reporting']]] and (*[EventData[Data[3] ="APPCRASH"]])</Select>
  </Query>
  <Query Id="16" Path="Security">
    <!-- Security Log cleared events (1102), EventLog Service shutdown (1100)-->
    <Select Path="Security">*[System[(EventID=1102 or EventID = 1100)]]</Select>
  </Query>
  <Query Id="17" Path="System">
    <!-- Other Log cleared events (104)-->
    <Select Path="System">*[System[(EventID=104)]]</Select>
  </Query>
  <Query Id="18" Path="Security">
    <!--  user initiated logoff -->
    <Select Path="Security">*[System[(EventID=4647)]]</Select>
  </Query>
  <Query Id="19" Path="Security">
    <!-- user logoff for all non-network logon sessions-->
    <Select Path="Security">*[System[(EventID=4634)]] and (*[EventData[Data[@Name="LogonType"] != "3"]])</Select>
  </Query>
  <Query Id="20" Path="Security">
    <!-- Service logon events if the user account isn't LocalSystem, NetworkService, LocalService -->
    <Select Path="Security">*[System[(EventID=4624)]] and (*[EventData[Data[@Name="LogonType"]="5"]]) and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-18"]]) and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-19"]]) and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-20"]])</Select>
  </Query>
  <Query Id="21" Path="Security">
    <!-- Network Share create (5142), Network Share Delete (5144)  -->
    <Select Path="Security">*[System[(EventID=5142 or EventID=5144)]]</Select>
  </Query>
  <Query Id="22" Path="Security">
    <!-- Process Create (4688) -->
    <Select Path="Security">*[System[EventID=4688]]</Select>
  </Query>
  <Query Id="23" Path="Security">
    <!-- Event log service events specific to Security channel -->
    <Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Eventlog']]]</Select>
  </Query>
  <Query Id="26" Path="Security">
    <!-- Special Privileges (Admin-equivalent Access) assigned to new logon, excluding LocalSystem-->
    <Select Path="Security">*[System[(EventID=4672)]]</Select>
    <Suppress Path="Security">*[EventData[Data[1]="S-1-5-18"]]</Suppress>
  </Query>
  <Query Id="27" Path="Security">
    <!-- New user added to local security group-->
    <Select Path="Security">*[System[(EventID=4732)]]</Select>
  </Query>
  <Query Id="28" Path="Security">
    <!-- New user added to global security group-->
    <Select Path="Security">*[System[(EventID=4728)]]</Select>
  </Query>
  <Query Id="29" Path="Security">
    <!-- New user added to universal security group-->
    <Select Path="Security">*[System[(EventID=4756)]]</Select>
  </Query>
  <Query Id="30" Path="Security">
    <!-- User removed from local Administrators group-->
    <Select Path="Security">*[System[(EventID=4733)]] and (*[EventData[Data[@Name="TargetUserName"]="Administrators"]])</Select>
  </Query>
  <Query Id="31" Path="Microsoft-Windows-TerminalServices-RDPClient/Operational">
    <!-- Log attempted TS connect to remote server -->
    <Select Path="Microsoft-Windows-TerminalServices-RDPClient/Operational">*[System[(EventID=1024)]]</Select>
  </Query>
  <Query Id="32" Path="Security">
    <!-- Certificate Services received certificate request (4886), Approved and Certificate issued (4887), Denied request (4888) -->
    <Select Path="Security">*[System[(EventID=4886 or EventID=4887 or EventID=4888)]]</Select>
  </Query>
  <Query Id="34" Path="Security">
    <!-- New User Account Created(4720), User Account Enabled (4722), User Account Disabled (4725), User Account Deleted (4726) -->
    <Select Path="Security">*[System[(EventID=4720 or EventID=4722 or EventID=4725 or EventID=4726)]]</Select>
  </Query>
  <Query Id="35" Path="Microsoft-Windows-SmartCard-Audit/Authentication">
    <!-- Gets all Smart-card Card-Holder Verification (CHV) events (success and failure) performed on the host. -->
    <Select Path="Microsoft-Windows-SmartCard-Audit/Authentication">*</Select>
  </Query>
  <Query Id="36" Path="Microsoft-Windows-SMBClient/Operational">
    <!-- get all UNC/mapped drive successful connection -->
    <Select Path="Microsoft-Windows-SMBClient/Operational">*[System[(EventID=30622 or EventID=30624)]]</Select>
  </Query>
  <Query Id="37" Path="Application">
    <!-- User logging on with Temporary profile (1511), cannot create profile, using temporary profile (1518)-->
    <Select Path="Application">*[System[Provider[@Name='Microsoft-Windows-User Profiles Service'] and (EventID=1511 or EventID=1518)]]</Select>
  </Query>
  <Query Id="39" Path="Microsoft-Windows-Sysmon/Operational">
    <!-- Modern SysMon event provider-->
    <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select>
  </Query>
  <Query Id="40" Path="Application">
    <!-- Application crash/hang events, similar to WER/1001. These include full path to faulting EXE/Module.-->
    <Select Path="Application">*[System[Provider[@Name='Application Error'] and (EventID=1000)]]</Select>
    <Select Path="Application">*[System[Provider[@Name='Application Hang'] and (EventID=1002)]]</Select>
  </Query>
  <Query Id="41" Path="Microsoft-Windows-Windows Defender/Operational">
    <!-- Modern Windows Defender event provider Detection events (1006-1009) and (1116-1119) -->
    <Select Path="Microsoft-Windows-Windows Defender/Operational">*[System[( (EventID &gt;= 1006 and EventID &lt;= 1009) )]]</Select>
    <Select Path="Microsoft-Windows-Windows Defender/Operational">*[System[( (EventID &gt;= 1116 and EventID &lt;= 1119) )]]</Select>
  </Query>
  <Query Id="42" Path="Security">
    <!-- An account Failed to Log on events -->
    <Select Path="Security">*[System[(EventID=4625)]] and (*[EventData[Data[@Name="LogonType"]!="2"]]) </Select>
  </Query>

</QueryList>

Apêndice F – Consulta de Evento de Subscrição Suspeita Anotada

<QueryList>
  <Query Id="0" Path="Security">
    <!-- Network logon events-->
    <Select Path="Security">*[System[(EventID=4624)]] and (*[EventData[Data[@Name="LogonType"]="3"]])</Select>
  </Query>
  <Query Id="1" Path="System">
    <!-- RADIUS authentication events User Assigned IP address (20274), User successfully authenticated (20250), User Disconnected (20275)  -->
    <Select Path="System">*[System[Provider[@Name='RemoteAccess'] and (EventID=20274 or EventID=20250 or EventID=20275)]]</Select>
  </Query>
  <Query Id="2" Path="Microsoft-Windows-CAPI2/Operational">
    <!-- CAPI events Build Chain (11), Private Key accessed (70), X509 object (90)-->
    <Select Path="Microsoft-Windows-CAPI2/Operational">*[System[(EventID=11 or EventID=70 or EventID=90)]]</Select>
  </Query>
  <Query Id="3" Path="Security">
    <!-- CA stop/Start events CA Service Stopped (4880), CA Service Started (4881), CA DB row(s) deleted (4896), CA Template loaded (4898) -->
    <Select Path="Security">*[System[(EventID=4880 or EventID = 4881 or EventID = 4896 or EventID = 4898)]]</Select>
  </Query>
  <Query Id="4" Path="Microsoft-Windows-LSA/Operational">
    <!-- Groups assigned to new login (except for well known, built-in accounts)-->
    <Select Path="Microsoft-Windows-LSA/Operational">*[System[(EventID=300)]] and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-20"]]) and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-18"]]) and (*[EventData[Data[@Name="TargetUserSid"] != "S-1-5-19"]])</Select>
  </Query>
  <Query Id="5" Path="Security">
    <!-- Logoff events - for Network Logon events-->
    <Select Path="Security">*[System[(EventID=4634)]] and (*[EventData[Data[@Name="LogonType"] = "3"]])</Select>
  </Query>
  <Query Id="6" Path="Security">
    <!-- RRAS events - only generated on Microsoft IAS server -->
    <Select Path="Security">*[System[( (EventID &gt;= 6272 and EventID &lt;= 6280) )]]</Select>
  </Query>
  <Query Id="7" Path="Microsoft-Windows-DNS-Client/Operational">
    <!-- DNS Client events Query Completed (3008) -->
    <Select Path="Microsoft-Windows-DNS-Client/Operational">*[System[(EventID=3008)]]</Select>
<!-- suppresses local machine name resolution events -->
<Suppress Path="Microsoft-Windows-DNS-Client/Operational">*[EventData[Data[@Name="QueryOptions"]="140737488355328"]]</Suppress>
<!-- suppresses empty name resolution events -->
<Suppress Path="Microsoft-Windows-DNS-Client/Operational">*[EventData[Data[@Name="QueryResults"]=""]]</Suppress>
  </Query>
  <Query Id="8" Path="Security">
    <!-- Process Terminate (4689) -->
    <Select Path="Security">*[System[(EventID = 4689)]]</Select>
  </Query>
  <Query Id="9" Path="Security">
    <!-- Local credential authentication events (4776), Logon with explicit credentials (4648) -->
    <Select Path="Security">*[System[(EventID=4776 or EventID=4648)]]</Select>
  </Query>
  <Query Id="10" Path="Security">
    <!-- Registry modified events for Operations: New Registry Value created (%%1904), Existing Registry Value modified (%%1905), Registry Value Deleted (%%1906) -->
    <Select Path="Security">*[System[(EventID=4657)]] and ((*[EventData[Data[@Name="OperationType"] = "%%1904"]]) or (*[EventData[Data[@Name="OperationType"] = "%%1905"]]) or (*[EventData[Data[@Name="OperationType"] = "%%1906"]]))</Select>
  </Query>
  <Query Id="11" Path="Security">
    <!-- Request made to authenticate to Wireless network (including Peer MAC (5632) -->
    <Select Path="Security">*[System[(EventID=5632)]]</Select>
  </Query>
  <Query Id="12" Path="Microsoft-Windows-PowerShell/Operational">
    <!-- PowerShell execute block activity (4103), Remote Command(4104), Start Command(4105), Stop Command(4106) -->
    <Select Path="Microsoft-Windows-PowerShell/Operational">*[System[(EventID=4103 or EventID=4104 or EventID=4105 or EventID=4106)]]</Select>
  </Query>
  <Query Id="13" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">
    <!-- Detect User-Mode drivers loaded - for potential BadUSB detection. -->
    <Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">*[System[(EventID=2004)]]</Select>
  </Query>
<Query Id="14" Path="Windows PowerShell">
    <!-- Legacy PowerShell pipeline execution details (800) -->
    <Select Path="Windows PowerShell">*[System[(EventID=800)]]</Select>
  </Query>
</QueryList>

Apêndice G - Recursos online

Pode obter mais informações com as seguintes ligações: