Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04606
Acrónimo :
SRSA
Ciclo :
2.º ciclo
Línguas 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


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