1 escola politécnica/coppe – eng. computação e informação universidade federal do rio de...
TRANSCRIPT
1
Escola Politécnica/COPPE – Eng. Computação e Informação
Universidade Federal do Rio de Janeiro
Intel Virtualization Technology &Intel Trusted Execution
TechnologyDiogo Menezes Ferrazani Mattos
Professores: Luís Henrique e Otto Carlos
Disciplina: Redes II
2
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
3
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
4
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
5
Virtualização
• Conceitos Básicos– Sistema operacional hospedeiro– Sistema operacional visitante– VMM (Virtual Machine Monitor) ou Hypervisor
6
Virtualização
• Níveis de Privilégio– Modelo 0/1/3– Modelo 0/3/3
7
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
8
Intel Virtualization Technology
• Modos de Operação– VMX root– VMX non-root
• Estrutura de Controle VMCS• VM entry e VM exit
9
Intel Virtualization Technology
• Exemplo de funcionamento
10
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
11
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
12
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
13
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
14
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
15
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
16
Intel Trusted Execution Technology
• Vulnerabilidades atuais
17
Intel Trusted Execution Technology
• Com a TXT
18
Intel Trusted Execution Technology
• Modos de funcionamento
19
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
20
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
21
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
22
Perguntas e Respostas
23
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.
24
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
25
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.
26
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.
27
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 non-
root é 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.
28
Escola Politécnica/COPPE – Eng. Computação e Informação
Universidade Federal do Rio de Janeiro
Intel Virtualization Technology &Intel Trusted Execution
TechnologyDiogo Menezes Ferrazani Mattos
Professores: Luís Henrique e Otto Carlos
Disciplina: Redes II