Segurança de Redes e Sistemas de Computadores
Objetivos
Conhecimentos
- Frameworks de segurança, normalização de serviços de segurança e modelos de segurança para sistemas e redes de computadores
- Métodos, ferramentas e algoritmos criptográficos e sua utilização na concepção de serviços e protocolos de segurança para redes, sistemas de computadores e sistemas de software
- Protocolos e serviços de segurança na pilha TCP/IP e segurança de aplicações na Internet
- Segurança do Sistema de Operação
- Bases de computação confiável e ambientes seguros de execução e segurança de código executável
Aptidões e competências
- Desenho, implementação e ensaio experimental de protocolos e serviços de segurança para redes de computadores e sistemas distribuídos.
- Implementação de propriedades de segurança para sistemas distribuídos e aplicações Internet
- Proteção de recursos ao nível do Sistema de Operação
- Desenho e implementação de soluções de segurança para bases de dados e sistemas de armazenamento remoto de dados críticos ou com suporte a privacidade de dados
- Desenho e implementação de soluções de segurança de software com recurso a bases de computação confiável ao nível de serviçso middleware de sistemas distribuídos, sistema de operação bem como de ambientes de execução segura ao nível de soluções firmware e hardware
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
Os alunos devem possuir conhecimentos anteriores sobre:
- Fundamentos de redes de computadores e conhecimento anterior spbre protocolos da pilha TCP/IP e programação de aplicações suportadas em redes TCP/IP-
- Fundamentos, paradigmas e prática de programação em Sistemas Distribuídos, com domínio e autonomia de ambientes de programação, programação distribuída e debugging em Java
- Fundamentos de Sistemas Operativos
É importante que os alunos possuam autonomia e conhecimento prático no uso de ferramentas de desenvolvimento de software (ex., Eclipse IDE ou outro e desenvolvimentos de projetos Java e Maven), prática de utilização de sistemas de operação (ex., Linux ou Mac OS X ou Windows), conhecimentos, instalação e utilização de ambientes de virtualização envolvendo o uso de máquinas virtuais (ex., VBox ou VMWare) ou ambientes de isolamento de aplicações e componentes (ex., Docker, Docker-Composing). A prática de utilização e programação em ambiente Shell/Linux ou OS X é também recomendada. Os alunos devem possuir experiência anterior de programação e autonomia no uso de linguagens de programação (ex., Java, C# ou C++). O desenvolvimento de trabalhos práticos irá requerer prática de programação para redes TCP/IP e Internet e aplicações distribuídas, como por exemplo: programação com Sockets TCP/IP, RMI, programação REST e desenvolvimento de serviços WEB.
Bibliografia
- W. Stallings, L. Brown, Computer Security: Principles and Practice, Pearson 8/E, 2020
- W. Stallings, Network Security Essentials - Applications and Services, Pearson, 6/E, 2017
Ref. complementares
- W. Stallings, Cryptography and Network Security - Principles and Practice, Pearson 8/E, 2020
- P. C. van Oorschot, Computer Security and the Internet, Springer, 2020
- D. Gollmann, Computer Security, 3rd Ed, Wiley, 2011
- B. Schneier, Applied Cryptography, 1996, Wiley
- A. Zúquete, Segurança em Redes Informáticas, 5ª Ed., 2018, Ed. FCA
- M. Correia, P. Sousa, Segurança no Softwarem 2ª Ed. , 2017 Ed. FCA
Método de ensino
O funcionamento da unidade curricular envolve aulas teóricas, onde são transmitidos e discutidos os conceitos fundamentais e são discutidos os tópicos do programa e aulas práticas, desenvolvidas em ambiente laboratorial e onde os alunos realizam trabalhos práticos que incluem os trabalhos de avaliação obrigatória.
Nas aulas práticas são feitas apresentações de técnicas de segurança, podendo envolver demonstrações dessas técnicas (de acordo com o programa das aulas práticas) e realizados exercícios básicos relacionados com essas técnicas. Algumas aulas práticas serão dedicadas aos trabalhos práticos de avaliação a realizar pelos alunos, incluindo o esclarecimento de dúvidas, apresentação ou demonstração de resultados bem como discussão de possíveis soluções.
Componentes de avaliação
- 2 testes de frequência cobrindo a matéria do programa: T1, T2
- Duração de referência (2h30):
- 1h-1h30m: questões sem consulta
- 1h-1h30m: questões com consulta (informação individual impressa), poendo incluir questões práticas decorrentes de exercícios em laboratório ou relativas à realização de trabalhos práticos de avaliação
- 2 trabalhos práticos: TP1, TP2 desenvolvidos como mini projetos
- Trabalhos podem ser desenvolvidos individualmente ou em grupo (máximo 2 alunos)
- Para a avaliação ser feita em grupo, será necessária presença regular dos membros do grupo em pelo menos 65% das aulas
- A avaliação dos trabalhos (por ter uma componenet individual) será individualizada
- A submissão de trabalhos para avaliação desenvolvimento, prova de implementação, autoavaliação e reporte
Regras de aprovação1
Obs) As regras abaixo são iniciais e de referência. Estas regras podem ser alteradas pontualmente em função de orientações ou alterações decorrentes da situação pandémica (Covid-19)
- Obtenção de frequência (AF)
- Avaliação de frequência AF = 40% (TP1) + 60% (TP2)
- Obtenção de frequência (AF): AF maior ou igual a 9,5/20 e média das frequências maior ou igual a 9,5/20
- Aprovação com frequência (AC)
- Obtenção de Frequência
- Avaliação Contínua AC = 35% AF + 30% (T1) + 35% (T2)
- Aprovação com avaliação contínua (AC): AC maior ou igual a 9.5/20
- Aprovação com exame de recurso (ER)
- Obtenção de frequência
- Avaliação com Exame de Recurso AER = 40% AF + 60% ER
- Condições de Aprovação com Exame de Recurso (AER): AER maior ou igual a 9,5/20
1) Alunos com frequência e acesso ao exame obtidos em 2018/2019, poderão usar a avaliação de frequência já obtida para efeitos de acesso ao exame.
Método de avaliação
Métodos e regras de avaliação
- 2 testes presenciais de frequência cobrindo a matéria do programa: T1, T2
- Testes de frequência com realização presencial, cobrindo o estudo da bibliografia e materiais das aulas teóricas e práticas
- Os testes possuem duas partes:
- Parte sem consulta
- Parte com consulta de elementos individuais de cada aluno
- Realização da parte sem consulta: não é permitido usar dispositivos eletrónicos, computadores, telemóveis/smart phones, tablets ou qualquer equipamento com capacidade de computação ou comunicação)
- 2 trabalhos práticos: TP1, TP2 (mini projetos)
- Trabalhos podem ser desenvolvidos individualmente ou em grupo (máximo 2 alunos)
- Submissão nas datas requeridas envolve o preenchimento com um formulário de questões com anexos que podem cobrir código desenvolvido/ e relatório em formato pré-definido bem como prova em arquivo de código (em projeto GitHub)
- A avaliação prática dos trabalhos pode ser complementada por testes práticos sempre que necessário (inicialmente previstos para realização presencial) que pode abranger até 20% da avaliação dos trabalhos e que podem ser realizadas nas datas de realização dos testes de frequência ou outras.
- A avaliação final dos trabalhos envolve ainda Informação de participação nas aulas (exercícios, atividades práticas) que pode ser usada como fator complementar de ajustamento da avaliação prática, individualizada.
Regras de aprovação
- Obtenção de frequência (AF)
- Nota de frequência AF = 40% (TP1) + 60% (TP2)
- Condição de frequência (AF): AF maior ou igual a 9,5/20 e TP2 >= 9,5/20
- Alunos com frequência anterior obtida no ano letivo de 2020/2021 poderão manter a frequência.
Aprovação com frequência (AC)
- Obtenção de condição de frequência (AF)
- Avaliação Contínua AC = 40% AF + 25% T1 + 35% T2 (final weights will be def
- Aprovação com frequência: AC maior ou igual a 9.5/20 e média dos testes superior a 9,5/20
- Aprovação com exame de recurso (ER)
- Obtenção de frequência
- Avaliação com Exame de Recurso AER = 40% AF + 60% ER
- O exame de recurso cobre toda a matéria, tendo uma organização semelhante à dos testes de frequência
- Condições de Aprovação com Exame de Recurso (AER): AER maior ou igual a 9,5/20
Nota: todos os componentes de avaliação terão avaliação na escala de 0 a 20 valores (uma casa decimal). No cálculo da not final usam-se as regras corretas de arredondamento para obter a nota num valor inteiro.
Conteúdo
Programa
- Introdução
- Conceitos, Terminologia e Fundamentos de Segurança de Sistemas e Redes de Computadores
- Ferramentas Criptográficas
- Ferramentas, métodos, algoritmos
- Construções de métodos criptográficos e sua normalização
- Protocolos de distribuição de chaves criptográficas e estabelecimento seguro de associações de segurança
- PKI / Certificação e gestão de chaves públicas e autenticação X509
- Autenticação e controlo de acesso
- Autenticação de utilizadores; fatores e serviços de autenticação
- Modelos, mecanismos e sistemas de controlo de acesso
- Protocolos de segurança e proteção de comunicações
- Segurança na Internet e proteção extremo-a-extremo
- Protocolos, normas e serviços de segurança na Intenret e pilha TCP/IP
- Segurança de sistemas
- Segurança ao nível do sistema de operação, técnicas e mecanismos de defesa de perímetro; prevenção e deteção de intrusões
- Mecanismos de isolamento para computação confiável e computação confidencial