Disciplina Curricular

Segurança de Software SSoft

Mestrado Bolonha em Informática - 2_MI 2012/13

Contextos

Grupo: 2_MI 2012/13 > 2º Ciclo > Parte Escolar > - > Optativas > 788_Mestrado em Informática - OSC

Período:

Grupo: 2_MI 2012/13 > 2º Ciclo > Parte Escolar > - > Optativas > 892_1º Sem do Mestrado em Informática

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

2023/2024 - 1 Semestre

2022/2023 - 1 Semestre

2021/2022 - 1 Semestre

2020/2021 - 1º semestre

2019/2020 - 1 Semestre

2018/2019 - 1 Semestre

2017/2018 - 1 Semestre

2016/2017 - 1 Semestre