Aula 3 de 4 · 8 min
Como o macOS verifica os aplicativos que você abre
Assinatura de código, Gatekeeper, notarização e XProtect: quatro verificações que rodam antes e depois de você abrir um aplicativo.
Toda vez que você abre um aplicativo pela primeira vez, o macOS roda uma breve série de verificações antes de deixá-lo começar. Na maior parte do tempo você nunca as vê; você só percebe quando uma delas impede algo. Esta aula acompanha o que realmente acontece, usando a própria descrição da Apple de cada passo.
Assinatura de código: provando quem o construiu
A documentação de segurança da Apple explica que, no macOS, "a assinatura de código é feita pelo desenvolvedor usando seu certificado de ID de Desenvolvedor (emitido pela Apple). A verificação dessa assinatura prova ao usuário que o software de um desenvolvedor não foi adulterado desde que o desenvolvedor o construiu e assinou". Uma assinatura não diz que o aplicativo é seguro; diz que o aplicativo é exatamente o arquivo que aquele desenvolvedor produziu, sem modificações desde então.
Notarização: a própria verificação da Apple
A notarização é um passo separado e adicional. A Apple explica que ela "pode ser feita por qualquer um na cadeia de distribuição de software e prova que a Apple recebeu uma cópia do código para verificar [conteúdo prejudicial], e nenhum [software prejudicial conhecido] foi encontrado. O resultado da Notarização é um tíquete, armazenado nos servidores da Apple e que pode opcionalmente ser anexado ao aplicativo". Desde o macOS Catalina, essa verificação se aplica por padrão a quase tudo que você abre, seja qual for a forma como chegou ao seu Mac.
Gatekeeper: a verificação que roda quando você abre um aplicativo
O Gatekeeper é o que de fato aplica esses resultados no momento em que você dá um duplo clique em algo. A Apple o descreve como projetado "para ajudar a garantir que só software confiável rode no Mac de um usuário. Quando um usuário baixa e abre um aplicativo, um plug-in, ou um pacote de instalação vindo de fora da App Store, o Gatekeeper verifica que o software vem de um desenvolvedor identificado, foi notarizado pela Apple como livre de [conteúdo prejudicial conhecido], e não foi alterado. O Gatekeeper também pede a aprovação do usuário antes de abrir software baixado pela primeira vez, para garantir que o usuário não foi enganado a rodar código executável que acreditava ser simplesmente um arquivo de dados". Esse é o alerta que você vê na primeira vez que abre algo baixado da internet.
- Você baixa um aplicativo de fora da App Store e dá um duplo clique nele.
- O Gatekeeper verifica a assinatura do desenvolvedor e consulta o tíquete de notarização da Apple para ele.
- Se as verificações passarem, o macOS ainda pede que você confirme que quer abri-lo na primeira vez.
- Se a Apple tiver revogado o aplicativo, ou nada bater, o macOS recusa abri-lo e diz por quê.
XProtect: vigiando depois que o aplicativo já rodou
A última camada trabalha depois do fato. O guia da Apple descreve o XProtect como a tecnologia antivírus nativa do macOS "para a detecção e remoção baseadas em assinatura de [software prejudicial conhecido]", que "verifica a presença de conteúdo [prejudicial] conhecido sempre que: um aplicativo é aberto pela primeira vez, um aplicativo foi alterado, [ou] as assinaturas do XProtect são atualizadas", com a Apple atualizando essas assinaturas automaticamente, de forma independente das atualizações completas do sistema. Se encontrar uma ameaça conhecida, a Apple explica que ele "a bloqueia e a move para a Lixeira. Depois alerta o usuário no Finder".
Para lembrar
- A assinatura de código prova que o arquivo de um aplicativo não mudou desde que seu desenvolvedor o construiu e assinou; ela não significa, por si só, que o aplicativo é seguro.
- A notarização é a Apple verificando uma cópia do código do aplicativo antes que ele possa rodar por padrão no macOS atual.
- O Gatekeeper aplica as duas verificações no momento em que você abre um aplicativo, e pede sua aprovação na primeira vez.
- O XProtect continua verificando depois que o aplicativo já rodou, usando assinaturas que a Apple atualiza automaticamente e de forma independente das atualizações completas do sistema.
- O macOS permite que você ignore essas verificações para um aplicativo específico nos Ajustes, mas fazer isso remove uma proteção real, então deveria ser raro e deliberado.
Teste seus conhecimentos
1. O que uma assinatura de código válida realmente prova?
- Que o aplicativo está livre de todo problema possível
- Que o arquivo do aplicativo não mudou desde que o desenvolvedor o assinou — Certo.
- Que o aplicativo foi revisado por uma pessoa na Apple
- Que o aplicativo não consegue acessar a internet
A assinatura de código verifica a integridade e a identidade do desenvolvedor, não que o aplicativo seja, de resto, seguro ou bem comportado.
2. O que a notarização significa, segundo a Apple?
- A Apple escreveu o aplicativo
- A Apple verificou uma cópia do código do aplicativo e não encontrou ameaças conhecidas — Certo.
- O aplicativo foi comprado na App Store
- O aplicativo foi traduzido para vários idiomas
A notarização prova que a Apple recebeu o código para verificar, e nada conhecido como prejudicial foi encontrado nele.
3. Quando o Gatekeeper pede sua aprovação para abrir um aplicativo?
- Toda vez que você abre qualquer aplicativo
- Só na primeira vez que você abre um software baixado — Certo.
- Só para aplicativos da App Store
- Nunca, ele trabalha silenciosamente
O Gatekeeper pede aprovação na primeira vez que você abre um software baixado, para que você não possa ser enganado a rodar algo inesperado.
4. Como o XProtect atualiza suas assinaturas de detecção?
- Só quando você instala uma grande atualização do macOS
- Automaticamente, de forma independente das atualizações completas do sistema — Certo.
- Só quando você roda uma verificação manualmente
- Ele nunca se atualiza depois de instalado
A Apple atualiza as assinaturas do XProtect automaticamente e separadamente das atualizações completas do sistema, muitas vezes diariamente.
Praticar com o FireAI
Coloque esta lição em prática no seu próprio Mac.
- Responda ao seu primeiro pedido de conexão, e o que cada duração significa — Entenda exatamente o que você está aprovando na primeira vez que o FireAI perguntar.
- Encontre apps com falhas de segurança conhecidas — Feche falhas conhecidas antes que alguém as use: atualize o único app que precisa disso.
- Veja qual app liga sua câmera ou microfone, e para onde vai o tráfego dele — Saiba qual app consegue te ver ou ouvir, não só que algo consegue.
Fontes
- Apple Platform Security: App code signing process in macOS
- Apple Platform Security: Gatekeeper and runtime protection in macOS
- Apple Platform Security: Protecting against malicious software in macOS
- Apple Support: Safely open apps on your Mac
Coloque em prática no seu Mac
Teste todos os recursos grátis por 17 dias, sem cartão.