Análise do backdoor no xz
- Filippo Valsorda observou algumas pessoas fazendo engenharia reversa do backdoor no xz e compartilhou resultados iniciais da análise.
- O hook de
RSA_public_decrypt verifica a assinatura, com uma chave Ed448 fixa, da chave de host do servidor e entrega o payload ao sistema.
- Isso não é um bypass de autenticação, mas sim execução remota de código (RCE), utilizável apenas uma vez e sem possibilidade de replay.
Ataque à cadeia de suprimentos
- Este pode ser o ataque à cadeia de suprimentos publicamente descrito mais bem executado até agora, malicioso, competente e ocorrido no upstream oficial de uma biblioteca amplamente usada.
- O ataque parece ter sido descoberto por acaso, e fica a dúvida de quanto tempo mais teria levado caso contrário.
Extração e verificação do payload
- O payload é extraído do valor N (chave pública) passado para
RSA_public_decrypt, verificado com base em uma impressão digital simples e descriptografado com uma chave ChaCha20 fixa antes da verificação da assinatura Ed448.
Função RSA_public_decrypt
RSA_public_decrypt executa a função de verificação de assinatura, embora o nome possa soar estranho.
- A verificação de assinatura RSA realiza a mesma operação que a criptografia RSA.
Certificados OpenSSH e controle pelo atacante
- A chave pública de
RSA_public_decrypt pode ser controlada pelo atacante antes da autenticação usando certificados OpenSSH.
- Certificados OpenSSH incluem a chave pública do signatário, e o OpenSSH verifica a assinatura durante o parsing.
Script para enviar chaves públicas personalizadas ao sistema com backdoor
- Por meio de um script escrito por Keegan Ryan, é possível usar a função hook para inserir uma chave pública personalizada no certificado e fazê-la chegar ao sistema com backdoor.
Mecanismo de segurança do backdoor
- O backdoor retorna ao funcionamento normal se o payload estiver incorreto ou se a assinatura da chave do atacante não for validada.
- Isso significa que, a menos que um bug seja descoberto, não é possível escrever um scanner confiável e reutilizável pela rede.
Opinião do GN⁺
- Backdoors como esse representam uma ameaça grave à segurança dos sistemas, e o impacto pode ser ainda maior quando são inseridos em bibliotecas amplamente utilizadas.
- O fato de o ataque ter sido descoberto por acaso expõe fragilidades nos sistemas de segurança e reforça a importância do monitoramento e das auditorias contínuas.
- Este artigo pode ajudar a aumentar a conscientização sobre a segurança da cadeia de suprimentos de software e servir de alerta para desenvolvedores e administradores de sistemas.
- Para responder a ameaças de segurança como backdoors, é recomendável usar ferramentas de segurança open source ou scanners de vulnerabilidade. Por exemplo, ferramentas como OWASP ZAP ou Nessus podem ser úteis.
- Ao adotar novas tecnologias ou software open source, é preciso revisar minuciosamente os aspectos de segurança e tomar medidas adequadas para proteger os sistemas contra esse tipo de ataque.
Ainda não há comentários.