Combatendo Fraudes Bancárias na Internet (VII)
[Este é o último post de uma série. Clique aqui para começar a ler pelo início.]
Vimos anteriormente como são feitas a maior parte das fraudes de Internet no Brasil, e que para que elas sejam bem sucedidas é necessário que o usuário esteja usando o seu PC com privilégios administrativos, ou seja, tenha permissão para fazer qualquer atividade no sistema - inclusive instalar o trojan. Uma medida eficiente para combater as fraudes é portanto não usar o sistema como administrador, e quando o usuário for iludido a executar o trojan ele não conseguirá se instalar no sistema.
É mais fácil no entanto dizer do que falar. No Windows atual alguém usando o seu PC como usuário "comum" teria os seguintes problemas:
- Boa parte das aplicações não simplesmente não funcionam. Pior, não funcionam da forma mais estranha possível: ao invés de mostrar uma mensagem informando que o usuário não tem as permissões necessárias, o que aparece são programas que travam, mensagens de erro como "Erro de Gravação" em locais inesperados e assim por diante. Na verdade às vezes só é possível identificar que o problema se relaciona com permissões porque ele não acontece quando você executa com a conta de Administrador.
- A interface para trocar (elevar) os seus privilégios e passar de usuário normal para administrador e vice-versa é muito ruim. O recurso de run as do Windows XP foi claramente feita para usuários técnicos, não leigos. E ele não eleva os privilégios do usuário, e sim na verdade troca a identidade do usuário por um outro, o que muitas vezes não resolve o problema - você quer fazer a operação com o seu usuário!
Ou seja, a experiência do usuário é horrível. Na prática hoje é possível em alguns casos trabalhar sem privilégios administrativos, normalmente em ambientes corporativos, mas apesar de opiniões contrárias eu não acredito que isso seja viável hoje para para a maioria dos usuários.
No Windows Vista a Microsoft está determinada a resolver os problemas acima e tornar possível usar o sistema normalmente sem privilégios administrativos, e para isso o sistema traz o novo recurso de User Account Control. Não é uma mudança simples: o desafio é fazer isso mantendo a qualidade da experiência do usuário, por caso contrário o usuário simplesmente desligaria o User Account Control e continuaria rodando como administrador.
Com o User Account Control o usuário irá usar o sistema sem privilégios de administrador, mesmo que a sua conta de usuário tenha essa permissão. Isso é feito usando o recurso de restricted token, que retira do token que armazena os privilégios do usuário naquele momento o SID (identificador) do grupo de administradores. Quando alguma tarefa que o usuário executar necessitar de privilégios administrativos, o usuário é notificado e tem que consentir com a elevação, que é feita adicionando ao token o SID somente para aquela tarefa.
Outra mudança muito mais profunda mas ainda pouco falada é que a introdução de um mecanismo de controle de acesso mandatório por cima do modelo de controle de acesso discricionário tradicional do Windows, chamado de Mandatory Integrity Control. Para os CISSPs e aspirantes, é uma implementação do modelo de integridade Biba onde cada processo e recurso, além de ter respectivamente um identificador de identidade de usuário e a uma lista de controle de acesso, tem também uma "etiqueta" (label) de nível de integridade. Quatro níveis de integridade são definidos: em ordem, Baixo, Médio, Alto e Sistema. O usuário normal tem o label de Médio, e usuários administrativos o label Alto. Um usuário ou processo Médio por exemplo não tem como comprometer a integridade de um recurso Alto, mesmo que tenha as permissões apropriadas nas listas de controle de acesso.
Como o Internet Explorer é a principal janela dos usuários para o ambiente hostil da Internet, O IE 7+ do Vista traz o Protected Mode, o que quer dizer que ele roda com label de Baixo. Isso quer dizer que ele só tem direito de escrever nas pastas Temporary Internet Files\Low, History\Low, Cookies\Low, e Favorites\Low no seu próprio perfil, e na chave de registry HKEY_Current_User\Software\Low. O modelo de integridade impede que por exemplo um bug ou um código malicioso rodando dentro do IE venha a afetar qualquer outra parte do sistema, mesmo que o usuário tenha permissão para isso. Até mesmo os documentos, fotos e arquivos na pasta do usuário continuam protegidos.
Na prática, o resultado disso é um sistema blindado contra trojans vindos da Internet, mesmo que o usuário seja iludido a executá-los. Nas últimas semanas meu passatempo tem sido usar o Windows Vista Beta 2 normalmente (ou seja, como ele é instalado e configurado por default) e abrir todo tipo de lixo que chega no meu email. Já instalei cartão virtual enviado por quem eu não conheço, abrir foto de admirador secreto, tentei resolver os meus débitos em um banco que eu nem tenho conta, etc. Em nenhum caso o trojan conseguiu se instalar no sistema.
Em um post anterior comentei como a assinatura digital das macros no Office e algumas outras mudanças no Outlook representaram o fim dos vírus de macro. Acredito que links bloqueados nas mensagens, Windows Defender e as mudanças de permissionamento no Windows Vista mostradas aqui podem ser uma combinação letal contra as fraudes feitas atualmente. Isso não quer dizer que será uma solução definitiva, mas deverão reduzir o risco a um nível aceitável.
Como sempre comentários são muito bem-vindos, e apreciaria qualquer feedback de vocês aqui ou no email fcima em microsoft.com.
Comments
Anonymous
January 01, 2003
Em um sistema operacional como o Windows os programas executados pelos usuários rodam dentro de processos.Anonymous
August 25, 2006
Primeiro gostaria de dizer que achei muito boa sua série de posts sobre fraudes bancárias passando para nós, leitores, a visão da Microsoft.
Quando falamos de fraudes bancárias, acho muito importante comentar sobre o segundo fator de autenticação. Sabemos que uma vez que a máquina esteja comprometida é possível, mesmo com o segundo fator de autenticação, a fraude ter sucesso. Ataques de redirection durante o post http tunelado podem burlar a segurança de um OTP, por exemplo.
Porém, o comportamento dos trojans atuais permite que o segundo fator de autenticação resolva a grande maioria de nossos problemas!
Acho que vale a pena explorar em mais um artigo quem sabe, esta questão ;o)Anonymous
August 25, 2006
Oi Lincoln, obrigado pelo comentário. Realmente a nossa preocupação maior tem sido com a integridade do sistema operacional, já que como você bem observa se a máquina estiver comprometida não há mais muito o que fazer. Mas a sugestão de um comentário sobre autenticação na Internet é boa, vai bem além de fraudes bancárias, e vou postar sobre isso em breve.
Abracos,
- Fernando Cima