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: 23.636 ]

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

Análise passiva (parte 2)

Segurança no SSH via plugins da PAM

PSAD: Port Scan Attack Detector

Segurança extrema com LIDS: novos recursos

Snort avançado: Projetando um perímetro seguro

Leitura recomendada

Escondendo banners de serviços

Vírus em Linux?

VPN com FreeS/WAN

Debian Squeeze - Instalando VirtualBox com acesso WEB via phpVirtualBox

Criptografar sua atual partição root usando dm-crypt com luks

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts