PaX: Solução eficiente para segurança em Linux

O PaX é um patch para kernel que vem para acrescentar dezenas de melhorias ao sistema operacional no que diz respeito segurança. Veremos quais as principais caracteristicas deste fantástico sistema, como ele atua, suas principais features e mostraremos alguns testes realizados mostrando sua eficácia em proteger o buffer do nosso box Linux. Enjoy!

[ Hits: 67.012 ]

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


Utilizando o paxtest



Irei mostrar um pacote muito interessante que está disponível para download juntamente com o projeto PaX. O pacote paxtest-0.9.6.tar.gz.

Este pacote contém alguns aplicativos escritos pelo pessoal que desenvolve o adamantix, que é uma distribuição Linux baseada no Debian que já vem com features de segurança do PaX embutidas diretamente no kernel default do sistema.

Baixe o pacote paxtest-0.9.6.tar.gz. Descompacte-o, em seguida compile com make.

Você verá que serão criados inúmeros scripts executáveis, estes scripts visam explorar determinadas falhas de paginação e alocação de memória no sistema e com isso mostrar possíveis falhas na segurança do seu sistema.

Ele possui dois modos básicos como iremos ver:

$ ./paxtest
usage: paxtest [kiddie|blackhat]

Temos o modo kiddie e o modo blachat. Pelos próprios nomes podemos tirar o nível de cada uma das execuções. O modo kiddie analisa apenas pequenas falhas do sistema, o modo blackhat analisa o máximo possível de brechas, usando técnicas das mais avançadas para exploração.

Vamos fazer um teste em nosso kernel com o PaX. não vamos perder tempo usando uma execução como kiddie mode, vamos utilizar a blackhat que é mais interessante ;)

$ ./paxtest blackhat
PaXtest - Copyright(c) 2003,2004 by Peter Busser <peter@adamantix.org>
Released under the GNU Public Licence version 2 or later

Writing output to paxtest.log
It may take a while for the tests to complete
Test results:
PaXtest - Copyright(c) 2003,2004 by Peter Busser <peter@adamantix.org>
Released under the GNU Public Licence version 2 or later

Mode: blackhat
Linux RootSec 2.4.26-RootSec #6 SMP Tue Jun 8 12:48:33 BRT 2004 i686 i686
i386 GNU/Linux
Executable anonymous mapping             : Killed
Executable bss                           : Killed
Executable data                          : Killed
Executable heap                          : Killed
Executable stack                         : Killed
Executable anonymous mapping (mprotect)  : Killed
Executable bss (mprotect)                : Killed
Executable data (mprotect)               : Killed
Executable heap (mprotect)               : Killed
Executable shared library bss (mprotect) : Killed
Executable shared library data (mprotect): Killed
Executable stack (mprotect)              : Killed
Anonymous mapping randomisation test     : 16 bits (guessed)
Heap randomisation test (ET_EXEC)        : 13 bits (guessed)
Heap randomisation test (ET_DYN)         : 25 bits (guessed)
Main executable randomisation (ET_EXEC)  : No randomisation
Main executable randomisation (ET_DYN)   : 17 bits (guessed)
Shared library randomisation test        : 16 bits (guessed)
Stack randomisation test (SEGMEXEC)      : 23 bits (guessed)
Stack randomisation test (PAGEEXEC)      : 24 bits (guessed)
Return to function (strcpy)              : Vulnerable
./paxtest: line 41:  2906 Killed                  ./$i
Return to function (memcpy)              : Vulnerable
./paxtest: line 41:  2911 Killed                  ./$i
Executable shared library bss            : Killed
Executable shared library data           : Killed
Writable text segments                   : Killed


Como podem ver o PaX conseguiu barrar todas as tentativas. Algumas pareceram como vulnerable, isso indica que um sistema normal estaria vulnerável a essas explorações, porém com o PaX:

Return to function (strcpy)              : Vulnerable
./paxtest: line 41:  2906 Killed                  ./$i


a execução foi killada.

Após sua execução o paxtest nos fornece um log. Vamos olhar o conteúdo do arquivo. Se olharmos veremos que ele retorna as informações que mostrei logo acima.

Portanto o nosso PaX foi colocado a prova e passou com louvor.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Principais características do PaX
   3. Adicionando o PaX ao nosso sistema
   4. PaX: prova de fogo
   5. Utilizando o paxtest
   6. Considerações finais
Outros artigos deste autor

SECtool - Análise Local para Linux

Análise passiva (parte 2)

Libsafe: Protegendo Linux contra Smashing Overflow

Segurança extrema com LIDS: novos recursos

Race condition - vulnerabilidades em suids

Leitura recomendada

webCalendar: a agenda e o PAM

Gerenciando certificados A1 fornecidos pelo ICB-Brasil no navegador Chrome sobre Linux

Como instalar o Avast antivírus no Linux

OpenBSD IDS - Solução Snort e BASE

Sudoers 1.8.12 - Parte I - Manual

  
Comentários
[1] Comentário enviado por cvs em 05/06/2004 - 09:47h

essas ultimas versoes do grsecurity ja estao com o PaX integradas, se bem que o grsecutiry esta com os dias contados por falta de patrocinio.

[2] Comentário enviado por removido em 05/06/2004 - 19:27h

Meus parabens, vc tem um conhecimento sobre GNU/Linux em materia de seguranca impar, e bom ter um
perito como vc no nosso grupo

[3] Comentário enviado por ryu em 05/06/2004 - 22:37h

y2h4ck continue escrevendo mais artigos pq os seus detonam

[4] Comentário enviado por naoexistemais em 06/06/2004 - 20:24h

Caro Anderson,

Continue assim pq os invejos estão doidos..rsrsrsrs

Parabens..

[5] Comentário enviado por fcc em 07/06/2004 - 09:13h

Meus parabens...otimo artigo...continue sempre assim q vc vai longe...


[ ]'s

[6] Comentário enviado por cvs em 07/06/2004 - 09:15h

cara, esse wrochal tem problemas mentais... só pode... que isso... heheheeh

[7] Comentário enviado por agk em 07/06/2004 - 09:41h

Parabéns, muito bom o artigo.

[8] Comentário enviado por andreguerra em 07/06/2004 - 10:21h

Amigo y2h4ck,

Muito bom seu artigo, realmente é o tipo da informação dificil de encontrar, principalmente no nível e com a objetividade que vc escreve.

Parabéns,

André

[9] Comentário enviado por y2h4ck em 07/06/2004 - 18:36h

Bom o Servidor onde o Pax esta hospedado (grsecurity) parece que esta fora do ar por tempo indeterminado.
Todo caso estou disponibilizando uma copia do Patch e do Chpax
que sao necessarios para completar a instalacao:

http://rootsec.ath.cx/~spawn/pax.tar.gz

=]
Enjoy

[]s a todos


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts