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

Preview:

Citation preview

Kernel Kernel HypervisorsHypervisors

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

Lawrence Lagerlöf

IntroduçãoIntrodução

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

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

Loadable ModulesLoadable Modules

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.

Virtual MachinesVirtual Machines

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

EmuladorEmulador KernelKernel

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

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.

Componentes do SistemaComponentes do Sistema

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.

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

Componentes do SistemaComponentes do Sistema

Master Hypervisor Master Hypervisor FrameworkFramework

Client Kernel HypervisorsClient Kernel Hypervisors Kernel Hypervisor Kernel Hypervisor

ManageamentManageament

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.

FrameworkFramework

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.

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.

System Call ProcessingSystem Call Processing

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.

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.

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.

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.

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.

ConclusãoConclusão