O que é um kernel de segurança?
Um kernel de segurança é essencialmente o núcleo de uma implementação de segurança de computador ou rede. É o núcleo de um ambiente de computação seguro, que pode ser implementado na forma de um componente de hardware instalado em uma topologia de computador ou rede, em uma implementação de software ou em um sistema de firmware instalado em um microchip de computador. Por qualquer meio, o kernel se torna o local central para o estabelecimento de permissões de acesso aos recursos de um computador ou rede.
Uma implementação inicial do kernel de segurança foi um monitor de máquina virtual desenvolvido na década de 1970 para os sistemas de computador da Digital Equipment Corporation® (DEC®) de extensão de endereço virtual (VAX). O computador pode ser configurado em várias máquinas virtuais que podem executar um sistema operacional diferente, com acesso a diferentes recursos e com diferentes protocolos de segurança. Nesse caso, o kernel de segurança residia na máquina real onde as máquinas virtuais foram estabelecidas e manipulou o controle de acesso para as diferentes máquinas virtuais, que poderiam ter níveis variados de segurança.
A implementação mais comum de um kernel de segurança é através de uma camada de software no sistema operacional de um computador. O design do sistema pode ser visto como uma série de anéis, semelhante a uma cebola, onde cada camada acessa os que estão abaixo. No centro absoluto está o hardware. A primeira camada sobre o hardware seria o kernel de segurança, que carrega todas as instruções de controle de acesso e autenticação para acessar o hardware de um computador. Acima do kernel de segurança está o restante do sistema operacional, e acima dele estão as operações de programa e, em seguida, no nível do usuário.
Isso forma a composição essencial de um sistema operacional que se enquadra na metodologia TCB (Trust Computing Base). Em uma implementação do TCB, o kernel de segurança em um sistema operacional também é chamado de monitor de referência. Ele fornece controle completo o tempo todo e não pode ser alterado de forma alguma. Em seguida, impõe a política de segurança para programas e usuários no sistema, para que eles possam ler e gravar nos arquivos do sistema, bem como nos vários pontos de acesso para protocolos de rede e outras comunicações entre processos. Ao fornecer essas funções, ele também deve poder ser analisado e monitorado para garantir que atenda a esses requisitos.
Dado que o conceito de kernel de segurança tem uma definição tão abrangente, não se limita às implementações de software. As principais políticas de segurança também podem assumir a forma de um dispositivo de hardware, como um sistema de cartão inteligente ou outra adição de hardware. Dessa maneira, o acesso aos recursos do sistema não pode ser desbloqueado sem o uso de um cartão específico inserido no computador.
Outra técnica para implementar um kernel de segurança pode ser através de um sistema distribuído. Em uma implementação, conhecida como base de computação oportuna confiável (TTCB), a rede é vista como um sistema frequentemente suscetível a alguma forma de violação de segurança. Em vez de impedir ataques, o sistema TTCB tolera invasões e fornece um meio de lidar com elas. Com esse tipo de implementação, cada um dos nós da rede carrega o kernel de segurança distribuído, que fornece seu próprio canal seguro para comunicação e controle.