1 escola politécnica/coppe – eng. computação e informação universidade federal do rio de...

28
1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution Technology Diogo Menezes Ferrazani Mattos Professores: Luís Henrique e Otto Carlos Disciplina: Redes II

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 2: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 3: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 4: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 5: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

5

Virtualização

• Conceitos Básicos– Sistema operacional hospedeiro– Sistema operacional visitante– VMM (Virtual Machine Monitor) ou Hypervisor

Page 6: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

6

Virtualização

• Níveis de Privilégio– Modelo 0/1/3– Modelo 0/3/3

Page 7: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 8: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

8

Intel Virtualization Technology

• Modos de Operação– VMX root– VMX non-root

• Estrutura de Controle VMCS• VM entry e VM exit

Page 9: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

9

Intel Virtualization Technology

• Exemplo de funcionamento

Page 10: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 11: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 12: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 13: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 14: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 15: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 16: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

16

Intel Trusted Execution Technology

• Vulnerabilidades atuais

Page 17: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

17

Intel Trusted Execution Technology

• Com a TXT

Page 18: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

18

Intel Trusted Execution Technology

• Modos de funcionamento

Page 19: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 20: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 21: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 22: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

22

Perguntas e Respostas

Page 23: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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.

Page 24: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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

Page 25: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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.

Page 26: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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.

Page 27: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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.

Page 28: 1 Escola Politécnica/COPPE – Eng. Computação e Informação Universidade Federal do Rio de Janeiro Intel Virtualization Technology & Intel Trusted Execution

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