Sei sulla pagina 1di 166

Virtualizao: Conceitos e Aplicaoes em ca c Segurana c

Marcos Laureano e Carlos Maziero


Centro Universitrio Franciscano Unifae a Pont cia Universidade Catlica do Paran o a Programa de Ps-Graduao em Informtica o ca a

1 de setembro de 2008

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

1 / 166

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

2 / 166

Introduo ca

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

3 / 166

Introduo ca

Origem Mquinas Virtuais a

Origem Mquinas Virtuais a


Motivao ca

Dcada de 60 e
Tendncia dominante nos sistemas naquela poca era fornecer a cada e e usurio um ambiente mono-usurio completo. a a

Dcada de 80 e
Com a popularizao de plataformas de hardware baratas como o PC, a ca virtualizao perdeu importncia. ca a

Dcada de 90 e
Surgimento da linguagem Java motiva novas pesquisas com virtualizao. ca O VMware torna-se uma alternativa de virtualizao nos limitados ca processadores da poca. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

4 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Mquina Real a

Formada por vrios componentes f a sicos que fornecem operaes co para o sistema operacional e suas aplicaes. co Formado basicamente por trs componentes: e
Hardware. Sistema Operacional. Aplicaoes. c

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

5 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Sistema de Computadores

Hardware
Seu papel executar as operaes solicitadas pelas aplicaes atravs do e co co e sistema operacional.

Sistema Operacional
Recebe as solicitaes das operaes (por meio das chamadas de co co sistema) e controla o acesso ao hardware.

Aplicaoes c
Fornece funcionalidades para o usurio. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

6 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


N veis de Abstrao ca

Sistemas Convencionais
So caracterizados por n a veis de abstrao crescentes e interfaces bem ca denidas entre eles.

Principal objetivo de um Sistema Operacional


Oferecer uma viso abstrata, de alto n a vel, dos recursos de hardware, que sejam mais simples de usar e menos dependente das tecnologias subjacentes.

Em outras palavras
Criar uma interface homognea para uso. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

7 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


N veis de abstrao em um sub-sistema de disco ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

8 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Interfaces existentes entre componentes

Conjunto de instrues (ISA Instruction Set Architecture) co


Instruoes de usurio (User ISA) c a Instruoes de sistema (System ISA) c

Chamadas de sistema (syscalls) Chamadas de bibliotecas (libcalls)

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

9 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


ISA Instruction Set Architecture

ISA
E a interface bsica entre o hardware e o software. a

User ISA
Compreende as instrues do processador e demais itens de hardware co acess veis aos programas do usurio (modo no-privilegiado). a a

System ISA
Compreende as instrues do processador e demais itens de hardware, co unicamente acess veis ao ncleo do sistema operacional (modo u privilegiado).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

10 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Syscalls

Conjunto de operaes oferecidas pelo ncleo do sistema operacional co u aos processos dos usurios. a Permitem um acesso controlado das aplicaes: co
Dispositivos perifricos; e Memria; o Instruoes privilegiadas do processador. c

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

11 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Libcalls

Oferecem um grande nmero de funes para simplicar a u co construo de programas. ca Chamadas de biblioteca encapsulam chamadas do sistema operacional (uso mais simples). Interface prpria, denominada Interface de Programao de o ca Aplicaes (API Application Programming Interface): co
LibC do UNIX; GTK+ (Gimp ToolKit); SDL (Simple DirectMedia Layer).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

12 / 166

Introduo ca

Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionais


Viso conceitual da arquitetura de um sistema computacional a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

13 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Compatibilidade

Programas e Bibliotecas
Para garantir a compatibilidade em uma determinada plataforma, e necessrio que tenham sido compilados para ela, respeitando User ISA e a Syscalls.

User ISA + syscalls


E denominada Interface Binria de Aplicao (ABI Application Binary a ca Interface).

Sistema Operacional
S poder executar sobre uma plataforma de hardware se tiver sido o a constru e compilado de forma a respeitar sua interface ISA do (User/System ISA)

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

14 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Interfaces de sistema ISA e ABI

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

15 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Flexibilidade das interfaces

ISA e ABI
Interfaces normalmente xas ou pouco ex veis.

Diversos fabricantes
Incompatibilidade entre diversos hardwares, sistemas operacionais e aplicaoes. c

Consequncia e
Um sistema operacional somente funciona para o hardware projetado (ISA). Uma biblioteca s funciona para a ABI para qual foi projetada. As o aplicaoes devem respeitar o conjunto de ABIs/APIs pr-denidas. c e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

16 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Problemas de compatibilidade entre interfaces

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

17 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Baixa exibilidade Problemas!

Baixa portabilidade
A rigidez das interfaces de sistema atuais diculta a conectividade e a mobilidade.

Barreiras de inovao ca
Diculdade de interao. Necessidade de manter compatibilidade com o ca legado (evoluo prejudicada). ca

Otimizaoes inter-componentes c
A rigidez das interfaces no permitem interao entre componentes a ca diferentes (isolamento).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

18 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Compatibilidade entre sistemas

Virtualizao ca
Camada, constru em software, que possibilita que servios projetados da c para uma interface possam executar sob outra.

Acomplamento entre interfaces distintas


Um programa desenvolvido para a plataforma A possa executar sobre uma plataforma distinta B.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

19 / 166

Introduo ca

Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistema


Acoplamento entre interfaces distintas

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

20 / 166

Mquinas virtuais a

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

21 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Conceitos

Camada de virtualizao ca
Utilizando os servios de uma interface de sistema, poss construir c e vel outra interface distinta. Esta camada denominada hipervisor ou monitor de mquina virtual. e a

Mquina Virtual a
E a nova interface de sistema, vista atravs dessa camada de e virtualizao. ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

22 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Uma mquina virtual a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

23 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Componentes de um ambiente de mquina virtual a

Sistema real, nativo ou hospedeiro (host system)


Contm os recursos reais de hardware e software do sistema. e

Sistema virtual ou sistema convidado (guest system)


Que executa sobre o sistema virtualizado. Vrios sistemas virtuais podem coexistir, executando simultaneamente a sobre o mesmo sistema real.

Camada de virtualizao, hipervisor, ou monitor (VMM ca Virtual Machine Monitor)


Constri as interfaces virtuais a partir da interface real. o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

24 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Denio de mquina virtual ca a

Originalmente
Uma mquina virtual era denida como uma cpia eciente, isolada e a o protegida de uma mquina real. a

Denio nos 1960-1970 ca


Uma abstrao de software que gerencia um sistema f ca sico (mquina a real).

Com o passar do anos


O termo mquina virtual evoluiu e englobou um grande nmero de a u abstraes, como por exemplo a Java Virtual Machine (JVM), que no co a virtualiza um sistema real.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

25 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Complexidade

Arquitetura do hospedeiro diferente do convidado


E necessrio usar as instrues da mquina real para simular as instrues a co a co da mquina virtual. a

Recursos de hardware virtuais


E necessrio mapear sobre os recursos existentes na mquina real. a a

Chamadas de Sistema
Devem ser mapeadas em chamadas equivalentes.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

26 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Possibilidades de virtualizao ca

Virtualizao completa ca
Um sistema operacional convidado e suas aplicaes, desenvolvidas para uma plataforma de co hardware A, so executadas sobre uma plataforma a de hardware distinta B.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

27 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Possibilidades de virtualizao ca

Emulao do sistema operacional ca


As aplicaes de um sistema operacional X so co a executadas sobre outro sistema operacional Y , na mesma plataforma de hardware.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

28 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Possibilidades de virtualizao ca

Traduo dinmica ca a
As instrues de mquina das aplicaes so co a co a traduzidas durante a execuo em outras instrues ca co mais ecientes para a mesma plataforma.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

29 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Possibilidades de virtualizao ca

Replicao de hardware ca
So criadas vrias instncias virtuais de um mesmo a a a hardware real, cada uma executando seu prprio o sistema operacional convidado e suas respectivas aplicaes. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

30 / 166

Mquinas virtuais a

Introduo ca

Introduo ca
Possibilidades de virtualizao ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

31 / 166

Mquinas virtuais a

Abstrao versus virtualizao ca ca

Abstrao versus virtualizao ca ca

Abstrao de recursos ca
Consiste em fornecer uma interface de acesso homognea e simplicada e ao recursos do sistema.

Virtualizao ca
Consiste em criar novas interfaces a partir das interfaces existentes.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

32 / 166

Mquinas virtuais a

Abstrao versus virtualizao ca ca

Virtualizao versus abstrao de recursos ca ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

33 / 166

Mquinas virtuais a

Abstrao versus virtualizao ca ca

Abstrao versus virtualizao ca ca


Abstrao versus virtualizao de um disco r ca ca gido

Detalhes de baixo n vel


Na virtualizao, os detalhes de baixo n da plataforma real no so ca vel a a necessariamente ocultos, como ocorre na abstrao de recursos. ca

Abstrao ca
Prov `s aplicaes o conceito de arquivo, sobre o qual estas podem ea co executar operaes simples como read ou write. co

Virtualizao ca
Fornece para a camada superior apenas um disco virtual, constru a do partir de um arquivo do sistema operacional real.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

34 / 166

Mquinas virtuais a

Abstrao versus virtualizao ca ca

Abstrao versus virtualizao ca ca


Abstrao versus virtualizao de um disco r ca ca gido

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

35 / 166

Mquinas virtuais a

Propriedades dos hipervisores

Propriedades dos hipervisores


Requisitos bsicos de um hipervisor a

Prover um ambiente de execuo aos programas essencialmente ca idntico ao da mquina real; e a Programas executando sobre uma mquina virtual devem apresentar, a no pior caso, leves degradaes de desempenho; co Deve ter controle completo sobre os recursos do sistema real (o sistema hospedeiro).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

36 / 166

Mquinas virtuais a

Propriedades dos hipervisores

Propriedades dos hipervisores


Propriedades a serem satisfeitas por um hipervisor ideal

Equivalncia e
Um hipervisor prov um ambiente de execuo quase idntico ao da e ca e mquina real original. a

Controle de recursos
Nenhum programa executando na mquina virtual deve possuir acesso a a recursos que no tenham sido explicitamente alocados a ele pelo a hipervisor.

Ecincia e
Grande parte das instrues do processador virtual deve ser executada co diretamente pelo processador da mquina real, sem interveno do a ca hipervisor. Outras instrues devem ser interpretadas pelo hipervisor. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

37 / 166

Mquinas virtuais a

Propriedades dos hipervisores

Propriedades dos hipervisores


Outras propriedades importantes

Isolamento
Garante que um software em execuo em uma mquina virtual no ca a a possa ver, inuenciar ou modicar outro software em execuo no ca hipervisor ou em outra mquina virtual. a

Gerenciabilidade
Administrao de diversas instncias de mquinas virtuais sobre um ca a a mesmo supervisor simplicada e centralizada. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

38 / 166

Mquinas virtuais a

Propriedades dos hipervisores

Propriedades dos hipervisores


Outras propriedades importantes

Inspeo ca
O hipervisor tem acesso e controle sobre todas as informaes do estado co interno da mquina virtual, como registradores do processador, contedo a u de memria, eventos etc. o

Encapsulamento
A inspeo possibilita salvar checkpoints de uma mquina virtual para ca a realizar rollback, anlises post-mortem ou migrao de mquinas virtuais. a ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

39 / 166

Mquinas virtuais a

Propriedades dos hipervisores

Propriedades dos hipervisores


Outras propriedades importantes

Recursividade
Possibilidade de executar um hipervisor dentro de uma mquina virtual, produzindo a um novo n de mquinas virtuais. vel a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

40 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Teorema de Popek e Goldberg

Para qualquer computador convencional de terceira gerao, ca um hipervisor pode ser constru se o conjunto de instrues do co sens veis daquele computador for um sub-conjunto de seu conjunto de instrues privilegiadas. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

41 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Conceitos (entendimento do teorema)

Computador convencional de terceira gerao ca


Qualquer sistema de computao convencional seguindo a arquitetura de ca Von Neumann, que suporte memria virtual e dois modos de operao: o ca modo usurio e modo privilegiado. a

Instruoes sens c veis


So aquelas que podem consultar ou alterar o status do processador, ou a seja, os registradores que armazenam o status atual da execuo na ca mquina real. a

Instruoes privilegiadas c
Acess veis somente por meio de cdigos executando em n privilegiado. o vel

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

42 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Construo de hipervisores ecientes ca

Mainframes
Dispe de uma funcionalidade chamada execuo direta, que permite a o ca uma mquina virtual acessar nativamente o hardware para execuo de a ca instruoes. c

Micro-processadores de mercado
Suporte parcial. Processadores Intel Pentium IV (e anteriores) possui 17 instruoes sens c veis que podem ser executadas em modo usurio sem a gerar excees (violao do teorema). co ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

43 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Processador Pentium IV (e anteriores)

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

44 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Novos Processadores

Intel
Tecnologia IVT (Intel Virtualization Technology).

AMD
AMD-V (AMD Virtualization).

Dois modos poss veis de operao do processador ca


Modos root e non-root.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

45 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Modos de operao ca

root
Equivale ao funcionamento de um processador convencional, e se destina ` execuo de um hipervisor. a ca

non-root
Se destina ` execuo de mquinas virtuais. a ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

46 / 166

Mquinas virtuais a

Suporte de Hardware

Suporte de Hardware
Processador IVT

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

47 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Classicao de Mquinas Virtuais ca a

Tipo de suporte (processo ou sistemas convidados) Similaridade entre interfaces (ISA); Tipo de virtualizao; ca De acordo com uso;

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

48 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Duas grandes fam lias

Mquinas virtuais de aplicao (Process Virtual Machines) a ca


Ambientes de mquinas virtuais destinados a suportar apenas um a processo ou aplicao convidada espec ca ca.

Mquinas virtuais de sistema (System Virtual Machines) a


Ambientes de mquinas virtuais constru a dos para suportar sistemas operacionais convidados completos e suas aplicaes. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

49 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Mquinas virtuais de aplicao e de sistema a ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

50 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Similaridade entre interfaces (ISA)

Interfaces equivalentes
A interface virtual oferecida ao ambiente convidado reproduz a interface de hardware do sistema real.

Interfaces distintas
A interface virtual no tem relao com a interface de hardware do a ca sistema real, ou seja, implementa um conjunto de instrues distinto, a co ser interpretado pelo hipervisor.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

51 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


De acordo com o tipo de virtualizao ca

Virtualizao do ca hardware
Exporta o sistema f sico como hardware abstrato (semelhante ao sistema original).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

52 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


De acordo com o tipo de virtualizao ca

Virtualizao do sistema ca operacional


Exporta um sistema operacional como abstrao de um sistema ca espec co.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

53 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


De acordo com o tipo de virtualizao ca

Virtualizao de linguagens de ca programao ca


Cria uma aplicao no topo do ca sistema operacional (computadores ct cios projetados para uma nalidade espec ca).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

54 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Em acordo com o uso

Abstrao da ISA ca
Emulao completa da ISA. Instrues do sistema convidado traduzidas ca co para instrues do sistema nativo. co

Hardware Abstraction Layer (HAL)


Simula uma arquitetura completa para o sistema convidado.

OS Level (sistema operacional)


Obtido utilizando uma chamada de sistema (system call) espec ca.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

55 / 166

Mquinas virtuais a

Tipos de Mquinas Virtuais a

Tipos de Mquinas Virtuais a


Em acordo com o uso

N de aplicao ou virtualizao de linguagens de vel ca ca programao ca


Obtida por meio da abstrao de uma camada de execuo. ca ca Independncia de hardware. e

User level library interface (biblioteca de interface para usurio) a


Abstrao do topo do sistema operacional, para que as aplicaes ca co possam executar em outra plataforma.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

56 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Funcionamento

Process Virtual Machine


Suporta a execuo de um processo ou aplicao individual. ca ca

hipervisor + aplicao ca
Criado sobre demanda e visto como um unico processo.

Portanto
Submetido `s mesmas condies e restries que os demais processos a co co nativos.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

57 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Tipos

Sistemas operacionais multi-tarefas


Suportam vrios processos simultneos. Cada processo recebe um a a processador virtual (simulado atravs de fatias de tempo do processador e real), uma memria virtual (atravs do espao de endereos mapeado o e c c para aquele processo) e recursos f sicos (acess veis atravs de chamadas e de sistema).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

58 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Tipos

Tradutores dinmicos a
Analisa e otimiza um cdigo executvel. No muda o conjunto de o a a instruoes da mquina real usado pelo cdigo, apenas reorganiza as c a o instruoes de forma a acelerar sua execuo. c ca

Depuradores de memria o
As instrues do programa que manipulam acessos ` memria so co a o a executadas de forma controlada, a m de encontrar poss veis erros.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

59 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Popularidade

Interface binria de aplicao (ABI) a ca


Requerida pela aplicao diferente da oferecida pela mquina real. ca e a

Diferenas c
Chamadas do sistema operacional ou as instrues de mquina co a dispon veis ` aplicao (user ISA). a ca

Traduo dinmica ca a
Durante a execuo das aes requeridas pela aplicao. ca co ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

60 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Diferenas nas chamadas de sistema c

Hipervisor
Precisa apenas mapear as chamadas de sistema usadas pela aplicao ca sobre as chamadas oferecidas pelo sistema operacional da mquina real. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

61 / 166

Mquinas virtuais a

Mquinas Virtuais de Aplicao a ca

Mquinas Virtuais de Aplicao a ca


Hardware abstrato

Interface ISA
Utilizada pela aplicao no corresponde a nenhum hardware existente. ca a

Mquina abstrata a
Hardware simplicado para execuo de aplicaes (independncia de ca co e hardware).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

62 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Primeira abordagem para construo de hipervisores ca

Mquina virtual a
Suporta um ou mais sistemas operacionais convidados, com suas respectivas aplicaes, que executam de forma isolada e independente. co

Sistema convidado
Tem a iluso de executar sozinho sobre uma plataforma de hardware a prpria. o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

63 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Fortemente isolados

Interaoes c
Geralmente atravs dos mecanismos de rede, como se estivessem em e mquinas sicamente separadas. a

Compartilhamento de recursos
Provido pelo hipervisor. Exemplo: diretrios compartilhados no sistema o de arquivos real, que podem ser acessados pelas mquinas virtuais. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

64 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


O hipervisor

ISA virtual
Fornecido aos sistemas operacionais convidados.

Recursos virtualizados
Cada sistema operacional convidado tem um conjunto de recursos virtuais prprio, constru a partir dos recursos f o do sicos existentes.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

65 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Tipos de mquinas virtuais de sistema a

Hipervisores nativos (ou de tipo I)


O hipervisor executa diretamente sobre o hardware da mquina real, sem um sistema operacional a subjacente. Multiplexar os recursos de hardware (memria, o discos, interfaces de rede, etc) em recursos virtualizados.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

66 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Tipos de mquinas virtuais de sistema a

Hipervisores convidados (ou de tipo II)


O hipervisor executa como um processo normal sobre um sistema operacional nativo subjacente. Utiliza os recursos oferecidos pelo sistema operacional nativo para oferecer recursos virtuais

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

67 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Arquiteturas de mquinas virtuais de sistema a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

68 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Vantagens

Hipervisores convidados
So mais ex a veis, pois podem ser facilmente instalados/removidos em mquinas com sistemas operacionais previamente instalados. a

Hipervisor nativo
Tem melhor desempenho que um hipervisor convidado, pois acessa diretamente o hardware real.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

69 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


N de virtualizao oferecido pelo hipervisor vel ca

Virtualizao de recursos ca
A interface ISA de usurio mantida, apenas as a e instrues privilegiadas e os recursos (discos, etc) co so virtualizados. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

70 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


N de virtualizao oferecido pelo hipervisor vel ca

Virtualizao completa ca
Toda a interface do hardware virtualizada, e incluindo todas as instruoes do processador e os c dispositivos de hardware.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

71 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


N veis de virtualizao: virtualizao de recursos e virtualizao completa ca ca ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

72 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Categoria especial de hipervisor nativo

hipervisores embutidos no hardware (codesigned hypervisors)


Virtualizao completa, onde o ca hipervisor visto como parte e integrante do hardware da mquina a real, e implementa a interface de sistema (ISA). As instrues do processador real co somente est acess ao hipervisor. a vel

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

73 / 166

Mquinas virtuais a

Mquinas Virtuais de Sistema a

Mquinas Virtuais de Sistema a


Classicao de mquinas virtuais de sistema ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

74 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca

Virtualizao total (full virtualization); normalmente associada ` ca a Traduo dinmica (dynamic translation); ca a Paravirtualizao (paravirtualization); ca Tcnicas complementares para melhoria de desempenho. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

75 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Virtualizao total ca

Uma estrutura completa de hardware virtualizada; e O sistema convidado no precisa sofrer qualquer tipo de alterao; a ca Monitor mais complexo; Compatibilidade garantida; Custo de virtualizao maior. ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

76 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Traduo dinmica ou recompilao dinmica ca a ca a

dynamic translation ou dynamic recompilation


Hipervisor analisa, reorganiza e traduz as seqncias de instrues ue co emitidas pelo sistema convidado em novas seqncias de instrues. ue co

Objetivos
Adaptar as instruoes geradas pelo sistema convidado ` interface c a ISA do sistema real; Detectar e tratar instrues sens co veis no-privilegiadas (que no a a geram interrupes); co Analisar, reorganizar e otimizar as seqncias de instrues geradas ue co pelo sistema convidado (desempenho).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

77 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Utilizao em vrios hipervisores ca a

Mquina virtual Java a


Recebe o nome de JIT Just-in-Time Bytecode Compiler

Processadores Intel/AMD 32 bits


Sem suporte adequado ` virtualizao. O cdigo convidado a ser a ca o executado analisado em busca de instrues sens e co veis, que so a substitu das por chamadas a rotinas apropriadas dentro do hipervisor.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

78 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Os passos da recompilao dinmica ca a

1. Desmontagem (disassembling); 2. Gerao de cdigo intermedirio (desnecessrio se as instrues do ca o a a co convidado forem as mesmas do sistema real); 3. Otimizao; ca 4. Codicao; ca 5. Caching (evitar traduo de cdigos repetidos); ca o 6. Execuo. ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

79 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Paravirtualizao ca

Denali (2002) e Xen (2003); Modicaes na interface de sistema do hardware virtual (system co ISA); O sistema convidado sofre alteraes (adaptado ao hipervisor); co Menor portabilidade; Maior performance.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

80 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Relao entre a virtualizao total e a paravirtualizao ca ca ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

81 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Compreendendo as diferenas c

Virtualizao total ca
Hipervisor reserva um espao de memria separado para cada sistema c o convidado; no entanto, todos os sistemas convidados vem suas e respectivas reas de memria iniciando no endereo 0000H . a o c

Paravirtualizao ca
Hipervisor informa ao sistema convidado qual o espao de memria c o dispon vel. O acesso a memria fornecida ocorre sem a interferncia do o e hipervisor

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

82 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Paravirtualizao:hipervisores nativos viso da memria por um sistema convidado ca a o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

83 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Melhoria de desempenho

Hipervisores nativos e convidados


Na prtica raramente so usados em sua forma conceitual. a a

Desempenho
Otimizaes so inseridas para melhorar o desempenho das aplicaes co a co nos sistemas convidados.

Pontos cruciais
So as operaes de entrada/sa e as principais otimizaes dizem a co da co respeito as estas operaes. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

84 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Otimizaoes c

Hipervisores nativos
O sistema convidado acessa diretamente o hardware

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

85 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Otimizaoes em hipervisores convidados c

1 abordagem
O sistema convidado acessa diretamente o sistema nativo.

2 abordagem
O sistema convidado acessa diretamente o hardware (device driver).

3 abordagem
O hipervisor acessa diretamente o hardware (device driver).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

86 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

As estratgias de virtualizao e ca
Otimizaoes em sistemas de mquinas virtuais c a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

87 / 166

Mquinas virtuais a

Estratgias de Virtualizao e ca

Desempenho de hipervisores nativos e convidados

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

88 / 166

Virtualizao e segurana ca c

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

89 / 166

Virtualizao e segurana ca c

Virtualizao e segurana ca c
Utilizao de Mquinas Virtuais ca a

Consolidao de Servidores ca
Reduo de custos em hardware, software e gerncia do parque ca e tecnolgico. o

Segurana c
Vrios trabalhos de pesquisa e desenvolvimento comprovaram a eccia a a da utilizao de mquinas virtuais. ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

90 / 166

Virtualizao e segurana ca c

Virtualizao e segurana ca c
Critrios bsicos de segurana e a c

Condencialidade
Informao somente est vis a sujeitos (usurios e/ou processos) ca a vel a explicitamente autorizados.

Disponibilidade
Informao deve estar prontamente dispon sempre que for necessria. ca vel a

Integridade
Informao somente pode ser modicada por sujeitos explicitamente ca autorizados e de formas claramente denidas.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

91 / 166

Virtualizao e segurana ca c

Virtualizao e segurana ca c
Outros critrios de segurana e c

Autenticidade
Garante que a informao ou o usurio da mesma autntico, ou seja, ca a e e garante que a entidade envolvida quem arma ser. e

No-repdio a u
No poss negar a existncia ou autoria de uma operao que criou, a e vel e ca modicou ou destruiu uma informao. ca

Auditoria
Implica no registro das aes realizadas no sistema, identicando os co sujeitos e recursos envolvidos, as operaes realizadas, seus horrios, co a locais e outros dados relevantes.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

92 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicaoes da virtualizao em segurana c ca c


Propriedades de virtualizao aplicadas em segurana ca c

Isolamento Controle de Recursos Inspeo ca Encapsulamento

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

93 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicaoes da virtualizao em segurana c ca c


Isolamento

Condencialidade
Ao manter os ambientes virtuais isolados, o hipervisor prov a e condencialidade de dados entre os sistemas convidados.

Integridade
Aplicaoes convidadas no alteram dados de outras aplicaes. c a co

Disponibilidade
Permite a conteno de erros de software no mbito da mquina virtual. ca a a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

94 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicaoes da virtualizao em segurana c ca c


Controle de Recursos

Integridade
Possibilidade de implementar mecanismos para vericar a consistncia de e acessos e de seus resultados.

Auditoria
Acompanhamento e registro das atividades do sistema convidado.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

95 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicaoes da virtualizao em segurana c ca c


Inspeo ca

Integridade
A viso privilegiada sobre o estado interno do sistema convidado permite a extrair informaes, , permitindo implementar externamente mecanismos co como antiv e detectores de intruso. rus a

Bales de ensaio o
Inspeo aliada ao isolamento torna as mquinas virtuais um ambiente ca a ideal para estudo de aplicaes maliciosas. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

96 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicaoes da virtualizao em segurana c ca c


Encapsulamento

Integridade e Disponibilidade
A possibilidade de salvar/restaurar o estado do sistema convidado torna vivel a implementao de mecanismos de rollback. a ca

Disponibilidade
Migrao on the y de mquinas virtuais. ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

97 / 166

Virtualizao e segurana ca c

Aplicaes da virtualizao em segurana co ca c

Aplicao de Mquinas Virtuais em Segurana ca a c

Connamento de aplicaes; co Deteco de intruso; ca a Anlise de programas maliciosos; a Honeypots e honeynets; Rootkits; Consolidao de servidores, planos de contingncia e migrao; ca e ca Tolerncia a faltas. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

98 / 166

Virtualizao e segurana ca c

Connamento de Aplicaes co

Connamento de Aplicaoes c

Em um sistema operacional
Cada processo (servio) tem acesso a um conjunto de recursos para c funcionar.

Comprometimento da segurana c
Por servios mal congurados, erros nas regras de controle de acesso, c vulnerabilidades no servio ou no sistema operacional. c

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

99 / 166

Virtualizao e segurana ca c

Connamento de Aplicaes co

Connamento de Aplicaoes c
Alternativas

Ferramentas tradicionais de segurana c


Trabalho de congurao signicativo. Essas ferramentas tambm so ca e a processos, consumindo recursos e sendo pass veis de falhas ou subverso a

Mquina isolada (dedicada) a


Soluo cara. ca

Mquina virtual a
Isolamento da aplicao sens do restante do sistema hospedeiro. ca vel

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

100 / 166

Virtualizao e segurana ca c

Connamento de Aplicaes co

Connamento de Aplicaoes c
Isolamento

Hipervisor convencional
Pode ser usado para connar uma aplicao. ca

Servidores virtuais
Tcnicas simplicadas e com baixo custo computacional. e

Dom virtual nio


Recebe uma parcela dos recursos do sistema.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

101 / 166

Virtualizao e segurana ca c

Connamento de Aplicaes co

Connamento de Aplicaoes c
Servidores virtuais

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

102 / 166

Virtualizao e segurana ca c

Connamento de Aplicaes co

Connamento de Aplicaoes c
Implementaes dispon co veis

chroot
Tcnica mais antiga. e

Jails
Alternativa no sistema FreeBSD.

Zones
Alternativa no sistema Solaris.

Ambiente Linux
Sistemas Virtuozzo/OpenVZ e Vservers/FreeVPS.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

103 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
IDS Intrusion Detection Systems

Objetivo
Monitorar uma rede ou sistema computacional, buscando detectar ataques ou atividades maliciosas.

IDSs de mquina (HIDS Host-based IDS) a


Monitoram um computador para identicar atividades maliciosas locais.

IDSs de rede (NIDS Network-based IDS)


Monitoram o trfego de uma rede, para identicar ataques aos a computadores a ela conectados.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

104 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
Limitaoes c

Sistemas NIDS
Eccia diminui na medida em que o trfego da rede aumenta. a a Protocolos de rede cifrados torna o contedo dos pacotes opaco. u

Sistemas HIDS
E um processo local, que pode ser desativado ou subvertido por um ataque bem-sucedido.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

105 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
Mquinas virtuais protegendo sistemas HIDS a

Propriedade de inspeo ca
Hipervisor pode extrair informaes de um sistema convidado e co encaminh-las para anlise por um detector de intruso executando no a a a sistema nativo, ou em outra mquina virtual. a

Propriedade de isolamento
Assegura a integridade das informaes coletadas e do prprio detector co o de intruso. a

Propriedade de controle de recursos


Permite ao hipervisor intervir no sistema convidado, para interromper atividades consideradas suspeitas pelo detector de intruso. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

106 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
Possibilidades com mquinas virtuais a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

107 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
Projetos

ReVirt
Uma camada entre o hipervisor e o sistema hospedeiro recebe as mensagens de syslog do convidado e registro no hospedeiro. Realiza checkpoints regulares do sistema convidado.

VMI IDS Virtual Machine Introspection Intrusion Detection System


Hipervisor nativo, executando diretamente sobre o hardware. IDS executa em uma das mquinas virtuais e observa dados obtidos a das demais mquinas virtuais. a Somente o estado global da mquina virtual analisado (no a e a considera processos isolados).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

108 / 166

Virtualizao e segurana ca c

Deteco de intruso ca a

Deteco de intruso ca a
Projetos

VMIDS Virtual Machine Intrusion Detection System


Hipervisor convidado modicado, que extrai informaes do sistema co convidado e as submete a um detector de intruso executando no a sistema hospedeiro. Anlise e bloqueio de seqncias de chamadas de sistema. a ue Cada processo convidado pode ser analisado separadamente.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

109 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Dois tipos de programas prejudiciais

Intencionais
Programas escritos para se inltrar em um sistema (sem conhecimento de seus usurios). a

No-intencionais a
Programas normais contendo erros de programao ou de congurao ca ca que permitam a manipulao no-autorizada das informaes de um ca a co sistema.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

110 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Classicao dos Programas Prejudiciais ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

111 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Classicao dos Programas Prejudiciais ca

V rus
Habilidade de se auto-replicar e infectar partes do sistema operacional ou dos programas de aplicao ca

Worm
Capaz de propagar a si prprio em uma rede. o

Cavalo de Tria o
Realiza aes escondidas visando roubar informaes ou provocar danos. co co

Rootkit
Ocultar a presena de um invasor. c

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

112 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Objetivos

Esttica a
Observao do contedo (cdigo binrio). ca u o a Cada vez mais dif de realizar, devido ao emprego de tcnicas de cil e dissimulao e cifragem. ca

Dinmica a
Observao do comportamento. ca Objetivos; Mtodos de propagao; e ca Evidncias que possam indicar sua presena; e c Formas de deteco e remoo. ca ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

113 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Mquinas virtuais para anlise dinmica a a a

No necessrio dedicar uma mquina real limpa para cada a e a a anlise; a Salvar e restaurar estados da mquina virtual, permitindo desfazer a os efeitos de uma intruso; a Comparao entre os estados antes de depois da intruso permite ca a compreender melhor seus efeitos no sistema; A vericao de informaes de baixo n atravs da capacidade de ca co vel e inspeo do hipervisor; ca A traduo dinmica de instrues pode ser usada para instrumentar ca a co o uxo de instrues executado pelo malware. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

114 / 166

Virtualizao e segurana ca c

Anlise de programas maliciosos a

Anlise de programas maliciosos a


Ferramentas e diculdades

Anubis, CWSandbox e Joebox


Anlise dinmica automatizada de programas suspeitos. a a

Diculdades
Erros de projeto e/ou implementao nos hipervisores; ca Virtualizao de plataformas (Intel x86) uma tarefa complexa; ca e Possibilidade de detectar o ambiente virtual.

Vault
Vericao da integridade de um sistema por troca de mensagens ca (malwares convencionais).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

115 / 166

Virtualizao e segurana ca c

Honeypots e honeynets

Honeypots e honeynets
Honeypots

Armadilha
Servem para atrair e estudar o trfego de rede malicioso. a

Baixa interatividade
Interao com emulao de servios de redes. ca ca c

Alta interatividade
Expem sistemas e servios reais. o c

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

116 / 166

Virtualizao e segurana ca c

Honeypots e honeynets

Honeypots e honeynets
Honeynets

Coleo de honeypots ca
Alta interatividade com diferentes sistemas operacionais, conguraes e co servios de rede (custo implantao e operao). c ca ca

Honeynet virtual
E simplesmente uma honeynet constru com mquinas virtuais ao invs da a e de computadores reais.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

117 / 166

Virtualizao e segurana ca c

Honeypots e honeynets

Honeypots e honeynets
Honeynet virtual

Totalmente virtual
Todos os computadores envolvidos so mquinas virtuais. a a

H brida
Composta por honeypots virtuais e mquinas reais para as funes de a co rewall, deteco de intruso e logging. ca a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

118 / 166

Virtualizao e segurana ca c

Rootkits

Rootkits
Complexidade

Primeiros rootkits
Consistiam em substituir alguns comandos do sistema por verses com a o mesma funcionalidade (ocultar atividades).

Posteriormente
Rootkits mais elaborados que substituem bibliotecas do sistema com a mesma nalidade.

VMBR VM-based rootkits


Avanos no suporte de hardware ` virtualizao possibilitaram o c a ca desenvolvimento de rootkits baseado em mquinas virtuais. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

119 / 166

Virtualizao e segurana ca c

Rootkits

Rootkits
VMBR VM-based rootkits

Simplicidade conceitual
Ao ser instalado, ele se torna um hipervisor, virtualizando todo o hardware da mquina a e transformando o sistema operacional invadido em um sistema convidado

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

120 / 166

Virtualizao e segurana ca c

Rootkits

Rootkits
Mais conhecidos

Subvirt
Uma prova de conceito.

Vitriol
Usa a tecnologia VT-x dos processadores Intel.

BluePill
Usa a tecnologia equivalente SVM, da AMD.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

121 / 166

Virtualizao e segurana ca c

Rootkits

Rootkits
Funcionamento

Semelhante a um hipervisor nativo


Modicam a seqncia de inicializao da mquina afetada, carregando ue ca a primeiro o seu cdigo e posteriormente o sistema operacional original, em o um ambiente convidado.

VMBR torna-se incontornvel a


Ele pode interceptar todos os acessos ao hardware e inspecionar todo o estado interno do sistema operacional.

Teoricamente indetectvel a
Vrios pesquisadores armam ser poss detectar anomalias em um a vel sistema virtualizado.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

122 / 166

Virtualizao e segurana ca c

Consolidao de servidores, planos de contingncia e migrao ca e ca

Consolidao de servidores ca

Conceito
Transferir servios em mquinas f c a sicas para mquinas virtuais, para a diminuir o nmero de equipamentos da organizao. u ca

Recursos f sicos
Podem ser dinamicamente alocados aos sistemas operacionais de acordo com suas necessidades, proporcionando balanceamento de carga dinmico a e um melhor controle de uso dos recursos dos servidores .

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

123 / 166

Virtualizao e segurana ca c

Consolidao de servidores, planos de contingncia e migrao ca e ca

Consolidao de servidores ca
Vantagens

Aumentar a produtividade da infra-estrutura; Simplicar a gerncia do ambiente; e Aumentar a segurana; c Diminuir o consumo de energia; Economizar recursos humanos, f sicos e nanceiros.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

124 / 166

Virtualizao e segurana ca c

Consolidao de servidores, planos de contingncia e migrao ca e ca

Planos de contigncia e

Visa assegurar
A disponibilidade de sistemas cr ticos e facilitar a continuidade das operaoes durante uma crise. c

Mquinas virtuais a
Podem ser salvas na forma de arquivos, checkpoints dos servidores cr ticos podem ser salvos em equipamentos distintos.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

125 / 166

Virtualizao e segurana ca c

Consolidao de servidores, planos de contingncia e migrao ca e ca

Migrao ca

Stop-and-copy
Consiste em suspender a mquina virtual, transferir o contedo de sua a u memria para o hipervisor de destino e retomar a execuo em seguida. o ca

Demand-migration
A mquina virtual suspensa apenas durante a cpia das estruturas a e o de memria do ncleo para o hipervisor de destino. o u A execuo da mquina virtual retomada e o restante das pginas ca a e a de memria da mquina virtual transferido sob demanda. o a e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

126 / 166

Virtualizao e segurana ca c

Consolidao de servidores, planos de contingncia e migrao ca e ca

Migrao ca

Pre-copy
Consiste basicamente em copiar para o hipervisor de destino todas as pginas de memria da mquina virtual enquanto esta executa. a o a A mquina virtual suspensa e as pginas modicadas depois da a e a cpia inicial so novamente copiadas no destino. o a A mquina pode retomar sua execuo no destino. a ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

127 / 166

Virtualizao e segurana ca c

Tolerncia a faltas a

Tolerncia a faltas a

Isolamento
Pode ser usado para restringir a propagao de erros de software nos ca sistemas.

Drivers constru dos por terceiros


Principal causa de falhas de um sistema operacional.

Projeto Isolation Kernel


A execuo de drivers realizada no sistema convidado (ncleo Linux), e ca e u o resultado da execuo devolvido ao sistema hospedeiro. ca e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

128 / 166

Exemplos de Mquinas Virtuais a

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

129 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
A mquina virtual mais conhecida a

Interface x86
Prov uma implementao completa desta interface ao sistema e ca convidado.

Traduo dinmica ca a
O hipervisor tem que emular certas instrues para representar co corretamente um processador virtual (execuo de vrios sistemas ca a operacionais distintos).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

130 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
Verses o

Hipervisor convidado
VMware Workstation: primeira verso comercial da mquina virtual, a a lanada em 1999, para ambientes desktop; c VMware Fusion: verso experimental para o sistema operacional a Mac OS com processadores Intel; VMware Player: verso gratuita do VMware Workstation, com as a mesmas funcionalidades mas limitado a executar mquinas virtuais a criadas previamente com verses comerciais; o VMWare Server: conta com vrios recursos do VMware a Workstation, mas voltado para pequenas e mdias empresas; e e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

131 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
Verses o

Hipervisor nativo
VMware ESX Server: para servidores de grande porte, possui um ncleo u proprietrio chamado vmkernel e utiliza o Red Hat Linux para prover a outros servios, tais como a gerncia de usurios. c e a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

132 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
Estratgias de virtualizao e ca

VMware Workstation
Utiliza as estratgias de virtualizao total e traduo dinmica. e ca ca a

VMware ESX Server


Implementa ainda a paravirtualizao. ca

Abordagem h brida
Implementada na interface do hipervisor com as mquinas virtuais por a questes de desempenho. o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

133 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
Abordagem h brida

Exceo e gerenciamento de memria ca o


Realizados por acesso direto ao hardware.

Entrada/sa da
Usa o sistema hospedeiro

Alocao de memria para uso exclusivo em cada mquina ca o a virtual


Garante que no ocorra nenhuma coliso de memria entre o sistema a a o convidado e o real.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

134 / 166

Exemplos de Mquinas Virtuais a

VMware

VMware
VMware Workstation

Interrupoes c
Intercepta todas as interrupes do sistema convidado. Entrada/sa co da so remetidas para o sistema hospedeiro, para que sejam processadas a corretamente.

Exceoes c
Geradas pelas aplicaes no sistema convidado (como as chamadas de co sistema, por exemplo) so remetidas para o sistema convidado. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

135 / 166

Exemplos de Mquinas Virtuais a

FreeBSD Jails

FreeBSD Jails
Connamento de processos

FreeBSD
Oferece um mecanismo de connamento de processos denominado Jails.

Jails ou celas
So dom a nios de execuo distintos, cada cela contm um subconjunto ca e de processos e recursos (arquivos, conexes de rede) que pode ser o gerenciado de forma autnoma. o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

136 / 166

Exemplos de Mquinas Virtuais a

FreeBSD Jails

FreeBSD Jails
Limitao dos processos ca

Dom nios
Criados a partir de um diretrio previamente preparado no sistema de o arquivos e com diversas limitaes, mesmo executando com privilgios de co e administrador. Recongurar o ncleo (atravs da chamada sysctl, por exemplo); u e Carregar/retirar mdulos do ncleo; o u Mudar conguraes de rede (interfaces e rotas); co Montar/desmontar sistemas de arquivos; Criar novos devices; Realizar modicaes de conguraes do ncleo em tempo de co co u execuo; ca Acessar recursos que no pertenam ao seu prprio dom a c o nio.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

137 / 166

Exemplos de Mquinas Virtuais a

FreeBSD Jails

FreeBSD Jails
Virtualizao parcial ca

Somente partes do sistema hospedeiro


Arvore de diretrios (cada dom tem sua prpria viso do sistema o nio o a de arquivos); Espaos de nomes (cada dom mantm seus prprios c nio e o identicadores de usurios, processos e recursos de IPC); a Interfaces de rede (cada dom tem sua interface virtual, com nio endereo IP prprio). c o

Demais recursos
So preservadas, ou melhor, podem ser usadas diretamente demandado a um custo computacional muito baixo, mas exige que todos os sistemas convidados executem sobre o mesmo ncleo. u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

138 / 166

Exemplos de Mquinas Virtuais a

Xen

Xen
Hipervisor nativo

Interface x86
Paravirtualizada, permitindo executar sistemas operacionais como Linux e Windows especialmente modicados para executar sobre o hipervisor.

Verses recentes o
Utilizam o suporte de virtualizao dispon nos processadores (sistemas ca vel convidados no sofrem modicaes, mas perdem desempenho). a co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

139 / 166

Exemplos de Mquinas Virtuais a

Xen

Xen
Modicaes nos convidados co

O mecanismo de entrega de interrupes passa a usar um servio de co c eventos oferecido pelo hipervisor; o ncleo convidado deve registrar u um vetor de tratadores de excees junto ao hipervisor; co as operaes de entrada/sa de dispositivos so feitas atravs de co da a e uma interface simplicada, independente de dispositivo, que usa buers circulares de tipo produtor/consumidor; o ncleo convidado pode consultar diretamente as tabelas de u segmentos e pginas da memria usada por ele e por suas aplicaes, a o co mas as modicaes nas tabelas devem ser solicitadas ao hipervisor; co o ncleo convidado deve executar em um n de privilgio inferior u vel e ao do hipervisor; o ncleo convidado deve implementar uma funo de tratamento das u ca chamadas de sistema de suas aplicaes, para evitar que elas tenham co de passar pelo hipervisor antes de chegar ao ncleo convidado. u
Marcos Laureano e Carlos Maziero Virtualizao: Conceitos e Aplicaes em Segurana ca co c 1 de setembro de 2008 140 / 166

Exemplos de Mquinas Virtuais a

Xen

Xen
Drivers

Hipervisor
Deve dispor dos drivers adequados para acessar os dispositivos de hardware.

Ncleos convidados u
No precisam de drivers espec a cos, pois eles acessam dispositivos virtuais atravs de uma interface simplicada. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

141 / 166

Exemplos de Mquinas Virtuais a

Xen

Xen
O hipervisor Xen

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

142 / 166

Exemplos de Mquinas Virtuais a

User-Mode Linux

User-Mode Linux
Ambiente Linux

Ncleo do Linux u
Portado de forma a poder executar sobre si mesmo, como um processo do prprio Linux. o

Hipervisor convidado
User space separado e isolado na forma de uma mquina virtual. a

Hardware
Os dispositivos de hardware so virtualizados a partir dos servios a c providos pelo sistema hospedeiro.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

143 / 166

Exemplos de Mquinas Virtuais a

User-Mode Linux

User-Mode Linux
Utilizao ca

Uma mquina virtual a


Capaz de executar todos os servios e aplicaes dispon c co veis para o sistema hospedeiro.

Custo
Processamento e memria menor que aquele imposto por outros o hipervisores mais complexos.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

144 / 166

Exemplos de Mquinas Virtuais a

User-Mode Linux

User-Mode Linux

Connamento
Processos em execuo na mquina virtual no tm acesso direto aos ca a a e recursos do sistema hospedeiro.

Chamadas de Sistema
Implementada pelo uso de uma thread de rastreamento e interceptadas pelo ptrace para garantir a distino de privilgios e controle do contexto ca e do sistema convidado.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

145 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
Virtualizao completa ca

Sistema Hospedeiro
No requer alteraes ou otimizaes, pois utiliza a traduo dinmica a co co ca a para prover a virtualizao. ca

Hipervisor recursivo
E poss chamar o QEMU a partir do prprio QEMU vel o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

146 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
Dois modos de operao ca

Emulao total do sistema ca


Emula um sistema completo e pode ser utilizado para executar diferentes sistemas operacionais.

Emulao no modo de usurio ca a


Dispon apenas para o sistema Linux. O emulador pode executar vel processos Linux compilados em diferentes plataformas.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

147 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
MMU Memory Management Unit

Emulao de um sistema completo ca


Implementa a MMU totalmente em software, para garantir o mximo de a portabilidade.

Em modo usurio a
Simula uma MMU simplicada atravs da chamada de sistema mmap do e sistema hospedeiro.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

148 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
KQEMU ou QEMU Accelerator

Mdulo o
Instalado no ncleo do sistema hospedeiro que possibilita ao hipervisor u obter um timo desempenho. o

Chamadas de sistemas
Emitidas pelos processos convidados so executadas diretamente sobre o a sistema hospedeiro (no ocorre interpretao). a ca

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

149 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
KQEMU ou QEMU Accelerator

Dispositivos de entrada/sa e o endereamento de memria da c o


Do sistema convidado so associados diretamente aos do sistema a hospedeiro.

Processos convidados
Passam a executar diretamente no modo usurio do sistema hospedeiro. a

Modo ncleo do sistema convidado u


E utilizado apenas para virtualizar o processador e os perifricos. e

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

150 / 166

Exemplos de Mquinas Virtuais a

QEMU

QEMU
VirtualBox

Mquina virtual a
Constru sobre o hipervisor QEMU. do

Hipervisor convidado
Similar ao VMware Workstation em muitos aspectos.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

151 / 166

Exemplos de Mquinas Virtuais a

Valgrind

Valgrind
Ferramenta de Depurao ca

Uso da memria RAM e problemas correlatos o


Fugas de memria (memory leaks), acessos a endereos invlidos, padres o c a o de uso dos caches e outras operaes envolvendo o uso da memria RAM. co o

Hipervisor de aplicao ca
Virtualiza o processador atravs de tcnicas de traduo dinmica. e e ca a Traduz o cdigo executvel do mesmo para um formato interno. o a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

152 / 166

Exemplos de Mquinas Virtuais a

Valgrind

Valgrind
Ferramenta de Depurao ca

Aps a converso o a
O cdigo instrumentado, atravs da insero de instrues para o e e ca co registrar e vericar operaes. co

Processador virtual
Execuo do cdigo, at 50 vezes mais lento que o cdigo original. ca o e o

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

153 / 166

Exemplos de Mquinas Virtuais a

JVM Java Virtual Machine

JVM Java Virtual Machine


Java

Linguagem de programao ca
Baseada em mquina virtual. a

Cdigo fonte o
E compilado em um cdigo binrio independente de plataforma o a (bytecode).

bytecode Java
No corresponde a instrues de nenhum processador real. a co

JVM Java Virtual Machine


E o responsvel por interpretar o bytecode Java. a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

154 / 166

Exemplos de Mquinas Virtuais a

JVM Java Virtual Machine

JVM Java Virtual Machine


Vantagens

Portabilidade
Para que uma aplicao Java possa executar sobre uma determinada ca plataforma, basta que a mquina virtual Java esteja dispon a vel.

Navegador Web
Permite que cdigo Java seja associado a pginas Web, na forma de o a pequenas aplicaes denominadas applets. co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

155 / 166

Exemplos de Mquinas Virtuais a

JVM Java Virtual Machine

JVM Java Virtual Machine


Mquina virtual Java a

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

156 / 166

Exemplos de Mquinas Virtuais a

JVM Java Virtual Machine

JVM Java Virtual Machine


Mquina virtual como suporte de execuo a ca

UCSD Pascal
Primeiras experincias de execuo de aplicaes sobre mquinas e ca co a abstratas (dcada de 1970). e

Outros exemplos
C#, Python, Perl, Lua e Ruby

.NET da Microsoft
Cdigo fonte C# compilado para o formato CIL (Common Intermediate o Language) e executado sobre a mquina virtual CLR (Common Language a Runtime).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

157 / 166

Perspectivas

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

158 / 166

Perspectivas

Utilizao de mquinas virtuais ca a

Soluoes domsticas e corporativas c e


Alternativa concreta para uso em sistemas.

Pesquisas em andamento
Permitiro utilizar os melhores recursos das mais variadas plataformas a operacionais sem a necessidade de investir em equipamentos espec cos.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

159 / 166

Perspectivas

Melhorar o suporte a virtualizao ca

Aprimoramento
Questes de segurana, mobilidade e desempenho dos hipervisores. o c

Principais campos de pesquisas


Processadores; Memria; o Entrada/sa da;

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

160 / 166

Perspectivas

Pesquisas: Processadores

AMD e Intel, j disponibilizaram tecnologias; a Virtualizao sobre a plataforma x86 ocorra de forma mais natural e ca tranqila. u Estas tecnologias vm simplicando o desenvolvimento dos novos e hipervisores.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

161 / 166

Perspectivas

Pesquisas: Memria o

Vrias tcnicas tm permitido que a virtualizao da memria seja a e e ca o mais eciente. Pesquisas futuras devem levar aos sistemas operacionais convidados a gerenciar a memria juntamente com o hipervisor (gerncia o e cooperativa).

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

162 / 166

Perspectivas

Pesquisas: Entrada/sa da

Os dispositivos devero ser projetados para fornecer suporte ` a a virtualizao com alto desempenho. ca O prprio dispositivo dever suportar a multiplexao, de forma a o a ca permitir o acesso simultneo por vrios sistemas virtuais. a a A responsabilidade pelo acesso aos dispositivos dever passar do a hipervisor para o sistema convidado.

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

163 / 166

Perspectivas

Pesquisas em segurana c

Garantir que as propriedades bsicas dos hipervisores sejam providas a corretamente pelas implementaes; co Construir mtodos conveis para descobrir a presena de rootkits e a c baseados em mquinas virtuais; a De forma contraditria, criar tcnicas para impedir a deteco de o e ca ambiente convidados, que sero uteis na construo de honeypots a ca virtuais; Trazer para o desktop o conceito de sandboxing (execuo isolada ca de aplicaes). co

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

164 / 166

Dvidas u

Sumrio a

Introduo ca Mquinas virtuais a Virtualizao e segurana ca c Exemplos de Mquinas Virtuais a Perspectivas Dvidas u

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

165 / 166

Dvidas u

Contato

Marcos Aurelio Pchek Laureano


Centro Universitrio Franciscano UNIFAE a Programa de Ps-Graduao em Informtica. o ca a Pontif Universidade Catlica do Paran cia o a laureano@ppgia.pucpr.br

Carlos Alberto Maziero


Programa de Ps-Graduao em Informtica. o ca a Pontif Universidade Catlica do Paran cia o a maziero@ppgia.pucpr.br

Marcos Laureano e Carlos Maziero

Virtualizao: Conceitos e Aplicaes em Segurana ca co c

1 de setembro de 2008

166 / 166

Potrebbero piacerti anche