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:
Ou pode-se utilizar a seguinte linha de comando para outra verificação:
# lsof | awk '/.*libc-/{printf("%- 15s %- 15s\n", $1, $9);}' | sort -u
Referencias:
GNU C Library:
http://www.gnu.org/software/libc/
Matasano:http://chargen.matasano.com/chargen/2015/1/27/vulnerability-overview-ghost-cve-2015-0235.html
Buffer Overflow :
https://www.owasp.org/index.php/Buffer_overflow_attack
Nenhum comentário:
Postar um comentário