O evento de segurança da informação Hack in the Box 2014 divulgou notícias importantes sobre uma possível vulnerabilidade no mecanismo de segurança Inicialização Segura do EFI. O EFI (Interface Unificada de Firmware Extensível) foi desenvolvido para substituir a interface do padrão BIOS (Sistema Básico de Entrada/Saída). Uma das características da implementação dessa nova interface é a possibilidade de executar o mecanismo de inicialização segura, já que as limitações do BIOS não o permitem. O mecanismo de Inicialização Segura impede o início do Sistema Operacional se o bootloader (programa que organiza o início do SO) não possui um certificado digital.
Com o EFI e a Inicialização Segura ativados, os computadores ficaram mais resistentes a ataques de bootkits (malware executado antes do início do SO), já que os mesmos normalmente não contam com certificados válidos. Além disso, com a implementação do ELAM (Early Launch Anti Malware) para o Windows 8, os programas de segurança podem ser carregados nas primeiras etapas da inicialização do SO e detectar/eliminar os bootkits.
Porém segundo Corey Kallenberg, investigador da organização Mitre, é possível driblar a inicialização segura configurada por algumas marcas e infectar os computadores com bootkits.
É importante destacar que não se trata de uma vulnerabilidade nos mecanismos mencionados. O EFI é implementado de formas distintas por fabricantes de computadores, e alguns deles não conseguem proteger seus firmwares de forma apropriada, o que permite a sua modificação de forma manual desde o sistema operacional. A variável Setup (Configuração) do EFI pode ser modificada dentro do sistema operacional por um usuário com direitos de administrador, e uma vez feita essa mudança, a infecção através de um bootkit poderia ser possível.
A infecção mencionada visa o roubo de informação e o controle do computador infectado, já que permite ao atacante explorar vulnerabilidades, instalar/modificar programas e roubar credenciais através da força bruta, entre outras coisas.
Outra maneira de danificar um computador com o EFI desprotegido seria mudar o valor da variável Setup a zero. Essa mudança virtualmente inutilizaria o computador já que o mesmo não inicializaria mais. Ataques como esses são conhecidos como bricking.
Existem mais vulnerabilidades segundo Kallenberg. Quando os fabricantes não utilizam um mecanismo de segurança chamado SML_Lock em suas implementações do EFI, existe a possibilidade de executar um código desde o núcleo do SO (Kernel) que desabilitaria temporariamente o SMM (System Management Mode). Isso permitiria ao atacante adicionar um bootloader infectado à lista de bootloaders permitidos e, ao reiniciar o computador, o mesmo seria executado sem ser detectado pelo mecanismo de inicialização segura.
É importante ressaltar que as vulnerabilidades mencionadas existem graças aos erros dos fabricantes, e que as mesmas somente podem ser executadas por usuários com direitos de administrador.
Para evitar o ingresso indevido de terceiros é importante contar com um software de segurança, manter o computador bloqueado com uma senha forte sempre que não está em uso e criptografar seus dados para que não possam ser lidos no caso de uma intrusão.
Imagem: ©Microsoft TechNet/Captura de pantalla
Autor Ilya Lopes, ESET