sexta-feira, 26 de setembro de 2014

Desmistificando a falha ShellShock... parabéns a Unixwork!



Como todos devem ter visto ontem, uma enxurrada de pessoas compartilhando um relato citado como GRAVÍSSIMO pelo Olhar Digital ( http://migre.me/lU5r0), sobre uma falha do LINUX e OSX no seu shell de comandos, o BASH, chamada de ShellShock, e que seria até pior que o famigerado HeartBleed, que nem é tão sério assim quanto foi divulgado.
Antes de mais nada, vale citar que o BASH é integrate de 99% das distribuições de UNIX do universo, LINUX é apenas o núcleo do sistema e não um sistema operativo. O OSX é baseado em UNIX, um kernel chamado Darwin, logo como sendo um UNIX da família do BSD, ele também tem o BASH, porém quem usa OSX como servidor WEB mesmo? Sim... a falha remota só é séria para scripts CGI com certas particularidades.

Vamos desmistificar e tranquilizar os crédulos das mídias sensacionalistas? Primeira de todas as dicas, nunca confie na mídia 100%. Toda falha de segurança tem um código tal como CVS-2014-6271, que é o código dessa falha...

Pegue esse código, entre em sites confiáveis como o InfoSec ( https://isc.sans.edu/di), procure por tal código e leia a respeito da falha. No caso da citada, vou pegar os trechos importantes. 

Veja abaixo:

"A principio, a vulnerabilidade não parece tão grave. A execução de comandos é a função do BASH. Mas, neste caso, o código pode ser executado sem a intenção do usuário, definindo uma variável de ambiente. O cenário mais problemático são SCRIPTS BASH executados via CGI-BIN. A especificação CGI requer que o servidor web converta os cabeçalhos de solicitação HTTP fornecido pelo cliente para as variáveis de ambiente. Se um script é chamado via CGI-BIN, um atacante pode usar esse recurso para executar um código com as credências do servidor web." - InfoSec.

Além do mais, o SCRIPT BASH via CGI-BIN teria que ser mal construído à ponto de deixar um atacante injetar código de alguma forma sobre ele. E cá para nós, CGI-BIN com SCRIPT BASH?! Existem tantas milhões de maneiras mais eficientes de construir scripts para web, que ainda fico surpreso se alguém usar isso.

Para a falha ser grave, O CGI e o servidor web tem que estar setados para rodar com UID/GID do root, e nenhum administrador sensato deixaria um CGI rodar sem as devidas permissões apenas do usuário WEB ( www-data ou similar ).

Para mais detalhes veja aqui: http://migre.me/lU6wa
Até à próxima, e não acreditem em tudo o que a mídia sensacionalista escreve por aí.
Lembrem-se... onde há um SHELL há um caminho.

Nenhum comentário:

Postar um comentário