Saltar para:
Logótipo
Você está em: Início > CC4034
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Questões de Segurança em Engenharia de Software

Código: CC4034     Sigla: CC4034     Nível: 400

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2017/2018 - 1S Ícone do Moodle

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~edrdo/QSES1718
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Mestrado em Segurança Informática

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
M:SI 15 Plano de estudos a partir de 2014/2015 2 - 6 42 162

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

Saber identificar os problemas de segurança em sistemas de software e a importância da utilização de boas práticas genéricas e específicas de engenharia de software e de processos e ferramentas para a prevenção, deteção e mitigação desses problemas. 

Resultados de aprendizagem e competências

No final desta unidade curricular, pretende-se que os estudantes:

  1. Reconheçam os problemas mais importantes de segurança em sistemas baseados em software, respetivas causas e consequências, e reconheçam a importância da utilização de boas práticas de engenharia de software para a prevenção, deteção e mitigação desses problemas;
  2. Conheçam e sejam capazes de aplicar boas práticas genéricas e específicas para o desenvolvimento de sistemas de software seguros nas diversas fases do ciclo de vida do software - captura de requisitos, arquitetura e desenho, implementação, verificação e validação, distribuição, instalação e manutenção;
  3. Conheçam e sejam capazes de usar processos e ferramentas de engenharia de software especialmente direcionados para questões de segurança.

Modo de trabalho

Presencial

Programa

- Engenharia de software e requisitos de segurança. Modelação de ameaças e análise de risco, exemplos de aproximações (modelos STRIDE e DREAD). Problemas e princípios gerais na concepção de software seguro. Tarefas orientadas à segurança no processos de desenvolvimento de software.

- Validação de input, fontes de input, exemplos de vulnerabilidades a input malicioso. "Trust boundaries" e "chokepoints". Validações sintáticas e semânticas. Técnicas de validação de input.

- Vulnerabilidades de software comuns e sua mitigação através de programação segura e outras técnicas: como injeção de código (SQL, comandos, etc), XSS, CSRF, "buffer overflows", condições de corrida em software concorrente.

- Metodologias de validação de software: static analysis, pen-testing, fuzz testing. Exemplos de ferramentas e técnicas. Aspectos de implementação. Potencial e limitações de cada uma das aproximações.

- Contacto prático com ferramentas orientadas ao desenvolvimento ou validação de software seguro em projectos e apresentações na aula.

 

Bibliografia Obrigatória

Jonh Viega e Gary McGraw; Building Secure Software: How to Avoid Security Problems the Right Way, Addison-Wesley, 2006. ISBN: 978-0201721522

Bibliografia Complementar

Paul Ammann and Jeff Offutt; Introduction to software Testing, 2nd edition, Cambridge University Press, 2016. ISBN: 978-1107172012
Michael Howard, David LeBlanc; Writing Secure Code, 2nd edition, Microsoft Press, 2004. ISBN: 978-0735617223
Brian Chess, Jacob West; Secure Programming with Static Analysis: Getting Software Security Right with Static Analysis, Addison-Wesley, 2007. ISBN: 978-0321424778

Métodos de ensino e atividades de aprendizagem

As aulas terão uma componente de exposição e discussão dos tópicos programáticos, e outra componente de r projetos de aplicação dos conceitos e técnicas e experimentação de ferramentas. Será reservada uma ou duas aulas para a apresentação de tópicos explorados pelos estudantes.

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Trabalho prático ou de projeto 50,00
Total: 100,00

Fórmula de cálculo da classificação final

- Trabalhos práticos  & apresentações (50%);

- Exame Final (50% da nota final)

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-09-25 às 16:56:29 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias