Concepção e Desenvolvimento de Software Seguro
1
2024-2025
02033275
Segurança Informática
Português
Inglê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.
As aulas teóricas serão também difundidas por teleconferência e serão gravadas para os alunos poderem acompanhar remotamente.
As aulas práticas serão marcadas, preferencialmente, às sextas-feiras de manha, podendo também os trabalhos práticos ser desenvolvidos pelos alunos, em regime remoto e assíncrono, com apoio remoto dos docentes.
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 deverão dominar os diferentes aspetos do desenvolvimento de software com requisitos de segurança estritos, sendo capazes de identificar alternativas e de escolher e aplicar as mais adequadas a cada situação. Serão consideradas as diferentes fases do ciclo de vida do software. Pretende-se que o aluno adquira competências na análise, desenho, desenvolvimento e validação de 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.
Docente(s) responsável(eis)
João Rodrigues de Campos
Métodos de Avaliação
Avaliação
Projecto: 50.0%
Exame: 50.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.
- G. Hoglund and G. McGraw, Exploiting Software: How To Break Code. Pearson Education, 2004.
- M. Howard, et al. , 19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them, McGraw-Hill, 2005.
- 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.
- G. McGraw, Software Security: Building Security In. Addison-Wesley Professional, 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.