23
Kernel Kernel Hypervisors Hypervisors SEGURANÇA A NÍVEL DE SEGURANÇA A NÍVEL DE APLICAÇÃO APLICAÇÃO Lawrence Lagerlöf

Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Embed Size (px)

Citation preview

Page 1: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Kernel Kernel HypervisorsHypervisors

SEGURANÇA A NÍVEL SEGURANÇA A NÍVEL DE APLICAÇÃODE APLICAÇÃO

Lawrence Lagerlöf

Page 2: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

IntroduçãoIntrodução

COTSCOTS FRAMEWORKFRAMEWORK POLÍTICA DE SEGURANÇAPOLÍTICA DE SEGURANÇA

Page 3: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Módulos Carregáveis do Módulos Carregáveis do KERNELKERNEL

(Loadable Modules)(Loadable Modules) Fácil integraçãoFácil integração Atualização eficienteAtualização eficiente Carregamento diâmicoCarregamento diâmico

Page 4: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Loadable ModulesLoadable Modules

Page 5: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

HypervisorsHypervisors

Um hypervisor é uma camada Um hypervisor é uma camada de software, normalmente de software, normalmente implementada em hardware, implementada em hardware, tendo como conjunto de tendo como conjunto de instruções as mesmas do instruções as mesmas do hardware em questão.hardware em questão.

Page 6: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Virtual MachinesVirtual Machines

Em hardware.Em hardware. Em software.Em software.

EmuladorEmulador KernelKernel

Page 7: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

SegurançaSegurança

O sistema como um todo.O sistema como um todo. Controle de acesso das Controle de acesso das

aplicações.aplicações. User Space X Kernel SpaceUser Space X Kernel Space MonitoramentoMonitoramento Códigos maliciososCódigos maliciosos

Page 8: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Arquitetura do Kernel Arquitetura do Kernel HypervisorHypervisor

Master Kernel HypervisorMaster Kernel Hypervisor Client Kernel HypervisorsClient Kernel Hypervisors Client Hypervisor Client Hypervisor

manageament module.manageament module.

Page 9: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Componentes do SistemaComponentes do Sistema

Page 10: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Use CasesUse Cases

Replication HypervisorReplication Hypervisor Ligação com a aplicação antes Ligação com a aplicação antes

da aplicação ser carregadada aplicação ser carregada SOCKSSOCKS

Wrappers que usam a Wrappers que usam a funcionalidade de debug do funcionalidade de debug do kernel.kernel.

Page 11: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

BenefíciosBenefícios

Segurança inquebrávelSegurança inquebrável Políticas se segurança podem Políticas se segurança podem

ser “empilhadas”.ser “empilhadas”. Não requer alteração do Não requer alteração do

código-fonte do kernel.código-fonte do kernel. FlexívelFlexível

Page 12: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Componentes do SistemaComponentes do Sistema

Master Hypervisor Master Hypervisor FrameworkFramework

Client Kernel HypervisorsClient Kernel Hypervisors Kernel Hypervisor Kernel Hypervisor

ManageamentManageament

Page 13: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Master Hypervisor Master Hypervisor FrameworkFramework

Um framework é baseado num Um framework é baseado num Master Kernel Hypervisor, que Master Kernel Hypervisor, que o trabalho é coordenar a o trabalho é coordenar a instalação e remoção dos instalação e remoção dos client kernel hypervisors.client kernel hypervisors.

Dispositivo /dev/hyperDispositivo /dev/hyper Atualizando a política de Atualizando a política de

segurança.segurança.

Page 14: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

FrameworkFramework

Page 15: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Master Kernel Master Kernel Hypervisor(2)Hypervisor(2)

User space daemons.User space daemons. ReplicaçãoReplicação AuditoramentoAuditoramento

Monitoramento de chamadas Monitoramento de chamadas do sistema.do sistema.

Page 16: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

MKH(3) - System CallsMKH(3) - System Calls

Cada system call tem o seu Cada system call tem o seu próprio wrapper que segue o próprio wrapper que segue o algorítmo:algorítmo: Para cada kernel hypervisor cliente Para cada kernel hypervisor cliente

monitorando a chamada, é iniciado monitorando a chamada, é iniciado um processamento pre-chamada.um processamento pre-chamada.

Executa o processamento padrão.Executa o processamento padrão. Para cada kernel hypervisor cliente Para cada kernel hypervisor cliente

monitoramendo essa chamada, é monitoramendo essa chamada, é iniciado um processamento pós-iniciado um processamento pós-chamada.chamada.

Page 17: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

System Call ProcessingSystem Call Processing

Page 18: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Client Kernel Client Kernel HypervisorsHypervisors

Monitoramento de 1 ou mais Monitoramento de 1 ou mais aplicativos.aplicativos.

Reforço da segurança padrão Reforço da segurança padrão dos aplicativos.dos aplicativos.

Page 19: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

CKH (2)CKH (2)

Exemplos:Exemplos: FirefoxFirefox

RegrasRegras <type> <identifier> <type> <identifier>

<permissions><permissions> <type> = arquivo, socket ou <type> = arquivo, socket ou

processo.processo. <identifier> = arquivo, dir, ip, pid<identifier> = arquivo, dir, ip, pid <permissions> = depende do tipo.<permissions> = depende do tipo.

Page 20: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

CKH(3)CKH(3)

Permissão para o tipo Permissão para o tipo arquivo:arquivo: Pode ser Pode ser readread, , writewrite, , read/writeread/write

ou ou nonenone.. Performance do Performance do

monitoramento.monitoramento.

Page 21: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Kernel Hypervisor Kernel Hypervisor ManageamentManageament

Obter informação dos Obter informação dos clientes.clientes. Listar as regras atuais de Listar as regras atuais de

monitoramento.monitoramento. Reconfigurar.Reconfigurar.

Limpar as configurações e ler Limpar as configurações e ler uma nova, dinamicamente.uma nova, dinamicamente.

Mudar o nível de log.Mudar o nível de log.

Page 22: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

Aplicações EspecíficasAplicações Específicas

Wrapping de navegadores Wrapping de navegadores web.web.

Wrapping de servidores web.Wrapping de servidores web. Wrapping de serviços e Wrapping de serviços e

proxys.proxys. Adicionar novos métodos de Adicionar novos métodos de

segurança ao pré-existentes.segurança ao pré-existentes.

Page 23: Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf

ConclusãoConclusão