Software Seguro
1
2026-2027
02056168
Cibersegurança
Inglês
Português
Presencial
Semestral
6.0
Obrigatória
2º Ciclo - Mestrado
Conhecimentos de Base Recomendados
Licenciatura em Engenharia Informática ou equivalente.
Métodos de Ensino
Aulas teóricas (T) : apresentações e discussão sobre os tópicos da unidade curricular.
Aulas práticas (PL): aplicação dos conceitos teóricos em exercícios e projetos.
Projetos de grupo serão utilizados para promover e permitir a exploração de tópicos relacionados ao desenvolvimento de software seguro. Os alunos trabalharão juntos para projetar e implementar uma aplicação seguindo os princípios de desenvolvimento de software seguro, focando e demonstrando riscos ou vulnerabilidades comuns. Serão fornecidos ambientes de laboratório virtual onde os alunos poderão praticar a implementação de medidas de segurança, fornecendo instruções passo a passo e desafios para os alunos resolverem e promovendo experiências de aprendizagem práticas.
Resultados de Aprendizagem
Esta unidade curricular tem como objetivo a aquisição de conhecimentos sobre técnicas avançadas para o desenvolvimento de software seguro. Os alunos que concluam com aproveitamento a unidade curricular serão capazes de definir os diferentes aspetos de desenvolvimento de software com requisitos de segurança estritos, tornando-se capazes de identificar alternativas e de escolher e aplicar as mais adequadas a cada situação. Farão a análise e aplicação estes conceitos tendo em consideração as diferentes fases do ciclo de vida do software. Pretende-se que os alunos adquiram competências na análise, desenho, desenvolvimento e validação de software seguro, e que percebam como as técnicas e conceitos abordados nesta unidade podem ser utilizadas para caracterizar, gerir, e transformar os processos de desenvolvimento. Desenvolverão competências para avaliar e determinar novas soluções para construir e desenvolver software seguro .
Estágio(s)
NãoPrograma
Conceitos sobre segurança: Vulnerabilidades, Ameaças e Ataques
• Fundamentos sobre segurança de software
• Engenharia de requisitos para software seguro
• Arquitetura e desenho de software seguro
• Programação segura
• Deteção de vulnerabilidades e testes de segurança
• Segurança de software de uma perspetiva organizacional
• Fundamentos de avaliação de segurança: Métricas, Medição, Testes Padronizados e Análise de Riscos
• Automação,DevSecOps, e Modelos Maturidade
• IA no Desenvolvimento de Software Seguro.
Docente(s) responsável(eis)
João Rodrigues de Campos
Métodos de Avaliação
Avaliação
Exame: 40.0%
Projecto: 60.0%
Bibliografia
- J. Viega and G. McGraw, Building secure software: how to avoid security problems the right way. Addison-Wesley, 2001.
- M. Howard and D. E. Leblanc, Writing Secure Code, 2nd ed., Microsoft Press, 2002.
- C. J. Berg, C. Berg, and P. G. Neumann, High-Assurance Design: Architecting Secure and Reliable Enterprise Applications, Addison-Wesley Professional, 2005.
- M. Schumacher et al , Security Patterns: Integrating Security and Systems Engineering, Wiley, 2006.
- J. H. Allen et al, Software Security Engineering: A Guide for Project Managers, Addison-Wesley Professional, 2008.
- M. Howard and S. Lipner, The security development lifecycle. O’Reilly Media, Incorporated, 2009
- Mack, Sean D. The DevSecOps Playbook: Deliver Continuous Security at Speed. John Wiley & Sons, 2023.
- Andrew Hoffman. Web application security: Exploitation and Countermeasures for Modern Web Applications . "O'Reilly Media, Inc.", 2024.