Return-to-libc attackO ataque return-to-libc é um ataque à segurança do computador, que usualmente inicia com um buffer overflow em que o endereço de retorno da função chamada na pilha é substituído pelo endereço de uma outra instrução, e uma parte da pilha é sobrescrita para fornecer argumentos para está função. Isto permite que o atacante invoque uma função preexistente sem precisar injetar código malicioso no programa. Uma biblioteca compartilhada chamada " Proteções contra o ataque return-to-libcUma pilha não executável pode impedir alguns ataques de buffer overflow, no entanto, não pode impedir um ataque return-to-libc, porque nesse ataque somente o código executável já existente é utilizado. Por outro lado, esses ataques só podem chamar funções preexistente. Stack-smashing protection pode evitar ou impedir esse tipo de ataque, já que ele detecta a corrupção da pilha, e, possivelmente eliminar o segmento comprometido. Address Space Layout Randomization (ASLR) torna esse tipo de ataque improvável de ter sucesso em máquinas de 64 bits, já que faz a alocação sempre em locais diferentes. Em sistemas de 32 bits, a ASLR oferece pouco benefíciom, uma vez que existem apenas 16 bits disponíveis para a randomização, e pode ser vencido por força bruta em questão de minutos.[1] Ataques relacionadosProgramação orientada a retorno (ROP) é um conjunto de técnicas utilizadas neste ataque, e pode ser usada para executar mais operações encadeando pequenos ataques menores, que executam um pequeno número de instruções ao mesmo tempo. Ver também
Referências
Ligações externas
|