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 eminentemente prática desta Unidade Curricular (UC), bem como a necessidade de avaliar a capacidade dos estudantes para aplicar os conhecimentos adquiridos na resolução de problemas no domínio do Desenvolvimento Seguro de Software, justificam a adoção do seguinte modelo de avaliação. A avaliação poderá ser realizada através de uma das seguintes modalidades: 1) Avaliação ao longo do semestre A avaliação contínua pressupõe uma assiduidade mínima correspondente a 50% das aulas lecionadas e integra três momentos de avaliação, compostos por exercícios práticos, projetos individuais e trabalhos em grupo, distribuídos da seguinte forma: Apresentação intermédia do progresso do projeto, com ponderação de 20% na classificação final da UC; Entrega dos artefactos produzidos e do relatório final do projeto, com ponderação de 50% na classificação final da UC; Apresentação final do projeto, com ponderação de 10%, e respetiva discussão, com ponderação de 20% na classificação final da UC. A avaliação incide no desempenho e no contributo individual de cada estudante no desenvolvimento das atividades propostas. 2) Avaliação por exame: Os estudantes que optem por esta modalidade, bem como aqueles que não obtenham aprovação na avaliação continua ao longo do semestre, serão avaliados através de exame escrito final (100%), a realizar na 1.ª época, 2.ª época ou época especial. A aprovação na UC exige a obtenção de uma classificação mínima de 9,5 valores no exame final. Todas as componentes de avaliação, em qualquer época de avaliação, requerem a classificação mínima de 9,5 valores, numa escala de 0 a 20 valores. Sugere-se que os estudantes possuam conhecimentos prévios nas áreas de programação e redes de computadores, considerados relevantes para o adequado acompanhamento dos conteúdos e atividades desenvolvidos no âmbito desta Unidade Curricular. 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
- - Cryptography and network security: principles and practice, Stallings, William. Edição: 6th ed. Harlow, Pearson Education, 2014. 751 p. : il., fig., tab. ; 23 cm ISBN: 9780273793359. - Jarmul, K. (2023). Practical Data Privacy. O'Reilly Media, Inc. ISBN: 9781098129460. - Distributed systems: principles and paradigms / Andrew S. Tanenbaum, Maarten van Steen. Edição: 2nd ed Publicação: Harlow : Pearson, 2014. 633 p. : il., fig., graf. ; 28 cm. ISBN: 9781292025520:
Secundária
- - NOETZOLD, Darlan; LEITHARDT, Valderi. Fundamentos, Avanços Recentes e Desafios com Algoritmos Criptográficos: Criptografia Clássica, Quântica e Pós Quântica: Uma análise aprofundada para uso em aplicações do mundo real. [S.l.]: KS OmniScriptum Publishing, 2026. ISBN 9786209263446. - Benjamin C. M. Fung, Ke Wang, Ada Wai-Chee Fu, and Philip S. Yu; Introduction to Privacy-Preserving Data Publishing Concepts and Techniques, Chapman & Hall/CRC, 2011 https://dl.acm.org/doi/10.5555/1855031 - Fábio Pereira, Paul Crocker, Valderi R.Q. Leithardt, PADRES: Tool for PrivAcy, Data REgulation and Security, SoftwareX, Volume 17, 2022, 100895, ISSN 2352-7110, https://doi.org/10.1016/j.softx.2021.100895. - Warren, Samuel; Brandeis, Louis (December 15, 1890). ""The Right to Privacy"". Harvard Law Review. IV (5): 193–220. Retrieved 4 June 2021 – via Internet Archive. Disponível em: https://groups.csail.mit.edu/mac/classes/6.805/articles/privacy/Privacy_brand_warr2.html: