Novas funcionalidades do Windows 8 – Secure Boot

Secure boot.
Aparentemente o windows 8 vai ter novas funcionalidades em relação ao boot.

É sabido que uma das grandes dores de cabeça em termos de segurança é o controlo da parte de boot do sistema operativo das nossas máquinas.

A Fase em que a BIOS acaba de entrar e o S.O. começa a arrancar é uma das mais criticas. É aqui que se pode subverter a segurança implementada no S.O. arrancando com outro S.O. que permita a corrupção do existente ou mesmo instalando aquilo a que vulgarmente se chama de root kit.

Com o windows 8 e as novas BIOS UEFI (Unified Extensible Firmware Interface) a Microsft veio tentar alterar o paradigma.

O UEFI inclui uma opção de secure boot para impedir “Boot Loader Attacks”.

Qualquer código que é carregado na fase de boot do sistema terá que estar identificado com uma chave de segurança permitindo ao UEFI bloquear qualquer tentativa de correr código não autorizado.

Os fabricantes O.E.M terão de implementar esta funcionalidade para obterem certificação do seu equipamento (autocolante de windows 8 compatible.)

Para o utilizador esta funcionalidade é muito boa, mas para o fabricante a funcionalidade também é excelente, porque passa a existir uma base de dados de chaves “Key Enrollment Key database (KEK)” onde a microsoft poderá realizar a actualização de chaves para novos S.O. mas também poderá revogar chaves para os seus sistemas operativos que terão sido comprometidos ou na minha opinião pirateados!

A forma de funcionar é simples, haverão várias bases de dados de chaves que serão consultadas no processo de boot.
Depois de validadas o windows arranca o software “Anti-Malware”.
Finalmente o windows arranca os “Kernel Drivers” e inicializa o “User Mode”

Mais informações em http://www.hjfr-info.com/Noticias/NoticiasRecentes.php

Registry + ControlSet's

ControlSet… uma das sub chaves que devemos conhecer do nosso sistema Operativo.

Esta é uma chave do Windows que existe no registry.
Os conjuntos de chaves começadas por ControlSet são extremamente importantes.
É aqui que temos guardadas todas as configurações do nosso Windows.

Aqui podemos encontrar os serviços, drivers e outro tipo de informação.
Estas chaves estão dentro da chave de registo HKEY_LOCAL_MACHINESYSTEM.
Podem existir várias entradas deste tipo dependendo do número de alterações que fizemos no nosso sistema.
Uma instalação normal do Windows tem 4 control Set.

ControlSet002
ControlSet
ControlSet001
clone

O ControlSet001 são as definições da última vez em que fizemos logon.
O ControlSet002 é conhecido como o ultimo controlSet conhecido em boas condições ou mesmo o ultimo controlset que foi usado para arranque no Windows com sucesso.

O ControlSet é apenas um apontador para um dos 2 anteriores.

O Clone é um “clone” do CurrentControlSet e é criado cada vez que o nosso computador arranca na fase de inicialização do Kernel.

Existe outra chave relacionada com estas. É a chave Select, também está localizado dentro da chave System e contem os seguintes valores:
Current
Default
Failed
LastKnownGood

Cada um destes valores contem uma REG_DWORD que aponta para um dos Controlset.
Por exemplo, se o valor está definido 0x1, então o CurrentControlSet está a apontar para ControlSet001. Á semelhança do LastKnownGood se estiver configurado para 0x2, então o last known good control set é o ControlSet002.
O valor por defeito normalmente é o corrente e o Failed é um apontador para um ControlSet que não conseguiu arrancar com sucesso.

O mais fiável é o CurrentControlSet.
Se necessitarmos de ver ou alterar definições esta é a chave que devemos procurar. Se por algum motivo as nossas alterações não funcionarem sempre podemos arrancar com a lastknown good configuration, mas para isso é importante não fazermos logon logo, visto ser nesse momento em que o Windows substitui os controlSet existentes. Devemos esperar sempre um pouco pelo menos até já não existir tanta actividade nos discos. Caso contrário podemos ter problemas em recuperar o Windows caso um dos seus serviços / drivers provoque um erro que nos impeça de fazer logon. Pois podemos perder a Last Known Good Configuration.