Publicado em: 9 de fevereiro de 2005

Por Steve Riley
Gerente de Programa Senior, Security Business and Technology Unit
Veja outros artigos sobre Gerenciamento da Segurança.
| Introdução | |
| Senhas | |
| Encriptação de Arquivos | |
| Recuperação de Arquivos Encriptados | |
| Segurança EFS | |
| Habilitação da Chave de Iniciação do Sistema | |
| Torne-se Desinteressante |
O medo de ter laptops roubados é uma grande preocupação para todas as empresas. Talvez até já lhe tenha acontecido (espero que não!). A solução é simples, realmente - não deixe seu laptop ser roubado. (Posso ouvir risadas agora). Mantenha-o junto de você o tempo todo, ou deixe-o no seu quarto de hotel se você não quer andar com ele por aí. Sim, todos já ouviram os avisos sobre roubos em quartos de hotel, mas eu nunca tive nada roubado de um quarto de hotel e eu passo mais de 200 noites por anos em hotéis. (Se viajar para um local onde a população tem tendências cleptomaníacas, fique num hotel que ofereça cofre no quarto). É muito mais provável que você esqueça seu laptop, PDA, celular, ou drive USB num banco de táxi ou no balcão de um bar.
Certamente há lugares onde o roubo é uma possibilidade: congressos e aeroportos são comuns, e até escritórios podem ser inseguros às vezes. Eu carrego um cabo com cadeado para laptop na minha bolsa para computador e uso para prender meu laptop à mesa onde quer que eu esteja fazendo uma apresentação e precise afastar-me da sala - mas somente se eu julgar que o local é relativamente seguro (sei que a avaliação é subjetiva). Se eu julgar que há risco, eu embalo meu computador de volta em sua mala e levo comigo. Em aeroportos, o laptop está sempre ou no meu colo ou na mala e a mala está sempre na mão ou no chão ao alcance das mãos. Tente não dormir no aeroporto - para isso existe a classe executiva. Se você realmente precisa dormir no aeroporto, pense num alarme com sensor de movimento. Porém, é possível que você mesmo dispare o alarme enquanto cochila.
Seja como for, não alardeie o fato de estar equipado com toda aquela parafernália de equipamentos de última geração. Você tem culpa de estar carregando um laptop, PDA, câmera digital, celular, videogame portátil? Onde você carrega tudo isso? Seja discreto, invisível mesmo: evite maletas com a marca de fabricantes de computadores, ou qualquer coisa que denuncie seu gosto por coisas com transistores. Carregar malas com logotipos é chamar atenção não desejada - ladrões sabem que as empresas vendem milhares de maletas enfeitadas com logotipos para viajantes a negócios carregando os mais modernos equipamentos eletrônicos. É melhor comprar uma sacola para levar nas costas como as que os garotos levam à escola e que possa levar tudo que você precisa. Vai fazer você sentir-se jovem de novo -- ou pelo menos será uma experiência educacional útil, sem contar que será mais ergonômico e vai ser um alívio para o ombro.
A mobilidade dos laptops exige proteção adicional dos dados, quase sempre críticos e confidenciais, que eles carregam. Três recursos do Windows 2000 e Windows XP podem ajudá-lo a manter suas informações fora do alcance de algum ladrão que ponha as mãos em seu laptop: senhas, EFS e SysKey. Não deixe de levar em conta que usando estes recursos, você var frustrar o ladrão de tal modo que ele poderá destruir seu laptop de raiva, mas isso é preferível a ter planos de desenvolvimento de produto ou códigos de fontes expostos na Internet.
Se o seu laptop faz parte de um domínio, cada vez que você iniciá-lo -- mesmo que você não esteja fisicamente na rede corporativa - você ainda terá de entrar com sua senha de rede. Seu computador mantém um conjunto de credenciais em cache no seu perfil de conta no disco rígido, sendo necessário que você o autentique antes de ter acesso aos seus dados. Estas credenciais são desmembradas com MD4 e depois novamente com MD5; o segundo desmembramento cria o que se chama "verificador de senha". Apenas o verificador é armazenado, protegido pela chave do sistema (system key) do computador (veja mais detalhes na seção sobre SysKey abaixo) e é altamente resistente a falsificações.
Se você tem um computador autônomo, você ainda deve usar uma senha para cada conta no computador. Em computadores não acrescentados ao domínio e rodando o Windows XP, a conta Administradora inicialmente não tem senha. As contas locais que não têm senha não podem ser acessadas de modo algum de qualquer rede - somente quando você estiver sentado em frente ao computador. Contas locais sem senha não são adequadas para laptops; elas são como uma luz de neon convidando um invasor a servir-se de suas informações!
Uma senha é necessária se você quer tirar vantagem de outros recursos que eu descrevo aqui. Se você não tem senhas em suas contas locais, não há nada que se possa fazer para proteger seus dados contra roubo. Assegure-se de que sua senha funcione sempre - alguns laptops não conectam o cadeado do desktop quando você põe o computador em espera ou em hibernação. Configurações de controle de energia variam entre os fabricantes de hardware, assim não há uma Política do Grupo para isso. Você terá de checar manualmente as configurações de seu laptop para garantir que seja necessária uma senha para a retomada.
Listas e permissões de controle de acesso podem ajudá-lo a proteger arquivos que são acessados pela rede, porém, eles não conseguem parar alguém que tenha acesso físico ao seu computador. Uma tecnologia chamada Encriptação de Arquivos (Encrypting File System - EFS) está construída no Windows 2000, Windows XP e Servidor Windows 2003. EFS é transparente à operação normal de um computador: você não precisa entrar com senha para abrir arquivos ou subdiretórios. Ao contrário, quando você faz o logon no computador, suas chaves de encriptação EFS são abertas quando seu computador inicia e abrem sua chave mestra pessoal (para detalhes de proteção de chave, veja a seção abaixo sobre SysKey). Conforme você acessa um arquivo, o EFS silenciosamente desencripta o arquivo usando a chave privada associada com seu certificado EFS e então carrega o arquivo desencriptado na memória. O arquivo permanece encriptado no disco rígido.
Para encriptar arquivos simplesmente clique à direita no arquivo ou na pasta no Explorer, selecione Propriedades, na seção Atributos clique em Avançado, e então selecione a caixa de seleção Criptografar conteúdo para proteger o dado. Computadores autônomos não acrescentados ao domínio gerarão no mínimo três coisas: um certificado digital EFS, um par de chaves público/ privado associado ao EFS, e uma chave de encriptação de arquivo (FEK). Se você estiver encriptando uma pasta, todos os arquivos na pasta terão sua própria FEK única. O EFS encripta cada arquivo com a FEK do arquivo e então encripta a FEK com a sua chave EFS pública. Futuras operações de encriptação gerarão somente FEKs uma vez que você já tem um par de chaves e certificado FEK. Eu recomendo encriptar toda a pasta "Meus Documentos" para que qualquer coisa mantida na pasta esteja automaticamente encriptada.
A desencriptação é executada em reverso: quando você abre um arquivo encriptado, o EFS obtém primeiro a chave privada associada com o seu certificado EFS, usa essa chave para desencriptar o FEK do arquivo e então usa a FEK para desencriptar o arquivo. Tudo isto acontece sem caixas de diálogo ou prompting do usuário e não tem problemas de compatibilidade de aplicativo porque a desencriptação ocorre antes que o aplicativo leia os dados no arquivo.
Em computadores acrescentados ao domínio o comportamento é um pouco diferente. Se você implementou uma infra-estrutura de chave pública (PKI), o EFS vai solicitar um certificado de uma autoridade certificada da empresa. (CA). Seu computador gera o par de chaves EFS e associa a chave pública com o certificado. A partir daí, o processo é muito similar, exceto que quando você primeiro encripta um arquivo o computador não precisa gerar o certificado ou chaves EFS, uma vez que você já os tem. Se você não implementou um PKI, ou se a solicitação ao CA não funcionou, o comportamento dos computadores acrescentados ao domínio é exatamente igual ao dos autônomos.
Os algoritmos reais de encriptação de arquivos são diferentes dependendo do sistema em operação. Todas as versões do Windows 2000 suportam somente o Data Encryption Standard (DESX) expandido. A versão original do Windows XP pode usar tanto o DESX (ainda o padrão) ou o Triple-DES (3DES). O Windows XP Service Pack 1 (e posteriores) e o Windows Server 2003 suportam o Advanced Encryption Standard (AES) mais o DESX e o 3DES. O AES é o padrão.
Como você pode imaginar, o uso de EFS apresenta alguns problemas operacionais. Você pode perder o acesso aos arquivos encriptados se você perder sua chave EFS ou se zerar (reset) sua senha (mudanças de senha funcionam bem, mas senhas zeradas invalidam as chaves EFS). Uma política de recuperação designa uma ou mais contas de usuários para serem agentes de recuperação que podem ajudar nesta situação. Agentes de recuparação podem acessar arquivos encriptados. O Windows 2000 autoriza um agente de recuperação localmente ou no domínio antes que você possa encriptar arquivos; O Windows XP e o Windows Server 2003 não têm essa necessidade.
Em computadores autônomos com o Windows 2000, o administrador local torna-se o agente de recuperação padrão quando alguém entra primeiro na conta do Administrador. O Computador autônomo com o Windows XP não cria um agente de recuperação padrão (o que elimina um motivo para tentar conduzir ataques offline contra a conta do Administrador). Em computadores acrescentados ao domínio executando o Windows 2000 ou o Windows XP com uma política EFS do domínio, o administrador do domínio é o agente de recuperação padrão.
Quando você encripta arquivos, cada FEK de arquivo é também protegida pela chave pública de cada agente de recuperação na política de recuperação. Assim se você perder sua chave ou zerar sua senha, ainda pode acessar seus arquivos. Isto também é útil quando empregados se desligam de sua empresa; um agente de recuperação pode acessar todos os arquivos encriptados daquela pessoa e até remover a encriptação se necessário. Observe que o agente de recuperação não tem acesso às suas chaves EFS, de modo que o agente não pode se passar por você. O agente só pode desencriptar arquivos.
Se você decidir que o EFS é valioso para sua empresa, quero encorajá-lo a desenvolver um Windows PKI usando auto-inscrição. A auto-inscrição retira muito da interação humana necessária no gerenciamento de um PKI. E para EFS você pode criar modelos certificados que combinam inscrição com métodos de chave e recuperação de dados - por exemplo, simultaneamente inscrevendo o usuário e arquivando a chave privada dele ou dela. O arquivamento de chave é um suplemento valioso para agentes de recuperação EFS.
Contornar ou invadir o EFS é extremamente difícil porque cada arquivo é encriptado com sua própria chave, a qual por sua vez é encriptada com a chave EFS do proprietário, a qual por sua vez é protegida por aquela chave mestra do usuário, a qual por sua vez é protegida pela chave de startup do sistema. Instalar uma cópia paralela do Windows ou qualquer outro sistema de operação e invadir o banco de dados do Gerente de Segurança de Contas (SAM) não vai lhe dar as chaves que você precisa para desencriptar arquivos porque as chaves não estão armazenadas no SAM.
Se você estiver usando agentes de recuperação locais, é importante exportar as chaves privadas do agente de recuperação para separar a armazenagem e então remover a chave do computador. Uma boa escolha pode ser um drive USB que seja mantido separado do computador. Assegure-se de proteger a chave exportada com uma senha (o processo de exportação lhe dá uma). Se um usuário perder a chave privada EFS, a chave do agente de recuperação no drive USB pode recuperar os arquivos do usuário.
Existe a possibilidade de que o EFS deixe "restos" de texto não encriptado (plaintext) de um arquivo no disco rígido. Se você encriptar um arquivo individual, o EFS primeiro cria um backup do plaintext do arquivo, encripta o arquivo e então deleta o backup. É claro que ao deletar o backup, não se apagam realmente os bits da superfície do disco, significando que o conteúdo do plaintext ainda estarão lá e podem ser recuperados com as ferramentas de edição de disco. O comportamento apropriado é encriptar pastas em vez de arquivos. Todos os arquivos na pasta permanecerão encriptados o tempo todo; não se criam restos de plaintext. Isto é importante também para aplicativos que criam arquivos temporários.
Claro que um invasor com acesso físico pode simplesmente substituir arquivos encriptados, o que poderia ser uma forma interessante de negação da invasão, mas por que alguém roubaria o seu computador, gravaria em cima de seus arquivos e então devolveria o computador? Sim, pode ser divertido substituir uma pegadinha do default.html em algum servidor insuspeito da Internet, mas por que alguém substituiria seus planos de marketing por pornografia e devolveria seu laptop? Embora o EFS ofereça uma confidencialidade muito forte e confiável, ele não é projetado para oferecer integridade. De fato, a encriptação de qualquer natureza nunca garante integridade. A integridade vem da tecnologia de assinatura digital que computa tipicamente um one-way hash do conteúdo.
Cada vez que um novo usuário é acrescentado ao computador, o Windows Data Protection API (DPAPI) gera uma chave mestra que é usada para proteger todas as outras chaves privativas usadas pelos aplicativos e serviços rodando no contexto daquele usuário, tais como chaves EFS, chaves S/MIME e assim por diante. O computador também tem sua chave mestra que protege chaves do sistema como chaves IPsec, chaves do computador e chaves SSL. Todas estas chaves mestras são então protegidas por uma chave de inicialização do computador. Quando você inicia um computador, a chave de inicialização desencripta as chaves mestras. A chave de inicialização também protege o banco de dados do SAM local em cada computador, os segredos do computador da autoridade local de segurança (LSA), informação de conta armazenada no Active Directory nos controladores do domínio, e a senha da conta do administrador usada para recuperação do sistema no modo de segurança.
O recurso SysKey lhe permite escolher onde a chave de inicialização será armazenada. Como padrão, o computador gera uma chave ao acaso e a dispersa por todo o registro; um algoritmo de obsfucação complexo garante que o padrão de dispersão seja diferente em cada instalação do Windows. Você pode trocar isto por uma de duas outras possibilidades: você pode continuar a usar uma chave gerada pelo computador mas armazená-la num disco flexível, ou você pode fazer que o sistema dê durante o inicialização uma senha de onde é derivada a chave mestra. Você pode sempre mudar para um dos três modos, mas se você habilitou ou a chave no disco flexível ou modos de senha e você perdeu seu disquete ou esqueceu sua senha, sua única opção de recuperação é usar um disco de conserto para restaurar o registro para o estado em que estava antes de você habilitar o modo SysKey. Você vai perder qualquer mudança feita entre então e agora. Para mudar sua chave de inicialização, abra simplesmente um comando prompt, selecione Start | Run, ou tecle [Windows]+R, e então entre "syskey" para executar o recurso SysKey.
Mudar o SysKey para o modo senha pode ajudá-lo a proteger laptops roubados contra roubo de informação. Isso proporciona ainda outra barreira entre um determinado ladrão e seus dados no disco rígido. As senhas SysKey podem variar de 1 a 128 caracteres: Eu recomendo usar no mínimo 12. A combinação de EFS (para proteger dados) e senhas SysKey (proteção adicional para as chaves EFS) podem inviabilizar computacionalmente o acesso a seus dados por um invasor.
Você pode tratar o roubo com uma sensata combinação de política, processo e tecnologia. Ajude a sua equipe a ficar alerta sobre o problema do roubo e use as tecnologias que você já tem para minimizar os riscos de um computador ser roubado. Para saber mais sobre o desenvolvimento de EFS em sua empresa, visite estes links:
Sistema de Encriptação de Arquivos no Windows XP e no Windows Server 2003
| • | http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/CryptFS.mspx |
Infra-estrutura de Chave Pública para o Windows Server 2003
| • | http://www.microsoft.com/windowsserver2003/technologies/pki/default.mspx |