Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04606
Acrónimo :
SRSA
Ciclo :
2.º ciclo
Língua(s) de Ensino :
Português (pt)
Língua(s) amigável(eis) :

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
24.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
125.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2026/2027

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


CP1: Introdução à Segurança de Software e Aplicações CP2: Processos de Desenvolvimento de Software e Segurança (DevSecOps e Segurança em Pipelines CI/CD) CP3: Segurança de Aplicações Web CP4: Segurança de Aplicações Móveis CP5: Segurança de Aplicações na Nuvem e Nativas de Cloud (Contentores e Microsserviços) CP6: Segurança de Aplicações Empresariais e de Inteligência Artificial/LLM (Prompt Injection, Envenenamento de Dados) CP7: Segurança da Cadeia de Abastecimento de Software (SBOM e Dependências Open Source) CP8: Teste e Avaliação de Segurança de Software CP9: Manutenção de Software Seguro e Resiliente, Gestão de Correções e Resposta a Incidentes CP10: 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 unit's content dovetails with the specified learning outcomes


Cada conteúdo programático contribui, de forma explícita, para pelo menos um objetivo de aprendizagem. O CP1 introduz a segurança de software e aplicações, capacitando para a identificação e análise de vulnerabilidades, ameaças e riscos (OA1), objetivo para o qual também concorre o CP7, ao abordar a segurança da cadeia de abastecimento de software e das dependências open source. O CP2, centrado nos processos de desenvolvimento seguro (DevSecOps, CI/CD), suporta a aplicação de práticas de codificação segura ao longo do SDLC (OA2). Os CP3, CP4, CP5 e CP6 permitem avaliar e implementar medidas de segurança específicas para aplicações web, móveis, na nuvem e empresariais/IA (OA3). O CP8, dedicado ao teste e avaliação de segurança de software, responde ao OA4. Os CP9 e CP10, sobre a manutenção de software seguro e o ciclo de vida de desenvolvimento seguro e resiliente, asseguram a integração da segurança e resiliência no SDLC (OA5). Assim, todos os OA são cobertos pelos conteúdos definidos.

Avaliação / Assessment


Na primeira semana letiva, o estudante indica se pretende ser avaliado na Época 1, na modalidade avaliação periódica ou por exame. Avaliação ao longo do semestre (só disponível na Época 1): - Realização de 2 laboratórios individuais, cada um deles a contar com 25% para a nota final. - Realização de projeto final colaborativo (em grupo) com apresentação final. Este projeto terá uma entrega intermédia (PFEI) e uma entrega final (PFEF), cada uma a contar com 20%, e uma apresentação e discussão final (APF) a contar com 10%. NF = 0,25*LAB1+0,25*LAB2+0,2*PFEI+0,2*PFEF+0,1*APF (NF = Nota Final; LAB* = Laboratórios 1 e 2; PFEI = Projeto Final - Entrega Intermédia; PFEF = Projeto Final - Entrega Final; APF = Apresentação Final) Avaliação por exame (Época 1 em caso de escolha do estudante, Época 2 e Época Especial): Exame presencial (100% da nota final) Nota: Não obstante o disposto na avaliação, o docente reserva o direito de poder solicitar ao aluno ou grupo uma avaliação oral com o objetivo de validar os conhecimentos demonstrados nos trabalhos.

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

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 Harwood, M., & Price, R., Internet and Web Application Security, 2022, (3rd edition). Jones & Bartlett Learning

Data da última atualização / Last Update Date


2026-07-29