O que são

Um java applet é um programa desenvolvido na linguagem Java que pode ser incluído em páginas de internet na criação de aplicações para a web. Quando um navegador (que possua a tecnologia Java) recebe um applet em Java, o plug-in do Java do navegador irá transferi-lo para o sistema, sendo executado pela Máquina Virtual Java (JVM, componente do Java Runtime Environment).

Os applets em Java são incluidos nos navegadores utilizando a tag <APPLET>, podendo este ser complementado por argumentos.

Para a aplicação na Web, os applets carregam arquivos com a extensão .jar. Esta extensão indica uma compressão de vários arquivos em um só (como arquivos .Zip). Isso se deve ao fato de que os applets normalmente necessitam de vários arquivos para sua execução (arquivos .class, imagens, assinaturas digitais, etc). No caso da tag <APPLET>, o argumento “code=” especifica qual aplicação dentro do arquivo .Jar será executado no navegador.

A tecnologia Java (da Sun/Oracle) pode ser comparada aos ActiveX (da Microsoft), com a vantagem daquela poder rodar em vários sistemas operacionais (multiplataforma), inclusive dispositivos como Handhelds, celulares e outros.

Como funciona o ataque

Applets em Java não podem ter acesso total à máquina de quem os executam devido a proteção de um Sandbox do Java. Porém, é possível que um applet em Java tenha acesso privilegiado ao sistema por duas maneiras:

  1. Utilização de certificados digitais
    Quando é incluida, dentro do arquivo .jar, um certificado digital forjado, induzindo a vítima a aceitar o certificado e, consequentemente, executar o código malicioso.
  2. Exploração de falha no Ambiente de Execução Java (JRE)
    Quando é encontrado algum exploit no JRE que permita passar pela proteção do Sandbox do Java.

A técnica de utilização de applets em Java para disseminação de malwares não é nova, tendo o seu conhecimento em 2000 com a prova-de-conceito Brown Orifice. Atualmente, bankers brasileiros estão utilizando esta técnica.

Detectando o ataque na prática:

Antes é necessário saber que o navegador é um programa que interpreta códigos de linguagens de desenvolvimento web, sendo a linguagem padrão o HTML. Cada código é passado para o navegador compreender e executar a ação necessária. O código em questão se refere à execução de um applet Java, devendo possuir a tag <applet> para que o navegador interprete a execução do mesmo, conforme o exemplo abaixo:

<applet name=”Nome do aplicativo” code=”arquivo.class” archive=”http://site.com/arquivo.jar” width=0 height=0><param value=””></applet>

Onde os itens mais importantes são os parâmetros archive= (normalmente é o endereço de um site, apontando a localização o arquivo .jar, sendo que este é uma espécie de arquivo compactado, pois possui diversos arquivos dentro) e o parâmetro code= (indicando o arquivo principal que possui os códigos que serão executados, estando este dentro do arquivo .jar).

Um parâmetro opcional existente na maioria das infecção por java applets é o param value=, que normalmente indica a localização do arquivo malicioso que será obtido pelo applet java através do comando getParameter(). Desta forma, o applet malicioso ficará encarregado de carregar e executar o arquivo computador da vítima. A minoria dos casos, os próprios arquivos .class dos applets java possuíam a localização do malware no seu próprio código.

Normalmente os navegadores emitem um aviso indicando que o site visitado está tentando executar uma aplicação Java, assim como é demonstrado no seguinte aviso do navegador Firefox:

Applet Java prompt

Tela de prompt do Java para execução de aplicativo malicioso.

Como proteger deste tipo de ataque

Para evitar que os applets em Java sejam executados automaticamente, é necessário desabilitá-los no navegador:

  • Internet Explorer
    (Aperte a tecla ALT para ver o menu, se necessário) Ferramentas, Opções da Internet. Na aba “Programas“, clique no botão Gerenciar complementos. Na lista, procure o Java. Selecione todas as opções do Java (usando SHIFT e CTRL, ou então uma de cada vez) e acione o botão Desabilitar. Reinicie o navegador. Se o Java não estiver sendo exibido, verifique se a opção “Todos os complementos” está selecionada no menu rotulado “Mostrar” na parte esquerda da tela. (A opção “Desativar scripts de miniaplicativos Java”, nas zonas de segurança não funciona, apesar do nome)
  • Mozilla Firefox
    Acesse o menu “Firefox” e então “Complementos”. Clique em “Desativar” em todas as opções relacionadas ao Java nos plugins.
  • Opera
    Menu Arquivo > Preferências Rápidas > Desmarcar “Habilitar Java”
  • Google Chrome
    É preciso acessar o endereço chrome://plugins. O Java estará na lista. Basta desativar.

OBS.: Applets em Java dependem de que o JRE esteja instalado no computador para serem executados.

Sugestões de Leitura:

Anúncios

Escrito por Diogo Baptista