Para pacotes nos repositórios do Debian, hashes e assinaturas são verificados conforme descrito aqui (e questões vinculadas lá) para garantir a integridade do software em pelo menos algum grau (em desenvolvimento).
Mas como a integridade do firmware é garantida no GNU/Linux?
Acho que, em geral, haveria apenas uma maneira de garantir a integridade de maneira confiável: o firmware sendo de código aberto e reproduzível , os hashsums reproduzíveis dos arquivos sendo públicos e uma maneira confiável de verificar o firmware local em relação a esses hashsums. Eu não acho que esse seja o caso atualmente - no entanto, maneiras menos ideais também podem ajudar bastante a garantir a segurança.
Como a integridade do firmware é atualmente assegurada e como pode ser assegurada manualmente?
Com firmware estou me referindo ao firmware pré-instalado em componentes do computador (incluindo coisas conectadas a ele) e atualizações de firmware usando fwupd ( fwupdmgr update
).
Não conheço ferramentas para atualizar firmware de PC não específico no GNU/Linux além do fwupd, mas talvez haja mais algumas. No Debian11/KDE, por padrão, as atualizações de firmware são separadas do gerenciador de pacotes. Pode-se apenas configurar o gerenciador de pacotes do KDE "Discover" para também mostrar (perguntar ao usuário) e realizar essas atualizações. Gostaria de saber se ainda não faz parte dos gerenciadores de pacotes por padrão porque a integridade dos arquivos de atualização baixados não é verificada de forma tão segura quanto outros pacotes que podem ser instalados a partir dos gerenciadores de pacotes (como o Apper por exemplo).
As atualizações de firmware disponibilizadas através do
fwupd
KDE Discover ou GNOME Software são fornecidas através do Linux Vendor Firmware Service .As atualizações são assinadas pelo LVFS ; presume - se que o acesso do fornecedor seja rigidamente controlado e que os arquivos carregados pelos fornecedores sejam confiáveis. As ferramentas de instalação (em última análise,
fwupd
) se recusarão a instalar um pacote de firmware cuja assinatura não seja validada.Muitos dispositivos recusarão atualizações de firmware que não validam de uma forma ou de outra, mas isso independe das ferramentas usadas para aplicar as atualizações. (Isso também se aplica a atualizações de microcódigo de CPU enviadas por sua distribuição.)