Cibersegurança: entenda o que é um ataque de Buffer Overflow

Um aspeto comum a todos os dispositivos eletrónicos, antigos ou novos, é o facto de serem executados por programas que são armazenados na memória. Os hackers exploraram este facto e encontraram vulnerabilidades conhecidas como "buffer overflows". Mas que ataques são estes?

Compreenda os buffers e a memória do sistema

Para compreender o que é um ataque de ✅buffer overflow e como funciona, é necessário saber o que é um ✅buffer💥️ e como funciona a memória de um computador. A ✅stack e a ✅heap são duas características principais da memória de um computador.

São estruturas de dados utilizadas para a atribuição de memória. Embora sejam semelhantes, a ✅stack e a ✅heap diferem em vários aspetos.

A ✅stack, que utiliza o conceito ✅Last In First Out (LIFO), é utilizada na ✅Random Access Memory (RAM)  para armazenar temporariamente as execuções de programas, enquanto a heap atribui memória utilizando a atribuição dinâmica a variáveis globais. Mas a única coisa que têm em comum 💥️é um ✅buffer.

O que é um buffer?

Um ✅buffer é uma região de memória usada para armazenar dados, provavelmente na RAM de um computador, enquanto estão a ser movidos de um local para outro. Esses dados são geralmente programas que precisam de ser executados. Os ✅buffers são armazenados na ✅stack ou✅ heap,💥️ que otimizam as execuções.

O que é um buffer overflow?

Um ✅buffer overflow ocorre quando o ✅buffer recebe mais dados do que sua capacidade de armazenamento. Como não consegue processar essa quantidade de dados, "transborda". Agora, na memória de um computador, logo após um ✅buffer 💥️há um endereço de retorno.

Este endereço de retorno chama-se ✅Extended Instruction Pointer (EIP). A sua função é apontar para um programa específico quando este é preenchido. Quando um buffer tem mais dados do que pode conter e transborda, 💥️ele sobrepõe o endereço de retorno.

Para compreender isto, vamos supor que tem um espaço de memória intermédia que só pode conter cinco letras. Assim, se preencher com palavras como "carro" ou "ilha", o ✅buffer workflow pode contê-las. Mas quando se tem uma palavra como "bufferoverflow", 💥️ela vai inevitavelmente ultrapassar o tamanho do espaço de memória.

Isto conduz a um erro ou a uma falha no sistema. Mas os hackers podem explorar esta vulnerabilidade 💥️para iniciar um ataque de ✅buffer overflow.

O que é um ataque de buffer overflow e como funciona?

Os ataques de ✅buffer overflow acontecem quando o hacker assume o controlo do endereço de retorno ou EIP. Quando o atacante conhece o tamanho da memória de um sistema, ele pode intencionalmente escrever dados nesse sistema 💥️apenas para transbordá-lo.

Depois, certifica-se de que o EIP ou o endereço de retorno é escrito de forma a apontar para um programa que lhe pode dar acesso ao sistema ou revelar informações sensíveis. 💥️Há cinco passos principais nos ataques de ✅buffer overflow:

O s✅piking é o primeiro passo. Aqui, os hackers encontram a parte da memória que é vulnerável a ✅buffer overflow. Depois vem o ✅fuzzing, que é semelhante ao ✅spiking, mas aqui, o hacker envia caracteres para o programa para ver se este pode ser corrompido. Uma vez bem sucedido, o atacante prossegue para encontrar o ✅offset, que é onde o ✅buffer transbordou. Isto é feito para saber o tamanho do ✅buffer e o endereço de retorno. Depois, 💥️o ✅hacker insere um código shell malicioso e controla o sistema.

💥️Leia também:

Casa Branca adverte contra a utilização destas populares linguagens de programação

O que você está lendo é [Cibersegurança: entenda o que é um ataque de Buffer Overflow].Se você quiser saber mais detalhes, leia outros artigos deste site.

Wonderful comments

    Login You can publish only after logging in...