| Designação | Código | Curso | Regime | Regente |
|---|
Segurança de Software | 16788 [ME78ME7800007411] | Mestrado em Engenharia Informática [MEINF] | S2 | Tiago Filipe Azevedo Oliveira |
Objetivos | A unidade curricular de Segurança de Software foca-se nas metodologias e processos que visam assegurar o desenvolvimento de sistemas de software seguro. Os alunos serão assim dotados de competências que vão desde a identificação das principais vulnerabilidades em sistemas de software; da análise de risco e levantamento de requisitos de segurança; boas práticas na codificação e validação; e experiência com os standards de segurança e respetivas implementações. |
Programa | 1. Segurança de software: revisão de conceitos; classificação de fraquezas e vulnerabilidades (CWE, CVE); fraquezas de software com maior impacto na segurança de sistemas. 2. Segurança no ciclo de vida do desenvolvimento de software (SDLC): modelos de SDLC; Framework NIST-SSDF. 3. Standards e boas-práticas: organizações e iniciativas; áreas de atuação; certificações. 4. Segurança de Componentes e APIs de software: identificação e controlo de acessos; autenticação e autorização; gestão de chaves. |
Bibliografia | A. Shostack. Threat modelling: designing for Security. Wiley, 2014. M. Howard, S. Lipner. The Security Development Lifecycle. Microsoft Press, 2006. NIST SP 800-218. Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities”. (https://csrc.nist.gov/pubs/sp/800/218/final) SAFECode. Fundamental Practices for Secure Software Development. 3rd Edition, 2018. (https://safecode.org/wpcontent/uploads/2018/03/SAFECode_Fundamental_Practices_for_Secure_Software_Development_March_2018.pdf). N, Madden. API Security in Action. Manning, 2020.
|
Resultados da aprendizagem | Assim, no final, os alunos deverão ser capazes de: - Identificar as vulnerabilidades de software com maior impacto na segurança. - Realizar modelos de ameaças em sistemas de software. - Utilizar metodologias e ferramentas no ciclo de vida de desenvolvimento de software seguro. - Aplicar protocolos standard na construção de componentes de software seguro. |
Método de avaliação | A avaliação da UC será eminentemente prática, incorporando uma componente de avaliação contínua (peso entre 30% e 60%), e do projeto de desenvolvimento de software realizado em grupos de trabalho (peso entre 30% e 60%). Prevê-se ainda a existência de um exame escrito com (peso entre 0% e 50% da nota final). |
Funcionamento | Turno: T 1; Docente: Tiago Filipe Azevedo Oliveira; Dep.: DI; Horas: 15. Turno: PL 1; Docente: Tiago Filipe Azevedo Oliveira; Dep.: DI; Horas: 30. |