Disciplina Curricular
Segurança de Software SSoft
Mestrado Bolonha em Engenharia Informática - 3_MEI 2012/13
Contextos
Grupo: 3_MEI 2012/13 > 2º Ciclo > Parte Escolar > Ramos > Arquitetura, Sistemas e Redes de Computadores > Optativas > 748_1º Ano do Mestrado em Eng. Inf. - GO (ASRC) > 1º Semestre
Período:
Grupo: 3_MEI 2012/13 > 2º Ciclo > Parte Escolar > Ramos > Sistemas de Informação > Optativas > 751_1º Ano do Mestrado em Eng. Inf. - GO (SI) > 1º Semestre
Período:
Grupo: 3_MEI 2012/13 > 2º Ciclo > Parte Escolar > Ramos > Interação e Conhecimento > Optativas > 750_1º Ano do Mestrado em Eng. Inf. - GO (IC) > 1º Semestre
Período:
Grupo: 3_MEI 2012/13 > 2º Ciclo > Parte Escolar > Ramos > Engenharia de Software > Optativas > 749_1º Ano de Mestrado em Eng. Inf. - GO (ES) > 1º Semestre
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