Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
O que é saturação de buffer de Cordas Handling
? Falhas de segurança no software pode vir em formas mais do que os programadores podem imaginar. Um desses ataques é o estouro de buffer , quando um atacante fornece mais informações do que um programa pode manipular. Em particular, os cenários de programação, como a programação do sistema ou de programação de baixo nível C, buffers de cadeias são vulneráveis ​​à exploração . Certas técnicas de manuseio de string pode ser empregada para evitar esses ataques. Essas técnicas incluem o monitoramento do tamanho das cordas, verificando limites de buffer e usando funções de segurança corda de manuseio . Cordas saturações de buffer

Quando os programadores escrever código para manipular a entrada do usuário textual , que a entrada , muitas vezes se move através de um tampão ou variável. Buffer " superação " ocorre quando o programador não cria um buffer de tamanho suficiente para lidar com a entrada do usuário . A entrada não pára quando o buffer pára. Em vez disso, o programa salva o texto na memória diretamente após o buffer, sobrescrevendo os dados do programa cruciais. Estouros de buffer de Cordas ocorrem mais freqüentemente quando os programadores não marcar a entrada do usuário corretamente.
Verificando Boundaries

A entrada do usuário muitas vezes pode se estender além das fronteiras de uma matriz por causa do mau fronteira verificação . Particularmente em C, onde as seqüências são representadas como matrizes de caracteres , inserir e manipular cadeias nessas matrizes pode se tornar complicado . É possível calcular mal os valores de índice de matriz e substituir locais na memória do lado de fora da matriz. Por sempre incluindo o código que verifica os limites da matriz para garantir que eles não são substituídos , o programador pode limitar o acesso de string para o array.
Usando grandes buffers

linguagens de alto nível , como C # ou Java , o programador pode usar objetos de entrada específicos que contêm grandes buffers. BufferedReader do Java é um bom exemplo disso. O usuário pode criar esse objeto com um grande patife ou ficar com seu grande tamanho do buffer padrão para lidar com a entrada. O objeto , em seguida, lida com o texto no buffer . Em linguagens de baixo nível , como C , o programador provavelmente irá usar arrays de caracteres. Nesse caso , o programador deve garantir que a matriz de caracteres a receber dados permanece grande o suficiente para lidar com qualquer tamanho de dados possíveis.
Use Funções seguros

Quanto a entrada do usuário vai, a linguagem de programação C emprega diferentes funções para várias operações de entrada. Nem todas estas opções são seguras. Por exemplo, a função é não verificar a entrada do usuário em tudo, e vai permitir que qualquer coisa para passar para o programa. A função strcpy não vai realizar nenhuma verificação de limites. Em vez disso, outras funções de segurança devem ser empregadas , como os fgets ou funções strncpy .

Anterior :

Próximo : No
  Os artigos relacionados
·É Tidy Script Malware 
·Como o ADO.NET Função 
·O que é SEI CMMI 
·Como decodificar códigos de correção de erros via Pr…
·Diferenças entre o feedback Controle e Controle Feed F…
·XMLParse Função 
·Pode COBOL exibir um valor Hex 
·Como autenticar SCCM SQL 
·Como personalizar Gvim para Codificação HTML 
·Sem conexão proxy no NetBeans 
  Artigos em destaque
·O que é o Microsoft Visual C + + 
·Como ligar uma barra de progresso para IO.Stream 
·Como converter um BMP para uma matriz de bytes 
·Como corretamente Fechar um canal WCF 
·Como usar ponteiros de função em C + + 
·Como ajustar Ponteiros para Returns Covariant 
·Como aprender contêineres STL 
·Importância do Processo Seletivo em Design System 
·Como fazer sua própria Game Engine 
·O que fazer com um erro de Trapped in C 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados