Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

BUFFER OVERFLOW
Uma das preocupações que temos que ter, quando manipulamos strings, consiste em verificar o tamanho de caracteres gravados para que o espaço reservado para o recebimento dos caracteres não seja extrapolado. No mundo dos ataques pelas redes de computadores, existe uma classe denominada de “buffer overflow”, em português, estouro do buffer, que consiste no uso desta vulnerabilidade de controle para que sejam gravados, na memória, informações que contenham dados maliciosos. (ERNESTO, 2018). 
Para essa atividade, suponha o código abaixo:
#include <stdio.h>
#include <string.h>
	
int main()
{
 char str0[6]="98765",str1[5]="abcd",str2[10]="efghijklm";
 printf("str0 = %s\t str1 = %s\t str2 = %s\n",str0,str1,str2);
 strcpy(str1,"1234567");
 printf("str0 = %s\t str2 = %s\n",str0,str2);
}
Como sugestão, seria interessante que você implementasse o código acima e refletisse os resultados impressos na sua execução.
Referências
ASCENCIO, A. F. G. Fundamentos de Programação de Computadores: Algoritmos, PASCAL, C/C++ (Padrão ANSI) e Java. 3. ed. São Paulo: Pearson Education do Brasil, 2012. Disponível em: <https://laureatebrasil.blackboard.com/>. Acesso em: 29/06/2019.
DEITEL, P. J.; DEITEL, H. C: Como Programar. 6. ed. São Paulo: Pearson Prentice Hall, 2011. Disponível em: <https://laureatebrasil.blackboard.com/>. Acesso em: 29/06/2019.
ERNESTO, L. O que é Ataque de Buffer Overflow? 2018. Disponível em: <https://www.gestortecnico.net/2018/10/o-que-e-ataque-de-buffer-overflow.html>. Acesso em: 01/07/2019.
PUGA, S.; RISSETTI, G. Lógica de Programação e Estruturas de Dados – com Aplicações em Java. 3 ed. São Paulo: Pearson Education do Brasil, 2016. Disponível em: <https://laureatebrasil.blackboard.com/>. Acesso em: 29/06/2019.
Vamos praticar
Tendo em vista o programa exposto, pede-se para que você reflita sobre os seguintes questionamentos:
O que acontece com a string “str0”?
Faça uma pesquisa e estabeleça um rápido paralelo da observação feita sobre a string “str0” e o ataque do tipo "buffer overflow"
Qual seria a sua sugestão para evitar o problema?
Acompanhe as outras postagens para que você possa comparar detalhes e outras formas de raciocínios e, assim, você e os demais poderão aprofundar nas sugestões. Não se esqueça de compartilhar suas conclusões no fórum da seção “Compartilhe”.
Resultado
str0 = 98765	 str1 = abcd	 str2 = efghijklm
Houve um Buffer Overflow na string "str0", quando a string "str0" original que era constituída por "98765" foi copiada (strcpy) para a string "str1" igual a "1234567". O Buffer Overflow, que acontece quando um programa em execução tenta gravar dados além do que o buffer de memória permite, sobrecarregando assim o sistema, ocorreu pois a string original "str0" configurado para 6 bytes (6 casas) foi substituído por dados possuindo 8 bytes (8 casas), o que faz com o Buffer Overflow tenha ocorrido por 2 bytes.
Para evitar o problema, seria necessário apenas configurar o string "str0" para 8 bytes (8 casas).

Mais conteúdos dessa disciplina