junho 2009


Em 2006 e 2007, o tema de IDE Java ferveu, mas desde então sucessivas versões dos IDEs NetBeans e Eclipse vêm avançando regularmente.

NetBeans segue com as revolucionárias e bem sucedidas séries de versões 5.x e 6.x que lhe conferiram um salto de evolução e popularidade, Eclipse com a estratégia de lançamentos anuais das “luas de Júpiter” do Eclipse — Calisto, Europa, Ganimedes… — nas versões 3.2 em diante que buscam atualizar e manter o renome deste IDE.

Dia 24 O Eclipse lançou mais uma “lua anual”, a versão 3.5 Galileo. Site oficial de download Eclipse 3.5 aqui. Ian Bull escreveu uma série de artigos (em inglês) muito interessante avaliando os seus dez novos recursos preferidos no Eclipse Galileo: Eclipse Galileo Feature Top 10 List, no seu blog em EclipseSource. Eu estive acompanhando os pacotes do Eclipse até a distribuição Europa (Eclipse 3.3) em junho de 2007.

Hoje, apenas seis dias depois, NetBeans 6.7 tem sua versão final lançada. Site oficial de Download NetBeans 6.7, NetBeans IDE 6.7 New and Noteworthy. Peter Garich destacou em artigo (reprodução Javalobby) impressões como a aparente economia de memória e o recurso de visualização gráfica de dependências Maven (que o Eclipse já possuía).

Por sinal, ambos IDEs são competentes ambientes de desenvolvimento integrados não só para Java, mas para uma diversidade cada vez maior de plataformas e linguagens de programação, incluindo C/C++, PHP, Python, Ruby, Groovy e outras.

Tendências

O serviço Google Trends permite analisar tendências de popularidade de padrões ou termos pesquisados no Google em geral. Embora pouco preciso — termos pesquisados nem sempre inferem precisamente o assunto intencionado, devido à ambiguidade de significados e contextos — esse serviço não deixa de ser uma fonte de indicadores de tendência.

Para reduzir a ambiguidade do termo de pesquisa “eclipse”, que é nome do IDE mas também de um fenômeno astrológico comum, consultei o Google Trends pelos termos Eclipse e NetBeans associados a “ide”. Eis o resultado para “eclipse ide” × “netbeans ide”, de 2004 até hoje:

O gráfico sugere que o Eclipse tende a ser (pelo volume de pesquisas no Google, com as devidas ressalvas de subjetividade!) IDE mais popular, mas o salto evolutivo do NetBeans tem impulsionado sensível crescimento de popularidade deste nos últimos anos, em oposição a uma curva descendente do primeiro.

Desde 2004, venho monitorando fraudes que circulam na Internet brasileira.

Desde então, cresce e se multiplica a fraude mais típica no Brasil até agora: Uma mensagem enviada como spam em larga escala, com um assunto fraudulento qualquer que possa convencer e atrair a atenção de parte dos destinatários, para que cliquem em um link que os fará instalar e deixar em execução um programa espião, tipicamente um “roubador” de dados bancários.

Ao longo destes cinco anos coletando e analisando fraudes, eu mantenho o artigo Phishing Scam – A fraude inunda o correio eletrônico, que lista imagens de mais de duzentos exemplos de fraude, organizados por temas.

As fraudes começaram grosseiras. Mas, inevitavelmente como em qualquer área de conhecimento, para o bem ou para o mal, as coisas evoluem. E a fraude evoluiu.

Ontem, recebi a primeira fraude em que vi uma mensagem personalizada, ou seja, onde incluíram o meu nome verdadeiro na mensagem, para aumentar a verossimilhança.

Isso significa que, ao invés do fraudador usar uma base de dados de spam simples de e-mails para enviar a fraude, agora eles estão utilizando uma base de dados de spam com nome e e-mail.

Figura 1: Reprodução da mensagem de fraude recebida.

Indícios

Dos cinco indícios típicos principais que listo para se identificar fraudes, mais um deles foi suplantado: a impessoalidade. Vamos analisar esta mensagem quanto a estes indícios:

  • Apresentação descuidada: NEGATIVO.

    Esta mensagem tem um layout HTML razoável e inclusive utiliza uma imagem de cabeçalho extraída do próprio site real da Gol Linhas Aéreas. Não apresenta erros grosseiros de português. O texto não está acentuado, mas algumas mensagens legítimas também não utilizam acentos (por razões de compatibilidade). Só há pequenos descuidos, que eventualmente poderiam existir em uma mensagem legítima — e que dificilmente um usuário leigo ou pouco observador perceberia — como: os dados da suposta passagem exibem hora, mas não data nem número do voo; não houve tratamento adequado para que a imagem bem larga (970 pixels) não gerasse barra de rolagem (scroll) lateral.
  • Link destino não confiável: POSITIVO.
    Observe na figura o endereço do link de destino na barra de estado: fotosnovidades.net/d2/GOL_TICKET_Marcio.txt. O domínio Fotosnovidades.net não tem nada a ver com a Gol. Mas isso é um detalhe sutil. Infelizmente, muitos usuários clicam em links sem avaliar antes o endereço destino. E já vi outras fraudes que dissimulam esse indício, usando endereços com nomes mais plausíveis.
  • Informação improvável: NEGATIVO.
    O tema, aquisição de passagens de uma das principais empresas aéreas brasileiras, é perfeitamente plausível a milhares de brasileiros que podem ter recebido a fraude. Além do mais, mesmo uma pessoa que nunca viajou de avião pode ser atraído pela mensagem temendo estar sendo vítima de um roubo de identidade e/ou de uso indevido de seus dados na suposta aquisição de passagem aérea.
  • Impessoalidade: NEGATIVO.
    A atual evolução. A fraude usou uma base de dados de spam mais “apurada”, que contém não só e-mails, mas os respectivos nomes das pessoas, enviando mensagens pessoais e individualizadas. Assim, a fraude utilizou o meu nome verdadeiro.
  • Remetente suspeito: NEGATIVO.
    Esse infelizmente é fácil de fraudar. Assim como em uma carta em papel qualquer um pode escrever o que quiser como remetente, é possível forjar nome e endereço eletrônico do remetente no cabeçalho “De” (From) da mensagem de e-mail. Esta fraude identificou o remetente como "SAC GOL" <noreply@voegol.com.br>, que aparenta ser originado da Gol. Um técnico que inspecione o cabeçalho completo no código-fonte da mensagem pode identificar um servidor SMTP de onde a mensagem partiu suspeito. Mas essa informação é bastante técnica, de difícil compreensão ou análise por um leigo e não é exibida na visualização básica de mensagens.

Ou seja, o único indício de fraude foi o endereço de destino suspeito do link, e mesmo assim esse eventualmente poderia não ser observado ou poderia ter sido dissimulado.

Malware

Neste caso, o endereço de destino levava ao download do malware que meu antivírus (Kaspersky Internet Security 2009) identificou como o programa cavalo-de-tróia espião Trojan-Downloader.Win32.Agent.byij.

Contudo, a detecção dos programas maléficos pelos antivírus depende de uma amostra desse programa ser interceptada na Internet, identificada pelos centro de análise do fornecedor do antivírus e a devida atualização da base de dados do antivírus ser distribuída aos usuários. Isso pode levar alguns ou até muitos dias para ocorrer para cada empresa de antivírus e, até lá, os usuários estão desprotegidos por parte dos antivírus ou outros utilitários antimalware.

Além disso, cientes dessa sistemática, os fraudadores em geral alteram frequentemente o programa espião utilizado na fraude, para dificultar a detecção. Em palavras mais simples, os antivírus e programas de proteção se baseiam em uma “lista de programas malfeitores procurados”; quando o programa malware utilizado na fraude não está na lista do antivírus, ele não é detectado como malfeitor. A situação é ainda mais grave para quem não usa um bom antivírus ou não o mantém constantemente atualizado.

Figura 2: Malware apontado pelo link malicioso, nesta caso detectado pelo antivírus.

Quando submeti o programa malware para análise pelo excelente serviço gratuito VirusTotal.com, ele informou que este arquivo já havia sido analisado (outra pessoa o submeteu antes).

Talvez por isso — já que o VirusTotal.com notifica as empresas antivírus participantes do serviço sobre malwares detectados por algum dos programas — a taxa de identificação do malware tenha sido razoavelmente alta neste caso, em que foi detectado por 27 dos 39 programas antivírus testados (quase 70% deles, portanto).

Conclusão

Portanto, a lei e a segurança evoluem, o crime também. A única arma que sempre continua valendo para o usuário que quer se prevenir nessa guerra é a prática de cautela, atenção, cuidado e desconfiança constantes.

Atualizei recentemente minha distribuição Linux Ubuntu para a versão 9.04.

Tudo funcionou perfeitamente bem, exceto por um erro no miniaplicativo (applet) Tracker.

Ao entrar em minha conta, o Tracker exibia logo uma caixa de diálogo informando que “o índice está corrompido”. Há três botões disponíveis, “Reindexar tudo”, “OK” e “Cancelar”. Mas não importa qual deles seja clicado, o diálogo continua reaparecendo repetidamente. (Nota: No caso do Reindexar tudo, aparece em seguida a confirmação informando que reindexar pode deixar o sistema lento, mas isso também não afeta o reaparecimento do erro.)

Uma solução simples que encontrei foi encerrar o miniaplicativo, entrar no home do usuário e, dentro do diretório oculto .cache, apagar o diretório tracker. Quando o applet reinicia e recria o índice após removido o diretório, o erro cessou.

Iniciei o Tracker Applet pelo console após excluir o arquivo. Eis as mensagens exibidas:

Initializing trackerd...
Tracker-Message: Checking XDG_DATA_HOME is writable and exists
Tracker-Message:   XDG_DATA_HOME is '(null)'
Tracker-Message:   XDG_DATA_HOME set to '/home/usuario/.local/share'
Tracker-Message:   Path is OK
Tracker-Message: Setting IO priority
Tracker-Message: Setting up monitor for changes to config file:'/home/usuario/.config/tracker/tracker.cfg'
Tracker-Message: Loading defaults into GKeyFile...
Tracker-Message: Legacy config option 'IndexEvolutionEmails' found
Tracker-Message:   This option has been replaced by 'DisabledModules'
Tracker-Message:   Option 'DisabledModules' removed 'evolution'
Tracker-Message: Legacy config option 'IndexThunderbirdEmails' found
Tracker-Message:   This option is no longer supported and has no effect
Tracker-Message: Legacy config option 'SkipMountPoints' found
Tracker-Message:   Option 'IndexMountedDirectories' set to true
Tracker-Message: Setting up stopword list for language code:'pt'
Tracker-Message: Setting up stemmer for language code:'pt'
Tracker-Message: Checking directory exists:'/home/usuario/.local/share/tracker/data'
Tracker-Message: Checking directory exists:'/home/usuario/.cache/tracker'
Tracker-Message: Registering DBus service...
  Name:'org.freedesktop.Tracker'
Starting log:
  File:'/home/usuario/.local/share/tracker/trackerd.log'

(trackerd:29086): Tracker-WARNING **: Error loading query:'sqlite-fulltext.sql' #0, Cannot use virtual tables in shared-cache mode

(trackerd:29086): Tracker-WARNING **: Error loading query:'sqlite-fulltext.sql' #0, Cannot use virtual tables in shared-cache mode
Tracker-Message: Setting up monitor for changes to config file:'/home/usuario/.config/tracker/tracker.cfg'

Para saber mais: