Lar Securitywatch Falha grave do bash permite que invasores sequestrem computadores linux e mac

Falha grave do bash permite que invasores sequestrem computadores linux e mac

Vídeo: Основы Ubuntu Linux: apt-get, bash, командная строка (Novembro 2024)

Vídeo: Основы Ubuntu Linux: apt-get, bash, командная строка (Novembro 2024)
Anonim

Um bug descoberto no Bash, um interpretador de comandos amplamente usado, representa um risco crítico à segurança dos sistemas Unix e Linux, disseram especialistas em segurança. E, para que não fique tentado a descartar o problema como um problema de servidor, lembre-se de que o Mac OS X usa o Bash. Muitos especialistas alertam que pode ser pior que o Heartbleed.

A vulnerabilidade está presente na maioria das versões do Bash, da versão 1.13 à 4.3, de acordo com Stephane Chazelas, administrador de redes e telecomunicações Unix e Linux da Akamai, que divulgou o bug pela primeira vez. A Equipe de Resposta de Emergência em Computador (CERT) do Departamento de Segurança Interna alertou em um alerta que, se explorada, a vulnerabilidade poderia permitir que um hacker remoto execute código malicioso em um sistema afetado. O banco de dados de vulnerabilidades do NIST classificou o bug em 10 de 10 em termos de gravidade.

"Essa vulnerabilidade é potencialmente muito importante", disse Tod Beardsley, gerente de engenharia da Rapid7.

A vulnerabilidade tem a ver com a maneira como o Bash lida com variáveis ​​de ambiente. Ao atribuir uma função a uma variável, qualquer código extra na definição também será executado. Portanto, tudo que um invasor precisa fazer é, de alguma forma, anexar vários comandos nessa definição - um ataque clássico de injeção de código - e eles poderão seqüestrar remotamente a máquina afetada. Chazelas e outros pesquisadores que analisaram a falha confirmaram que é facilmente explorável se o código for injetado em variáveis ​​ambientais, como o recurso ForceCommand no OpenSSH sshd, os módulos mod_cgi e mod_cgid no Apache HTTP Server ou scripts que definem o ambiente para clientes DHCP.

"Um grande número de programas no Linux e em outros sistemas UNIX usa o Bash para configurar variáveis ​​ambientais que são usadas na execução de outros programas", escreveu Jim Reavis, executivo-chefe da Cloud Security Alliance, em um post no blog.

Comparação inevitável de Heartbleed

Considere duas coisas sobre esta vulnerabilidade: os servidores Linux / Unix são amplamente utilizados em data centers em todo o mundo e também incorporados em muitos dispositivos; a vulnerabilidade está presente há anos. Como o Bash é tão difundido, a comparação com o Heartbleed, a vulnerabilidade no OpenSSH descoberta em abril é inevitável. Robert Graham, da Errata Security, já apelidou a falha ShellShock.

Mas é Heartbleed 2? É um pouco difícil de dizer. Definitivamente, é um problema sério, porque fornece aos atacantes acesso ao shell de comando, que é o bilhete de ouro para poder fazer o que quiserem nessa máquina.

Vamos pensar em termos de tamanho. Os servidores Apache Web alimentam a grande maioria dos sites do mundo. Como aprendemos durante o Heartbleed, existem muitas máquinas não Linux / Unix que usam o OpenSSH e o Telnet. E o DHCP é fundamental para facilitar o acesso e a desativação de redes. Isso significa que, além de computadores e servidores, é possível que outros sistemas embarcados, como roteadores, também estejam vulneráveis ​​a seqüestros. Graham, da Errata Security - que fez algumas das análises mais completas do bug até agora - realizou algumas verificações e encontrou facilmente alguns milhares de servidores vulneráveis, mas neste momento é um pouco difícil estimar a magnitude do problema.

No entanto, a falha do Heartbleed estava presente apenas por ter uma versão vulnerável do OpenSSL instalada. Este bug não é tão simples.

"Não é tão 'simples' quanto 'estar executando o Bash'", disse Beardsley. Para que a máquina seja vulnerável a ataques, é necessário que um aplicativo (como o Apache) receba as entradas do usuário (como um cabeçalho User-Agent) e as coloque em uma variável de ambiente (como os scripts CGI fazem), disse ele. As estruturas modernas da Web geralmente não serão afetadas, disse ele.

Talvez por isso, Graham tenha dito que, embora o ShellShock seja tão grave quanto o Heartbleed, "há pouca necessidade de se apressar e corrigir esse bug. Seus servidores principais provavelmente não estão vulneráveis ​​a esse bug".

Mas antes que surtemos com roteadores e dispositivos incorporados (e a Internet das Coisas), lembre-se de que nem todos os sistemas usam o Bash. O Ubuntu e outros sistemas derivados do Debian podem usar um interpretador de comandos diferente chamado Dash. Os dispositivos incorporados costumam usar um chamado BusyBox, que não é vulnerável, disse Roel Schouwenberg, pesquisador sênior da Kaspersky Lab, no Twitter.

Vulnerável ou não?

Você pode verificar se está vulnerável executando os seguintes comandos (código fornecido pelo CSA). Abra uma janela do terminal e digite o seguinte comando no prompt $:

env x = '() {:;}; eco vulnerável 'bash -c "eco este é um teste"

Se você estiver vulnerável, ele será impresso:

vulnerável

isto é um teste

Se você atualizou o Bash, verá apenas:

isto é um teste

Normalmente, eu diria que vá em frente e corrija imediatamente, mas acontece que os patches disponíveis não estão completos. Ainda existem maneiras de injetar comandos por meio de variáveis ​​de ambiente, mesmo após o patch do Bash, disse a Red Hat nesta manhã. Se você tiver apenas algumas máquinas, pode valer a pena aplicar as correções disponíveis, mas se você tiver milhares de máquinas para corrigir, talvez valha a pena esperar mais algumas horas. Todas as distribuições upstream do Linux (e espero que a Apple!) Estejam trabalhando agora em uma correção.

"Lembre-se, mesmo que você nunca tenha ouvido falar do Bash antes ou não o tenha executado, é possível que você tenha um software em execução no computador que gera processos do Bash", disse o consultor de segurança independente Graham Cluley.

Falha grave do bash permite que invasores sequestrem computadores linux e mac