Saltar para:
Logótipo
Você está em: Início > CC4078
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

Segurança em Engenharia de Software

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

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

Ocorrência: 2021/2022 - 2S Ícone do Moodle Ícone  do Teams

Ativa? Sim
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 29 Plano Oficial a partir de 2020/2021 1 - 6 42 162
Mais informaçõesA ficha foi alterada no dia 2021-08-31.

Campos alterados: Obtenção de frequência, Fórmula de cálculo da classificação final

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

A unidade curricular dá uma introdução à engenharia de software seguro. Os alunos aprendem como usar  princípios, técnicas e ferramentas fundamentais para a concepção software seguro, a fim de evitar / detectar / corrigir algumas das classes mais comuns de vulnerabilidades de segurança em software. Estes conhecimentos são exercitados através de trabalhos laboratoriais e práticos.

Resultados de aprendizagem e competências

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

  1. Entendam o ciclo de desenvolvimento de software do ponto de vista da segurança em termos de princípios gerais e processos concretos nos várias estágios de desenvolvimento.
  2. Sejam capazes na prática de aplicar/usar metodologias/ferramentas concretas no desenvolvimento de software seguro por forma a prevenir/detectar/mitigar vulnerabilidades de segurança comuns.

Modo de trabalho

Presencial

Programa

Segurança & engenharia software

  • Requisitos de segurança.
  • Modelação de ameaças e análise de risco.
  • Princípios & falácias na concepção de software seguro.
  • "Touchpoints" de segurança no ciclo de desenvolvimento de software

"Building security in" -- técnicas e ferramentas para desenvolvimento de software seguro, incluindo:

  • Validação de "input".
  • Idiomas de programação segura.
  • Auditoria de código usando ferramentas de análise estática.
  • Testes de software orientados à segurança.

 

Análise e prevenção de de vulnerabilidades comuns em software, incluindo:

  • Injeção (comandos, código, SQL, etc).
  • "Buffer overflows".
  • Vulnerabilidades específicas a aplicações Web (XSS, CSRF, etc).
  • Fluxos e fuga de informação.
  • Vulnerabilidades específicas a sistemas concorrentes.



 

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
William Stallings, Lawrie Brown; Computer Security: Principles and Practice, 4th Edition, Pearson, 2018. ISBN: 978-1292220611 (https://catalogo.up.pt/F/?func=direct&doc_number=000538196)

Bibliografia Complementar

Miguel Pupo Correia e Paulo Jorge Sousa; Segurança no Software, 2ª edição, FCA, 2017. ISBN: 978-972-722-662-7
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
Gary McGraw; Software Security, Building Security In , Addison Wesley, 2006. ISBN: 9780321356703
Wenliang Du; Computer & Internet Security: A Hands-on Approach, Second Edition, 2019. ISBN: 978-1733003902

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 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 30,00
Trabalho laboratorial 20,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 60,00
Frequência das aulas 42,00
Estudo autónomo 60,00
Total: 162,00

Obtenção de frequência

Entrega de todos os trabalhos e exame final.

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

- Exame Final (50 % da nota final)
- Trabalhos práticos (30 % da nota final)
- Trabalhos laboratoriais (20 % da nota final)

Para aprovação é necessário um mínimo de 40% no exame final.

 

Melhoria de classificação

- A classificação do exame pode ser melhorada em exame de recurso.

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-10-06 às 09:28:35 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias