Segurança do processador de periféricos em computadores Mac
Todos os sistemas de computação modernos possuem vários processadores de periféricos integrados dedicados a tarefas como rede, processamento gráfico, gerenciamento de energia e outros. Geralmente, esses processadores de periféricos têm um objetivo único e são muito menos poderosos que a CPU principal. Periféricos integrados que não implementam segurança suficiente se tornam alvos fáceis para ataques de invasores, através dos quais eles podem infectar persistentemente o sistema operacional. Com um firmware de processador de periférico infectado, um invasor poderia visar o software da CPU principal ou capturar diretamente dados sensíveis (um dispositivo Ethernet poderia ver o conteúdo dos pacotes que não estão criptografados, por exemplo).
Sempre que possível, a Apple trabalha para reduzir o número necessário de processadores de periféricos e evitar designs que exijam firmware. Mas quando processadores separados com seus próprios firmwares são necessários, medidas são tomadas para ajudar a garantir que um invasor não possa persistir nesses processadores. Isso pode ser feito ao verificar o processador de uma das seguintes maneiras:
Ao executar o processador em um modo para que ele baixe um firmware verificado da CPU principal na inicialização
Ao fazer com que o processador do periférico implemente sua própria cadeia de inicialização segura para verificar o firmware do processador do periférico sempre que o Mac inicializa
A Apple trabalha com fornecedores para auditar suas implementações e aprimorar seus projetos para incluir as propriedades desejadas, como:
Garantia de um poder criptográfico mínimo
Garantia de uma revogação forte do firmware reconhecidamente problemático
Desativação de interfaces de depuração
Assinatura do firmware com chaves criptográficas armazenadas nos módulos de segurança de hardware (HSMs) controlados pela Apple
Nos últimos anos, a Apple tem trabalhado com alguns fornecedores externos para adotar as mesmas estruturas de dados “Image4”, código de verificação e infraestrutura de assinatura usados pelo Apple Silicon.
Quando nem a operação sem armazenamento nem o armazenamento com a inicialização segura são uma opção, o projeto exige que as atualizações de firmware sejam criptograficamente assinadas e verificadas antes da atualização do armazenamento persistente.