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