Download - Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Transcript
Page 1: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao: Conceitos e Aplicacoes emSeguranca

Marcos Laureano e Carlos Maziero

Centro Universitario Franciscano – UnifaePontıficia Universidade Catolica do Parana

Programa de Pos-Graduacao em Informatica

1 de setembro de 2008

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 1 / 166

Page 2: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 2 / 166

Page 3: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 3 / 166

Page 4: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Origem Maquinas Virtuais

Origem Maquinas VirtuaisMotivacao

Decada de 60Tendencia dominante nos sistemas naquela epoca era fornecer a cadausuario um ambiente mono-usuario completo.

Decada de 80Com a popularizacao de plataformas de hardware baratas como o PC, avirtualizacao perdeu importancia.

Decada de 90Surgimento da linguagem Java motiva novas pesquisas com virtualizacao.O VMware torna-se uma alternativa de virtualizacao nos limitadosprocessadores da epoca.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 4 / 166

Page 5: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisMaquina Real

I Formada por varios componentes fısicos que fornecem operacoespara o sistema operacional e suas aplicacoes.

I Formado basicamente por tres componentes:I Hardware.I Sistema Operacional.I Aplicacoes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 5 / 166

Page 6: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisSistema de Computadores

HardwareSeu papel e executar as operacoes solicitadas pelas aplicacoes atraves dosistema operacional.

Sistema OperacionalRecebe as solicitacoes das operacoes (por meio das chamadas desistema) e controla o acesso ao hardware.

AplicacoesFornece funcionalidades para o usuario.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 6 / 166

Page 7: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisNıveis de Abstracao

Sistemas ConvencionaisSao caracterizados por nıveis de abstracao crescentes e interfaces bemdefinidas entre eles.

Principal objetivo de um Sistema OperacionalOferecer uma visao abstrata, de alto nıvel, dos recursos de hardware, quesejam mais simples de usar e menos dependente das tecnologiassubjacentes.

Em outras palavrasCriar uma interface homogenea para uso.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 7 / 166

Page 8: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisNıveis de abstracao em um sub-sistema de disco

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 8 / 166

Page 9: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisInterfaces existentes entre componentes

I Conjunto de instrucoes (ISA – Instruction Set Architecture)I Instrucoes de usuario (User ISA)I Instrucoes de sistema (System ISA)

I Chamadas de sistema (syscalls)

I Chamadas de bibliotecas (libcalls)

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 9 / 166

Page 10: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisISA – Instruction Set Architecture

ISAE a interface basica entre o hardware e o software.

User ISACompreende as instrucoes do processador e demais itens de hardwareacessıveis aos programas do usuario (modo nao-privilegiado).

System ISACompreende as instrucoes do processador e demais itens de hardware,unicamente acessıveis ao nucleo do sistema operacional (modoprivilegiado).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 10 / 166

Page 11: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisSyscalls

I Conjunto de operacoes oferecidas pelo nucleo do sistema operacionalaos processos dos usuarios.

I Permitem um acesso controlado das aplicacoes:I Dispositivos perifericos;I Memoria;I Instrucoes privilegiadas do processador.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 11 / 166

Page 12: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisLibcalls

I Oferecem um grande numero de funcoes para simplificar aconstrucao de programas.

I Chamadas de biblioteca encapsulam chamadas do sistemaoperacional (uso mais simples).

I Interface propria, denominada Interface de Programacao deAplicacoes (API – Application Programming Interface):

I LibC do UNIX;I GTK+ (Gimp ToolKit);I SDL (Simple DirectMedia Layer).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 12 / 166

Page 13: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Arquitetura dos sistemas computacionais

Arquitetura dos sistemas computacionaisVisao conceitual da arquitetura de um sistema computacional

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 13 / 166

Page 14: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaCompatibilidade

Programas e BibliotecasPara garantir a compatibilidade em uma determinada plataforma, enecessario que tenham sido compilados para ela, respeitando User ISA eSyscalls.

User ISA + syscallsE denominada Interface Binaria de Aplicacao (ABI – Application BinaryInterface).

Sistema OperacionalSo podera executar sobre uma plataforma de hardware se tiver sidoconstruıdo e compilado de forma a respeitar sua interface ISA(User/System ISA)

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 14 / 166

Page 15: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaInterfaces de sistema ISA e ABI

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 15 / 166

Page 16: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaFlexibilidade das interfaces

ISA e ABIInterfaces normalmente fixas ou pouco flexıveis.

Diversos fabricantesIncompatibilidade entre diversos hardwares, sistemas operacionais eaplicacoes.

ConsequenciaUm sistema operacional somente funciona para o hardware projetado(ISA). Uma biblioteca so funciona para a ABI para qual foi projetada. Asaplicacoes devem respeitar o conjunto de ABIs/APIs pre-definidas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 16 / 166

Page 17: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaProblemas de compatibilidade entre interfaces

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 17 / 166

Page 18: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaBaixa flexibilidade → Problemas!

Baixa portabilidadeA rigidez das interfaces de sistema atuais dificulta a conectividade e amobilidade.

Barreiras de inovacaoDificuldade de interacao. Necessidade de manter compatibilidade com olegado (evolucao prejudicada).

Otimizacoes inter-componentesA rigidez das interfaces nao permitem interacao entre componentesdiferentes (isolamento).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 18 / 166

Page 19: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaCompatibilidade entre sistemas

VirtualizacaoCamada, construıda em software, que possibilita que servicos projetadospara uma interface possam executar sob outra.

Acomplamento entre interfaces distintasUm programa desenvolvido para a plataforma A possa executar sobreuma plataforma distinta B.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 19 / 166

Page 20: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Introducao Compatibilidade entre interfaces de sistema

Compatibilidade entre interfaces de sistemaAcoplamento entre interfaces distintas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 20 / 166

Page 21: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 21 / 166

Page 22: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoConceitos

Camada de virtualizacaoUtilizando os servicos de uma interface de sistema, e possıvel construiroutra interface distinta.Esta camada e denominada hipervisor ou monitor de maquina virtual.

Maquina VirtualE a nova interface de sistema, vista atraves dessa camada devirtualizacao.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 22 / 166

Page 23: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoUma maquina virtual

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 23 / 166

Page 24: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoComponentes de um ambiente de maquina virtual

Sistema real, nativo ou hospedeiro (host system)Contem os recursos reais de hardware e software do sistema.

Sistema virtual ou sistema convidado (guest system)Que executa sobre o sistema virtualizado.Varios sistemas virtuais podem coexistir, executando simultaneamentesobre o mesmo sistema real.

Camada de virtualizacao, hipervisor, ou monitor (VMM –Virtual Machine Monitor)Constroi as interfaces virtuais a partir da interface real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 24 / 166

Page 25: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoDefinicao de maquina virtual

OriginalmenteUma maquina virtual era definida como uma copia eficiente, isolada eprotegida de uma maquina real.

Definicao nos 1960-1970Uma abstracao de software que gerencia um sistema fısico (maquinareal).

Com o passar do anosO termo “maquina virtual” evoluiu e englobou um grande numero deabstracoes, como por exemplo a Java Virtual Machine (JVM), que naovirtualiza um sistema real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 25 / 166

Page 26: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoComplexidade

Arquitetura do hospedeiro diferente do convidadoE necessario usar as instrucoes da maquina real para simular as instrucoesda maquina virtual.

Recursos de hardware virtuaisE necessario mapear sobre os recursos existentes na maquina real.

Chamadas de SistemaDevem ser mapeadas em chamadas equivalentes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 26 / 166

Page 27: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoPossibilidades de virtualizacao

Virtualizacao completaUm sistema operacional convidado e suasaplicacoes, desenvolvidas para uma plataforma dehardware A, sao executadas sobre uma plataformade hardware distinta B.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 27 / 166

Page 28: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoPossibilidades de virtualizacao

Emulacao do sistema operacionalAs aplicacoes de um sistema operacional X saoexecutadas sobre outro sistema operacional Y , namesma plataforma de hardware.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 28 / 166

Page 29: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoPossibilidades de virtualizacao

Traducao dinamicaAs instrucoes de maquina das aplicacoes saotraduzidas durante a execucao em outras instrucoesmais eficientes para a mesma plataforma.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 29 / 166

Page 30: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoPossibilidades de virtualizacao

Replicacao de hardwareSao criadas varias instancias virtuais de um mesmohardware real, cada uma executando seu propriosistema operacional convidado e suas respectivasaplicacoes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 30 / 166

Page 31: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Introducao

IntroducaoPossibilidades de virtualizacao

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 31 / 166

Page 32: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Abstracao versus virtualizacao

Abstracao versus virtualizacao

Abstracao de recursosConsiste em fornecer uma interface de acesso homogenea e simplificadaao recursos do sistema.

VirtualizacaoConsiste em criar novas interfaces a partir das interfaces existentes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 32 / 166

Page 33: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Abstracao versus virtualizacao

Virtualizacao versus abstracao de recursos

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 33 / 166

Page 34: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Abstracao versus virtualizacao

Abstracao versus virtualizacaoAbstracao versus virtualizacao de um disco rıgido

Detalhes de baixo nıvelNa virtualizacao, os detalhes de baixo nıvel da plataforma real nao saonecessariamente ocultos, como ocorre na abstracao de recursos.

AbstracaoProve as aplicacoes o conceito de “arquivo”, sobre o qual estas podemexecutar operacoes simples como read ou write.

VirtualizacaoFornece para a camada superior apenas um disco virtual, construıdo apartir de um arquivo do sistema operacional real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 34 / 166

Page 35: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Abstracao versus virtualizacao

Abstracao versus virtualizacaoAbstracao versus virtualizacao de um disco rıgido

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 35 / 166

Page 36: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Propriedades dos hipervisores

Propriedades dos hipervisoresRequisitos basicos de um hipervisor

I Prover um ambiente de execucao aos programas essencialmenteidentico ao da maquina real;

I Programas executando sobre uma maquina virtual devem apresentar,no pior caso, leves degradacoes de desempenho;

I Deve ter controle completo sobre os recursos do sistema real (osistema hospedeiro).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 36 / 166

Page 37: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Propriedades dos hipervisores

Propriedades dos hipervisoresPropriedades a serem satisfeitas por um hipervisor ideal

EquivalenciaUm hipervisor prove um ambiente de execucao quase identico ao damaquina real original.

Controle de recursosNenhum programa executando na maquina virtual deve possuir acesso arecursos que nao tenham sido explicitamente alocados a ele pelohipervisor.

EficienciaGrande parte das instrucoes do processador virtual deve ser executadadiretamente pelo processador da maquina real, sem intervencao dohipervisor. Outras instrucoes devem ser interpretadas pelo hipervisor.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 37 / 166

Page 38: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Propriedades dos hipervisores

Propriedades dos hipervisoresOutras propriedades importantes

IsolamentoGarante que um software em execucao em uma maquina virtual naopossa ver, influenciar ou modificar outro software em execucao nohipervisor ou em outra maquina virtual.

GerenciabilidadeAdministracao de diversas instancias de maquinas virtuais sobre ummesmo supervisor e simplificada e centralizada.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 38 / 166

Page 39: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Propriedades dos hipervisores

Propriedades dos hipervisoresOutras propriedades importantes

InspecaoO hipervisor tem acesso e controle sobre todas as informacoes do estadointerno da maquina virtual, como registradores do processador, conteudode memoria, eventos etc.

EncapsulamentoA inspecao possibilita salvar checkpoints de uma maquina virtual pararealizar rollback, analises post-mortem ou migracao de maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 39 / 166

Page 40: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Propriedades dos hipervisores

Propriedades dos hipervisoresOutras propriedades importantes

RecursividadePossibilidade de executar um hipervisordentro de uma maquina virtual, produzindoum novo nıvel de maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 40 / 166

Page 41: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareTeorema de Popek e Goldberg

Para qualquer computador convencional de terceira geracao,um hipervisor pode ser construıdo se o conjunto de instrucoessensıveis daquele computador for um sub-conjunto de seuconjunto de instrucoes privilegiadas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 41 / 166

Page 42: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareConceitos (entendimento do teorema)

Computador convencional de terceira geracaoQualquer sistema de computacao convencional seguindo a arquitetura deVon Neumann, que suporte memoria virtual e dois modos de operacao:modo usuario e modo privilegiado.

Instrucoes sensıveisSao aquelas que podem consultar ou alterar o status do processador, ouseja, os registradores que armazenam o status atual da execucao namaquina real.

Instrucoes privilegiadasAcessıveis somente por meio de codigos executando em nıvel privilegiado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 42 / 166

Page 43: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareConstrucao de hipervisores eficientes

MainframesDispoe de uma funcionalidade chamada execucao direta, que permite auma maquina virtual acessar nativamente o hardware para execucao deinstrucoes.

Micro-processadores de mercadoSuporte parcial. Processadores Intel Pentium IV (e anteriores) possui 17instrucoes sensıveis que podem ser executadas em modo usuario semgerar excecoes (violacao do teorema).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 43 / 166

Page 44: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareProcessador Pentium IV (e anteriores)

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 44 / 166

Page 45: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareNovos Processadores

IntelTecnologia IVT (Intel Virtualization Technology).

AMDAMD-V (AMD Virtualization).

Dois modos possıveis de operacao do processadorModos root e non-root.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 45 / 166

Page 46: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareModos de operacao

rootEquivale ao funcionamento de um processador convencional, e se destinaa execucao de um hipervisor.

non-rootSe destina a execucao de maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 46 / 166

Page 47: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Suporte de Hardware

Suporte de HardwareProcessador IVT

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 47 / 166

Page 48: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisClassificacao de Maquinas Virtuais

I Tipo de suporte (processo ou sistemas convidados)

I Similaridade entre interfaces (ISA);

I Tipo de virtualizacao;

I De acordo com uso;

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 48 / 166

Page 49: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisDuas grandes famılias

Maquinas virtuais de aplicacao (Process Virtual Machines)Ambientes de maquinas virtuais destinados a suportar apenas umprocesso ou aplicacao convidada especıfica.

Maquinas virtuais de sistema (System Virtual Machines)Ambientes de maquinas virtuais construıdos para suportar sistemasoperacionais convidados completos e suas aplicacoes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 49 / 166

Page 50: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisMaquinas virtuais de aplicacao e de sistema

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 50 / 166

Page 51: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisSimilaridade entre interfaces (ISA)

Interfaces equivalentesA interface virtual oferecida ao ambiente convidado reproduz a interfacede hardware do sistema real.

Interfaces distintasA interface virtual nao tem relacao com a interface de hardware dosistema real, ou seja, implementa um conjunto de instrucoes distinto, aser interpretado pelo hipervisor.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 51 / 166

Page 52: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisDe acordo com o tipo de virtualizacao

Virtualizacao dohardwareExporta o sistema fısicocomo hardware abstrato(semelhante ao sistemaoriginal).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 52 / 166

Page 53: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisDe acordo com o tipo de virtualizacao

Virtualizacao do sistemaoperacionalExporta um sistema operacionalcomo abstracao de um sistemaespecıfico.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 53 / 166

Page 54: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisDe acordo com o tipo de virtualizacao

Virtualizacao de linguagens deprogramacaoCria uma aplicacao no topo dosistema operacional (computadoresfictıcios projetados para umafinalidade especıfica).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 54 / 166

Page 55: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisEm acordo com o uso

Abstracao da ISAEmulacao completa da ISA. Instrucoes do sistema convidado traduzidaspara instrucoes do sistema nativo.

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ıfica.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 55 / 166

Page 56: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Tipos de Maquinas Virtuais

Tipos de Maquinas VirtuaisEm acordo com o uso

Nıvel de aplicacao ou virtualizacao de linguagens deprogramacaoObtida por meio da abstracao de uma camada de execucao.Independencia de hardware.

User level library interface (biblioteca de interface para usuario)Abstracao do topo do sistema operacional, para que as aplicacoespossam executar em outra plataforma.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 56 / 166

Page 57: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoFuncionamento

Process Virtual MachineSuporta a execucao de um processo ou aplicacao individual.

hipervisor + aplicacaoCriado sobre demanda e visto como um unico processo.

PortantoSubmetido as mesmas condicoes e restricoes que os demais processosnativos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 57 / 166

Page 58: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoTipos

Sistemas operacionais multi-tarefasSuportam varios processos simultaneos. Cada processo recebe umprocessador virtual (simulado atraves de fatias de tempo do processadorreal), uma memoria virtual (atraves do espaco de enderecos mapeadopara aquele processo) e recursos fısicos (acessıveis atraves de chamadasde sistema).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 58 / 166

Page 59: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoTipos

Tradutores dinamicosAnalisa e otimiza um codigo executavel. Nao muda o conjunto deinstrucoes da maquina real usado pelo codigo, apenas reorganiza asinstrucoes de forma a acelerar sua execucao.

Depuradores de memoriaAs instrucoes do programa que manipulam acessos a memoria saoexecutadas de forma controlada, a fim de encontrar possıveis erros.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 59 / 166

Page 60: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoPopularidade

Interface binaria de aplicacao (ABI)Requerida pela aplicacao e diferente da oferecida pela maquina real.

DiferencasChamadas do sistema operacional ou as instrucoes de maquinadisponıveis a aplicacao (user ISA).

Traducao dinamicaDurante a execucao das acoes requeridas pela aplicacao.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 60 / 166

Page 61: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoDiferencas nas chamadas de sistema

HipervisorPrecisa apenas mapear as chamadasde sistema usadas pela aplicacaosobre as chamadas oferecidas pelosistema operacional da maquina real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 61 / 166

Page 62: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Aplicacao

Maquinas Virtuais de AplicacaoHardware abstrato

Interface ISAUtilizada pela aplicacao nao corresponde a nenhum hardware existente.

Maquina abstrataHardware simplificado para execucao de aplicacoes (independencia dehardware).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 62 / 166

Page 63: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaPrimeira abordagem para construcao de hipervisores

Maquina virtualSuporta um ou mais sistemas operacionais convidados, com suasrespectivas aplicacoes, que executam de forma isolada e independente.

Sistema convidadoTem a ilusao de executar sozinho sobre uma plataforma de hardwarepropria.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 63 / 166

Page 64: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaFortemente isolados

InteracoesGeralmente atraves dos mecanismos de rede, como se estivessem emmaquinas fisicamente separadas.

Compartilhamento de recursosProvido pelo hipervisor. Exemplo: diretorios compartilhados no sistemade arquivos real, que podem ser acessados pelas maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 64 / 166

Page 65: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaO hipervisor

ISA virtualFornecido aos sistemas operacionais convidados.

Recursos virtualizadosCada sistema operacional convidado tem um conjunto de recursosvirtuais proprio, construıdo a partir dos recursos fısicos existentes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 65 / 166

Page 66: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaTipos de maquinas virtuais de sistema

Hipervisores nativos (ou de tipo I)O hipervisor executa diretamente sobre o hardwareda maquina real, sem um sistema operacionalsubjacente.Multiplexar os recursos de hardware (memoria,discos, interfaces de rede, etc) em recursosvirtualizados.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 66 / 166

Page 67: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaTipos de maquinas virtuais de sistema

Hipervisores convidados (ou de tipo II)O hipervisor executa como um processo normalsobre um sistema operacional nativo subjacente.Utiliza os recursos oferecidos pelo sistemaoperacional nativo para oferecer recursos virtuais

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 67 / 166

Page 68: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaArquiteturas de maquinas virtuais de sistema

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 68 / 166

Page 69: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaVantagens

Hipervisores convidadosSao mais flexıveis, pois podem ser facilmente instalados/removidos emmaquinas com sistemas operacionais previamente instalados.

Hipervisor nativoTem melhor desempenho que um hipervisor convidado, pois acessadiretamente o hardware real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 69 / 166

Page 70: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaNıvel de virtualizacao oferecido pelo hipervisor

Virtualizacao de recursosA interface ISA de usuario e mantida, apenas asinstrucoes privilegiadas e os recursos (discos, etc)sao virtualizados.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 70 / 166

Page 71: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaNıvel de virtualizacao oferecido pelo hipervisor

Virtualizacao completaToda a interface do hardware e virtualizada,incluindo todas as instrucoes do processador e osdispositivos de hardware.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 71 / 166

Page 72: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaNıveis de virtualizacao: virtualizacao de recursos e virtualizacao completa

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 72 / 166

Page 73: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaCategoria especial de hipervisor nativo

hipervisores embutidos nohardware (codesignedhypervisors)

Virtualizacao completa, onde ohipervisor e visto como parteintegrante do hardware da maquinareal, e implementa a interface desistema (ISA).As instrucoes do processador realsomente esta acessıvel ao hipervisor.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 73 / 166

Page 74: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Maquinas Virtuais de Sistema

Maquinas Virtuais de SistemaClassificacao de maquinas virtuais de sistema

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 74 / 166

Page 75: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacao

I Virtualizacao total (full virtualization); normalmente associada a

I Traducao dinamica (dynamic translation);

I Paravirtualizacao (paravirtualization);

I Tecnicas complementares para melhoria de desempenho.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 75 / 166

Page 76: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoVirtualizacao total

I Uma estrutura completa de hardware e virtualizada;

I O sistema convidado nao precisa sofrer qualquer tipo de alteracao;

I Monitor mais complexo;

I Compatibilidade garantida;

I Custo de virtualizacao maior.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 76 / 166

Page 77: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoTraducao dinamica ou recompilacao dinamica

dynamic translation ou dynamic recompilationHipervisor analisa, reorganiza e traduz as sequencias de instrucoesemitidas pelo sistema convidado em novas sequencias de instrucoes.

Objetivos

I Adaptar as instrucoes geradas pelo sistema convidado a interfaceISA do sistema real;

I Detectar e tratar instrucoes sensıveis nao-privilegiadas (que naogeram interrupcoes);

I Analisar, reorganizar e otimizar as sequencias de instrucoes geradaspelo sistema convidado (desempenho).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 77 / 166

Page 78: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoUtilizacao em varios hipervisores

Maquina virtual JavaRecebe o nome de JIT – Just-in-Time Bytecode Compiler

Processadores Intel/AMD 32 bitsSem suporte adequado a virtualizacao. O codigo convidado a serexecutado e analisado em busca de instrucoes sensıveis, que saosubstituıdas por chamadas a rotinas apropriadas dentro do hipervisor.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 78 / 166

Page 79: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoOs passos da recompilacao dinamica

1. Desmontagem (disassembling);

2. Geracao de codigo intermediario (desnecessario se as instrucoes doconvidado forem as mesmas do sistema real);

3. Otimizacao;

4. Codificacao;

5. Caching (evitar traducao de codigos repetidos);

6. Execucao.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 79 / 166

Page 80: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoParavirtualizacao

I Denali (2002) e Xen (2003);

I Modificacoes na interface de sistema do hardware virtual (systemISA);

I O sistema convidado sofre alteracoes (adaptado ao hipervisor);

I Menor portabilidade;

I Maior performance.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 80 / 166

Page 81: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoRelacao entre a virtualizacao total e a paravirtualizacao

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 81 / 166

Page 82: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoCompreendendo as diferencas

Virtualizacao totalHipervisor reserva um espaco de memoria separado para cada sistemaconvidado; no entanto, todos os sistemas convidados “veem” suasrespectivas areas de memoria iniciando no endereco 0000H .

ParavirtualizacaoHipervisor informa ao sistema convidado qual o espaco de memoriadisponıvel. O acesso a memoria fornecida ocorre sem a interferencia dohipervisor

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 82 / 166

Page 83: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoParavirtualizacao:hipervisores nativos visao da memoria por um sistema convidado

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 83 / 166

Page 84: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoMelhoria de desempenho

Hipervisores nativos e convidadosNa pratica raramente sao usados em sua forma conceitual.

DesempenhoOtimizacoes sao inseridas para melhorar o desempenho das aplicacoesnos sistemas convidados.

Pontos cruciaisSao as operacoes de entrada/saıda e as principais otimizacoes dizemrespeito as estas operacoes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 84 / 166

Page 85: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoOtimizacoes

Hipervisores nativosO sistema convidado acessa diretamente ohardware

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 85 / 166

Page 86: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoOtimizacoes em hipervisores convidados

1ª abordagemO sistema convidado acessa diretamente osistema nativo.

2ª abordagemO sistema convidado acessa diretamente ohardware (device driver).

3ª abordagemO hipervisor acessa diretamente o hardware(device driver).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 86 / 166

Page 87: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

As estrategias de virtualizacaoOtimizacoes em sistemas de maquinas virtuais

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 87 / 166

Page 88: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Maquinas virtuais Estrategias de Virtualizacao

Desempenho de hipervisores nativos e convidados

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 88 / 166

Page 89: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 89 / 166

Page 90: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca

Virtualizacao e segurancaUtilizacao de Maquinas Virtuais

Consolidacao de ServidoresReducao de custos em hardware, software e gerencia do parquetecnologico.

SegurancaVarios trabalhos de pesquisa e desenvolvimento comprovaram a eficaciada utilizacao de maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 90 / 166

Page 91: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca

Virtualizacao e segurancaCriterios basicos de seguranca

ConfidencialidadeInformacao somente esta visıvel a sujeitos (usuarios e/ou processos)explicitamente autorizados.

DisponibilidadeInformacao deve estar prontamente disponıvel sempre que for necessaria.

IntegridadeInformacao somente pode ser modificada por sujeitos explicitamenteautorizados e de formas claramente definidas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 91 / 166

Page 92: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca

Virtualizacao e segurancaOutros criterios de seguranca

AutenticidadeGarante que a informacao ou o usuario da mesma e autentico, ou seja,garante que a entidade envolvida e quem afirma ser.

Nao-repudioNao e possıvel negar a existencia ou autoria de uma operacao que criou,modificou ou destruiu uma informacao.

AuditoriaImplica no registro das acoes realizadas no sistema, identificando ossujeitos e recursos envolvidos, as operacoes realizadas, seus horarios,locais e outros dados relevantes.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 92 / 166

Page 93: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacoes da virtualizacao em segurancaPropriedades de virtualizacao aplicadas em seguranca

I Isolamento

I Controle de Recursos

I Inspecao

I Encapsulamento

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 93 / 166

Page 94: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacoes da virtualizacao em segurancaIsolamento

ConfidencialidadeAo manter os ambientes virtuais isolados, o hipervisor prove aconfidencialidade de dados entre os sistemas convidados.

IntegridadeAplicacoes convidadas nao alteram dados de outras aplicacoes.

DisponibilidadePermite a contencao de erros de software no ambito da maquina virtual.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 94 / 166

Page 95: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacoes da virtualizacao em segurancaControle de Recursos

IntegridadePossibilidade de implementar mecanismos para verificar a consistencia deacessos e de seus resultados.

AuditoriaAcompanhamento e registro das atividades do sistema convidado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 95 / 166

Page 96: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacoes da virtualizacao em segurancaInspecao

IntegridadeA visao privilegiada sobre o estado interno do sistema convidado permiteextrair informacoes, , permitindo implementar externamente mecanismoscomo antivırus e detectores de intrusao.

Baloes de ensaioInspecao aliada ao isolamento torna as maquinas virtuais um ambienteideal para estudo de aplicacoes maliciosas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 96 / 166

Page 97: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacoes da virtualizacao em segurancaEncapsulamento

Integridade e DisponibilidadeA possibilidade de salvar/restaurar o estado do sistema convidado tornaviavel a implementacao de mecanismos de rollback.

DisponibilidadeMigracao on the fly de maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 97 / 166

Page 98: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Aplicacoes da virtualizacao em seguranca

Aplicacao de Maquinas Virtuais em Seguranca

I Confinamento de aplicacoes;

I Deteccao de intrusao;

I Analise de programas maliciosos;

I Honeypots e honeynets;

I Rootkits;

I Consolidacao de servidores, planos de contingencia e migracao;

I Tolerancia a faltas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 98 / 166

Page 99: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Confinamento de Aplicacoes

Confinamento de Aplicacoes

Em um sistema operacionalCada processo (servico) tem acesso a um conjunto de recursos parafuncionar.

Comprometimento da segurancaPor servicos mal configurados, erros nas regras de controle de acesso,vulnerabilidades no servico ou no sistema operacional.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 99 / 166

Page 100: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Confinamento de Aplicacoes

Confinamento de AplicacoesAlternativas

Ferramentas tradicionais de segurancaTrabalho de configuracao significativo. Essas ferramentas tambem saoprocessos, consumindo recursos e sendo passıveis de falhas ou subversao

Maquina isolada (dedicada)Solucao cara.

Maquina virtualIsolamento da aplicacao sensıvel do restante do sistema hospedeiro.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 100 / 166

Page 101: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Confinamento de Aplicacoes

Confinamento de AplicacoesIsolamento

Hipervisor convencionalPode ser usado para confinar uma aplicacao.

Servidores virtuaisTecnicas simplificadas e com baixo custo computacional.

Domınio virtualRecebe uma parcela dos recursos do sistema.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 101 / 166

Page 102: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Confinamento de Aplicacoes

Confinamento de AplicacoesServidores virtuais

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 102 / 166

Page 103: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Confinamento de Aplicacoes

Confinamento de AplicacoesImplementacoes disponıveis

chrootTecnica mais antiga.

JailsAlternativa no sistema FreeBSD.

ZonesAlternativa no sistema Solaris.

Ambiente LinuxSistemas Virtuozzo/OpenVZ e Vservers/FreeVPS.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 103 / 166

Page 104: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoIDS – Intrusion Detection Systems

ObjetivoMonitorar uma rede ou sistema computacional, buscando detectarataques ou atividades maliciosas.

IDSs de maquina (HIDS – Host-based IDS)Monitoram um computador para identificar atividades maliciosas locais.

IDSs de rede (NIDS – Network-based IDS)Monitoram o trafego de uma rede, para identificar ataques aoscomputadores a ela conectados.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 104 / 166

Page 105: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoLimitacoes

Sistemas NIDS

I Eficacia diminui na medida em que o trafego da rede aumenta.

I Protocolos de rede cifrados torna o conteudo dos pacotes opaco.

Sistemas HIDSE um processo local, que pode ser desativado ou subvertido por umataque bem-sucedido.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 105 / 166

Page 106: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoMaquinas virtuais protegendo sistemas HIDS

Propriedade de inspecaoHipervisor pode extrair informacoes de um sistema convidado eencaminha-las para analise por um detector de intrusao executando nosistema nativo, ou em outra maquina virtual.

Propriedade de isolamentoAssegura a integridade das informacoes coletadas e do proprio detectorde intrusao.

Propriedade de controle de recursosPermite ao hipervisor intervir no sistema convidado, para interromperatividades consideradas suspeitas pelo detector de intrusao.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 106 / 166

Page 107: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoPossibilidades com maquinas virtuais

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 107 / 166

Page 108: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoProjetos

ReVirt

I Uma camada entre o hipervisor e o sistema hospedeiro recebe asmensagens de syslog do convidado e registro no hospedeiro.

I Realiza checkpoints regulares do sistema convidado.

VMI IDS – Virtual Machine Introspection Intrusion DetectionSystem

I Hipervisor nativo, executando diretamente sobre o hardware.

I IDS executa em uma das maquinas virtuais e observa dados obtidosdas demais maquinas virtuais.

I Somente o estado global da maquina virtual e analisado (naoconsidera processos isolados).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 108 / 166

Page 109: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Deteccao de intrusao

Deteccao de intrusaoProjetos

VMIDS – Virtual Machine Intrusion Detection System

I Hipervisor convidado modificado, que extrai informacoes do sistemaconvidado e as submete a um detector de intrusao executando nosistema hospedeiro.

I Analise e bloqueio de sequencias de chamadas de sistema.

I Cada processo convidado pode ser analisado separadamente.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 109 / 166

Page 110: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososDois tipos de programas prejudiciais

IntencionaisProgramas escritos para se infiltrar em um sistema (sem conhecimento deseus usuarios).

Nao-intencionaisProgramas normais contendo erros de programacao ou de configuracaoque permitam a manipulacao nao-autorizada das informacoes de umsistema.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 110 / 166

Page 111: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososClassificacao dos Programas Prejudiciais

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 111 / 166

Page 112: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososClassificacao dos Programas Prejudiciais

VırusHabilidade de se auto-replicar e infectar partes do sistema operacional oudos programas de aplicacao

WormCapaz de propagar a si proprio em uma rede.

Cavalo de TroiaRealiza acoes escondidas visando roubar informacoes ou provocar danos.

RootkitOcultar a presenca de um invasor.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 112 / 166

Page 113: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososObjetivos

Estatica

I Observacao do conteudo (codigo binario).

I Cada vez mais difıcil de realizar, devido ao emprego de tecnicas dedissimulacao e cifragem.

DinamicaObservacao do comportamento.

I Objetivos;

I Metodos de propagacao;

I Evidencias que possam indicar sua presenca;

I Formas de deteccao e remocao.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 113 / 166

Page 114: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososMaquinas virtuais para analise dinamica

I Nao e necessario dedicar uma maquina real “limpa” para cadaanalise;

I Salvar e restaurar estados da maquina virtual, permitindo desfazeros efeitos de uma intrusao;

I Comparacao entre os estados antes de depois da intrusao permitecompreender melhor seus efeitos no sistema;

I A verificacao de informacoes de baixo nıvel atraves da capacidade deinspecao do hipervisor;

I A traducao dinamica de instrucoes pode ser usada para instrumentaro fluxo de instrucoes executado pelo malware.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 114 / 166

Page 115: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Analise de programas maliciosos

Analise de programas maliciososFerramentas e dificuldades

Anubis, CWSandbox e JoeboxAnalise dinamica automatizada de programas suspeitos.

Dificuldades

I Erros de projeto e/ou implementacao nos hipervisores;

I Virtualizacao de plataformas (Intel x86) e uma tarefa complexa;

I Possibilidade de detectar o ambiente virtual.

VaultVerificacao da integridade de um sistema por troca de mensagens(malwares convencionais).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 115 / 166

Page 116: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Honeypots e honeynets

Honeypots e honeynetsHoneypots

ArmadilhaServem para atrair e estudar o trafego de rede malicioso.

Baixa interatividadeInteracao com emulacao de servicos de redes.

Alta interatividadeExpoem sistemas e servicos reais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 116 / 166

Page 117: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Honeypots e honeynets

Honeypots e honeynetsHoneynets

Colecao de honeypotsAlta interatividade com diferentes sistemas operacionais, configuracoes eservicos de rede (custo implantacao e operacao).

Honeynet virtualE simplesmente uma honeynet construıda com maquinas virtuais ao invesde computadores reais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 117 / 166

Page 118: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Honeypots e honeynets

Honeypots e honeynetsHoneynet virtual

Totalmente virtualTodos os computadores envolvidos sao maquinas virtuais.

HıbridaComposta por honeypots virtuais e maquinas reais para as funcoes defirewall, deteccao de intrusao e logging.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 118 / 166

Page 119: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Rootkits

RootkitsComplexidade

Primeiros rootkitsConsistiam em substituir alguns comandos do sistema por versoes com amesma funcionalidade (ocultar atividades).

PosteriormenteRootkits mais elaborados que substituem bibliotecas do sistema com amesma finalidade.

VMBR – VM-based rootkitsAvancos no suporte de hardware a virtualizacao possibilitaram odesenvolvimento de rootkits baseado em maquinas virtuais.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 119 / 166

Page 120: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Rootkits

RootkitsVMBR – VM-based rootkits

Simplicidade conceitualAo ser instalado, ele se tornaum hipervisor, virtualizandotodo o hardware da maquinae transformando o sistemaoperacional invadido em umsistema convidado

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 120 / 166

Page 121: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Rootkits

RootkitsMais conhecidos

SubvirtUma prova de conceito.

VitriolUsa a tecnologia VT-x dos processadores Intel.

BluePillUsa a tecnologia equivalente SVM, da AMD.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 121 / 166

Page 122: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Rootkits

RootkitsFuncionamento

Semelhante a um hipervisor nativoModificam a sequencia de inicializacao da maquina afetada, carregandoprimeiro o seu codigo e posteriormente o sistema operacional original, emum ambiente convidado.

VMBR torna-se incontornavelEle pode interceptar todos os acessos ao hardware e inspecionar todo oestado interno do sistema operacional.

Teoricamente indetectavelVarios pesquisadores afirmam ser possıvel detectar anomalias em umsistema virtualizado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 122 / 166

Page 123: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Consolidacao de servidores, planos de contingencia e migracao

Consolidacao de servidores

ConceitoTransferir servicos em maquinas fısicas para maquinas virtuais, paradiminuir o numero de equipamentos da organizacao.

Recursos fısicosPodem ser dinamicamente alocados aos sistemas operacionais de acordocom suas necessidades, proporcionando balanceamento de carga dinamicoe um melhor controle de uso dos recursos dos servidores .

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 123 / 166

Page 124: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Consolidacao de servidores, planos de contingencia e migracao

Consolidacao de servidoresVantagens

I Aumentar a produtividade da infra-estrutura;

I Simplificar a gerencia do ambiente;

I Aumentar a seguranca;

I Diminuir o consumo de energia;

I Economizar recursos humanos, fısicos e financeiros.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 124 / 166

Page 125: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Consolidacao de servidores, planos de contingencia e migracao

Planos de contigencia

Visa assegurarA disponibilidade de sistemas crıticos e facilitar a continuidade dasoperacoes durante uma crise.

Maquinas virtuaisPodem ser salvas na forma de arquivos, checkpoints dos servidorescrıticos podem ser salvos em equipamentos distintos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 125 / 166

Page 126: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Consolidacao de servidores, planos de contingencia e migracao

Migracao

Stop-and-copyConsiste em suspender a maquina virtual, transferir o conteudo de suamemoria para o hipervisor de destino e retomar a execucao em seguida.

Demand-migration

I A maquina virtual e suspensa apenas durante a copia das estruturasde memoria do nucleo para o hipervisor de destino.

I A execucao da maquina virtual e retomada e o restante das paginasde memoria da maquina virtual e transferido sob demanda.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 126 / 166

Page 127: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Consolidacao de servidores, planos de contingencia e migracao

Migracao

Pre-copy

I Consiste basicamente em copiar para o hipervisor de destino todasas paginas de memoria da maquina virtual enquanto esta executa.

I A maquina virtual e suspensa e as paginas modificadas depois dacopia inicial sao novamente copiadas no destino.

I A maquina pode retomar sua execucao no destino.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 127 / 166

Page 128: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Virtualizacao e seguranca Tolerancia a faltas

Tolerancia a faltas

IsolamentoPode ser usado para restringir a propagacao de erros de software nossistemas.

Drivers construıdos por terceirosPrincipal causa de falhas de um sistema operacional.

Projeto Isolation KernelA execucao de drivers e realizada no sistema convidado (nucleo Linux), eo resultado da execucao e devolvido ao sistema hospedeiro.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 128 / 166

Page 129: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 129 / 166

Page 130: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareA maquina virtual mais conhecida

Interface x86Prove uma implementacao completa desta interface ao sistemaconvidado.

Traducao dinamicaO hipervisor tem que emular certas instrucoes para representarcorretamente um processador virtual (execucao de varios sistemasoperacionais distintos).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 130 / 166

Page 131: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareVersoes

Hipervisor convidado

I VMware Workstation: primeira versao comercial da maquina virtual,lancada em 1999, para ambientes desktop;

I VMware Fusion: versao experimental para o sistema operacionalMac OS com processadores Intel;

I VMware Player: versao gratuita do VMware Workstation, com asmesmas funcionalidades mas limitado a executar maquinas virtuaiscriadas previamente com versoes comerciais;

I VMWare Server: conta com varios recursos do VMwareWorkstation, mas e voltado para pequenas e medias empresas;

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 131 / 166

Page 132: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareVersoes

Hipervisor nativoVMware ESX Server: para servidores de grande porte, possui um nucleoproprietario chamado vmkernel e utiliza o Red Hat Linux para proveroutros servicos, tais como a gerencia de usuarios.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 132 / 166

Page 133: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareEstrategias de virtualizacao

VMware WorkstationUtiliza as estrategias de virtualizacao total e traducao dinamica.

VMware ESX ServerImplementa ainda a paravirtualizacao.

Abordagem hıbridaImplementada na interface do hipervisor com as maquinas virtuais porquestoes de desempenho.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 133 / 166

Page 134: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareAbordagem hıbrida

Excecao e gerenciamento de memoriaRealizados por acesso direto ao hardware.

Entrada/saıdaUsa o sistema hospedeiro

Alocacao de memoria para uso exclusivo em cada maquinavirtualGarante que nao ocorra nenhuma colisao de memoria entre o sistemaconvidado e o real.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 134 / 166

Page 135: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais VMware

VMwareVMware Workstation

InterrupcoesIntercepta todas as interrupcoes do sistema convidado. Entrada/saıdasao remetidas para o sistema hospedeiro, para que sejam processadascorretamente.

ExcecoesGeradas pelas aplicacoes no sistema convidado (como as chamadas desistema, por exemplo) sao remetidas para o sistema convidado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 135 / 166

Page 136: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais FreeBSD Jails

FreeBSD JailsConfinamento de processos

FreeBSDOferece um mecanismo de confinamento de processos denominado Jails.

Jails ou celasSao domınios de execucao distintos, cada cela contem um subconjuntode processos e recursos (arquivos, conexoes de rede) que pode sergerenciado de forma autonoma.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 136 / 166

Page 137: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais FreeBSD Jails

FreeBSD JailsLimitacao dos processos

DomıniosCriados a partir de um diretorio previamente preparado no sistema dearquivos e com diversas limitacoes, mesmo executando com privilegios deadministrador.

I Reconfigurar o nucleo (atraves da chamada sysctl, por exemplo);

I Carregar/retirar modulos do nucleo;

I Mudar configuracoes de rede (interfaces e rotas);

I Montar/desmontar sistemas de arquivos;

I Criar novos devices;

I Realizar modificacoes de configuracoes do nucleo em tempo deexecucao;

I Acessar recursos que nao pertencam ao seu proprio domınio.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 137 / 166

Page 138: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais FreeBSD Jails

FreeBSD JailsVirtualizacao parcial

Somente partes do sistema hospedeiro

I Arvore de diretorios (cada domınio tem sua propria visao do sistemade arquivos);

I Espacos de nomes (cada domınio mantem seus propriosidentificadores de usuarios, processos e recursos de IPC);

I Interfaces de rede (cada domınio tem sua interface virtual, comendereco IP proprio).

Demais recursosSao preservadas, ou melhor, podem ser usadas diretamente demandadoum custo computacional muito baixo, mas exige que todos os sistemasconvidados executem sobre o mesmo nucleo.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 138 / 166

Page 139: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Xen

XenHipervisor nativo

Interface x86Paravirtualizada, permitindo executar sistemas operacionais como Linux eWindows especialmente modificados para executar sobre o hipervisor.

Versoes recentesUtilizam o suporte de virtualizacao disponıvel nos processadores (sistemasconvidados nao sofrem modificacoes, mas perdem desempenho).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 139 / 166

Page 140: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Xen

XenModificacoes nos convidados

I O mecanismo de entrega de interrupcoes passa a usar um servico deeventos oferecido pelo hipervisor; o nucleo convidado deve registrarum vetor de tratadores de excecoes junto ao hipervisor;

I as operacoes de entrada/saıda de dispositivos sao feitas atraves deuma interface simplificada, independente de dispositivo, que usabuffers circulares de tipo produtor/consumidor;

I o nucleo convidado pode consultar diretamente as tabelas desegmentos e paginas da memoria usada por ele e por suas aplicacoes,mas as modificacoes nas tabelas devem ser solicitadas ao hipervisor;

I o nucleo convidado deve executar em um nıvel de privilegio inferiorao do hipervisor;

I o nucleo convidado deve implementar uma funcao de tratamento daschamadas de sistema de suas aplicacoes, para evitar que elas tenhamde passar pelo hipervisor antes de chegar ao nucleo convidado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 140 / 166

Page 141: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Xen

XenDrivers

HipervisorDeve dispor dos drivers adequados para acessar os dispositivos dehardware.

Nucleos convidadosNao precisam de drivers especıficos, pois eles acessam dispositivosvirtuais atraves de uma interface simplificada.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 141 / 166

Page 142: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Xen

XenO hipervisor Xen

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 142 / 166

Page 143: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais User-Mode Linux

User-Mode LinuxAmbiente Linux

Nucleo do LinuxPortado de forma a poder executar sobre si mesmo, como um processodo proprio Linux.

Hipervisor convidadoUser space separado e isolado na forma de uma maquina virtual.

HardwareOs dispositivos de hardware sao virtualizados a partir dos servicosprovidos pelo sistema hospedeiro.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 143 / 166

Page 144: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais User-Mode Linux

User-Mode LinuxUtilizacao

Uma maquina virtualCapaz de executar todos os servicos e aplicacoes disponıveis para osistema hospedeiro.

CustoProcessamento e memoria menor que aquele imposto por outroshipervisores mais complexos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 144 / 166

Page 145: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais User-Mode Linux

User-Mode Linux

ConfinamentoProcessos em execucao na maquina virtual nao tem acesso direto aosrecursos do sistema hospedeiro.

Chamadas de SistemaImplementada pelo uso de uma thread de rastreamento e interceptadaspelo ptrace para garantir a distincao de privilegios e controle do contextodo sistema convidado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 145 / 166

Page 146: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUVirtualizacao completa

Sistema HospedeiroNao requer alteracoes ou otimizacoes, pois utiliza a traducao dinamicapara prover a virtualizacao.

Hipervisor recursivoE possıvel chamar o QEMU a partir do proprio QEMU

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 146 / 166

Page 147: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUDois modos de operacao

Emulacao total do sistemaEmula um sistema completo e pode ser utilizado para executar diferentessistemas operacionais.

Emulacao no modo de usuarioDisponıvel apenas para o sistema Linux. O emulador pode executarprocessos Linux compilados em diferentes plataformas.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 147 / 166

Page 148: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUMMU – Memory Management Unit

Emulacao de um sistema completoImplementa a MMU totalmente em software, para garantir o maximo deportabilidade.

Em modo usuarioSimula uma MMU simplificada atraves da chamada de sistema mmap dosistema hospedeiro.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 148 / 166

Page 149: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUKQEMU ou QEMU Accelerator

ModuloInstalado no nucleo do sistema hospedeiro que possibilita ao hipervisorobter um otimo desempenho.

Chamadas de sistemasEmitidas pelos processos convidados sao executadas diretamente sobre osistema hospedeiro (nao ocorre interpretacao).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 149 / 166

Page 150: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUKQEMU ou QEMU Accelerator

Dispositivos de entrada/saıda e o enderecamento de memoriaDo sistema convidado sao associados diretamente aos do sistemahospedeiro.

Processos convidadosPassam a executar diretamente no modo usuario do sistema hospedeiro.

Modo nucleo do sistema convidadoE utilizado apenas para virtualizar o processador e os perifericos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 150 / 166

Page 151: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais QEMU

QEMUVirtualBox

Maquina virtualConstruıdo sobre o hipervisor QEMU.

Hipervisor convidadoSimilar ao VMware Workstation em muitos aspectos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 151 / 166

Page 152: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Valgrind

ValgrindFerramenta de Depuracao

Uso da memoria RAM e problemas correlatosFugas de memoria (memory leaks), acessos a enderecos invalidos, padroesde uso dos caches e outras operacoes envolvendo o uso da memoria RAM.

Hipervisor de aplicacaoVirtualiza o processador atraves de tecnicas de traducao dinamica.Traduz o codigo executavel do mesmo para um formato interno.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 152 / 166

Page 153: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais Valgrind

ValgrindFerramenta de Depuracao

Apos a conversaoO codigo e instrumentado, atraves da insercao de instrucoes pararegistrar e verificar operacoes.

Processador virtualExecucao do codigo, ate 50 vezes mais lento que o codigo original.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 153 / 166

Page 154: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais JVM – Java Virtual Machine

JVM – Java Virtual MachineJava

Linguagem de programacaoBaseada em maquina virtual.

Codigo fonteE compilado em um codigo binario independente de plataforma(bytecode).

bytecode JavaNao corresponde a instrucoes de nenhum processador real.

JVM – Java Virtual MachineE o responsavel por interpretar o bytecode Java.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 154 / 166

Page 155: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais JVM – Java Virtual Machine

JVM – Java Virtual MachineVantagens

PortabilidadePara que uma aplicacao Java possa executar sobre uma determinadaplataforma, basta que a maquina virtual Java esteja disponıvel.

Navegador WebPermite que codigo Java seja associado a paginas Web, na forma depequenas aplicacoes denominadas applets.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 155 / 166

Page 156: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais JVM – Java Virtual Machine

JVM – Java Virtual MachineMaquina virtual Java

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 156 / 166

Page 157: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Exemplos de Maquinas Virtuais JVM – Java Virtual Machine

JVM – Java Virtual MachineMaquina virtual como suporte de execucao

UCSD PascalPrimeiras experiencias de execucao de aplicacoes sobre maquinasabstratas (decada de 1970).

Outros exemplosC#, Python, Perl, Lua e Ruby

.NET da MicrosoftCodigo fonte C# compilado para o formato CIL (Common IntermediateLanguage) e executado sobre a maquina virtual CLR (Common LanguageRuntime).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 157 / 166

Page 158: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 158 / 166

Page 159: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Utilizacao de maquinas virtuais

Solucoes domesticas e corporativasAlternativa concreta para uso em sistemas.

Pesquisas em andamentoPermitirao utilizar os melhores recursos das mais variadas plataformasoperacionais sem a necessidade de investir em equipamentos especıficos.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 159 / 166

Page 160: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Melhorar o suporte a virtualizacao

AprimoramentoQuestoes de seguranca, mobilidade e desempenho dos hipervisores.

Principais campos de pesquisas

I Processadores;

I Memoria;

I Entrada/saıda;

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 160 / 166

Page 161: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Pesquisas: Processadores

I AMD e Intel, ja disponibilizaram tecnologias;

I Virtualizacao sobre a plataforma x86 ocorra de forma mais natural etranquila.

I Estas tecnologias vem simplificando o desenvolvimento dos novoshipervisores.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 161 / 166

Page 162: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Pesquisas: Memoria

I Varias tecnicas tem permitido que a virtualizacao da memoria sejamais eficiente.

I Pesquisas futuras devem levar aos sistemas operacionais convidadosa gerenciar a memoria juntamente com o hipervisor (gerenciacooperativa).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 162 / 166

Page 163: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Pesquisas: Entrada/saıda

I Os dispositivos deverao ser projetados para fornecer suporte avirtualizacao com alto desempenho.

I O proprio dispositivo devera suportar a multiplexacao, de forma apermitir o acesso simultaneo por varios sistemas virtuais.

I A responsabilidade pelo acesso aos dispositivos devera passar dohipervisor para o sistema convidado.

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 163 / 166

Page 164: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Perspectivas

Pesquisas em seguranca

I Garantir que as propriedades basicas dos hipervisores sejam providascorretamente pelas implementacoes;

I Construir metodos confiaveis para descobrir a presenca de rootkitsbaseados em maquinas virtuais;

I De forma contraditoria, criar tecnicas para impedir a deteccao deambiente convidados, que serao uteis na construcao de honeypotsvirtuais;

I Trazer para o desktop o conceito de sandboxing (execucao isoladade aplicacoes).

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 164 / 166

Page 165: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Duvidas

Sumario

Introducao

Maquinas virtuais

Virtualizacao e seguranca

Exemplos de Maquinas Virtuais

Perspectivas

Duvidas

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 165 / 166

Page 166: Virtualiza˘c~ao: Conceitos e Aplica˘c~oes em Seguran˘casbseg2008.inf.ufrgs.br/resources/slides/minicursos/apr_01_curso.pdf · Marcos Laureano e Carlos Maziero Virtualiza˘c~ao:

Duvidas

Contato

Marcos Aurelio Pchek LaureanoCentro Universitario Franciscano – UNIFAEPrograma de Pos-Graduacao em Informatica.Pontifıcia Universidade Catolica do [email protected]

Carlos Alberto MazieroPrograma de Pos-Graduacao em Informatica.Pontifıcia Universidade Catolica do [email protected]

Marcos Laureano e Carlos Maziero Virtualizacao: Conceitos e Aplicacoes em Seguranca 1 de setembro de 2008 166 / 166