Libsafe: Protegendo Linux contra Smashing Overflow

Neste artigo vamos conhecer a libsafe, uma biblioteca que é capaz de interceptar tentativas de ataques baseados em Stack Overflow. Vamos ver alguns resultados e também como é fácil tornar o Linux um pouco mais seguro.

[ Hits: 60.219 ]

Por: Anderson L Tamborim em 06/12/2004 | Blog: http://y2h4ck.wordpress.com


Instalação



Instalando Libsafe


Bom, agora que temos o pacote do libsafe e vamos manipulá-lo, quem quiser também pode utilizar um pacote RPM, que pode ser baixado em rpmfind.net.

Para quem puxar o pacote rpm, a instalação colocará os pacotes e arquivos em /usr/doc/libsafe-2.0.

Para o artigo utilizaremos o pacote libsafe-2.0-16.tar.gz.

Vamos descompactar:

$ tar -xzvf libsafe-2.0-16.tar.gz $ cd libsafe-2.0 $ ls
.   COPYING    EMAIL_NOTIFICATION  LIBPRELUDE  doc       tools
..  ChangeLog  INSTALL             README      exploits

Agora temos os arquivos a ser utilizados.

Dentro da pasta tools estão dois scripts que serão usados para iniciar o uso do libsafe pelo nosso sistema:
  • libsafe-install.sh e;
  • libsafe_enable.

Primeiro vamos utilizar o libsafe-install:

# ./libsafe-install.sh

Usage: ./libsafe-install.sh [-i] [-r]

[-i] Equivale a Instalar
[-r] Equivale a Desinstalar

Assim que instalado, o libsafe já estará protegendo nossos processos.

Instalando o Libformat


O pacote libformat tem o mesmo intuito do libsafe, porém ele foi criado especificamente para barrar explorações utilizando format strings.

O site do projeto parece que esta offline, mas pode ser baixado o pacote rpm no site rpmfind.net.

# rpm -ivh libformat-0.1.3-1.i386.rpm

E voilá, libformat está instalando e incorporado ao libsafe.

OBS: Se libsafe for compilado em um sistema contendo libprelude instalado, libsafe irá adicionar um alerta de stack overflow para o prelude-manager.

Usando libprelude, libsafe então se torna um sensor do prelude e recebe então a habilidade de enviar alertas para o prelude manager. Isso ajuda você a centralizar os alertas e reports vindos de sensores distribuídos pela sua rede, ajudando assim a correlacionar eventos detectados por sensores em diferentes pontos da rede.

Para maiores informações sobre o prelude, veja em http://www.prelude-ids.org ou aguarde o meu próximo artigo que é sobre o Sistema de IDS prelude :)

Página anterior     Próxima página

Páginas do artigo
   1. Prólogo
   2. O que vem a ser libsafe?
   3. Instalação
   4. Projeto sob-fogo: testando libsafe
   5. Considerações finais
   6. APPEND - A (Links)
   7. APPEND B - Marketing ;)
Outros artigos deste autor

Seguraça extrema com LIDS

Análise passiva (parte 2)

Carnivore e Altivore: Os predadores do FBI

Race condition - vulnerabilidades em suids

SECtool - Análise Local para Linux

Leitura recomendada

Descobrir a senha de configuração pelo browser de um Access Point (AP)

Instalando Bind9 + chroot no Debian

Hardening em sistemas operacionais Linux (Completo)

SSH completo (passo a passo)

Encriptando suas senhas de forma (mais) segura no Pidgin

  
Comentários
[1] Comentário enviado por reimassupilami em 06/12/2004 - 10:59h

bom dia linuxers...

seguinte, to começando a me aventurar pelo mundo do slackware, e confesso que estou apanhando um pouco... mas faz parte do aprendizado, né?

bem então gostaria que vocês me dessem umas dicas sobre onde baixar pacotes para o slack... pode ser?

no aguardo... falow...

[2] Comentário enviado por reimassupilami em 06/12/2004 - 11:00h

opa, foi mal... postei pergunta no espaço do coment... aiai...

foi malz ae... t+

[3] Comentário enviado por jllucca em 06/12/2004 - 11:20h

Aew,

cara o artigo ta excelente. Ficou muito bom pra só dar uma introdução ao que o libsafe é e os interessados se mexerem depois :p. Dá parte de links, me parece que o PDF é o mais interessante ^^ (so passei os olhos nele)

[]'s

[4] Comentário enviado por removido em 07/12/2004 - 00:31h

Rapaz, A-D-O-R-E-E-E-E-I-I-I...
Esse negócio de melhorar a segurança apenas instalando um programa sem precisar configurar mais nada é um must !!!

[5] Comentário enviado por cvs em 08/12/2004 - 16:49h

Bom, instalei aqui, testei o .c que esta sendo apresentado aqui... o resultado foi o seguinte.

bash-2.05b$ ./vun `perl -e 'printf "A" x 530'`
Libsafe version 2.0.16
Detected an attempt to write across stack boundary.
Terminating /home/thiago/libsafe-2.0-16/exploits/vun.
uid=1000 euid=1000 pid=3269
Call stack:
0xb7fe69c0 /lib/libsafe.so.2.0.16
0xb7fe6ab4 /lib/libsafe.so.2.0.16
0x804844e /home/thiago/libsafe-2.0-16/exploits/vun
0xb7ebc931 /lib/libc-2.3.2.so
Overflow caused by strcpy()
Killed

Certo... Testei de novo com outro xpl que veio com o pacote, o resultado...

bash-2.05b$ ./canary-exploit
This program tries to use printf("%n") to overwrite the
return address on the stack.
If you get a /bin/sh prompt, then the exploit has worked.
Press any key to continue...
sh-2.05b$

Ai, o xpl funcionou... o artigo está otimo e vou usar essa libsafe nos meus servidores, mas nem por isso vou relaxar... é seguro mas não é 100%... to esperando o proximo artigo... :D

[6] Comentário enviado por michelpereira em 15/10/2005 - 11:45h

Alguns programas não se comportam bem com a libsafe, o recomendado é executálos carregando a libsafe antes com o comando "LDPRELOAD=libsafe.so"

[7] Comentário enviado por andrentfs em 16/02/2006 - 12:27h

Realmente, sempre mostrando ser bom no que faz, parabéns, continue assim...

[8] Comentário enviado por todeschini em 02/10/2007 - 10:06h

aki vc encontra o libsafe

http://pubs.research.avayalabs.com/src/libsafe-2.0-16.tgz

[9] Comentário enviado por todeschini em 02/10/2007 - 10:11h

aki tem mais op do projeto
http://www.research.avayalabs.com/default.aspx?CurrentPath=usa/en-us/initiatives/all/nsr.htm&Filter=...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts