Disciplina Curricular

Segurança de Software SSoft

Mestrado Bolonha em Engenharia Informática - 4_MEI 2020/21

Contextos

Grupo: 4_MEI 2020/21 > 2º Ciclo > Parte Escolar > 721 - MEI Grupo Opcional Geral

Período:

Grupo: 4_MEI 2020/21 > 2º Ciclo > Parte Escolar > Agrupamento Curricular de Especialização > Sistemas Móveis e Ubíquos > 702 - Sistemas Móveis e Ubíquos - Livres

Período:

Grupo: 4_MEI 2020/21 > 2º Ciclo > Parte Escolar > Agrupamento Curricular de Especialização > Segurança Informática > 706 - Segurança Informática - Livres

Período:

Grupo: 4_MEI 2020/21 > 2º Ciclo > Parte Escolar > Agrupamento Curricular de Especialização > Segurança Informática > 705 - Segurança Informática - Nucleares

Período:

Peso

6.0 (para cálculo da média)

Objectivos

O número de ataques informáticos registados nos últimos anos tem tido um crescimento aproximadamente exponencial. Sob o ponto de vista da integridade dos sistemas e da confidencialidade dos dados, a segurança do computador é uma das áreas que merece maior atenção, sendo importante se atingir o objetivo (ainda que difícil) da construção de software sem vulnerabilidades. Por exemplo, a comunicação de algumas aplicações de comércio eletrónico ou home banking é eficazmente protegida pelo protocolo TLS, enquanto as máquinas dos clientes são atacadas por worms que roubam as passwords de acesso. O tema desta cadeira é a segurança da máquina, nomeadamente do seu software, por contraposição à segurança da comunicação/rede. A cadeira pretende abordar os principais temas necessários para compreender e lidar com o problema, incluindo também a discussão de alguns tópicos mais avançados que se encontram atualmente no domínio da investigação.

Programa

Componente Teórica - Segurança e o processo de desenvolvimento de software - Mecanismos de proteção em sistemas operativos convencionais - Estudo exaustivo de várias classes de vulnerabilidades, incluindo > Buffer overflows, format strings, integer overflows > Validação de input (SO, Web e BDs) > Condições de corrida > Erros específicos nas aplicações Web e Bases de Dados - Mecanismos para a descoberta automática de vulnerabilidades, como o fuzzing, injeção de ataques e a análise estática - Auditoria de segurança de software Componente Teórico-prática - Aulas hands-on sobre os seguintes temas: - Buffer overflows - Format strings - Validação de input e outros erros nas applicações da Web e BDs - Condições de corrida - Testes de segurança (Fuzzing e Análise estática)

Métodos de ensino e avaliação

As aulas estão organizadas em aulas teóricas, aulas teórico-práticas e laboratórios. * Aulas teóricas: exposição dos temas do curso; * Sessões teórico-práticas: exposição de material com mais detalhes (por exemplo, interfaces ou pacotes internos), e permitir um conhecimento mais profundo e prático sobre esses temas; * Sessões de laboratório: têm por objetivo permitir ao aluno trabalhar nos mini-projetos e no projeto. Avaliação: 10% - Apresentação e discussão de um artigo técnico relacionado; 5% - Através de um conjunto de mini-projetos nas aulas teórico-práticas; 30% - um projeto e a apreciação e discussão individual dos resultados obtidos; 55% - Exame final

Disciplinas Execução

2024/2025 - 1 Semestre

2023/2024 - 1 Semestre

2022/2023 - 1 Semestre

2021/2022 - 1 Semestre

2020/2021 - 1º semestre