Software Seguro

Ano
1
Ano lectivo
2025-2026
Código
02056168
Área Científica
Cibersegurança
Língua de Ensino
Inglês
Outras Línguas de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Opcional
Nível
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ão

Programa

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.