230 likes | 341 Views
Kernel Hypervisors. SEGURANÇA A NÍVEL DE APLICAÇÃO. Lawrence Lagerlöf. Introdução. COTS FRAMEWORK POLÍTICA DE SEGURANÇA. Módulos Carregáveis do KERNEL (Loadable Modules). Fácil integração Atualização eficiente Carregamento diâmico. Loadable Modules. Hypervisors.
E N D
Kernel Hypervisors SEGURANÇA A NÍVEL DE APLICAÇÃO Lawrence Lagerlöf
Introdução • COTS • FRAMEWORK • POLÍTICA DE SEGURANÇA
Módulos Carregáveis do KERNEL(Loadable Modules) • Fácil integração • Atualização eficiente • Carregamento diâmico
Hypervisors • Um hypervisor é uma camada de software, normalmente implementada em hardware, tendo como conjunto de instruções as mesmas do hardware em questão.
Virtual Machines • Em hardware. • Em software. • Emulador • Kernel
Segurança • O sistema como um todo. • Controle de acesso das aplicações. • User Space X Kernel Space • Monitoramento • Códigos maliciosos
Arquitetura do Kernel Hypervisor • Master Kernel Hypervisor • Client Kernel Hypervisors • Client Hypervisor manageament module.
Use Cases • Replication Hypervisor • Ligação com a aplicação antes da aplicação ser carregada • SOCKS • Wrappers que usam a funcionalidade de debug do kernel.
Benefícios • Segurança inquebrável • Políticas se segurança podem ser “empilhadas”. • Não requer alteração do código-fonte do kernel. • Flexível
Componentes do Sistema • Master Hypervisor Framework • Client Kernel Hypervisors • Kernel Hypervisor Manageament
Master Hypervisor Framework • Um framework é baseado num Master Kernel Hypervisor, que o trabalho é coordenar a instalação e remoção dos client kernel hypervisors. • Dispositivo /dev/hyper • Atualizando a política de segurança.
Master Kernel Hypervisor(2) • User space daemons. • Replicação • Auditoramento • Monitoramento de chamadas do sistema.
MKH(3) - System Calls • Cada system call tem o seu próprio wrapper que segue o algorítmo: • Para cada kernel hypervisor cliente monitorando a chamada, é iniciado um processamento pre-chamada. • Executa o processamento padrão. • Para cada kernel hypervisor cliente monitoramendo essa chamada, é iniciado um processamento pós-chamada.
Client Kernel Hypervisors • Monitoramento de 1 ou mais aplicativos. • Reforço da segurança padrão dos aplicativos.
CKH (2) • Exemplos: • Firefox • Regras • <type> <identifier> <permissions> • <type> = arquivo, socket ou processo. • <identifier> = arquivo, dir, ip, pid • <permissions> = depende do tipo.
CKH(3) • Permissão para o tipo arquivo: • Pode ser read, write, read/write ou none. • Performance do monitoramento.
Kernel Hypervisor Manageament • Obter informação dos clientes. • Listar as regras atuais de monitoramento. • Reconfigurar. • Limpar as configurações e ler uma nova, dinamicamente. • Mudar o nível de log.
Aplicações Específicas • Wrapping de navegadores web. • Wrapping de servidores web. • Wrapping de serviços e proxys. • Adicionar novos métodos de segurança ao pré-existentes.