Plano de Estudos
Segurança de Software SSoft
Contextos
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 892 - Mestrado em Informática - Geral > 1º semestre
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 788 - Mestrado em Informática - OSC
ECTS
6.0 (para cálculo da média)
Objectivos
O número de ataques informáticos observados nos últimos anos teve um crescimento quase exponencial. No que diz respeito à integridade dos sistemas e à confidencialidade dos dados, torna-se cada vez mais evidente que o elo mais fraco é a segurança do computador e, em particular, o software que ele executa. O tema desta unidade curricular é a segurança da máquina, nomeadamente do seu software, por contraposição à segurança das comunicações/rede. São abordados os principais tópicos necessários para entender e enfrentar o problema, incluindo a discussão de uma série de temas mais avançados que se encontram atualmente no domínio da investigação.
Programa
Componente Teórica: Conceitos de segurança e o processo de desenvolvimento de software; Princípios para a construção de software seguro; Mecanismos de proteção em sistemas operativos convencionais; Estudo exaustivo de várias classes de vulnerabilidades, incluindo: Buffer overflows, format strings, integer overflows; Validação de input (SO, Web e BDs); Condições de corrida; Erros específicos nas aplicações Web e Bases de Dados; Mecanismos para a descoberta automática de vulnerabilidades, como o fuzzing, e a análise estática; Metodologias de auditoria de segurança de software. Componente Teórico-prática: Aulas em ambiente laboratorial, abordando exemplos práticos sobre os seguintes temas: Buffer overflows; Format strings; Validação de input e outros erros nas aplicações da Web e BDs; Condições de corrida; Testes de segurança (Fuzzing e Análise estática).
Método de Avaliação
Avaliação: 15% - Resolução de um conjunto de mini-projetos nas aulas teórico-práticas; 35% - um projeto e a apreciação e discussão individual dos resultados obtidos; 50% - Exame final Melhorias de Nota: uma melhoria de nota obriga à realização de todas as componentes da avaliação
Carga Horária
Carga Horária de Contacto -
Trabalho Autónomo - 119.0
Carga Total -
Bibliografia
Principal
- Segurança no Software, 2 Edição, FCA editora: Miguel Correia, Paulo Sousa 2017
Secundária
- Web Application Security: Exploitation and Countermeasures for Modern Web Applications: Andrew Hoffman 2024
- Several documents from different organizations (e.g., NIST/OWASP), covering specialized topics (e.g., Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities, NIST, 2022): Vários 2024
- Fuzzing: Brute Force Vulnerability Discovery: Michael Sutton, Adam Greene, Pedram Amini 2007
- Secure Programming with Static Analysis: Brian Chess, Jacob West 2007
- Secure Coding in C and C++: Robert C. Seacord 2013