Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
Para frequentar esta unidade curricular é importante que o aluno tenha algum conhecimento sobre os processos de desenvolvimento de software e conheça alguma linguagem de programação.
Objetivos Gerais / Objectives
Na unidade curricular de Segurança e Resiliência de Software e Aplicações, os alunos terão a oportunidade de abordar o tema da segurança do software e das múltiplas aplicações nas organizações (diferentes tipologias das mesmas), relativamente aos diferentes processos de desenvolvimento e manutenção desse software e aplicações nas organizações, identificação dos principais problemas e riscos, e correção dos mesmos. O objetivo fundamental desta UC é que os alunos estejam preparados para reconhecer as ameaças a software e aplicações que possam afetar a segurança e resiliência das mesmas, e que possam identificar e implementar medidas para mitigar essas ameaças e garantir a sua resiliência a ataques.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1: Identificar e analisar vulnerabilidades e ameaças em software e aplicações utilizadas nas organizações, e compreender os riscos que representam para a segurança e resiliência. OA2: Aprender a aplicar práticas de codificação segura para desenvolver software, considerando diferentes metodologias de desenvolvimento e fases do ciclo de vida de desenvolvimento de software (SDLC). OA3: Avaliar e implementar medidas de segurança para mitigar vulnerabilidades e abordar riscos específicos para aplicações web, móveis, na nuvem e empresariais. OA4: Aprender a usar técnicas e ferramentas de teste de segurança para avaliar a segurança de software, incluindo análise dinâmica e estática, teste de penetração e revisão de código. OA5: Conhecer e aprender a integrar considerações de segurança e resiliência no ciclo de vida de desenvolvimento de software (SDLC), garantindo que o software é concebido, desenvolvidos e mantidos com enfoque na segurança e resiliência contra potenciais ataques e riscos.
Conteúdos Programáticos / Syllabus
PC1: Introdução à Segurança de Software e Aplicações PC2: Processos de Desenvolvimento de Software e Segurança PC3: Segurança de Aplicações Web PC4: Segurança de Aplicações Móveis PC5: Segurança de Aplicações na Nuvem PC6: Segurança de Aplicações Empresariais PC7: Teste e Avaliação de Segurança de Software PC8: Manutenção de Software Seguro e Resiliente e Gestão de Correções PC9: Resposta e Recuperação de Incidentes em Software e Aplicações PC10: Ciclo de Vida de Desenvolvimento de Software Seguro e Resiliente
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
As metodologias de ensino foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente, realizar vários problemas (laboratórios), aplicar conhecimentos teóricos e desenvolver competências de resolução de problemas e pensamento crítico. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas desenvolvidas. Esta abordagem permitirá que os estudantes estabeleçam conexões entre os conhecimentos teóricos e práticos, melhorando a compreensão e a aplicação dos conceitos aprendidos. Como estratégia de motivação, a unidade curricular incluirá a gamificação ao longo do semestre, onde serão atribuídos pontos à medida que as diferentes tarefas propostas aos alunos forem sendo concluídas com sucesso.
Avaliação / Assessment
A UC de Segurança e Resiliência de Software e Aplicações adotará como metodologia de ensino e aprendizagem central a Aprendizagem Baseada em Problemas combinada com Aprendizagem Baseada em Projetos. A gamificação será utilizada como estratégia de motivação e envolvimento dos estudantes. Esta abordagem pedagógica está articulada com o modelo pedagógico do Iscte porque o estudante é considerado um agente ativo no seu processo de aprendizagem, o conhecimento é trabalhado como uma ferramenta para a construção e desenvolvimento de mais conhecimento e aplicado em diversos contextos.
Metodologias de Ensino / Teaching methodologies
A UC de Segurança e Resiliência de Software e Aplicações adotará como metodologia de ensino e aprendizagem central a Aprendizagem Baseada em Problemas combinada com Aprendizagem Baseada em Projetos. A gamificação será utilizada como estratégia de motivação e envolvimento dos estudantes. Esta abordagem pedagógica está articulada com o modelo pedagógico do Iscte porque o estudante é considerado um agente ativo no seu processo de aprendizagem, o conhecimento é trabalhado como uma ferramenta para a construção e desenvolvimento de mais conhecimento e aplicado em diversos contextos.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
As metodologias de ensino foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente ao longo da UC que lhes permitirá, numa primeira fase compreender os diferentes desafions de segurança e de resiliência do software e aplicações, assim como ganhar a consciência das principais ameaças e riscos, em diferentes tipologias de aplicações e software. Irão ainda aplicar conhecimentos teóricos e desenvolver competências que permitem desenvolver capacidades de resiliência e cibersegurança em software e aplicações e aprender a mitigar ameaças. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas que forem sendo realizadas pelos alunos. Os estudantes irão ainda realizar trabalhos e laboratórios específicos relacionados com os diferentes temas que serão abordados na unidade curricular. No projeto final os estudantes terão acesso a todos os detalhes do trabalho a realizar, assim como as ferramentas que devem ser usadas e os detalhes dos principais resultados a obter. Esta abordagem permitirá que os estudantes estabeleçam conexões entre os conhecimentos teóricos e práticos, permitindo-lhes avaliar os problemas de segurança de aplicações e software e perceber como os mesmos afetam a cibersegurança e ciber-resiliência. Como estratégia de motivação, a unidade curricular incluirá a gamificação ao longo do semestre, onde serão atribuídos pontos aos estudantes à medida que as diferentes atividades forem concluídas com sucesso, garantindo o seu envolvimento ao longo da UC.
Observações / Observations
--
Bibliografia Principal / Main Bibliography
Markow M. (2023), Secure, Resilient, and Agile Software Development, 2023, Auerbach Publications. ISBN: 978-1032475011 Schagaev, I., Zouev, E., & Thomas, K. (2019), Software Design for Resilient Computer Systems, 2019, (2nd edition). Springer (1st edition). Addison-Wesley Professional, Cyber Security Engineering: A Practical Approach for Systems and Software Assurance, 2016, Mead, N. R., & Woody, C. (2016) (1st edition). Addison-Wesley Professional, Software Security: Building Security In, 2006, McGraw, G. (2006) Kohnfelder, L., Designing Secure Software: A Guide for Developers, 2021, No Starch Press Howard, M., LeBlanc, D., & Viega, J., 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them, 2009, (1st edition). McGraw Hill Hoffman, A., Web Application Security: Exploitation and Countermeasures for Modern Web Applications, 2020, (1st edition). O’Reilly Media Harwood, M., & Price, R., Internet and Web Application Security, 2022, (3rd edition). Jones & Bartlett Learning
Bibliografia Secundária / Secondary Bibliography
Hughes C., Turner T., Springett S., Friedman A., Software Transparency: Supply Chain Security in an Era of a Software-Driven Society, 2023, Wiley. ISBN: 978-1394158485 Shortridge K., Rinehart A., Security Chaos Engineering: Sustaining Resilience in Software and Systems, 2023, O'Reilly Media. ISBN: 978-1098113827 Stuttard, D., & Pinto, M., The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws, 2011, (2nd edition). Wiley Wyk, K. R. V., Graff, M. G., Peters, D. S., & Ph.D, D. L. B., Enterprise Software Security: A Confluence of Disciplines, 2014, (1st edition). AddisonWesley Professional Merkow, M. S., & Raghavan, L., Secure and Resilient Software: Requirements, Test Cases, and Testing Methods, 2012, (1st edition). Auerbach Publications
Data da última atualização / Last Update Date
2024-02-16