Como o usuário médio pode validar facilmente a integridade do firmware do seu Mac?
Antes de você rebaixar esta questão ou me dar uma palestra sobre como eu sou paranóico e ninguém deve precisar fazer isso, leia abaixo.
Em julho de 2015, o CVE-2015-3692 revelou que o firmware EFI de um Mac poderia ser invadido por um invasor remoto. (Os vetores disponíveis para isso estão em outros CVEs, mas hipoteticamente podem ser qualquer coisa, incluindo itens como instaladores de atualizações falsas de Flash maliciosos.)
Essa vulnerabilidade foi tornada pública pelo menos quatro semanas antes de a Apple corrigi-la em 30 de julho para OS X 10.8, 10.9 e 10.10 com a Atualização de segurança do firmware EFI 2015-001 .
O mesmo pesquisador de segurança que anunciou essa vulnerabilidade também afirma ter visto uma demonstração em uma conferência de uma invasão de firmware que não pode ser removida ou substituída.
Portanto, uma vez que a EFI de um Mac tenha sido propriedade, se o invasor fez isso corretamente, a única maneira de atualizar a EFI com firmware válido da Apple seria conectar um reflasher diretamente ao chip EFI na própria placa lógica ( não tente isso em casa).
Os artigos de notícias que relataram essa vulnerabilidade subestimaram, dizendo que a maioria dos usuários não deve se preocupar e tudo o que você precisa fazer para se proteger nunca é deixar o Mac entrar no modo de suspensão e desativar o usuário root ou nunca autenticar qualquer coisa que você não confie 100%. Os tópicos de comentários desses artigos resumiram assim: se todos os seus aplicativos vêm de fontes confiáveis, como a App Store oficial, e você nunca executa nada que não seja assinado por código por desenvolvedor conhecido pela Apple, não deve se preocupar com nada.
Mas, em setembro de 2015, aprendemos sobre a exploração do XCodeGhost , que é conhecida por ter resultado em vários aplicativos infectados por malware aparecendo na iOS App Store oficial - mas e os aplicativos OS X? No artigo vinculado, Malwarebytes escreveu:
Wardle apontou em março que o Xcode era vulnerável a esse tipo de coisa, mas assustadoramente, também apontou o dedo para muitos outros aplicativos do OS X. Qualquer um desses aplicativos pode estar vulnerável a ataques semelhantes.
Eles também escreveram: "o usuário comum não deve entrar em pânico" - o mesmo mantra que eu sempre vejo papagaio nos fóruns de suporte da Apple e em qualquer outro lugar sempre que um usuário publica um tópico sobre vários problemas estranhos que está tendo. "Apenas reformate sua unidade e execute uma instalação limpa do sistema. O problema provavelmente é uma modificação do sistema de terceiros", nos disseram. Quando isso não corrige, as pessoas dizem que deve haver um problema de hardware, como um disco rígido com falha, GPU com falha ou RAM ruim. Já vi tópicos em que as pessoas substituíam literalmente todos os componentes do Mac, e o problema sempre voltava.
Agora sabemos que é hipoteticamente possível que o firmware EFI dos usuários seja invadido - portanto, mesmo que a placa-mãe tenha sido substituída, quando eles reinstalariam seus aplicativos, o firmware poderia sofrer uma nova atualização pelo malware! E se a placa-mãe não fosse substituída, elas seriam mangueiras, não importa o quê.
Isso me traz de volta à questão principal.
Como o usuário médio pode validar facilmente a integridade do firmware do seu Mac? Ou seja, como você pode verificar se o firmware do seu Mac nunca foi comprometido por malware? Não foi possível encontrar nenhum método compatível com o El Capitan que não exija a desativação do SIP. Para versões anteriores do sistema operacional, existe uma ferramenta de terceiros complicada chamada DarwinDumper que pode despejar o conteúdo das suas EFIs em um arquivo de texto, mas você ainda precisa ter o firmware válido da Apple para compará-lo - esse não é um método que o usuário comum é capaz de fazer.
Dizer às pessoas para não se preocuparem com algo de que muito bem poderiam ser vítimas e não têm como verificar se são é o que permite que esse tipo de exploração seja lucrativo para hackers, que dependem da complacência e da falta de vigilância no parte dos usuários.
==
EDIT: Encontrei o instalador de firmware oficial da Apple mais recente no site de suporte da Apple . O instalador não é executado em 10.10 ou 10.11, estranhamente. Usando o Pacifist, extraí o arquivo .scap para o meu Macbook Pro 9,1. Comparei o binário no HexFiend com o biosdump que eu usei usando o DarwinDump após reiniciar no Modo de Recuperação e rodar csrutil disable
no terminal para desativar o rootless e habilitar a capacidade de executar kexts não assinados. Eu recuperei este cabeçalho do BIOS:
$IBIOSI$ MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc. All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
BIOS ID: MBP91
Built by: root@saumon
Date: Mon Jun 8 12:14:35 PDT 2015
Revision: svn 39254 (B&I)
Buildcave ID: 6
ROM Version: 00D3_B0B
O BIOS oficial do cabeçalho da Apple:
$IBIOSI$ MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc. All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
BIOS ID: MBP91
Built by: root@saumon
Date: Mon Jun 8 12:14:35 PDT 2015
Revision: svn 39254 (B&I)
Buildcave ID: 6
ROM Version: 00D3_B0B
Fora isso, os arquivos têm uma aparência muito diferente, mas acho que o arquivo .scap tem algum tipo de compactação. Pelo menos isso me diz que eu tinha o firmware mais recente instalado, o que foi lançado depois que os hacks foram anunciados. Eu sou muito bom. Seria bom poder confirmar que sou bom através de algum tipo de verificação de soma de verificação! Olhando para você, Apple!