Lição 3 de 4 · 8 min
Como o macOS verifica as apps que abre
Assinatura de código, Gatekeeper, notarização e XProtect: quatro verificações que correm antes e depois de abrir uma app.
Sempre que abre uma app pela primeira vez, o macOS corre uma pequena série de verificações antes de a deixar iniciar. Na maioria das vezes nunca as vê; só nota quando uma delas para alguma coisa. Esta lição segue o que realmente acontece, usando a própria descrição da Apple de cada passo.
Assinatura de código: provar quem a construiu
A documentação de segurança da Apple explica que, no macOS, "a assinatura de código é feita pelo programador usando o seu certificado Developer ID (emitido pela Apple). A verificação desta assinatura prova ao utilizador que o software de um programador não foi adulterado desde que o programador o construiu e assinou." Uma assinatura não diz que a app é segura; diz que a app é exatamente o ficheiro que esse programador produziu, não modificado desde então.
Notarização: a própria verificação da Apple
A notarização é um passo adicional e separado. A Apple explica que "pode ser feita por qualquer pessoa na cadeia de distribuição de software e prova que foi dada à Apple uma cópia do código para verificar [conteúdo prejudicial], e que não foi encontrado nenhum [software prejudicial conhecido]. O resultado da Notarização é um bilhete, guardado nos servidores da Apple e que pode opcionalmente ser agrafado à app." Desde o macOS Catalina, esta verificação aplica-se por defeito a quase tudo o que abre, seja qual for a forma como chegou ao seu Mac.
Gatekeeper: a verificação que corre quando abre uma app
O Gatekeeper é o que realmente aplica estes resultados no momento em que faz duplo clique em algo. A Apple descreve-o como concebido "para ajudar a garantir que só software de confiança corre no Mac de um utilizador. Quando um utilizador descarrega e abre uma app, um plug-in, ou um pacote instalador de fora da App Store, o Gatekeeper verifica que o software é de um programador identificado, foi notarizado pela Apple como estando livre de [conteúdo prejudicial conhecido], e não foi alterado. O Gatekeeper também pede a aprovação do utilizador antes de abrir software descarregado pela primeira vez, para garantir que o utilizador não foi enganado a correr código executável que acreditava ser simplesmente um ficheiro de dados." Esse é o alerta que vê da primeira vez que abre algo descarregado da internet.
- Descarrega uma app de fora da App Store e faz duplo clique nela.
- O Gatekeeper verifica a assinatura do programador e procura o bilhete de notarização da Apple para ela.
- Se as verificações passarem, o macOS ainda lhe pede para confirmar que a quer abrir da primeira vez.
- Se a Apple tiver revogado a app, ou nada corresponder, o macOS recusa-se a abri-la e diz-lhe porquê.
XProtect: a vigiar depois de a app ter corrido
A última camada funciona depois do facto. O guia da Apple descreve o XProtect como a tecnologia "antivírus incorporada do macOS para a deteção e remoção baseada em assinaturas de [software prejudicial conhecido]", que "verifica a presença de conteúdo [prejudicial] conhecido sempre que: uma app é aberta pela primeira vez, uma app foi alterada, [ou] as assinaturas do XProtect são atualizadas", com a Apple a atualizar essas assinaturas automaticamente, independentemente das atualizações completas do sistema. Se encontrar uma ameaça conhecida, a Apple explica que "bloqueia-a e move-a para o Lixo. Depois avisa o utilizador no Finder."
A reter
- A assinatura de código prova que o ficheiro de uma app não mudou desde que o seu programador a construiu e assinou; não significa, por si só, que a app é segura.
- A notarização é a Apple a verificar uma cópia do código da app antes de poder correr por defeito no macOS atual.
- O Gatekeeper aplica ambas as verificações no momento em que abre uma app, e pede a sua aprovação da primeira vez.
- O XProtect continua a verificar depois de a app ter corrido, usando assinaturas que a Apple atualiza automaticamente e independentemente das atualizações completas do sistema.
- O macOS permite substituir estas verificações para uma app específica nas Definições, mas fazê-lo remove uma proteção real, por isso deve ser raro e deliberado.
Teste-se
1. O que prova realmente uma assinatura de código válida?
- Que a app está livre de todos os problemas possíveis
- Que o ficheiro da app não mudou desde que o programador a assinou — Certo.
- Que a app foi revista por uma pessoa na Apple
- Que a app não consegue aceder à internet
A assinatura de código verifica a integridade e a identidade do programador, não que a app é de resto segura ou bem comportada.
2. O que significa a notarização, segundo a Apple?
- A Apple escreveu a app
- A Apple verificou uma cópia do código da app e não encontrou ameaças conhecidas — Certo.
- A app foi comprada na App Store
- A app foi traduzida para várias línguas
A notarização prova que foi dada à Apple o código para verificar, e que nada conhecido como prejudicial foi encontrado nele.
3. Quando pede o Gatekeeper a sua aprovação para abrir uma app?
- Sempre que abre qualquer app
- Só da primeira vez que abre software descarregado — Certo.
- Só para apps da App Store
- Nunca, funciona silenciosamente
O Gatekeeper pede aprovação da primeira vez que abre software descarregado, para que não possa ser enganado a correr algo inesperado.
4. Como atualiza o XProtect as suas assinaturas de deteção?
- Só quando instala uma grande atualização do macOS
- Automaticamente, independentemente das atualizações completas do sistema — Certo.
- Só quando corre manualmente uma verificação
- 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
Ponha esta lição em prática no seu próprio Mac.
- Responda ao seu primeiro pedido de ligação, e o que cada duração significa — Perceba exatamente o que está a aprovar da primeira vez que o FireAI perguntar.
- Encontre apps com falhas de segurança conhecidas — Feche falhas conhecidas antes que alguém as use: atualize a única app que precisa disso.
- Veja que app liga a sua câmara ou microfone, e para onde vai o seu tráfego — Saiba que app o consegue ver ou ouvir, não apenas 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
Ponha em prática no seu Mac
Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.