Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Consequências de buffer overflows
gravação de dados em buffers é parte da rotina de funcionamento de qualquer programa , e também uma grande fonte de problemas potenciais. Quando um programa tenta colocar mais dados em um buffer do que o seu programador o projetou para segurar, o conseqüente transbordamento de outros dados podem corromper os dados do programa. Isso pode levar a falhas de software , ou , potencialmente, um meio para hackers para roubar o programa e executar código malicioso. Tampões e estouros

Um buffer é uma variável de matriz projetado para armazenar dados para o programa para usar em um ponto posterior na sua execução. Esta poderia ser a informação que o usuário digita no programa, o conteúdo de um arquivo que o programa lê em , ou qualquer outra coisa o programa pode precisar de executar. Os amortecedores são criados com um tamanho específico , que é reservado na memória de um computador para armazenar os dados do buffer. Buffer overflows ocorrer quando um programa escreve uma quantidade de dados para uma reserva que exceder o seu tamanho real, fazendo com que o programa para gravar dados passado a localização do buffer na memória do computador e na memória reservado para outros tampões ou variáveis.

Crashes

um programa trava quando encontra -se incapaz de executar a tarefa que foi codificado para executar em um determinado ponto no tempo, e seu desenvolvedor não incluir um mecanismo de recuperação de tais uma falha . Estouros de buffer pode causar programas para falhar quando o transbordamento corrompe dados da variável que está armazenado em um slot de memória nas proximidades. Por exemplo, se um estouro de buffer de texto pode escrever caracteres de texto sobre os números armazenados no slot de memória de uma variável inteira . Quando o programa acessa dados desta variável para executar um cálculo , ele encontra os caracteres de texto em vez de números. O programa não pode realizar cálculos matemáticos em caracteres de texto , para que o programa iria reagir por cair.
Vulnerabilidades de segurança

advertentm sobrecargas de buffer pode causar programas para falhar , mas os hackers poderiam deliberadamente forçar uma sobrecarga de buffer para comprometer a função de um programa. Por exemplo , slot de memória de um tampão pode estar perto do slot de memória que contém um comando especial, o programa é executado. Um pirata pode descobrir o tamanho da memória intermédia, e a distância a ranhura de memória do comando a partir do fim do buffer . Ele poderia, então, forçar um buffer overflow que sobre- escrever os dados entre o buffer e slot de memória do comando, em seguida, o excesso de escrever slot de memória do comando para substituir o comando com um de seu próprio projeto. Quando o programa chama slot de memória que de comando e executa o seu conteúdo , seria executar o código do hacker em vez do que o programador pretendia.
Prevenção de Buffer Overflow

Programadores pode prevenir buffer overflows , instituindo mecanismos de segurança para garantir que o programa não tentar escrever mais dados para um buffer do que ele projetou para segurar. Estes podem incluir a verificação do tamanho dos dados usuários tentam colocar nele , por meio de digitação ou selecionar um arquivo de entrada, para garantir que ele não exceda o tamanho do buffer. Os programadores também deve tentar minimizar as oportunidades que os usuários têm para gravar dados diretamente em um buffer , como cada entrada que escreve diretamente para um buffer é um vetor potencial para um ataque de sobrecarga de buffer.

Anterior :

Próximo : No
  Os artigos relacionados
·Como ler os caracteres em Fortran 
·Aplicação de Programação Linear em Computadores 
·O que é uma assinatura Compilado 
·Como Ler MATLAB 
·Como imprimir DOSEMU em Dot Matrix 
·Como fazer a interface C para MATLAB 
·O que é Script Debugging 
·Tipos de arquivos que podem ser usados ​​com QBASIC 
·O que é o Pico Codificação 
·Tipos de arquivo SQLite 
  Artigos em destaque
·Como escrever Bytes a matriz de bytes 
·Como exibir uma vírgula em C + + 
·Como compilar Netcat 
·Como instalar Vcvarsall.bat 
·Como externo um membro estático 
·Como inicializar um ArrayList 
·Como usar IO OCX USB em C 
·Como obter um valor selecionado em uma caixa de listage…
·Como Iniciar um código C Desde o Prompt de Comando 
·Processo para se tornar um iPhone Developer 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados