Você está na página 1de 2

Universidade Anhembi Morumbi

Curso: Engenharia de Computação


Aluno: Christian Ramos de Figueiredo
Matéria: Cálculo Numérico Computacional
Pratique – Unidade 1

Tendo em vista o programa exposto, pede-se para que você reflita sobre os seguintes
questionamentos:

1) O que acontece com a string “str0”?


Resultado da execução do código:

A string “str0” recebeu de forma indevida os caracteres 67 oriundos da “str1”. A “str1”


de tamanho 5 recebeu 7 caracteres.

2) 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".
Conceitualmente o Buffer Overflow é uma vulnerabilidade muito fácil de ser entendida.
E pode ser bem exemplificado com uma simples xícara de café.

Figura 1: https://blog.convisoappsec.com/buffer-overflow-em-seguranca-de-aplicacoes/
Para onde vão os dados excedentes inseridos em um campo com um limite de caracteres?
A xícara de café transbordando no pires é uma analogia do que acontece com os dados
no caso do Buffer Overflow.
O paralelo da imagem acima com a string “str0” é que ela funcionou como um pires,
aparando o café que derramou da xícara, que é seria a “str1” .

3) Qual seria a sua sugestão para evitar o problema?


Uma alternativa seria usar a função strncpy no lugar da função strcpy. A função strncpy
tem o mesmo comportamento da função strcpy. A diferença é que a strncpy limita a
inserção de caracteres que foi definido na string.

Você também pode gostar