Skip to content

Security Kernel x Patch Guard

21 de fevereiro de 2007

Estava folheando o CISM prep guide quando vi a explicação de uma questão do livro sobre security kernel, o que me faz lembrar de todas as críticas que o Windows Vista 64 tem recebido. Segundo o livro, um “Security Kernel” implementa o conceito de “Reference Monitor”, e deve ter as seguintes características: Precisa mediar todos os acessos, Precisa ser protegido quanto a modificações e Precisa ser verificado como correto

Embora o Patch Guard esteja presente nas versões 64 Bits do Windows XP e Windows 2003 após o SP1, e a Microsoft nunca tenha dado suporte a Patches de Kernel, o mercado vem tratando esta implementação como uma decisão arbitrária da Microsoft intencionada a dificultar a vida dos concorrentes na área de segurança de hosts, uma vez que a Microsoft entrou neste mercado. Mas analisando ponto a ponto, o que me parece é que o Patch Guard e outras tecnologias incorporadas ao Vista vem de encontro à implantação do “Reference Monitor”, um amplamente aceito pelo mercado como parte do TCB (Trusted Computing Base), e imprescindível para uma certificação B2 (TCSEC). Vamos analisar as exigências do TCB:

1) Precisa mediar todos os acessos

Quem viu a mudança de Windows 3.11 para Windows 95 sabe que vários programas DOS, que chamavam funções da BIOS pararam de funcionar porque não podiam mais acessar as portas diretamente, etc. Hoje já nos acostumamos ao fato que o Kernel não pode permitir acesso direto a harware, ou até mesmo ao sistema de arquivos. Só para ilustrar o fato, na última Black Hat, a pesquisadora Joanna Rutkowska conseguiu alterar um driver em tempo de execução com um simples acesso ao Pagefile, o que obrigou a Microsoft a fazer alterações no Beta do Vista.

Para que as aplicações possam realizar funções de baixo nível como filtrar pacote, e/ou até mesmo modificá-los antes de saírem do host que existe as API’s. No caso dos pacotes de rede o Vista possui a Windows Filtering Plataform (WFP), onde se baseia o próprio Windows Firewall. Outra implementação foi o “File System Filters” que permite que uma aplicação monitore tudo que entra e sai no sistema de arquivos.

2) Precisa ser protegido quanto a modificações

O Patch Guard protege o Kernel quanto a modificações (patches), modificações na “Interupt descriptor table”, “global descriptor table”, “system service tables” e evita que se use pilhas do kernel não alocadas por ele, mas a Microsoft pretende proteger outros recursos, ainda não especificados.

3) Precisa ser verificado como correto

Ai entra um recurso diferente o “Code Integrity”. A cada vez que o Windows inicia, um hash de cada driver assinado e cada binário do sistema é criado e comparado com o hash criado na hora da instalação, isso garante que os arquivos não sejam alterados enquanto o sistema estiver desligado. O BitLocker também protege estes arquivos quando criptografa toda a partição de sistema.

Na minha opinião, lutar contra o Patch Guard é lutar contra a segurança no próprio sistema, para tentar acoplá-la depois como cada um quiser. Seria como tirar o airbag dos carros para que os fabricantes de almofadas pudessem vender almofadas com cores diferentes para os passageiros segurarem contra o peito. Mas o pessoal da Microsoft parece concordar comigo, e já declarou que vai tratar qualquer método de contornar o Patch Guard como uma falha de segurança e corrigí-la com um update.

A Segurança tem que estar no concepção, na criação, na manutenção e principalmente na alma do produto e neste ponto o Vista é uma evolução significativa e sem volta.

Anúncios
Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: