Segurança de Redes e Sistemas de Computadores

Objetivos

Conhecimentos

  • Conhecer os conceitos de segurança e usar a terminologia correta na área da segurança de sistemas e redes de computadores e de normas para mecanismos e serviços de segurança para a Internet, a partir de bases documentais relevantes associadas a frameworks de segurança e sua normalização. 
  • Conhecer as contramedidas de segurança em sistemas e redes de computadores aos diversos níveis da proteção das comunicações, dos dados, computações e recursos computacionais
  • Estudar os serviços e mecanismos de segurança para conceção e operação segura de sistemas distribuídos, bem como as normas e serviços de segurança para redes TCP/IP e comunicações suportadas na Internet.
  • Conhecer e consolidar conhecimentos sobre criptografia aplicada, com análise das propriedades e garantias formais de segurança de diferentes algoritmos e métodos criptográficos, bem como das garantias para utilização e operação segura dessas ferramentas.
  • Conhecer as soluções de defesas de perímetro de redes e sistemas, tendo em vista a prevenção, deteção ou recuperação de intrusões
  • Conhecer os serviços e mecanismos de segurança ao nível do sistema de operação e proteção dos recursos de sistemas de computadores.
  • Conhecer os fundamentos das soluções de segurança da virtualização a diferentes níveis, bem como de soluções e mecanismos de contenção e isolamento seguro para execução de componentes críticos de software.
  • Conhecer os princípios e fundamentos de soluções para suporte de computação confiável e confidencial.
  • Conhecer os princípios e fundamentos de soluções de preservação de privacidade de dados e seu processamento seguro.

Aptidões e competências

  • Saber usar meios e fermentas de avaliação e análise de vulnerabilidades em redes e sistemas
  • Adquirir competências para desenho, implementação e ensaio experimental de protocolos e serviços de segurança para redes de computadores e para suporte de canais de comunicação segura em sistemas distribuídos e suas aplicações.
  • Adquirir conhecimentos para programação correrta e segura envolvendo métodos, ferramentas, algoritmos e construções baseadas em algoritmos e métodos criptográficos.
  • Saber como implementar diferentes propriedades de segurança para sistemas distribuídos e aplicações Internet bem como conceber mecanismos para garantias de diferentes propriedades de segurança, numa visão extremo-a-extremo.
  • Saber inspecionar, auditar e analisar a conformidade e monitorar a operação de protocolos de segurança na pilha TCP/IP e as garantias de segurança no acesso a serviços ou aplicações expostas na Internet.
  • Adquirir competência para gestão e utilização prática dos mecanismos de proteção de recursos ao nível do sistema de operação e utilização de soluções seguras para virtualização de sistemas e componentes de aplicações.
  • Saber como usar meios para proteção de componentes de software com recurso a tecnologias de isolamento e confinamento ao nível de softwrae, hardware e em ambientes de execução confiável
  • Adquirir prática de desenho e implementação de soluções de segurança para proteção do armazenamento de dados ou de armazenamento seguro de dados na nuvem.
  • Adquirir inicialmente valências práticas para implementar garantias para preservação de privacidade de comunicações na Internet, bem como para privacidade de dados e seu processamento.

Caracterização geral

Código

11619

Créditos

6.0

Professor responsável

Henrique João Lopes Domingos

Horas

Semanais - 4

Totais - 52

Idioma de ensino

Português

Pré-requisitos

Conhecimentos previamente adquiridos sobre redes de computadores, protocolos da pilha TCP/IP, sistemas distribuídos, fundamentos de sistemas de operação. São também requisitos boa prática e autonomia de programação em sistemas distribuídos, redes de computadores, nomeadamente:

  • Redes de computadores e conhecimento sobre protocolos da pilha TCP/IP e sua operação na Internet
  • Sistemas distribuídos: fundamentos, modelos e paradigmas
  • Conhecimentos de programação de aplicações para sistemas distribuídos e para ambiente Internet
  • Sistemas operativos e conhecimentos de gestão de recursos ao nível do sistema operativo bem como do ambiente Shell e ferramentas em linha de comando
  • Prática anterior e autonomia no uso de ferramentas, linguagens de programação (ex. Python, Java, C# or C++), desenvolvimento e teste em ambiente Shell (consolas no sistema operativo), conhecimento e prática inicial com tecnologias e diferentes ferramentas ou soluções de virtualização (ex., Docker, VMs) e utilização de ferramentas e ambientes de desenvolvimento de software (ex., Eclipse, IntelliJ, XCode or VStudio)

Bibliografia

W. Stallings, Network Security Essentials - Applications and Services, Pearson, 6/E, 2021

W. Stallings, L. Brown, Computer Security: Principles and Practice, Pearson, 4/E, 2021

W. Stallings, Cryptography and Network Security - Principles and Practice, Pearson 8/E, 2023

P.C.Van Oorschot, Computer Security and the Internet, Springer, 2/E, 2021

Obs) Sugestão de leituras complementares de artigos seleccionados de revistas e/ou conferências científicas relevantes serão indicados nas aulas

Método de ensino

Dependendo da audiência e alunos inscritos, algumas as aulas podem também ser lecionadas em língua inglesa. Os materiais e bibliografia são disponibilizados em língua inglesa.

As aulas teóricas têm coo objetivo a explicação, análise e discussão dos diversos tópicos do programa da unidade curricular. O método de ensino parte da disponibilização inicial de materiais e referências bibliográficas permitindo a sua leitar prévia pelos alunos, consistindo a aula na apresentação, explicação, clarificação de dúvidas das leituras para cada tópico, em articulação com a motivação bem como de identificação de problemas e soluções relacionadas com cada tópico abordado . Durante as aulas fomenta-se a discussão e análise crítica sobre vantagens, limitações, restrições ou alternativas de diferentes soluções apresentadas para os problemas identificados. De forma complementar são ainda utilizados exemplos e demonstrações rápidas para uma aproximação imediata a soluções práticas ou ferramentas associadas aos tópicos apresentados.

As aulas práticas são dedicadas a demonstrações e exemplificações em laboratório, bem como acompanhamento de exercícios e projetos de avaliação, possibilitando aos alunos a experiência de articulação teórico-prática e como os mecanismos, ferramentas, suportes de programação ou sistemas inicialmente apresentados em aula teórica podem ser aplicados na prática, na cobertura dos tópicos ao longo da disciplina.

os alunos têm à sua disposição horários adicionais pré-reservados de contacto com o docente (nu total de cerca de 28 a 30 horas no semstre).

Método de avaliação

Componentes de avaliação

Testes de frequência e exame de recurso

  • T1: 1º Teste presencial de frequência 
  • T2: 2º Teste presencial de frequência 
  • E: Exame presencial de recurso, no caso de não dispensa nem aprovação com frequência

Obs) O formato de cada um dos testes e do exame possui uma parte com consulta e uma parte sem consulta (em que penas podem ser usados elementos individuais de consulta impressos)

Componente prática

  • PI: Projeto inicial (ou Projeto 1)
    • Componente de trabalho em grupo com base nos requisitos e demonstradores (80 %)
    • Componente de desempenho individual na realização, incluindo observação da participação  em Labs e desenvolvimento do projeto (20%)
  • PF: Projeto final(ou Projeto 2)
    • Componente de trabalho em grupo com base nos requisitos e demonstradores e submissão/entrega do trabalho na data requerida (80 %)
    • Componente de desempenho individual na realização, incluindo observação da participação  em Labs, demonstração evolutiva e desenvolvimento do projeto (20%)

Observações adicionais sobre os trabalhos práticos.

O desenvolvimento dos trabalhos pode ser feito individualmente ou em grupo (de dois alunos). Para além da entrega dos traballhos e respetivos materiais nas datas previstas, a avaliação de trabalhos pressupõe demonstração que pode incluir discussão presencial. As componentes individualizadas indicadas serão avaliadas com base na participação e acompanhamento evolutivo de desenvolvimentos ou demostrações parciais em laboratório, bem como da contribuição individual dos alunos no grupo a avaliar conjuntamente. Os trabalhos podem incluir reporte de iplementação ou avaliação experimental (sintético e com formato pré-definido), demonstração de resultados de conformidade e correção, bem como dicussão escalonada em laboratório.

As demais informações e condições de entrega de projetos obem como os respetivos fatores de avaliação constarão dos respetivos enunciados.

Para além dos trabalhos obrigatórios poderão ser usados elementos opcionais de avaliação de desempenho e participação individul ativa nas atividades e exercícios opcionais desenvolvidos e concluídos nos Labs (práticas), sendo usados como elementos informativos e valorativos da avalição prática individual.


Regras de avaliação e critérios de aprovação 

Condições para obtenção de frequência e admissão a exame

  • Nota mínima maior ou igual a 7,5 em cada um dos componentes PI e PF
  • Nota de frequência: suficiente se PI maior ou igual a 7,5, PF maior ou igual a 7,5 e nota maior ou igual a 9,5 na pesagem dos dois componentes PI (40%) e PF (60%)

Condições de aprovação com frequência e dispensa de exame

  • Obtenção de frequência (acima)
  • Nota mínima maior ou igual a 7,5 em cada um dos componentes T1 e T2
  • Nota mínima maior ou igual a 9,5 pesando T1 (40%) e T2 (60%)
  • Nota final após frequência (NFF) mínima maior ou igual a 9,5 resultante da pesagem dos componentes TP, PF, T1 e T2 calculada da seguinte forma:
    • NFF = 20% PI + 25% PF + 25% T1 + 30% T2
    • Admissão a exame:
      • Exige obtenção de frequência e NFF menor do que 9,5

Condições de aprovação com exame

  • Obtenção de frequência (acima)
  • Nota mínima maior ou igual a 9,5 no exame final (E)
  • Nota final (NF) mínima maior ou igual a 9,5 calculada da seguinte forma:
    • NF = 20% PI + 25% P2 + 55% E

Observações complementares

  • Componentes de avaliação (PI, PF, T1, T2 ou E) serão cotados em escala de 0 a 20 valores e arredondadas às décimas
  • As avaliações finais são arredondadas às unidades

Conteúdo

Tópicos do programa

  • Introdução
  • Criptografia: fundamentos, métodos, algoritmos e técnicas 
  • Autenticação
  • Modelos e métodos de controlo de acessos
  • Proteção das comunicações: segurança das redes de comunicação e segurança na Internet
    • Estudo de protocolos de segurança para redes de computadores
    • Segurança na pilha TCP/IP
  • Segurança de sistemas
  • Computação confiável e computação confidencial

Cursos

Cursos onde a unidade curricular é leccionada: