Concepção e Desenvolvimento de Software Seguro

Ano
0
Ano lectivo
2021-2022
Código
02033275
Área Científica
Informática
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
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.

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ã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.

Docente(s) responsável(eis)

Marco Paulo Amorim Vieira

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.