área científica
Eletrotecnia / Telecomunicações
escolaridade
ensino teórico (T) - 2 horas/semana
ensino prático e laboratorial (PL) - 2 horas/semana
idioma(s) de lecionação
Português, Inglês
objectivos
O objetivo geral desta disciplina é apresentar e descrever os principais conceitos fundamentais da segurança em sistemas computacionais. Como muitas das soluções de segurança recorrem à aplicação de técnicas criptográficas, nesta cadeira faz-se também uma introdução à criptografia e à criptanálise. A segurança é abordada em diversos contextos, como o dos programas, dos sistemas operativos, das máquinas virtuais e das bases de dados.
competências
Conhecimentos sobre as vulnerabilidades de segurança dos sistemas computacionais em rede, os problemas que essas vulnerabilidades podem levantar se forem conhecidas e exploradas, as soluções teóricas que atualmente se conhece para eliminar as vulnerabilidades e as soluções técnicas que atualmente se usam, em diversos níveis e com diferentes objetivos, para assegurar atributos de segurança.
conteúdos
1ª Parte: Introdução
- Objetivos, problemas, perspetiva das soluções, atitudes realistas
- Riscos e sua origem
- Vulnerabilidades, sua deteção e exploração
- Políticas de segurança vs. mecanismos de segurança
- Níveis de segurança, domínios de segurança
- Ataques
- Mecanismos de defesa
2ª Parte: Deteção e exploração de vulnerabilidades
- Motivação, aproximações
- Caracterização das vulnerabilidades, vulnerabilidades globais, técnicas base de exploração
- Vulnerabilidades de aplicações, de sistemas operativos e de bases de dados
- Exemplos práticos de exploração (buffer overflows)
3ª Parte: Introdução à criptografia
- Terminologia, modelos teóricos, aproximações práticas.
- Tipos de cifras (mono-alfabéticas, poli-alfabéticas, contínuas, por blocos, com chave secreta, com chaves privada e pública).
- Modos de cifra.
- Autenticação de dados (MACs, digests, assinaturas digitais, blind signatures).
4ª Parte: Criação, distribuição e utilização de chaves
- Geração de pares de chaves
- Proteção das chaves privadas
- Certificados de chaves públicas, hierarquias de certificação, PKIs
5ª Parte: Smartcards
- Motivação, estrutura, modelo computacional
- Panorâmica do universo de aplicações
- Middleware
- Experimentação com o Cartão de Cidadão
6ª Parte: Controlo de acesso
- Objetos protegidos e modelo de proteção
- Proteção com listas de controlo de acesso
- Proteção com capabilities
- Controlo discricionário vs. controlo obrigatório
7ª Parte: Autenticação local de pessoas ou serviços
- Autenticação com password: Unix/Linux, Windows
- Autenticação com biometria
8ª Parte: Políticas de segurança
- Modelos com um nível de segurança
- Modelos multi-nível
- Modelos de controlo de fluxos de informação
9ª Parte: Políticas e mecanismos de proteção em sistemas operativos
- Requisitos de segurança
- Autenticação de utentes
- Controlo de acesso
- Sistemas operativos certificados
10ª Parte: Políticas e mecanismos de proteção em Máquinas Virtuais
- Máquinas virtuais genéricas (VMware, Virtual PC, etc.)
- Máquinas virtuais específicas (Java Virtual Machine)
11ª Parte: Execução correta/segura de aplicações
- Desenvolvimento de aplicações tendo em conta cenários de risco
- Execução controlada de aplicações
12ª Parte: Armazenamento seguro de dados
- Aproximações (aplicacionais, integradas, intermédias).
- Soluções aplicacionais (PGP)
- Soluções integradas (EFS)
- Soluções intermédias (CFS)
13ª Parte: Segurança em bases de dados
- Requisitos de segurança
- Controlo de acesso a dados sensíveis
- Inferência
- Bases de dados multi-nível
avaliação
- Componente teórica:
- 2 testes (um realizado a meio do semestre) ou exame final
- Cada teste vale 25% da nota final
- Cada exame vale 50% da nota final
- Componente prática:
- 2 projetos com avaliação (aprox. 25% da nota final cada)
requisitos
Conhecimentos básicos de redes e de programação.
metodologia
Aulas teóricas de exposição da matéria.
Aulas práticas de realização de trabalhos práticos laboratoriais envolvendo programação de aplicações e configuração de sistemas.
bibliografia base
Security in Computing, 3rd edition, Charles P. Pfleeger, Shari Lawrence Pfleeger, Prentice Hall, 2002, ISBN-13: 978-0130355485
bibliografia recomendada
Security in Computing, 3rd edition, Charles P. Pfleeger, Shari Lawrence Pfleeger, Prentice Hall, 2002, ISBN-13: 978-0130355485
Segurança em Redes Informáticas, 4ª Edição, André Zúquete, FCA, 2013, ISBN 978-972-722-767-9
Segurança Informática nas Organizações, Henrique São Mamede, FCA, 2006, ISBN-13 978-972-722-411-8