Struts-Layout

O Struts-Layout é um projeto de código livre que provê ferramentas de desenvolvimento Java para web. Baseado em Struts, o projeto visa a criação rápida, fácil e padronizada de interface, com componentes de interação avançados.

Struts-Layout é uma biblioteca de tags para Struts que adiciona recursos como:

  • campo de texto com sugestão automática via AJAX;
  • indicador (asterisco) de obrigatoriedade ao lado de campos texto;
  • date picker, um ícone ao lado de um campo texto, que abre um pop-up de calendário para se escolher uma data e preencher o campo com ela;
  • lista de valores (LOV), um ícone ao lado de um campo com alternativas de preenchimento tabeladas, que abre um pop-up com uma lista de valores para preencher o campo;
  • tabela/lista de registros (datagrid) com: campos editáveis, ordenação por colunas, linhas com cores alternadas, seleção de linhas;
  • lista aninhada (múltiplos níveis);
  • painel com abas (tabbed panel);
  • menu;
  • localizadores “migalha de pão” (breadcrumbs);
  • lista hierárquica em árvore (treeview);
  • aparência amplamente configurável com CSS.

Além disso, o projeto inclui o Struts-Layout Studio, um plugin editor de JSP para o IDE Java Eclipse, com validação de tags Struts e preview gráfico.

Veja imagens de exemplo de páginas web com dos componentes do Struts-Layout, extraídas do demo on-line:

[photopress:struts_layout_datepicker.png,full,centered]
[photopress:struts_layout_lov.png,full,centered]
[photopress:struts_layout_required.png,full,centered]
[photopress:struts_layout_grid.png,full,centered]
[photopress:struts_layout_tabs.png,full,centered]
[photopress:struts_layout_treeview.png,full,centered]

Para saber mais:

Pesquisa de Livros do Google

Hoje foi lançada a Pesquisa de Livros do Google, edição brasileira do serviço Goolge Book Search que oferece a pesquisa em livros, com pesquisa de textos na íntegra e visualização (integral, limitado, extratos ou trechos, dependendo do livro), para que você encontre e descubra livros pesquisando por conteúdo.

Há discussão e controvérsia sobre o projeto da Google para digitalizar livros do mundo todo, visando torná-los mais acessíveis para as pessoas pesquisarem e comprarem, mas certamente representa uma possibilidade fantástica para a registro, integração e divulgação da cultura escrita mundial.

A Pesquisa de Livros (Book Search) foi idealizada em 2002 e lançada em inglês no final de 2004 como “Google Print” – Library Project (Google Imprensa – Projeto Biblioteca). Começou com a adesão de diversas editoras americanas, quatro grandes universidades (Harvard, Michigan, Oxford e Stanford) e a Biblioteca Pública de Nova Iorque, cobrindo assim um acervo estimado em mais de 15 milhões de livros ainda naquele ano de 2004.

O projeto da Google está em sintonia com outros projetos extraordinários de digitalização em progresso pelo mundo, como projeto Memória da América (pela Biblioteca do Congresso dos EUA), Projeto Gutenberg, Projeto Milhão de Livros e Biblioteca Universal (pela Universidade Carnegie Mellon), só para citar alguns.

Para saber mais:

Antivírus contra programas de fraude no Brasil (4)

Após 17 dias acompanhando a detecção de três exemplos de malware (ameaça) pelos 27 antivírus disponíveis no serviço VirusTotal, dou por finalizado os resultados. Hoje o antivírus Avast passou a detectar a primeira ameaça e o Norman a terceira.

Resumo: 10 antivírus detectam atualmente as três ameaças, dois detectam duas; e 7, só uma. 8 antivírus continuaram sem detectar nenhuma das ameaças; são eles: Authentium, eTrust-InoculateIT, F-Prot, Ikarus, Panda, Sophos, TheHacker, VirusBuster.

A relação alfabética atualizada (exclusos os antivírus que não detectaram nenhuma ameaça) fica assim:

  • [3] AntiVir = TR/VB.Downloader.Gen; TR/Banker.Delf.EC; TR/VB.Downloader.Gen
  • [2] Avast = Win32:Downloader-DD; Win32:Banker-ARH; não
  • [3] AVG = Downloader.Generic2.LOK; PSW.Banker2.KYQ; Downloader.Generic2.LNX
  • [3*] BitDefender = Win32.Worm.VB.AR; Generic.Banker.Delf.C095A38D; BehavesLike:Trojan.Downloader
  • [2*] CAT-QuickHeal = (Suspicious) – DNAScan; não; (Suspicious) – DNAScan
  • [1] ClamAV = não; Trojan.Spy.Banker-3994; não
  • [3] DrWeb = Trojan.DownLoader.3176; Trojan.PWS.Banker.4625; Trojan.DownLoader.5921
  • [1] eTrust-Vet = não; Win32/Bancos.EVO; não
  • [3] Ewido = Downloader.VB.ji; Logger.Banker.bsh; Downloader.Banload.ln
  • [3] Fortinet = W32/VB.JI!tr.dldr; Banker.T!tr.pws; W32/Banload.LN!tr.dldr
  • [1*] F-Prot4 = não; não; Possibly a new unknown PE_Virus!Maximus
  • [3] Kaspersky = Trojan-Downloader.Win32.VB.ji; Trojan-Spy.Win32.Banker.bsh; Trojan-Downloader.Win32.Banload.ln
  • [1] McAfee = não; PWS-Banker.gen.t; não
  • [1] Microsoft = não; TrojanSpy:Win32/Banker!A7F5; não
  • [3*] NOD32v2 = a variant of Win32/TrojanDownloader.VB.LP; a variant of Win32/Spy.Banker.AXC; probably unknown NewHeur_PE virus
  • [3*] Norman = W32/Suspicious_U.gen; W32/Banker.AIWR; W32/Banload.GCB
  • [1] Symantec = não; Infostealer.Bancos; não
  • [1] UNA = não; Trojan.Spy.Win32.Banker.501A; não
  • [3] VBA32 = Trojan-Downloader.Win32.VB.ji; Trojan-Spy.Win32.Banker.bsh; Trojan-Downloader.Win32.Banload.ln

O asterisco (*) indica um antivírus que detectou vagamente alguma ameaça (apenas como suspeita ou provável).

Antivírus contra programas de fraude no Brasil (3)

Desde meu artigo de 2 dias atrás, continua melhorando a detecção dos três artefatos que tomei como exemplo pelos diversos antivírus.

Agora, mais quatro antivírus identificaram o primeiro e o terceiro programas malware: AVG, Ewido, Fortinet e VBA32. No caso do Fortinet, ele antes já reportava estes arquivos como “suspeito”, mas agora o antivírus classifica cada ameaça com um nome específico.

Como AVG, Ewido e VBA32 já haviam detectado o segundo artefato, o número de antivírus que detectam as três ameaças passou de 6 para 9, dentre os 27 analisados.

Você aceita?

Há poucos dias, me deparei com o serviço de Atualizações Automáticas do Windows XP instruindo a instalar a atualização denominada “Windows Genuine Advantage Notification (KB905474)” da Microsoft. Essa atualização exige a aceitação de um Contrato de Licença de Usuário Final (EULA) antes da instalação.

Se eu fosse como a grande maioria dos usuários, que clicam “OK” ou “Aceito” em resposta a qualquer janela de mensagem apresentada na tela sem ler nada, eu teria instalado de forma irreversível esse componente, em poucos segundos. Mas eu li o que estava escrito. E fiquei espantado!

O que os programas espiões, ou spyware, fazem? Se instalam sorrateiramente em seu computador, extraem dele informações e enviam para alguém via Internet. Pois bem, este componente da Microsoft pede para ser instalado como uma atualização crítica de segurança do Windows, mas é um programa que identifica um monte de informações do seu computador e, sem muito aviso, envia tudo para a Microsoft e seus parceiros. E este componente sequer permite ser desinstalado depois. E o pior: quando você clica em “Aceito”, tudo isso ocorre supostamente com o seu consentimento.

Os termos da licença e dos demais materiais de divulgação do Windows Genuine Advantage informam que isto ajuda você a verificar se sua cópia do Windows é autêntica e licenciada, mas na verdade esta é uma ação clara e incisiva para ajudar a Microsoft a identificar e combater a pirataria de seu software. Embora seja a mais pura verdade que estão espalhadas pelo mundo milhões de cópias pirata do Windows (e muitos outros softwares) e seja legítimo o direito da Microsoft em se defender desse mal, dizer que isso é uma vantagem para o usuário soa como um exagero com toque de sinismo.

Veja abaixo um extrato do Contrato de Licença de Uso da Microsoft para essa “atualização crítica” Windows Genuine Advantage Notification (KB905474), também conhecida como Notificação do WGA, com partes mais controversas destacadas.

AVISO: Esta atualização da Microsoft irá ajudá-lo a identificar se está executando uma cópia autêntica e devidamente licenciada do Windows XP. […]

Antes de instalar, leia e aceite os termos de licença a seguir. […]

Ao usar este suplemento, você estará aceitando estes termos. Se você não os aceitar, não use este suplemento. […]

1. Aplicação dos termos. […]

2. Propósito do suplemento. Este suplemento atualiza o Windows XP e foi desenvolvido para notificá-lo se está utilizando uma cópia licenciada indevidamente do Windows XP. Para assegurar o uso correto do software devidamente licenciado, este suplemento não pode ser desinstalado.

3. Validação. […]

4. Notificação. Se o suplemento detectar que você não possui uma cópia devidamente licenciada do Windows XP, você irá receber uma notificação e lembretes periódicos para instalar uma cópia devidamente licenciada do Windows XP. […]

5. Serviços de Internet. […] Este suplemento conecta-se a sistemas de computador da Microsoft ou do provedor de serviços pela Internet, conforme descrito a seguir. Em alguns casos, você não receberá um aviso separado quando ele se conectar. […]

6. Informações sobre o computador. Este suplemento utiliza protocolos de Internet, que transmitem à Microsoft as informações do computador, tais como chave do produto Windows XP, número de série do disco rígido, fabricante do computador, versão do sistema operacional, ID do produto Windows XP, informações de BIOS do computador, configuração de local do usuário, versão de idioma do Windows XP, resultado da validação e se a instalação deste suplemento foi concluída corretamente. Determinadas informações derivadas do seu endereço IP, que não podem ser utilizadas para identificá-lo, serão retidas em associação às informações do computador.

7. Uso de informações. […] Poderemos também compartilhar os dados obtidos com terceiros, como fornecedores de hardware e software e aos licenciadores por volume, a fim de ajudá-los a proteger suas chaves de licença.

8. Consentimento para serviços de Internet. Ao usar esse recurso, você concorda com a transmissão e o uso das informações do computador mencionadas anteriormente. a Microsoft não utiliza as informações para identificá-lo ou contatá-lo.

9. Aviso de privacidade. […]

10. Serviços de suporte do suplemento. […]

[photopress:winup04.png,full,centered]

E aí, você aceita?

A Microsoft lançou o programa Windows Genuine Advantage (WGA) em setembro de 2004. Há alguns meses atrás, uma versão piloto (preliminar) do notificador WGA já havia sido lançada como uma atualização automática do Windows XP. O WGA Notification atual é uma versão atualizada, uma vez que os crackers/piratas têm encontrado formas de driblar a verificação. A Notificação WGA piloto podia ser manualmente desinstalada, conforme instruções de suporte da própria Microsoft.

Nos computadores com versão “pirata” do Windows, é exibido um alerta na inicialização (logon) do Windows, avisando que aquela cópia do Windows não é legítima/licenciada. O alerta também é exibido periodicamente por um ícone na área de notificação (bandeja do sistema, ao lado do relógio no canto inferior direito).

A medida causou, obviamente, incômodo aos usuários desatentos com cópia irregular do Windows. Mas também indignou técnicos e profissionais de informática e segurança, pela forma dissimulada e intrusiva como a ferramenta é instalada como uma atualização crítica do Windows, conecta-se diariamente à Microsoft via Internet sem aviso e repassa para terceiros informações detalhadas da configuração do computador. São características condenáveis típicas de programas espiões (spyware).

Para saber mais:

Antivírus contra programas de fraude no Brasil (2)

Em meu artigo 2 semanas atrás, iniciei o acompanhamento da evolução de 3 exemplos de malware (programas maléficos) utilizados em fraudes circulantes no Brasil.

Naquele dia, do total de 27 mecanismos antivírus testados pelo serviço VirusTotal, eram 10 antívirus detectando 1 ou mais das amaças, sendo que apenas 4 haviam dectado todas as três.

Hoje, transcorridas duas semanas (14 dias), a situação está assim:

A primeira triste constatação é que todos os três artefatos continuavam acessíveis (disponíveis para download) na Internet.

Dos 27 antivírus analisados, 6 detectaram as três ameaças, 2 detectaram duas delas, 11 detectaram apenas uma e os outros 8 antivírus continuaram não detectando nenhuma delas. Ou seja, o número de antivírus detectando pelo menos uma das ameaças aumentou de 10 para 19, após duas semanas.

Alguns detectam de forma imprecisa as ameaças (*), apresentando para uma ou mais delas vereditos vagos como “suspeito”, “ameaça desconhecida” ou “provável ameaça”.
O segundo artefato foi o de detecção mais ampla, identificado por 17 antivírus (eram só 5 no primeiro dia), sendo por sinal aquele reconhecido por 10 dos 11 antivírus que só detectaram uma ameaça.

  • [3] DrWeb = Trojan.DownLoader.3176; Trojan.PWS.Banker.4625; Trojan.DownLoader.5921
  • [3] Kaspersky = Trojan-Downloader.Win32.VB.ji; Trojan-Spy.Win32.Banker.bsh; Trojan-Downloader.Win32.Banload.ln
  • [3] AntiVir = TR/VB.Downloader.Gen; TR/Banker.Delf.EC; TR/VB.Downloader.Gen
  • [3*] BitDefender = Win32.Worm.VB.AR; Generic.Banker.Delf.C095A38D; BehavesLike:Trojan.Downloader
  • [3*] NOD32v2 = a variant of Win32/TrojanDownloader.VB.LP; a variant of Win32/Spy.Banker.AXC; probably unknown NewHeur_PE virus
  • [3*] Fortinet = suspicious; Banker.T!tr.pws; suspicious
  • [2*] CAT-QuickHeal = (Suspicious) – DNAScan; não; (Suspicious) – DNAScan
  • [2*] Norman = W32/Suspicious_U.gen; W32/Banker.AIWR; não
  • [1] Avast = não; Win32:Banker-ARH; não
  • [1] AVG = não; PSW.Banker2.KYQ; não
  • [1] ClamAV = não; Trojan.Spy.Banker-3994; não
  • [1] Ewido = não; Logger.Banker.bsh; não
  • [1] eTrust-Vet = não; Win32/Bancos.EVO; não
  • [1] McAfee = não; PWS-Banker.gen.t; não
  • [1] Microsoft = não; TrojanSpy:Win32/Banker!A7F5; não
  • [1] Symantec = não; Infostealer.Bancos; não
  • [1] UNA = não; Trojan.Spy.Win32.Banker.501A; não
  • [1] VBA32 = não; Trojan-Spy.Win32.Banker.bsh; não
  • [1*] F-Prot4 = não; não; Possibly a new unknown PE_Virus!Maximus
  • [0] Authentium
  • [0] eTrust-InoculateIT
  • [0] F-Prot
  • [0] Ikarus
  • [0] Panda
  • [0] Sophos
  • [0] TheHacker
  • [0] VirusBuster

É claro que a pequena amostragem de artefatos não serve de avaliação criteriosa dos 27 antivírus existentes no serviço VirusTotal, mas serve pelo menos como indicativo concreto de que boa parte dos antivírus atuais ainda não está lidando de forma eficaz contra as pragas envolvidas em fraudes on-line do Brasil, incluindo os três antivírus mais populares no mercado brasileiro: AVG, McAfee e Symantec.

Por enquanto, honra ao mérito dos antivírus DrWeb e Kaspersky, que identificaram mais rápida e precisamente as três amaeças tomadas como exemplo. Destaque também para a boa atuação dos antivírus AntiVir, BitDefender, NOD32, Fortinet, CAT-QuickHeal e Norman.

Fraude do dia: "Orçamento"

Olhe aí o serviço YouSendIt.com usado mais uma vez para hospedar uma aplicação maliciosa de fraude.
Desta vez, o tema da fraude é uma suposta solicitação de orçamento comercial.

[photopress:fraude_orcamento.png,full,centered]

No serviço VirusTotal, 12 antivírus detectaram a ameaça:

  • AntiVir = TR/Spy.Banker.Gen
  • AVG = PSW.Banker2.LJJ
  • DrWeb = BACKDOOR.Trojan
  • eTrust-InoculateIT = Win32/Bancos.Variant!Trojan
  • Ewido = Logger.Banbra.gl
  • Fortinet = Spy/Banbra!0917
  • Kaspersky = Trojan-Spy.Win32.Banbra.gl
  • McAfee = PWS-Banker.gen.b
  • NOD32v2 = probably a variant of Win32/Spy.Banker.BIG
  • Norman = W32/Banker.AJYT
  • Panda = Suspicious file
  • UNA = Trojan.Spy.Win32.Banbra.899C

Fraude do dia: "Boticário"

Em clima de Dia dos Pais (que será no próximo domingo dia 13), uma fraude — que já existe há algum tempo — usando o nome do Boticário foi reciclada para circular agora com o título (Assunto) “Promoção dia dos pais”.

[photopress:scam_boticario.png,full,centered]

No endereço real de destino, YouSendIt.com é um serviço público de envio e armazenamento de arquivos em geral. Sem oferecer grande controle ou segurança, este tipo de serviço é muito usado para hospedagem de malware usado em fraudes.

Resultado decepcionante da varredura em VirusTotal.com: do total de 27 antivírus, apenas os seguintes 2 detectaram alguma ameaça:

  • Authentium: could be a corrupted executable file
  • Fortinet: suspicious

AppFuse no IBM developerWorks

Dia 8, foi publicado no portal da IBM sobre desenvolvimento developerWorks o artigo de Matt Raible Seven simple reasons to use AppFuse (Sete razões simples para usar AppFuse).

AppFuse é um projeto criado por Matt Raible e ativamente mantido, que visa integrar diversos frameworks Java livres (open source), scripts de automação, padrões de projeto (design patterns) e boas práticas, para criação de aplicações web em Java. AppFuse utiliza Ant, XDoclet, Spring, Hibernate (ou iBATIS — para persistência), JUnit, jMock, StrutsTestCase, Canoo’s WebTest, Struts Menu, Display Tag Library, OSCache, JSTL e Struts (alternativas: Spring MVC, WebWork, Tapestry e JSF — para apresentação).

Eis um resumo do artigo de Raible:

Getting started with open source tools for the Java™ platform such as Spring, Hibernate, or MySQL can be difficult. Throw in Ant or Maven, a little Ajax with DWR, and a Web framework — say, JSF — and you’re up to your eyeballs just trying to configure your application. AppFuse removes the pain of integrating open source projects. It also makes testing a first-class citizen, allows you to generate your entire UI from database tables, and supports Web services with XFire. Furthermore, AppFuse’s community is healthy and happy — and one of the few places where users of different Web frameworks actually get along.

Para saber mais:

Fraude do dia: "Te amo"

Tem gente que te ama. Mas desconfie de quem manda uma aparente mensagem de amor anônima. É uma fraude típica, e quem manda na verdade deve te odiar: quer instalar um programa para fazer mal ao teu computador e aos teus dados pessoais.

[photopress:scam_teamo.png,full,centered]

Resultado da análise do programa, por 27 antivírus em VirusTotal.com:

  • CAT-QuickHeal: (Suspicious) – DNAScan
  • Fortinet: suspicious
  • Kaspersky: Trojan-Spy.Win32.Bancos.mi
  • NOD32v2: probably a variant of Win32/Spy.Bancos.U
  • Panda: Suspicious file
  • VBA32: suspected of Malware.VB.22

Os outros 21 antivírus não detectaram ameaça. A detecção mais precisa foi do Kaspersky AV, o antivírus que tem se mostrado mais eficaz contra keyloggers. Por sinal, trata-se de mais um programa que visa para roubar dados (keylogger) bancários, o que tem sido típico nas fraudes circulantes no Brasil.