Todos os produtos que se apresentam como «deteção avançada de ameaças» para o Mac assentam num pequeno número de mecanismos, a maioria documentada pela Apple. Saber em que mecanismo uma dada funcionalidade se apoia diz-lhe o que ela consegue realmente ver e a que é cega. Este artigo percorre essas camadas uma a uma: o que é uma assinatura, o que a notarização verifica, o que o framework Endpoint Security da Apple expõe ao software de segurança, o que a análise comportamental significa na prática e o que um modelo que observa ligações de rede pode e não pode julgar.
A versão curta é que nenhuma camada vê tudo. Um analisador de ficheiros nunca vê uma ligação. Um monitor de rede nunca vê um ficheiro. Os produtos que são honestos quanto a essa fronteira são mais úteis do que os que a esbatem.
Camada um: assinaturas (XProtect)
A técnica de deteção mais antiga é a assinatura: um padrão que corresponde a um programa malicioso conhecido. No Mac, esse trabalho cabe ao XProtect. O Guia de Segurança das Plataformas da Apple, na página Proteção contra malware, descreve o XProtect como baseado em assinaturas e diz que é executado em três momentos: quando uma aplicação é aberta pela primeira vez, quando uma aplicação foi alterada no disco e quando as assinaturas do XProtect são atualizadas.
A Apple é franca quanto ao alcance desta abordagem. A mesma página refere que as regras do XProtect são «mais genéricas do que um hash de ficheiro específico, pelo que conseguem encontrar variantes que a Apple não viu», e descreve um motor de remediação que remove infeções a posteriori. O que uma assinatura não consegue fazer, por construção, é corresponder a algo para o qual ninguém escreveu ainda uma regra. É essa a lacuna que todas as outras camadas existem para estreitar.
Camada dois: notarização e Gatekeeper
A segunda camada atua antes de uma aplicação ser aberta pela primeira vez. A página da Apple sobre Gatekeeper e proteção em tempo de execução explica que o Gatekeeper verifica que uma aplicação descarregada provém de um programador identificado, foi notarizada pela Apple e não foi alterada, e que pede a aprovação do utilizador antes de abrir software descarregado. A notarização em si é uma análise que a Apple faz ao software assinado com Developer ID antes de este ser distribuído; o guia da Apple acrescenta que pode mais tarde emitir um bilhete de revogação para software que se revele malicioso, mesmo que tenha sido aprovado antes.
Esta camada é uma verificação à porta. Responde à pergunta «sabemos quem construiu isto, e a Apple encontrou algo de obviamente errado?». Não acompanha a aplicação depois de ela estar lá dentro. Uma aplicação que passa a porta e depois se comporta mal, ou uma aplicação cujo comportamento muda após uma atualização, fica a partir desse momento fora do alcance do Gatekeeper.
Camada três: o framework Endpoint Security
Os produtos de deteção de terceiros para o Mac, a categoria habitualmente chamada EDR (endpoint detection and response), são em grande parte construídos sobre uma única API da Apple: o framework Endpoint Security. A Apple introduziu-o no macOS 10.15 para que o software de segurança pudesse receber um fluxo de eventos do sistema a partir do espaço de utilizador (um processo a ser lançado, um ficheiro a ser aberto ou escrito, uma tarefa a ser criada) em vez de carregar uma extensão do kernel, algo que a Apple tem vindo a retirar.
É esta a camada que vê as árvores de processos: que processo lançou qual, com que argumentos, a tocar em que ficheiros. É também a camada onde a «análise comportamental» normalmente vive. A deteção comportamental consiste em comparar o que um processo faz com técnicas de ataque conhecidas, em vez de com um ficheiro conhecido. A referência pública para essas técnicas é a matriz MITRE ATT&CK para macOS, que cataloga táticas desde o acesso inicial e a persistência até ao comando e controlo e à exfiltração, cada uma decomposta em técnicas específicas e observáveis.
A análise comportamental tem um custo real: uma aplicação que legitimamente escreve launch agents, lê o porta-chaves ou lança comandos de shell parece, a partir apenas do fluxo de eventos, muito semelhante a uma que o faz por más razões. Cada fornecedor de EDR afina esse compromisso de forma diferente, e nenhum publica detalhes suficientes para que alguém de fora os possa comparar. O que se pode dizer com confiança é que esta camada exige um produto pago ou bastante experiência para ser operada. Para particulares, a organização sem fins lucrativos Objective-See Foundation publica ferramentas gratuitas e de código aberto construídas sobre os mesmos frameworks da Apple, como o TaskExplorer para inspecionar processos em execução e o KnockKnock para listar o que está configurado para arrancar automaticamente.
Camada quatro: memória e conteúdo dos ficheiros
Dois tipos de análise situam-se ainda abaixo da camada Endpoint Security: inspecionar em profundidade o conteúdo de um ficheiro (análise estática, que é o que um antivírus faz) e inspecionar a memória de um processo em execução. São as únicas formas de saber o que um programa realmente contém, e são o domínio das ferramentas de antivírus e forenses. Vale a pena dizê-lo sem rodeios, porque os textos de marketing dão muitas vezes a entender o contrário: uma firewall, incluindo o FireAI, não faz nada disto. O FireAI não analisa ficheiros, não lê a memória dos processos e não é um antivírus.
Camada cinco: a rede
A última camada é aquela a que as outras não chegam. Quase tudo o que um atacante quer fazer depois de colocar código num Mac passa pela rede: ir buscar uma segunda fase, apresentar-se a um servidor de controlo, enviar os dados roubados para fora. Na matriz ATT&CK esses passos têm colunas próprias, comando e controlo e exfiltração, precisamente porque são uma fase distinta e observável.
Uma camada de rede vê um conjunto de factos diferente do das camadas acima. Para cada nova ligação de saída, sabe que binário assinado a abriu, o anfitrião de destino, o IP e a porta, o protocolo, se a ligação está cifrada e o momento em que ocorre. Isso chega para que um revisor, humano ou modelo, faça vários juízos úteis:
- Reputação do destino: o anfitrião ou o IP está numa lista de bloqueio pública como a abuse.ch, a Spamhaus, a Phishing Army ou a OpenPhish, ou é um nó de saída da rede Tor? Os feeds de threat intelligence são uma consulta a uma lista, não um palpite, e podem ser aplicados localmente sem enviar o tráfego para lado nenhum.
- Binário visto pela primeira vez: é a primeira vez que esta assinatura de código abre uma ligação neste Mac? Uma ferramenta acabada de instalar, sem assinatura, que se liga de imediato a um IP desconhecido é um risco diferente do Safari a ligar-se a uma CDN.
- Estranhezas de porta e protocolo: um editor de texto a falar na porta 4444, uma aplicação a usar endereços IP em bruto em vez de nomes de anfitrião, ou uma ligação a um país onde a aplicação não tem nada que fazer.
- Credenciais em HTTP sem cifra: se uma ligação não está cifrada, o conteúdo é legível no Mac antes de sair, e um número de cartão, uma palavra-passe ou uma chave de API que viaje em texto simples pode ser travada nesse preciso momento.
É isto que a verificação Private AI do FireAI faz. Um pequeno modelo no próprio equipamento (uma transferência opcional de 1,5 GB) observa cada ligação de uma aplicação desconhecida, usando exatamente os factos listados acima, e bloqueia-a, assinala-a ou deixa-a passar com uma justificação em linguagem simples que pode ler e reverter. O juízo é feito no Mac; o tráfego nunca é enviado à HisnLabs nem a mais ninguém para análise.
Os limites são igualmente concretos. Um revisor de rede não vê o conteúdo dos ficheiros, pelo que não lhe pode dizer que uma transferência é hostil antes de ela correr. Não vê a memória, pelo que não consegue detetar um payload injetado dentro de um processo de confiança, e se código hostil se esconder atrás de uma aplicação assinada e permitida, o seu tráfego herda as permissões dessa aplicação. Não consegue decifrar TLS, pelo que, numa ligação cifrada, julga o destino e o padrão, não o conteúdo. E um feed de reputação só conhece os destinos que alguém já reportou.
Juntar as camadas
Lido como uma pilha, o quadro é coerente. A notarização e o Gatekeeper decidem se o código entra. O XProtect remove o que já se sabe ser mau. As ferramentas baseadas em Endpoint Security observam o que os processos fazem. O antivírus e a análise forense leem o conteúdo dos ficheiros e a memória. A camada de rede observa o que sai. Cada uma responde a uma pergunta a que as outras não conseguem responder, e o teste útil para qualquer afirmação de «deteção avançada» é simplesmente: qual destas camadas é, e o que é que essa camada vê?
Isto explica também por que razão as camadas não estão em concorrência. Um produto EDR e uma firewall por aplicação podem correr no mesmo Mac sem nunca olhar para o mesmo facto: um lê a árvore de processos, a outra lê a tabela de ligações. Uma empresa que já paga por deteção nos endpoints ganha pouco com um segundo monitor de processos, mas pode ganhar muito com a capacidade de dizer, por aplicação e por destino, o que está autorizado a sair. Um utilizador doméstico sem qualquer EDR obtém, só da camada de rede, o único sinal que as camadas da Apple nunca mostram.
Para a maioria dos donos de um Mac, a combinação prática é: as camadas integradas da Apple, mantidas atualizadas, mais visibilidade sobre a única fase que a Apple não lhe mostra, ou seja, que aplicações se ligam e para onde. É uma promessa mais modesta do que «trava qualquer ameaça», e é a que pode realmente ser cumprida.
O papel do FireAI e da HisnLabs
FireAI is the network layer of that stack and nothing more: it does not scan files or read memory, but it is the one place every app’s outbound connection has to pass through, reviewed on your Mac by a model that explains what it saw.
O FireAI é o produto da HisnLabs: uma firewall com IA que corre diretamente no seu Mac. Mostra, em linguagem clara, cada ligação que as suas aplicações fazem e deixa-o decidir o que sai do seu Mac — a IA funciona localmente, pelo que o seu tráfego nunca é enviado para nós nem para mais ninguém. A equipa de investigação em segurança da HisnLabs é quem mantém essas decisões fiáveis: cataloga que domínios são simples telemetria e quais são um serviço real, acompanha o país e a rede por detrás de uma ligação e treina o modelo local (a funcionalidade Autopilot) com padrões de tráfego reais, sem que nada disso saia do seu Mac.
Pode ler as decisões técnicas por detrás dele, ou experimentar o FireAI durante 17 dias, em FireAI, da HisnLabs.
