Intel Trusted Execution Technology

Propaganda
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
Download