Race condition - vulnerabilidades em suids

Neste simples artigo vou tentar passar o conceito básico de race condition, a condição de corrida com arquivos temporários e "leaks" da memória de SUIDs. Vamos ver como obter privilégios explorando estes suids e como se proteger deles.

[ Hits: 25.676 ]

Por: Anderson L Tamborim em 15/04/2004 | Blog: http://y2h4ck.wordpress.com


Como proteger seu sistema



Hoje em dia existem muitos patches para kernel que previnem contra diversos tipos de ataque, porém o problema do race condition não está no seu sistema e sim no programa que é vulnerável à ele. Portanto a melhor maneira de deixar seu sistema protegido contra esse tipo de ataque é ficar de olho nos advisories que sempre saem na net e manter seus softwares sempre bem atualizados.

Porém, aplicando o patch do PaX (http://pax.grsecurity.net), você se previne contra execução de código arbitrário em seu sistema.

Para maiores informações sobre ataques race condition tenho alguns links abaixo:

Bibliografia



Aos programadores interessados em melhorar seus códigos para evitar problemas com race condition, seguem alguns títulos recomendados:

 

Disponíveis nas melhores livrarias da internet :)

Cordial abraço à todos da comunidade.

Spawn Locoust

Página anterior    

Páginas do artigo
   1. O que são os race conditions
   2. Como proteger seu sistema
Outros artigos deste autor

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

Libsafe: Protegendo Linux contra Smashing Overflow

Seguraça extrema com LIDS

Segurança extrema com LIDS: novos recursos

Segurança no SSH via plugins da PAM

Leitura recomendada

Remover vírus do Windows usando pendrive com Linux

Recuperando senhas de usuários

PacketFence em Debian 6

Transferindo arquivos de modo seguro entre Windows e Linux

ANDRAX - Pentest usando o Android

  
Comentários
[1] Comentário enviado por fcc em 15/04/2004 - 17:21h

Muito bom artigo....acho q o pessoal tem q saber um pouco mais sobre a seguranca q o LInux nos oferece...

Valeu!!!

[2] Comentário enviado por jllucca em 15/04/2004 - 23:43h

Excelente artigo!

Não conhecia a função access(), sempre testava se o arquivo existe com duas linhas(fopen e fclose) e sobre trecho ali, open precisa de no minimo dois parametros pra ser compilado. Fora o que já esta la(o PATH) precisa ainda de uma flag que indica o que estamos fazendo(Lendo, gravando...).

[]'s :)

[3] Comentário enviado por cvs em 17/04/2004 - 09:57h

o negocio eh so nao deixar ninguem acessar seu pc... hehehe ou seja.. killall sshd
userdel -r (os outros usuarios que nao seja vc)

passwd root (mudar a senha de root de 3 em 3 dias)
passwd seu_user (mudar sua senha todo dia)

pronto... E agora? hahahahah :P

Meo, seguranca eh algo bem nervoso hein... hehehe

[4] Comentário enviado por y2h4ck em 17/04/2004 - 11:41h

cvs o problema e que um provedor nao pode fazer isso =] um provedor um servidor em producao roda muitos servidos com acesso remoto =]
um deles pode estar vulneravel e dar o acesso suficiente ao bash no sistema ehehe :)


[5] Comentário enviado por ph0enix em 04/12/2004 - 20:24h

cvs, você se considera seguro apenas removendo todos os usuários do sistema, alterando sua senha para algo absurdo, que mais parece um MD5/SHA ?
Abra o google, digite o nome do seu navegador, do seu programa de emails, do seu firewall, ou até mesmo do seu provedor de internet, e veja as vulnerabilidades que os mesmo apresentam.
Seu provedor de internet provavelmente já foi invadido, você utiliza criptografia em seus emails ? quando loga aqui no VOL, é com HTTPS ? você utiliza pops ?

Suas informações podem estar sendo capturadas (sniffing) por algum intruso no seu provedor neste exato momento.

Abraços.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts