Suas aplicações são seguras?

Conheça a Conviso!

Vulnerabilidade GHOST: O que precisamos saber?

O que é?

Durante uma auditoria, pesquisadores de segurança da Qualys encontraram uma vulnerabilidade dentro da Biblioteca GNU C Library (glibc). A glibc nada mais é do que uma biblioteca nativa dos sistemas operacionais Linux, ou seja, nenhum sistema dessa plataforma funciona corretamente sem ela. 

 

Por que GHOST?

Os pesquisadores encontraram uma falha de buffer overflow na função __nss_hostname_digits_dots () da glibc, ela pode ser explorada tanto local como remotamente através da funcao gethostbyname()* usada para resolução de hostnames. Utilizando um jogo de palavras eles transformaram gethostbyname()* em GetHOSTbyname, muito por conta de atualmente as vulnerabilidades vem recebendo nomes, digamos, mais fáceis de memorizar. Mas se você esta interessado em CVE, o identificador desta vulnerabilidade é CVE-2015-0235.

 

Quais os perigos?

Sendo assim, um atacante pode explorar a vulnerabilidade, executar um código malicioso e escalar privilégios nas maquinas vulneráveis, ganhando acesso aos sistemas. Os pesquisadores efetuaram testes e conseguiram um bypass em algumas das proteções existentes em sistemas de 32 e 64 bits.  

Por se tratar de algo essencial na maioria dos sistemas Linux a atualização deve ser imediata, evitando assim janelas de oportunidades para possíveis atacantes. Ainda não se sabe quais os potencias da exploração, mas as empresas já estão cientes e estão trabalhando para atualizar seus sistemas. Infelizmente por tratar-se de biblioteca core do SO, é necessário reinicializar o sistema.

 

Quanto tempo ela nos assombra?

Segundo os pesquisadores, a primeira versão afetada pela vulnerabilidade foi a glibc 2.2, liberada em Novembro de 2000. Da mesma maneira, foram identificadas correções entre as versões 2.17 e 2.18, entretanto como era uma vulnerabilidade desconhecida a maioria dos sistemas legados e de uso continuo não foram atualizados, o que expande as possibilidades de ataque nesta já grande janela de 14 anos. Alguns sistemas utilizados largamente em ambientes mundo a fora estão vulneráveis, tais como:  Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04. 

 

O que fazer?

Atualizar os sistemas o mais rápido possível. Felizmente antes da divulgação os pesquisadores enviaram as informações para as empresas mantenedoras dos sistemas e na sua grande maioria atualizações ja estão disponíveis. 

Caso esteja escrevendo algum código em C, o recomendado seria usar a função getaddrinfo(), pois a função gethostbyname() é considerada DEPRECATED, é possível ver o uso do getaddrinfo() em muitos projetos OpenSource como exemplo o MySQL, Ruby entre outros.

Existe um PoC (Proof of Concept) para verificar a existência da vulnerabilidade: 

https://gist.github.com/koelling/ef9b2b9d0be6d6dbab63 

Ou pode-se utilizar a seguinte linha de comando para outra verificação: 

# lsof | awk ‘/.*libc-/{printf(“%- 15s %- 15sn”, $1, $9);}’ | sort -u

 
 

 Referencias:

 
 
QualysAdvisory:https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090
Ubuntu: https://launchpad.net/ubuntu/+source/eglibcuf
Debian: https://security-tracker.debian.org/tracker/CVE-2015-0235
GNU C Library: http://www.gnu.org/software/libc/
Mitre: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235
Matasano:http://chargen.matasano.com/chargen/2015/1/27/vulnerability-overview-ghost-cve-2015-0235
Buffer Overflow : https://www.owasp.org/index.php/Buffer_overflow_attack
Originalmente postado no Blog da Conviso Application Security – Siga-nos no Twitter @conviso Google+

Deixe um comentário

topo
%d blogueiros gostam disto: