Segurança Semana 32: Vulnerabilidade em GRUB2

Em 29 de julho, Eclypsium publicou um estudo de uma nova vulnerabilidade no bootloader Grub2, que é amplamente usado em sistemas baseados em Linux - de laptops e dispositivos IoT a servidores. A essência da vulnerabilidade é bastante simples: erros durante o processamento do arquivo de configuração de texto grub.cfg levam a um estouro de buffer e abrem a possibilidade de execução arbitrária de código. As consequências também são claras: hackear o sistema em um estágio inicial de inicialização fornece controle total sobre ele, tornando difícil detectar o problema. A vulnerabilidade foi atribuída ao identificador CVE-2020-10713... Esta não é a única vulnerabilidade que foi fechada no Grub2 recentemente: depois de notificar os mantenedores de distribuições populares, pelo menos mais 7 problemas semelhantes com uma classificação de ameaça CVSS de 5,7 a 6,4 foram corrigidos no código do bootloader. A vulnerabilidade original recebeu 8,2 pontos de acordo com o mesmo método de avaliação.



Para explorar uma vulnerabilidade, um invasor precisa de um alto nível de acesso ao sistema. Tão alto que, na maioria dos cenários, parece que não é necessário hackear adicionalmente o Grub2. As opções de quando isso realmente beneficia um invasor ainda precisam ser exploradas. O principal problema com esta vulnerabilidade reside na relação complexa entre Grub2 e UEFI Secure Boot, uma ferramenta universal de inicialização de hardware que, entre outras coisas, garante que apenas o código verificado assinado digitalmente será lançado nas próximas fases. Devido à natureza da licença sob a qual Grub2 é distribuído, existe um intermediário entre UEFI e Grub2 conhecido como shim - um pequeno bootloader que verifica a versão do Grub2. O relançamento desse mesmo shim e, ao mesmo tempo, a atualização UEFI de um grande número de sistemas, bloqueando o antigo shim, é,em termos simples, a dor de cabeça gigante de toda a indústria.



As características técnicas da vulnerabilidade são descritas em detalhes suficientes (mas sem exemplos de exploração) no relatório Eclypsium. O código Grub2 para analisar o arquivo de configuração textual lida com a situação quando a linha de entrada é muito longa. Um erro em seu código pode fazer com que os dados sejam carregados de qualquer maneira e um estouro de buffer. Nesse caso, não é a vulnerabilidade que é mais importante, mas suas consequências. Anteriormente, já havia situações em que uma versão desprotegida do Grub (devido a um erro de configuração) tinha que ser adicionada à chamada Lista de Revogação UEFI- uma lista de shims que o sistema atualizado se recusará a executar. Essa lista precisa ser entregue de alguma forma a um sistema específico, o que pode ser feito pelo fornecedor do hardware ou pelo desenvolvedor do sistema operacional, por exemplo, a Microsoft, que, entre outras coisas, é responsável por certificar o código de boot, inclusive para sistemas Linux. Qualquer erro em uma atualização aplicada em um estágio inicial pode tornar o computador ou servidor completamente inoperante.



Em outras palavras, uma atualização do Grub que cobre vulnerabilidades recém-descobertas não é suficiente para corrigir o problema. É necessário para evitar que versões mais antigas do Grub2 sejam executadas adicionando seus shims associados à Lista de Revogação UEFI. De acordo com o Eclypsium, mais de 80 bootloaders intermediários precisarão ser bloqueados, e isso já excluirá a possibilidade de execução de código arbitrário se a atualização de alguma forma chegar a uma placa-mãe específica com uma versão específica de UEFI. A propósito, como a vulnerabilidade foi encontrada em código genérico independente de plataforma, os dispositivos na arquitetura arm64 também são afetados.



Além disso, os sistemas de recuperação de desastres para computadores ou servidores precisarão ser atualizados, caso contrário, a ferramenta de recuperação pode não funcionar no futuro. Você precisará testar os patches do Grub, os novos carregadores intermediários e as atualizações da lista de revogação. Mesmo uma simples atualização do Grub2 já causa problemas: veja o relatório sobre Habré sobre a inoperabilidade de servidores rodando CentOS após a instalação da correção de bug RHSA-2020: 3216cobrindo esta vulnerabilidade. Levará muito tempo para resolver o problema, e é por isso que o código Grub2 foi verificado em busca de vulnerabilidades semelhantes para que você não tivesse que passar por esse processo várias vezes. Por um lado, essa vulnerabilidade não representa um perigo real no momento. Por outro lado, inclui um complexo mecanismo de interação entre desenvolvedores de software e hardware, que neste caso é inevitável. Boa confirmação da sabedoria convencional de que a segurança é um processo, não um resultado.



O que mais aconteceu



A Garmin está tratando das consequências de um ataque à sua própria infraestrutura, detalhadas no resumo anterior . A partir de 3 de agosto, os serviços da Garmin Aviation foram totalmente restaurados, incluindo o FlyGarmin. A funcionalidade do serviço de nuvem Garmin Connect para smartwatches da empresa foi parcialmente restaurada . O site Bleeping Computer, novamente citando fontes anônimas, relata que a empresa recebeu a chave para descriptografar os dados afetados pelo Trojan ransomware. Como exatamente não está claro, mas existem poucas opções possíveis aqui. Os especialistas da Kaspersky Lab publicaram uma análise detalhada da amostra do WastedLocker, que (provavelmente) atacou a Garmin.



Outro grande ataque de extorsãoaconteceu na agência de viagens CWT. Os invasores estão exigindo um resgate de US $ 4,5 milhões.



Nos Estados Unidos, suspeitos foram presos por hackear dezenas de contas do Twitter em meados de julho . Os ladrões foram identificados tão rapidamente graças ao seu descuido. Por exemplo, um endereço de e-mail foi usado em um fórum de hackers e em uma troca de criptomoedas, e um hack do fórum nos permitiu associar uma conta a um IP real. Mais detalhes na publicação ZDNet e na Habré .



Uma vulnerabilidade nos adaptadores Grandstream VoIP permite que eles sejam hackeados no estágio inicial de configuração, incluindo o uso de um pacote SIP preparado.



Zoom fechadoUma vulnerabilidade "infantil" que permitia a quebra de senhas para acessar a teleconferência. As senhas no Zoom são de seis dígitos, e o número de tentativas de entrada não é limitado de forma alguma - pode ser quebrado por força bruta, sabendo apenas o ID da reunião (geralmente constante).



Uma nova vulnerabilidade de dez pontos foi encontrada no plug-in wpDiscuz para processamento de comentários em sites que executam o Wordpress com a capacidade de executar código arbitrário. Afetou 70 mil sites.



All Articles