Networking  
 
Conhecimento computador >> Networking >> Segurança de Rede >> 
Linux Buffer Overflow Tutorial
Buffer overflows são falhas de segurança comuns para os sistemas de computador que exigem entrada do usuário , como informações de login. Um buffer overflow ocorre quando uma variável no código destina-se a manter as informações enviadas pelo usuário ( como um nome de login) não é grande o suficiente. Neste caso , os dados adicionais inseridos pelo utilizador " transborda " a memória disponível atribuído . Este evento , chamado de "Buffer Overflow ", pode resultar em dados extra substituindo ou modificar dados em outros programas na memória . Este exemplo mostra como um buffer overflow trabalha no nível de código. Coisas que você precisa
editor de texto
/compilador C + C + ou IDE , como o Microsoft Visual Studio
Show Mais instruções
1

Crie o buffer. Siga este exemplo:

# include

int main () {

caractere login_name [20] ;

printf (" Digite o login: ");

scanf ( "% s " , login_name );

printf (" buffer Overflow "); }


este código básico cria uma matriz de caracteres ( uma palavra, essencialmente ) chamou de " login_name " que irá realizar a entrada do usuário . Observe que " login_name " é de apenas 20 caracteres. O programa , em seguida, pede a entrada do usuário e armazena as informações em " login_name . "
2

Porque o estouro de buffer. Compilar o programa e executá-lo. Quando o solicitado, digite um nome de login que excede 20 caracteres. Por exemplo :

Digite login: Esta é uma frase muito tempo que irá invadir o espaço disponível na variável LOGIN

Hit . " Enter". A mensagem de saída será impresso eo programa será finalizado. A variável ultrapassou o espaço de buffer disponível na variável " login_name " . A questão então é: o que aconteceu?
3

Entenda como funciona a memória do computador . Como a entrada do usuário foi armazenado em " login_name , " a informação excesso ( qualquer caractere além de 20 caracteres ) foi escrito em memória além dos limites da variável. Esses dados devem ser armazenados em algum lugar. Neste caso , ela é armazenada na memória imediatamente adjacente ao local onde a variável " login_name " está localizado . Ao passar sobre os limites da variável de login, os dados extras ( intencionalmente ou não) reescreve os dados imediatamente ao lado da variável. Isto significa que o hacker poderia basicamente reescrever o código , e mudar a forma como o código funciona , essencialmente, possuir o sistema .
4

Perceba vulnerabilidades do Linux. Linux é codificado em C /C + + , e muitas das suas principais funcionalidades requer a manipulação de cadeias de caracteres. No entanto, muitas distribuições Linux modernas de proteção contra casos de buffer overflow em pontos onde é necessária a entrada do usuário , seja através de proteção de pilha ou redimensionar dinamicamente arrays de caracteres . Ainda existem vulnerabilidades : o estouro de buffer USB exploit descoberto em 2011, é um exemplo. No caso do USB, uma identificação extra longo USB pode transbordar uma variável do sistema em Linux.

Anterior :

Próximo : No
  Os artigos relacionados
·Como alterar Checksum 
·Como verificar permissões para Volumes em VMware 
·Como bloquear CIPAV 
·O que é o BPDU Guard 
·Qual é a diferença em Segurança em B2B e B2C 
·Como um encapsulado Packet e Decapsulated é 
·O comando que eu uso para localizar os endereços IP em…
·Como desativar o modo agressivo em Cisco 1841 
·Wireless LAN Segurança FAQ 
·Como consertar um IP Hacked 
  Artigos em destaque
·Como sincronizar sites FTP 
·Qual é o propósito de uma máscara de sub-rede de end…
·Quais são os benefícios de Hypertext Transfer Protoco…
·Windows 2008 Ferramentas administrativas 
·Como configurar WCG200 
·Conexões de Ponte de rede no Windows 
·Como configurar uma rede doméstica Ethernet 
·Como conectar uma placa Ethernet 
·Como Analisar Modem de Dados de Transferência 
·Como encontrar meu Desktop em My Network Laptop 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados