Ambientes de Execução Seguros
Informação
Corpo docente: Paulo Bartolomeu, Tomás Oliveira e Silva
Duração: Semestral
Horas de trabalho: 162
Horas de contacto: 45
ECTS: 6
Área científica: Informática
Objetivos
- Reconhecer a importância da existência e exploração de ambientes de execução seguros para assegurar a segurança ou correção de partes críticas de sistemas computacionais.
- Ter o conhecimento e a capacidade de explorar ambientes de execução seguros para desenvolver novos sistemas ou aplicações.
- Ter as competências base para conceber ou avaliar ambientes de execução seguros.
Resultados de Aprendizagem
- Reconhecer a importância da existência e exploração de ambientes de execução seguros para assegurar a segurança ou correção de partes críticas de sistemas computacionais.
- Ter o conhecimento e a capacidade de explorar ambientes de execução seguros para desenvolver novos sistemas ou aplicações.
- Ter as competências base para conceber ou avaliar ambientes de execução seguros.
Avaliação
A avaliação irá focar-se tanto nos conteúdos teóricos como práticos, com uma distribuição equitativa entre ambos os tipos. O conhecimento dos conteúdos teóricos será avaliado com recurso a testes intercalares ou exames finais. As capacidades de implementação e utilização serão avaliadas com recurso a trabalhos e projetos práticos, onde os alunos têm de explorar técnicas concretas de suporte a ambientes de execução seguros. No âmbito de um projeto prático há, ainda, a hipótese de realização de uma monografia sobre um assunto do âmbito da UC.
Metodologia
A metodologia de ensino irá considerar aulas teórico-práticas, onde serão combinadas partes teóricas e práticas de acordo com os temas a abordar em cada aula. A UC terá uma forte componente de experimentação de tecnologias de suporte a ambientes de execução segura. Considera-se igualmente a existência de períodos de aprendizagem autónoma, guiada por objetivos e instruções fornecidas pelos docentes da disciplina.
Conteúdos
-
Proteção contra sistemas operativos potencialmente maliciosos
- Conceito de TEE (Trusted Execution Environment)
- Intel TET (Trusted Execution Technology) e SGX (Software Guard Extensions)
- AMD PSP (Platform Security Processor) e SEE (Secure Execution Environment)
- ARM TrustZones e outras soluções
- Início seguro de sistemas
- Atualizações seguras
-
Virtualização de sistemas operativos
- Técnicas de virtualização, aceleração da virtualização
- Hypervisors
-
Isolamento de aplicações (sandboxing)
- Aproximações elementares
- Aproximações translacionais
- Aproximações abrangentes
-
Hardware de suporte
- Smartcards, cartões SIM
- TPM (Trusted Computing Module)
- Particionamento físico virtual
- Watchdogs e supervisores de execução
-
Canais secundários (side-channels)
- Exemplos de problemas causados pelos canais secundários
- Ataques usando canais secundários
- Proteção ao nível do software
- Proteção ao nível do hardware
- Certificações
Bibliografia recomendada
- Hoopes, J. (2009). Virtualization for security: including sandboxing, disaster recovery, high availability, forensic analysis, and honeypotting. Syngress. ISBN-13 978-1597493055
- Arthur, W., & Challener, D. (2015). A practical guide to TPM 2.0: using the Trusted Platform Module in the new age of security. Apress.
- Giancane, L. (2012). Side-Channel Attacks and Countermeasures: Design of Secure IC’s Devices for Cryptographic Applications. LAP LAMBERT Academic Publishing. ISBN-13 978-3847371526
- Manuais, white papers e documentação técnica disponível na rede
- Artigos científicos