kernel hypervisors seguranÇa a nÍvel de aplicaÇÃo lawrence lagerlöf
TRANSCRIPT
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