Hacking
INE 5630
João Bosco M. Sobral
Introdução
• A Internet é composta de muitas aplicações, cada qual realizando seu papel. • Para que uma aplicação útil, ela precisa interagir com um usuário.
INE 5630
João Bosco M. Sobral
Introdução
• Aplicações:
- cliente de chat;
- site de e-commerce;
- utilitário de sistema para linha de comando; - um jogo on-line;
- uma aplicação de cáculo;
- ... ... ...
INE 5630
João Bosco M. Sobral
Introdução
• Todas as aplicações modificam sua execução dinamicamente com base na entrada do usuário.
• Estar na Internet significa que a aplicação pode ser acessada remotamente por vários usuários.
INE 5630
João Bosco M. Sobral
Introdução
• Se for mal codificada, a aplicação poderá deixar seu sistema aberto a vulnerabilidades quanto a sua segurança.
• Uma codificação fraca pode ser o resultado da falta de experiência, um erro de programação ou uma anomalia não considerada. INE 5630
João Bosco M. Sobral
Introdução
• Grandes aplicações normalmente são desenvolvidas em partes menores e reunidas para gerar um projeto final.
• É possível que existam diferenças nas partes que, quando combinadas com outras partes, resultem em vulnerabilidades. INE 5630
João Bosco M. Sobral
Introdução
• Desenvolvedores de aplicações versus administradores de rede
• Desenvolvedores normalmente não são conscientes de segurança.
• Se não existir uma política de segurança documentada, indicando a segurança como requisito para a aplicação, é difícil fazer com que os desenvolvedores não conscientes tornem as aplicações seguras.
INE 5630
João Bosco M. Sobral
Introdução
• A proliferação de vulnerabilidades devido a dados de entrada inesperados é muito alta. INE 5630
João Bosco M. Sobral
Dados Inesperados
• Para interagir com um usuário, uma aplicação precisa aceitar dados fornecidos pelo usuário.
• Dados podem estar em formato