Firmware

termo

redesSuporte de TI

Código gravado em um chip de um dispositivo e executado a partir do reset vector do processador, ou como extensão de outro firmware.

Firmware é o conjunto de instruções que o próprio processador de um dispositivo executa, como qualquer programa; o que o distingue é onde roda e como falha. O firmware de boot roda primeiro ao ligar e carrega o sistema operacional, uma imagem nova costuma valer só depois de um reset, e uma imagem corrompida pode deixar um servidor ou switch sem conseguir dar boot.

A NIST SP 800-193 (maio de 2018) define firmware como código em um chip que fica no reset vector do seu processador ou estende outro firmware, como as expansion ROMs. Uma plataforma tem muitos desses dispositivos: além do firmware de boot, controladoras de armazenamento e de rede, processadores gráficos e service processors têm o seu. A NIST SP 800-147 (abril de 2011) chama o BIOS do sistema de primeiro software que a CPU principal executa ao ligar: ele inicializa e testa o hardware, pode carregar patches de microcode da CPU e carrega o sistema operacional. A UEFI 2.10 (2022) especifica a interface dele com o OS loader.

Firmware antes raramente mudava em campo; a SP 800-193 observa que as atualizações ficaram mais comuns com a complexidade dele. Só imagens autênticas e autorizadas devem ser aplicadas: uma Root of Trust for Update confere a assinatura digital contra o seu key store, e uma checagem de versão pode recusar o rollback para um firmware antigo com vulnerabilidades conhecidas. O Firmware Management Protocol da UEFI informa o LowestSupportedImageVersion de cada imagem e marca as que exigem reset do dispositivo.

Um ataque ao firmware da plataforma pode deixar um sistema inoperante, talvez para sempre ou até o fabricante reprogramá-lo, e perder um só dispositivo crucial ao boot pode parar a plataforma toda. Por isso a SP 800-193 pede proteção, detecção e recuperação: recuperação manual, por alguém fisicamente presente que grava uma imagem sabidamente boa, ou automática, a partir de uma imagem de backup guardada à parte, como num segundo chip de flash.

Também conhecido como: fw, device firmware, image, firmware image, firmware update

← Todos os verbetes do glossário