Evitando Buffer Overflow e outros erros

Started by Dark_Side, 27 de January , 2007, 08:48:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dark_Side

Hi,

Quanto tempo não =) ?

Bem, depois de um bom tempo inativo, deu vontade de escrever algo.
Desta vez, irei abordar um assunto sério que envolve a escrita de programas em C/C++.

Apesar da versatilidade e do poder destas linguagens, elas apresentam muitos perigos que podem comprometer a segurança de um programa. Neste artigo, veremos alguns cuidados que devem ser tomados ao escrever nossos programas.

Segue o link:

http://three.fsphost.com/darkside/tutor ... erros.html

Bye ;)

lcs

Achei bem interessante, e até eu que naum conseguia entender nada entendi pelo menos a ideaia do texto, mais me diz, quais os riscos de um buffer overflow, alem de travar  o progrqama que outros riscos ele acarreta..?
Pra que viver sem sentido.

Anonymous

Perfeito o texto, exclente agora sim vamos entender melhor...Vlw  ;)

Dark_Side

Quote from: "lcs"Achei bem interessante, e até eu que naum conseguia entender nada entendi pelo menos a ideaia do texto, mais me diz, quais os riscos de um buffer overflow, alem de travar  o progrqama que outros riscos ele acarreta..?

Hi,

Geralmente, há duas coisas principais que podemos fazer quando constamos a vulnerabilidade:

1) Apenas provocar a sobrecarga do buffer para que o computador alvo encerre a execução do programa vulnerável. Seria um tipo de D.o.S (Denial of Service - Negação de serviço).

Um exemplo simples seria um servidor FTP escrito em C. Vamos supor que temos um buffer de 30 bytes para armazenar os comandos enviados pelo cliente. Se não tomarmos cuidados ao validar estes dados antes de armazená-los no buffer, teríamos sérios problemas. Por exemplo, um usuário poderia enviar 100 bytes como um comando e na tentativa de armazenar 70 bytes além da capacidade do buffer, o programa provocaria uma violação de acesso na memória, ocasionando na sua finalização. Uma vez finalizado , novos clientes não poderiam conectar-se a este servidor FTP.

2) Executar um código arbitrário no computador alvo. Como exemplo, poderia citar um exploit que, após provocar a sobrecarga de um buffer, faria com que um código malicioso - chamando shellcode - fosse executado realizando determinadas tarefas, como retornar uma shell para o usuário malicioso, entre outras.

Neste último caso, ao invés de enviar uma seqüência qualquer de caracteres, teríamos que enviar valores determinados para obter sucesso - o que não é necessário no primeiro caso.

É basicamente isso ;)
Bye.

lcs

mto bom, velew pela explicação, entendi agora o esse negocio de buffer overflow,,
Pra que viver sem sentido.

whit3_sh4rk

[Dark_Side]
E aí cara.. que bom que deu as caras novamente!

Mto bom o texto, sobre o outro lá que tu tinha me mandado, ainda tenho q dar uma zuiada, aí te mando uma PM..

Valeu aí.. Some não..

[]s

Anonymous

Aew Dark_Side parabéns, ficou bem explicativo para leigos, agora quem nao entender o que sao overflows...
Só acho que mesmo sendo um tuto "Evitando Buffer Overflow" você poderia ter colocado 1 exemplo pelo menos de
um exploit que ganha-se uma shell em algum dos seus exemplos, só pro pessoar ver como funfa.
flw