Resumo: | Atualmente, um dos fatores mais importantes a ter em conta na informática, é a segurança, sendo que esta tem que estar sempre presente no desenvolvimento de todo o tipo de software. Apesar disso, a segurança é uma área pouco conhecida entre a maioria dos Engenheiros Informáticos. Devido a este facto, é frequente a existência de variadas falhas de segurança no software desenvolvido, que podem vir a ser exploradas por Hackers e trazer, não só consequências graves a nível de informação, mas também a nível monetário. Assim, este projeto visa mostrar o ciclo de vida dos três tipos de vulnerabilidades, que sendo das mais conhecidas são também das mais exploradas: SQL Injection (SQLi), Cross-Site Scripting (XSS) e Buffer Overflow (BO). Sendo estas vulnerabilidades tão comuns devemos estudá-las e aumentar o seu conhecimento por parte dos atuais e futuros engenheiros informáticos. Além disso, os conhecimentos adquiridos neste projeto podem vir a formar parte do currículo de um módulo da unidade curricular de Programação e Segurança. No ciclo de vida das vulnerabilidades vamos abordar as diferentes fases, desde a sua criação, passando pela sua exploração em aplicações vulneráveis, e concluindo com a sua correção. A criação começará com o desenvolvimento manual do código malicioso, que será posteriormente automatizado na forma de um módulo para a framework Metasploit, amplamente usada por profissionais de segurança e hackers para testar e explorar a segurança de aplicações e sistemas. Por fim, iremos também abordar o tema da correção dessas vulnerabilidades, verificando que o código protegido já se encontra imune ao ataque desenvolvido.
|