Currículo

Desenvolvimento Seguro de Software 04982

Contextos

Groupo: Escola de Tecnologias e Arquitetura > Optativas > Departamento de Ciências e Tecnologias da Informação > 2º Ciclo

ECTS

6.0 (para cálculo da média)

Objectivos

Após a conclusão desta UC o estudante deverá ficar apto a: OA1. Compreender o Ciclo de Vida do Desenvolvimento de Software Seguro (SSDLC) e explicar a importância da segurança, as fases do SSDLC e as vulnerabilidades comuns. OA2. Aplicar Princípios de Design Seguro e implementar técnicas como defesa em profundidade, privilégio mínimo e modelagem de ameaças. OA3. Escrever Código Seguro, prevenindo ataques de injeção, garantindo autenticação segura e criptografando dados sensíveis. OA4. Ter conhecimento sobre como realizar Testes de Segurança. OA5. Implementar Implantação Segura e práticas de DevSecOps. OA6. Garantir Conformidade e Adesão Regulatória – Aplicar padrões de segurança como GDPR, HIPAA, PCI-DSS e ISO 27001. OA7. Proteger Aplicações Web, em Nuvem e Móveis. OA8. Analisar Tendências Emergentes em Segurança e avaliar riscos de segurança em IA, modelos de confiança zero e ameaças quânticas.

Programa

CP1. Introdução ao Desenvolvimento de Software Seguro e Visão Geral do Ciclo de Vida do Desenvolvimento de Software Seguro (SSDLC). CP2. Princípios de Design de Software Seguro: Segurança por design e defesa em profundidade. CP3. Práticas e Diretrizes de Codificação Segura para diversas linguagens (Java, Python, C, etc.), falhas comuns de codificação, autenticação segura, gerenciamento de sessões e práticas criptográficas. CP4. Vulnerabilidades e Explorações de Software. CP5. Testes de Segurança e Análise Estática de Código. CP6. Testes de Intrusão (Penetration Testing) e Hacking Ético. CP7. Implantação Segura de Software e DevSecOps. CP8. Conformidade, Regulamentos e Padrões de Segurança. CP9. Desenvolvimento Seguro em Ambientes de Nuvem e Mobile. CP10. Ameaças Emergentes e Tendências Futuras. Conclusões.

Método de Avaliação

A natureza prática desta UC e a necessidade de avaliação do conhecimento serem realizadas essencialmente por meio da capacidade do aluno de aplicar o conhecimento para resolver problemas e desenvolver software seguro fazem com que o método de avaliação adotado seja, principalmente, baseado em projetos Em 1ª época ou época normal, avaliação periódica, sem obrigação de assiduidade mínima, com 3 momentos de avaliação do projeto em grupo: - Apresentação de progresso a meio do semestre com peso de 15% na nota final da UC; - Artefactos e relatório final do projeto com peso de 40% na nota final da UC; - Apresentação e discussão final com peso de 20% na nota final da UC. A avaliação é feita com base no desempenho e contributo individual de cada elemento do grupo. Ou avaliação no final do semestre (1ª época), por projeto individual com 2 momentos de avaliação: - Relatório do projeto com peso de 45% na nota final da UC; - Apresentação e discussão do trabalho com peso de 30% na nota final da UC. Em 2ª época, melhoria de nota ou época especial (nos termos do RGACC), avaliação por projeto individual, disponibilizado aos estudantes que o solicitarem: - Relatório do projeto com peso de 45% na nota final da UC; - Apresentação e Discussão do trabalho com peso de 30% na nota final da UC; Todas as épocas de avaliação contemplam uma componente de avaliação realizada na plataforma de eLearning ou via um teste escrito, com peso de 25% (5 valores em 20) na nota final da UC. Todas as componentes de avaliação, em todas as épocas de avaliação, têm nota mínima de 9,5 valores (em 20).

Carga Horária

Carga Horária de Contacto -

Trabalho Autónomo - 125.0

Carga Total -

Bibliografia

Principal

Secundária

Disciplinas de Execução