ISLA IPGT 25033
Segurança no Software
-
ApresentaçãoPresentationA Unidade Curricular de "Segurança no Software" oferece uma abordagem abrangente e prática para compreender e implementar medidas de segurança eficazes em sistemas de software. Dentro do contexto da Pós-Graduação em Cibersegurança, esta disciplina desempenha um papel fundamental ao fornecer aos alunos as habilidades e conhecimentos necessários para identificar, avaliar e mitigar vulnerabilidades em aplicações de software. Ao abordar conceitos-chave, metodologias, melhores práticas e ferramentas de segurança, a UC prepara os estudantes para enfrentar os desafios emergentes no campo da segurança cibernética. Através da análise de casos de estudo e da realização de projetos práticos, os alunos adquirem uma compreensão sólida das ameaças atuais e desenvolvem habilidades para proteger sistemas contra ataques cibernéticos.
-
ProgramaProgrammeIntrodução à Segurança no Software Conceitos básicos de cibersegurança Importância da segurança no desenvolvimento de software Ameaças e Vulnerabilidades em Software Tipos comuns de ataques cibernéticos Identificação e caracterização de vulnerabilidades Metodologias e boas práticas em Segurança de Software Integração de segurança no ciclo de vida do desenvolvimento de software Práticas de codificação segura e prevenção de vulnerabilidades Ferramentas de análise de segurança Utilização de ferramentas de análise estática e dinâmica de código Autenticação e gestão de sessão Métodos de autenticação Implementação de gestão de sessão segura em aplicações web Autorização e controlo de acesso Princípios de autorização e controlo de acesso Implementação de mecanismos de autorização em sistemas de software Encriptação e Proteção de Dados Conceitos de criptografia simétrica e assimétrica Aplicação de criptografia para proteção de dados em repouso e em trânsito
-
ObjectivosObjectivesDesenvolver um entendimento sólido dos princípios fundamentais da segurança no software. Adquirir conhecimento sobre as diferentes ameaças e vulnerabilidades que afetam aplicações de software. Dominar metodologias e boas práticas para integrar segurança ao longo do ciclo de vida do desenvolvimento de software. Aprender a identificar, avaliar e mitigar vulnerabilidades de segurança em aplicações de software. Desenvolver habilidades práticas para implementar medidas de segurança eficazes em projetos de software. Capacitar os alunos para aplicar técnicas de análise estática e dinâmica de código para identificar possíveis vulnerabilidades. Fomentar a capacidade de compreender e aplicar os conceitos de autenticação, autorização e gestão de sessões em ambientes de software. Promover uma cultura de segurança cibernética, incentivando a responsabilidade e a ética no desenvolvimento de software.
-
BibliografiaBibliographyViega, J., & McGraw, G. (2019). Building Secure Software: How to Avoid Security Problems the Right Way (2nd ed.). ISBN: 9780321774958 Howard, M., & LeBlanc, D. (2017). Writing Secure Code (2nd ed.). ISBN: 9780735617223 McGraw, G. (2015). Software Security: Building Security In. ISBN: 9780321356703
-
MetodologiaMethodologyAprendizagem ativa Utilização de estudos de caso, projetos práticos e atividades em grupo para promover a participação ativa dos estudantes no processo de aprendizagem Simulações de ataques cibernéticos Realização de simulações de ataques cibernéticos para que os estudantes possam aplicar os conhecimentos teóricos na resolução de problemas de segurança de software Hands-On com ferramentas de última geração Uso de plataformas de análise de código estático e dinâmico para proporcionar uma experiência prática e preparar os estudantes para os desafios reais da cibersegurança Abordagens colaborativas e participativas Estímulo à colaboração entre os estudantes, incentivando a partilha de conhecimentos, o debate de ideias e a colaboração em projetos de equipa Desenvolvimento de habilidades práticas Foco no desenvolvimento de habilidades práticas, como resolução de problemas, pensamento crítico e trabalho em equipa, além da simples transmissão de informação
-
LínguaLanguagePortuguês
-
TipoTypeAnual
-
ECTS2
-
NaturezaNatureObrigatório
-
EstágioInternshipNão
-
AvaliaçãoEvaluation
A avaliação desta Unidade Curricular será realizada através de um trabalho prático, que pode ser realizado individualmente ou em grupo.
O trabalho terá como resultado final a produção de um relatório escrito detalhado, onde os estudantes deverão apresentar os resultados das suas investigações, análises e conclusões relacionadas com a segurança no software.
Além do relatório escrito, os alunos serão também avaliados com base na apresentação do trabalho em aula. Durante a apresentação, os estudantes terão a oportunidade de explicar o processo seguido e destacar os principais pontos e conclusões do trabalho.
Os parâmetros de avaliação para o trabalho prático e a apresentação em aula incluirão critérios como:
- Qualidade e profundidade da análise:
- Avaliação da capacidade dos alunos em realizar uma análise detalhada e abrangente sobre o tema proposto, incluindo identificação e compreensão de conceitos-chave e potenciais vulnerabilidades.
- Originalidade e criatividade:
- Reconhecimento da originalidade e criatividade demonstradas na abordagem do problema proposto, bem como na apresentação de soluções e recomendações.
- Clareza e coerência na apresentação:
- Avaliação da organização e estrutura do relatório escrito e da apresentação em aula, incluindo clareza na comunicação, coerência na argumentação e uso adequado de recursos visuais.
- Precisão técnica:
- Verificação da precisão técnica das informações apresentadas, incluindo a utilização correta de terminologia e conceitos relacionados com a segurança no software.
Descrição
Data limite
Ponderação
Trabalho prático
27-04-2026
100%
Listam-se abaixo algumas sugestões de temas a abordar no projeto prático, sem prejuízo de serem aceites outros temas que se enquadrem no âmbito dos conteúdos lecionados na UC (desde que validados previamente com o docente):
- Relatório de pesquisa sobre tendências atuais em Segurança de Software
- Descrição: Realização de uma pesquisa sobre as tendências atuais e emergentes na segurança de software, como novas vulnerabilidades, técnicas de ataque, ou ferramentas de segurança.
- Objetivos: Manter-se atualizado com as últimas descobertas e práticas na área de segurança de software.
- Estudo de caso e análise de incidentes de segurança reais
- Descrição: Escolher e analisar um incidente de segurança de software real, focando nas causas, impacto, e medidas de resposta.
- Objetivos: Compreender as consequências de falhas de segurança e aprender com erros do mundo real.
- Desenvolvimento de uma aplicação web segura
- Descrição: Desenvolver uma aplicação web simples (como um blog ou um fórum) com foco na segurança. A UI/UX da aplicação são será um fator de avaliação.
- Objetivos: Implementar autenticação e autorização seguras, proteger contra ataques comuns (como SQL Injection e XSS), e garantir a segurança através dos conteúdos lecionados na UC.
- Qualidade e profundidade da análise:


