Os perigos da FUI: Interface de usuário falsa

Como desenvolvedor de software, diga-me se o senhor já fez isso:

  1. Tirar uma captura de tela de algo na área de trabalho
  2. Abriu-a em um programa gráfico
  3. Fui trabalhar em outra coisa
  4. Ao retornar ao seu computador, tentou clicar na captura de tela como se fosse um programa real.

E não vamos nos esquecer do comum cabra técnica em que o senhor tira uma captura de tela da área de trabalho de alguém, transforma-a no plano de fundo da área de trabalho e, em seguida, passa a ocultar todos os elementos da interface do usuário na tela. Os gritos de angústia quando os usuários clicam desesperadamente duas vezes, três vezes e quatro vezes nos pixels que se parecem exatamente com interfaces de usuário reais normalmente podem ser ouvidos a quilômetros de distância.

Falo isso para gerar alguma simpatia. Sou enganado pela minha própria FUI (Fake User Interface) pelo menos uma vez por mês. Se isso pode acontecer conosco, pode acontecer com qualquer pessoa. O que significa que a FUI pode ser bastante perigosa nas mãos erradas. Considere Ryan Meray’s história:

Bem, aqui está um caso interessante. Minha namorada está pesquisando coisas sobre lírios, então ela está tentando encontrar o site da Michigan Regional Lily Society.

O endereço do site é http://www.mrls.org/

O senhor pode navegar diretamente por lá, não há nada de errado nisso. Mas se o senhor não se lembrar do URL, sua primeira reação será pesquisar no Google. Nós pesquisamos no Google e conseguimos isso:

http://www.google.com/search?q=Michigan+Regional+Lily+Society

Agora, se o senhor estiver no Firefox, tudo está bem. O senhor clica no primeiro resultado, acessa o site deles e aprende sobre lírios.

No entanto, se o senhor estiver usando o IE, fique atento, pois está prestes a receber um alerta de Spyware/Vírus.

Obviamente, a pobre Michigian Regional Lily Society foi vítima de hackers no site. (Observe que ele pode ter sido corrigido no momento em que escrevo este texto, mas eu dupliquei tudo o que vou mostrar aos senhores).

O primeiro ponto inteligente é que o o site aparece bem se o senhor navegar diretamente para lá. O código JavaScript malicioso inserido na página verifica o referenciador e faz algo diferente se o senhor chegar lá por meio de um mecanismo de pesquisa na Web. Isso significa que as pessoas que são proprietárias do site, e que nunca chegam lá por meio do Google, estariam coçando a cabeça, imaginando o motivo de todo esse alvoroço. Assim, o hack sobrevive por mais tempo.

Mas se o senhor chegar ao site do MRLS por meio de um mecanismo de busca, como o uma grande porcentagem do mundo o faz, o senhor será redirecionado para:

http://scanner.antivir64.com/?aff=1050

A primeira coisa que essa página faz é minimizar o navegador (Firefox 3, neste caso) e nos apresentar este alerta JavaScript:

mls-hack-1.png

Estou intencionalmente justapondo o navegador e a caixa de diálogo aqui, mas o navegador está bem distante, no canto inferior direito da tela, e a caixa de diálogo está bem no meio da tela. Não está claro que a caixa de diálogo se originou dessa página da Web. É uma técnica primitiva, mas é surpreendentemente eficaz.

Não tive coragem de clicar em OK nessa caixa de diálogo; cliquei no botão Fechar. O navegador então se expandiu para mostrar essa convincente “verificação de vírus em tempo real”.

mls-hack-2

A captura de tela estática não faz justiça; a barra de rolagem se move, a lista de arquivos passa voando à medida que são “escaneados”, e a página da Web simula com bastante sucesso uma interface de usuário substituta em algum lugar entre o Windows XP e o Windows Vista. É claro, nós sabemos que essa interface de usuário falsa é completamente inválida, pois está sendo executada no navegador, não em nosso PC. O senhor e eu talvez entendamos essa distinção, mas e quanto aos seus pais? Sua esposa? Seus filhos? Seus amigos menos experientes tecnicamente? Será que eles entenderão que esse aviso de vírus assustador e autêntico, proveniente de um “site seguro criptografado”, é uma mentira?

Honestamente, qual é o PC que não “funciona mais devagar do que o normal”? Talvez eu queira saber se meu computador está infectado com vírus, adware ou spyware. Tudo isso faz parte do cultura do medo que as empresas de software de segurança – e vamos ser honestos, Windows empresas de software de segurança – cultivam para que possam arrecadar milhões de dólares por ano com seu software. A diferença aqui, é claro, é que o está cada vez mais difícil distinguir os mocinhos dos bandidos. Essa é a desvantagem do medo como argumento de venda: ele é igualmente bom em ambas as direções.

Ai do pobre usuário que for convencido, por meio de truques da FUI, a instalar esse software “antivírus”. A página faz o possível para convencer o usuário a executar seu executável de carga útil. Qualquer clique na página, não importa onde, é interpretado como uma solicitação de download.

mls-hack-3

A página também tenta fazer um download drive-by, embora esses downloads tenham sido bloqueados automaticamente há anos.

mls-hack-4

É tentador considerar isso como mais uma iteração do phishing, o hack eterno. Para ser justo, esse é exatamente o tipo de coisa que os filtros de phishing dos navegadores da Web foram projetados para evitar. Esse site já estava no filtro de phishing do Firefox 3, mas não foi detectado pelo filtro de phishing do Internet Explorer 7, por isso o denunciei.

mls-hack-5

Sou totalmente a favor dos filtros de phishing como outra importante linha de defesa, mas, como todas as listas negras distribuídas, eles são são tão eficazes quanto o senhor.

O que mais me preocupa aqui é como o bem a interface do usuário foi falsificada. A FUI do navegador foi convincente o suficiente para fazer com que eu, possivelmente o usuário do Windows mais cínico e cansado do mundo, desse uma olhada dupla. Como proteger usuários ingênuos de exploits FUI habilmente projetados como esse? O senhor consegue imaginar sua mãe fazendo uma pesquisa na Web sobre flores? flores, pelo amor de Deus — clicando nos resultados da pesquisa para um site totalmente legítimo e navegar corretamente pelo labirinto resultante de interface de usuário falsa, alertas espúrios de javascript e caixas de diálogo de download?

Eu sei que não consigo. Por mais que eu admire os esforços das listas negras de phishing distribuídas, não há como elas acompanharem o ritmo da rápida configuração e desmontagem de sites invadidos. Quantos sites comprometidos existem por aí? Quantos usuários não sofisticados navegam na Internet todos os dias?

Como sempre, podemos colocar grande parte da culpa na porta da Microsoft pelo não adotar a política UNIX de contas de não administrador para usuários comuns. Mas, novamente, se o spoofing for bom o suficiente e a FUI extra convincente, até mesmo um usuário do Linux ou do OS X poderá ser coagido a digitar sua senha de administrador para uma “verificação de segurança do sistema”. Ou talvez eles apenas quisessem ver os coelhinhos dançando.

E então, como Ryan, o senhor provavelmente acabará com o mesmo computador infectado e o mesmo cônjuge perturbado. Tudo isso pelo amor de alguns lírios.

A não ser pela educação do usuário, que é uma batalha interminável e contínua. como o senhor combateria uma FUI perfeitamente falsificada apresentada a um usuário ingênuo?