Intel Virtualization Technology & Intel Trusted Execution Technology Diogo Menezes Ferrazani Mattos Professores: Luís Henrique e Otto Carlos Disciplina: Redes II Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal 1 do Rio de Janeiro Introdução • Arquitetura IA-32 PC – Conhecida – Difundida • Virtualização – Divisão da máquina física em ambientes distintos e isolados entre si – Início Mainframe – Atualmente PC 2 Introdução • Problemas da arquitetura PC – Virtualização • Não atende os requisitos − Perda de desempenho • Paravirtualização − Modificação do SO – Segurança • Ataques de softwares Roubo de informações − Cada vez mais freqüente e mais sofisticados • Keyloggers, spywares 3 Introdução • Solução – Extensões da arquitetura • Intel Virtualization Technology − Melhorar o desempenho da virtualização − Isolar máquinas virtuais • Intel Trusted Execution Technology − Combater ataques baseados em software − Evitar o roubo de informações sensíveis 4 Virtualização • Conceitos Básicos – Sistema operacional hospedeiro – Sistema operacional visitante – VMM (Virtual Machine Monitor) ou Hypervisor 5 Virtualização • Níveis de Privilégio – Modelo 0/1/3 – Modelo 0/3/3 6 Virtualização • Desafios na arquitetura IA-32 Compressão do espaço de memória Ring Aliasing e Ring Compression Acesso ao estado privilegiado sem gerar falta Impactos adversos nas chamadas de sistema dos SO visitantes – Virtualização das interrupções – – – – 7 Intel Virtualization Technology • Modos de Operação – VMX root – VMX non-root • Estrutura de Controle VMCS • VM entry e VM exit 8 Intel Virtualization Technology • Exemplo de funcionamento 9 Intel Virtualization Technology • Enfrentando os desafios da IA-32 Compressão do espaço de memória Ring Aliasing e Ring Compression Acesso ao estado privilegiado sem gerar falta Impactos adversos nas chamadas de sistema dos SO visitantes – Virtualização das interrupções – – – – 10 Computação Confiável • Extensão da arquitetura IA-32 • Proposta do TCG • Hardware – Identificador único – Chave mestra • TPM (Trusted Plataform Module) • Implementação – Intel Trusted Execution Technology 11 Computação Confiável • Principais conceitos – – – – – Chave de Endosso Isolamento de Áreas de Memória e Execução Segura E/S Seguras Armazenamento Selado Atestação Remota 12 Computação Confiável • Mecanismos básicos de um TPM – – – – – – – – Unidade cripto-aritmética especializada Geração de chaves RSA de até 2048 bits Unidade de hardware para hash SHA-1 Gerador de ruídos por hardware para a geração de chaves Processador interno Contador e medidor de tempo monolíticos e protegidos Memória não-volátil (EEPROM) Sensores e estruturas internas de segurança 13 Computação Confiável • Críticas – Digital Rights Management – – – – – – Usuários incapazes de modificar o software Usuários não têm controle sobre os dados Usuários não conseguem se sobrepor Perda do anonimato Praticidade Interoperabilidade 14 Intel Trusted Execution Technology • Implementação da Intel para a Computação Confiável – Iniciativa “Safer Computing” • Extensão da Arquitetura IA-32 • Modificações – – – – – Processador Chipset Teclado e Mouse Sistema Gráfico TPM 15 Intel Trusted Execution Technology • Vulnerabilidades atuais 16 Intel Trusted Execution Technology • Com a TXT 17 Intel Trusted Execution Technology • Modos de funcionamento 18 Intel Trusted Execution Technology • Armazenamento Selado – Storage Root Key (SRK) Par de Chaves Pública/Privada – Criptografia Assimétrica – Dados e lista de registradores PCR encriptados • PCR Registrador do TPM que guarda as informações de domínio – Arquivo criptografado é armazenado em um meio persistente – Decriptografia só libera os dados se os valores dos PCRs corresponderem 19 Intel Trusted Execution Technology • Atestação – Agente Remoto Gera um valor aleatório – TPM Cria um registro com o valor aleatório e os valores dos PCRs – Registro assinado com a chave privada do TPM • Envia: Registro + Credenciais + Chave Pública – Agente Remoto • Verifica credenciais e assinatura − Determina se é um TPM real • Compara os valores dos PCRs com uma lista de valores válidos 20 Conclusão • • • • Tecnologias recentes Aplicação em ramos importantes da computação Alto potencial de sucesso Passos rumo à computação segura – Segurança x Liberdade do usuário • Visão ambiciosa – TXT estar em todos os PC no futuro 21 Perguntas e Respostas 22 Perguntas e Respostas (1) • Defina o que é virtualização, Monitor de Máquina Virtual (VMM) e Máquina Virtual. R: Virtualização é a técnica que permite que em uma mesma máquina física, sejam executados dois ou mais ambientes distintos e completamente isolados. Desta forma, em cada ambiente é executado um sistema operacional que não tem consciência de que está dividindo uma máquina mesma física com outros sistemas operacionais. Monitor de Máquina Virtual ou VMM é uma camada de software, que tem por objetivo arbitrar o acesso ao hardware subjacente a ela, de modo que esses recursos possam ser compartilhados pelos sistemas operacionais que estão sobre essa camada. Máquina Virtual ou VM é um conjunto de interfaces apresentadas pelo VMM para o sistema operacional visitante, ou seja, o sistema operacional que se encontra sobre o VMM. 23 Perguntas e Respostas (2) • Quais são os cinco principais conceitos da computação confiável? R: - Chave de Endosso - Isolamento de áreas de memória e Execução Segura - E/S Segura - Armazenamento Selado - Atestação remota 24 Perguntas e Respostas (3) • Como é feita a criptografia dos dados armazenados na Intel TXT? R: A base da proteção da criptografia da TXT reside na Storage Root Key (SRK), Chave Raiz de Armazenagem, um par de chaves pública/privada. A chave privada SRK nunca deixa o TPM e tudo que é encriptado com a chave SRK pública, só pode ser decriptado com a chave SRK privada correspondente, um exemplo de criptografia assimétrica. Como a chave privada nunca deixa o TPM, somente esse TPM pode decriptar os dados encriptados pela chave SRK pública correspondente. O TPM provê uma operação de SEAL, que permite que dados e uma lista de PCRs sejam encriptados em um arquivo binário, usando a chave de armazenagem do TPM. Esse arquivo criptografado pode ser armazenado em qualquer lugar. Uma operação correspondente de UNSEAL, decripta os dados armazenados no arquivo binário, porém não os expõe. Os dados só são expostos, quando os valores dos PCRs armazenados estiverem de acordo com os valores corrente dos PCRs. 25 Perguntas e Respostas (4) • Como é o esquema de privilégios da arquitetura IA-32? R: O esquema de privilégios na arquitetura IA-32 é definido por 2 bits. Os níveis de privilégio são chamados de rings. Os níveis de privilégio são numerados de 0 a 3, nos quais o nível 0 é o que apresenta maior privilégio e o nível 3 é o menos privilegiado. Algumas instruções que alteram o estado da CPU só podem ser executadas por software que tenham o nível de privilégio igual a 0. 26 Perguntas e Respostas (5) • Como a introdução dos modos VMX root e VMX non-root interferem no esquema de privilégios da arquitetura IA-32? R: A introdução desses modos de operação interfere no esquema de privilégios da arquitetura IA-32, na medida em que permite que mais de um software assuma o nível de privilégio 0, através de uma troca de contexto, ou seja, os níveis de privilégio são criados agora dentro do contexto VMX root ou VMX non-root. O modo de operação VMX nonroot é dedicado para máquinas virtuais, o que permite que os sistemas operacionais visitantes sejam executados no nível 0 de privilégio. No entanto, como o modo VMX non-root é desprivilegiado em relação ao modo VMX root, ainda existem algumas instruções que podem gerar a saída do modo non-root para o modo root, para que essa instrução seja tratada pelo VMM, que é executado no modo VMX root. 27 Intel Virtualization Technology & Intel Trusted Execution Technology Diogo Menezes Ferrazani Mattos Professores: Luís Henrique e Otto Carlos Disciplina: Redes II Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal 28 do Rio de Janeiro