TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Estouro de Buffer

Por:   •  12/5/2015  •  Projeto de pesquisa  •  408 Palavras (2 Páginas)  •  324 Visualizações

Página 1 de 2

Relatório 2 – Evitando o Estouro de Buffer

Erros de Estouro de Buffer

Estouro de Buffer em Pilhas: O atacante tentara corromper as funções de um determinado programa que serão as do super usuário e terão uma flag suid que irá alterar o usuário de execução do programa para um root temporário, e caso ele obtenha êxito, ele tentará executar um código arbitrário que retorne a ele algo aproveitável, frequentemente a execução do interpretador de comandos com nível de super usuário, conhecido como root shell.

Estouro de Buffer no Internet Explorer: Ele acontece correspondente a forma como ele trata alguns atributos dos elementos frame e inframe, que são utilizados nos paginas da web. Um programa na linguagem JAVA poderá ser montado de uma maneira que ira ocupar a memoria do sistema com um código malicioso. A aplicação de uma grande cadeia de dados nos atributos poderá levar a execução deste determinado código malicioso com os privilégios do usuário que estiver sendo aplicado pelo Internet Explores no momento do ataque.

Estouro de Buffer no SQL Server: No SQL Server a função srv_paraminfo é utilizada para copiar dados passados de um chamador para um buffer de memória que será alocado na pilha e os dados que passarem para o procedimento armazenado estendido serão maiores que o espaço que deveria ser alocado. O restante dos dados será copiado na pilha sobregravando o endereço de retorno que será executado quando a função for retornada. Quando um buffer é criado com as informações exatas, a instrução arbitraria poderá ser colocada na memoria do servidor e posteriormente executadas.

Como evita-los

Escrever Código seguro: É uma prática que exige muito do programador e poucos conseguem seguir corretamente essa prática. O método mais simples de construir um código seguro é buscar no código fonte as funções que são vulneráveis e altera-las para funções que tenham um poder maior de segurança.

Proteção no Sistema Operacional: Mais especificamente no Kernell do sistema, e tem como objetivo aumentar a proteção de sistema de uma forma geral, e tornar o segmento de dados do espaço de endereçamento do programa que esta sendo atacado não executável.

Proteção no tempo de compilação: Diferente da proteção utilizada no Kernell, verificar os limites de array no tempo de compilação eliminará totalmente os problemas relacionados aos ataques, pois se os buffers não puderem ser estourados não terá como alterar os dados adjacentes a esses arrays. Porem existe uma ressalva, eles afetam bastante o desempenho dos programas gerados, em algumas oportunidades tornando-os inutilizáveis.

...

Baixar como (para membros premium)  txt (2.6 Kb)   pdf (40.9 Kb)   docx (11.1 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com