Saltar para o conteúdoHisnLabs
← Defesa de rede para um único computador

Lição 3 de 4 · 10 min

Registo e deteção

O que vale a pena registar num só Mac, e os sinais concretos — sinalização (beaconing), anomalias de DNS, binários não assinados — de que algo precisa de uma vista mais atenta.

Um firewall que não bloqueia nada e não regista nada é só metade de uma defesa. A deteção é a outra metade: notar quando algo na máquina se está a comportar de uma forma que não encaixa. Num só Mac, isto não exige um centro de operações de segurança, mas exige conhecer bem o suficiente o aspeto de uma ligação normal para notar uma anormal.

O que vale a pena registar

Num único computador, as categorias de registo úteis espelham o que um centro de operações de rede maior acompanharia, apenas reduzido de escala: que apps fizeram que ligações, para que destinos, e quando; que apps correram, e se estavam assinadas por um programador conhecido; e mudanças a definições relevantes para a segurança, como o firewall ou o Gatekeeper. O próprio macOS mantém um registo unificado que cobre eventos do sistema e das apps, visível na app Consola ou com log show, e as próprias decisões do Firewall de Aplicações também ficam lá registadas. O que falta à maioria das pessoas não é exatamente registo, já que o macOS já regista muita coisa, mas uma vista legível das ligações de saída especificamente, já que essa é a direção em que um comprometimento é mais provável de aparecer primeiro.

Ler registos de ligação: o que parece normal

Um registo de ligações só é útil depois de ter uma noção aproximada do que é normal para uma determinada app: um navegador a fazer ligações frequentes a muitos domínios diferentes é esperado; uma app de tomar notas a fazer o mesmo não é. Os três detalhes que vale a pena notar em qualquer ligação são o destino (um domínio ou endereço IP, e idealmente quem o opera), o momento (uma vez, ocasionalmente, ou num intervalo fixo), e a app responsável por ela.

Indicador: sinalização (beaconing)

A sinalização (beaconing) é uma ligação de saída repetida, muitas vezes com temporização precisa, usada por software para se anunciar a um servidor remoto, por vezes para receber mais instruções. O quadro ATT&CK do MITRE descreve este padrão de tráfego de comando e controlo ao nível da aplicação como algo que os defensores procuram especificamente através de "intervalos do tipo sinalização": uma temporização regular que uma app normal, orientada pelo utilizador, que se liga quando a usa e fica quieta caso contrário, não produziria. Uma única app a ligar-se silenciosamente ao mesmo endereço a cada poucos minutos, a toda a hora, quer a esteja a usar quer não, é o tipo de padrão que vale a pena investigar em vez de descartar.

Indicador: anomalias de DNS

Cada pesquisa de nome de domínio passa pelo DNS antes de uma ligação sequer ser feita, o que torna o tráfego DNS um lugar útil para procurar esquisitices: uma app a resolver um nome de domínio invulgarmente longo ou com aparência gerada ao acaso, uma rajada de pesquisas para domínios que não reconhece, ou consultas DNS num volume e formato que não corresponde à navegação normal. A explicação da Cloudflare sobre o tunelamento de DNS descreve um motivo para isto acontecer: codificar dados dentro de consultas e respostas DNS pode ser usado para mover informação para dentro ou para fora de uma rede, passando por controlos que só inspecionam o tráfego web comum. Não precisa de diagnosticar totalmente a técnica você mesmo; notar que a atividade de DNS de uma determinada app parece invulgar já é motivo suficiente para olhar mais de perto ou pedir ajuda.

Indicador: binários não assinados

Espera-se que todas as apps legítimas para Mac tenham assinatura de código, e a maioria também é notarizada (abordado no curso de reforço do macOS deste site). Pode verificar se uma app específica está assinada a partir do Terminal:

Terminal
codesign -dv --verbose=4 /Applications/SomeApp.app
Executable=/Applications/SomeApp.app/Contents/MacOS/SomeApp
Identifier=com.example.someapp
...

Uma app que não está assinada de todo, ou cujo identificador não corresponde ao que esperaria para essa app, vale a pena tratar com suspeita, particularmente se também aparecer na lista de processos a fazer ligações de rede que não consegue explicar. Esta é uma verificação só de leitura: inspeciona uma assinatura, não corre nem muda a app.

IDS/IPS, à escala pessoal

Um sistema de deteção de intrusões (IDS) observa o tráfego e emite um alerta perante padrões suspeitos; um sistema de prevenção de intrusões (IPS) vai mais longe e bloqueia o tráfego automaticamente. As versões empresariais destes comparam o tráfego com grandes conjuntos mantidos de assinaturas de ataques conhecidos e modelos comportamentais. Num só Mac, um firewall por app que sinaliza um destino novo ou invulgar e o deixa decidir funciona como uma versão leve e pessoal da mesma ideia: deteção, com a opção de agir, à escala de uma máquina em vez de toda uma rede.

A reter

  • A coisa mais útil a registar num único Mac são as ligações de saída por app, já que o macOS já regista a maioria dos eventos de sistema e de segurança noutro lugar.
  • A sinalização (beaconing) é uma ligação de saída repetida, muitas vezes com temporização regular, independentemente de estar a usar ativamente a app responsável.
  • A atividade DNS invulgar (nomes de domínio longos ou com aparência aleatória, rajadas de pesquisas desconhecidas) pode indicar dados a mover-se para dentro ou para fora, passando pelos controlos normais de tráfego web.
  • `codesign -dv --verbose=4 <caminho>` é uma forma só de leitura de verificar se uma app tem assinatura de código e por quem.
  • Um firewall pessoal por app que sinaliza destinos invulgares funciona como um IDS leve para uma máquina: deteção, com a escolha de agir.

Teste-se

  1. 1. O que torna a "sinalização" (beaconing) suspeita em vez de apenas uma ligação normal?

    • Usa HTTPS
    • Acontece só uma vez
    • É uma ligação repetida, muitas vezes com temporização regular, independentemente de a app estar a ser usada ativamente — Certo.
    • Vem de um navegador

    As apps comuns ligam-se para fora quando as usa; verificações regulares e mecânicas independentemente da atividade são o padrão que o MITRE ATT&CK associa a tráfego de comando e controlo.

  2. 2. Porque vale a pena prestar atenção a atividade de DNS invulgar?

    • O DNS está sempre encriptado, por isso as anomalias são raras
    • Os dados podem ser codificados em consultas e respostas DNS para mover informação passando por controlos que só inspecionam o tráfego web — Certo.
    • As pesquisas DNS nunca acontecem num Mac normal
    • Só importa para servidores web, não para computadores pessoais

    O tunelamento de DNS esconde dados dentro do tráfego DNS precisamente porque muitas defesas não inspecionam o DNS tão de perto como o tráfego HTTP.

  3. 3. O que faz `codesign -dv --verbose=4 <caminho da app>`?

    • Elimina uma app não assinada
    • Mostra a assinatura de código e o identificador de uma app, sem a mudar — Certo.
    • Impede que a app corra
    • Instala uma regra de firewall para a app

    É um comando de inspeção só de leitura que mostra informação de assinatura para a app dada, útil para verificar se está legitimamente assinada.

Praticar com o FireAI

Ponha esta lição em prática no seu próprio Mac.

Fontes

Ponha em prática no seu Mac

Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.

Transferir para Mac Docs