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