O último plugin

Depois do fim anunciado do Microsoft Silverlight e do Java Plugin, chegou a vez do anúncio de adeus do último e mais popular plugin de navegadores web de todos os tempos: o Adobe Flash.

Segundo o anúncio oficial de 2017-07-25 no site da Adobe, padrões abertos como HTML5, WebGL e WebAssembly amadureceram nos últimos anos, e agora provêm a maioria dos recursos e funcionalidades de plugins pioneiros e são uma alternativa viável para conteúdo dinâmico, vídeo, animações e jogos na web. Atualmente os principais navegadores integram recursos nativos antes só possíveis através de plugins.

Nesse cenário, e em colaboração com parceiros tecnológicos incluindo Apple, Facebook, Google, Microsoft e Mozilla, a Adobe planeja o fim-de-vida do Flash até o fim de 2020, e encoraja os criadores de conteúdo a migrarem conteúdo existente em Flash para um destes novos padrões abertos. Até lá, a Adobe vai continuar prestando suporte e atualizações (de segurança e compatibilidade) ao Flash nos sistemas operacionais suportados.

Além disso, a Adobe cogita antecipar prazos de fim-de-vida do Flash em certas regiões do mundo onde versões não licenciadas e desatualizadas do Flash Player tem sido distribuídas.

O Flash surgiu em 1996 lançado pela FutureWave originalmente com o nome Shockwave. Naquele mesmo ano a pequena foi comprada pela Macromedia, por sua vez adquirida pela Adobe em 2005. Atingiu a marca de mais de 1 bilhão de instalações em computadores conectados, e foi por muito tempo padrão de fato da indústria para animações e jogos na web.

A era dos dispositivos móveis (tablets e celulares com Android e iOS) sem suporte a plugins e, como citou o anúncio da Adobe, os novos padrões abertos desde o HTML5 impulsionam a decadência e fim dos plugins, incluindo agora o ilustre Flash.

Resolver download HTTPS no GetRight

Há muitos anos adquiri e uso o software shareware gerenciador de downloads chamado GetRight.

No tempo da banda não tão larga assim, um dos recursos do GetRight era buscar a aceleração de downloads com a engenhosa opção de segmentar o arquivo a baixar em vários pedaços simultaneamente, inclusive podendo baixar cada segmento de um servidor diferente. Atualmente, esse recurso tem pouca valia.

Dois recursos do GetRight que me interessam até hoje são os seguintes:

  • Opção de gerar um arquivo de log para cada download, onde fica anotado o URL (endereço) de origem do download e pode-se fornecer também uma anotação ou descrição.
  • A opção de preservar o horário (timestamp) de modificação do arquivo no servidor, ao invés de deixar o arquivo com a data em que você realizou o download. Esta opção só está disponível na versão paga do GetRight.

Enquanto os navegadores web não implementam esses recursos de forma nativa, eu vou usando o GetRight para gerenciar e organizar meus downloads.

Sobre a preservação do timestamp de modificação de downloads

Apesar da informação da data de última modificação do arquivo no servidor estar facilmente disponível no cabeçalho dos pacotes HTTP para um download, infelizmente os navegadores mais populares ainda não oferecem a opção de preservar a data-hora original do arquivo, embora existam demandas de usuários para que esse recurso seja implementado. Veja:

Uma extensão para Firefox que promete oferecer essa opção não funciona.

Voltando ao HTTPS

Contudo, já faz um bom tempo que observei que os downloads via HTTP (conexão segura) muitas vezes não estavam funcionando no GetRight, aparentando ficar extremamente lentos ou parados.

Como o GetRight não vem sendo mais atualizado desde a versão 6.5 de fev/2011, suspeitei de problemas de compatibilidade ou mesmo bug com a bibioteca DLL que implementa o OpenSSL no GetRight para suportar HTTPS.

Procurando na pasta do GetRight em Arquivos de Programas (x86), encontrei o arquivo libeay32.dll. Em Propriedades > Detalhes do arquivo vemos que se trata da OpenSSL Shared Library versão 0.9.8.11 de mar/2009.

Propriedades de libeay32.dll do GetRight

Consultei o site do projeto de software livre OpenSSL e vi que a versão estável mais recente disponível no momento em que escrevo este artigo era 1.0.2e.

Por se tratar de um software envolvendo criptografia, que tem restrições de uso e exportação para alguns países mais “complicados”, o site OpenSSL.org só disponibiliza os códigos-fonte do OpenSLL para baixar. Vários sites independentes oferecem o download de versões compiladas para Windows (32 e 64 bits) do OpenSSL. Optei por baixar de https://indy.fulgan.com/SSL/ o arquivo openssl-1.0.2e-i386-win32.zip (apesar do meu Windows ser 64-bit, o GetRight é antigo e 32-bit).

Extraí do ZIP baixado o arquivo libeay32.dll atualizado da versão 1.0.2e, substituí esse arquivo na pasta do GetRight e… sucesso! Os downloads via HTTPS voltaram a funcionar rapidamente no GetRight.

#ficaadica … Espero que seja útil para mais alguém.

Plug-ins em navegadores: o fim de uma era

Sem Plug-insRemonta à época do velho navegador internet Netscape a ideia de se definir uma API aberta de plug-ins para integrar tratamento de conteúdos e mecanismos específicos ao navegador, como vídeos, animações, gráficos vetoriais, PDF, aplicações dinâmicas etc., de forma que o os mecanismos nativos do navegador se concentrassem em navegação e exibição de páginas da “World Wide Web”. Isso fazia muito sentido naqueles anos 90.

E até agora, praticamente todos os navegadores populares da atualidade, em sistemas operacionais desktop como Windows, Linux e MacOS, ainda implementavam a arquitetura de plug-ins multi-plataforma denominada Netscape Plugin Application Programming Interface (NPAPI).

Contudo, no longo caminho de mais de 20 anos de evolução desde os idos do Netscape até hoje, e mais intensamente nos últimos anos, a necessidade de plug-ins vem decrescendo. E a tendência iminente é chegar a zero!

Este artigo busca um retrospecto e referências dos principais aspectos, contextos e fatos envolvidos na decadência dos plug-ins de navegadores.

Recursos nativos

Os navegadores e os padrões da web vem evoluindo para incorporar cada vez mais recursos nativos para conteúdo dinâmico, rico e interativo. Citemos alguns marcos importantes:

Ajax e Rich Internet Applications (RIA)

Os padrões de JavaScript, CSS (estilos), DOM (modelo de objetos das páginas web para manipulação programática, especialmente via JavaScript) evoluíram muito para suportar cada vez mais interatividade e experiência rica (RIA) nas páginas web, com destaque par a popularização do Ajax e de frameworks de programação web poderosos como jQuery e AngularJS, só para citar alguns. Veja por exemplo meu artigo Ajax e RIA – Radar do mercado, de mai/2011.

HTML5

O padrão HTML5 (desenvolvimento iniciado em 2007/2008 e recomendação oficial do W3C concluída em 2014-10-28, especificação liderada por Ian Hickson da Google), suportado por todos os principais navegadores da atualidade, incluiu elementos nativos para incorporação de multimídia como vídeo, áudio e legendas, equações matemáticas (MathML), gráficos vetoriais (SVG), canvas gráficos 2D (bitmaps dinâmicos) e 3D (WebGL) etc. diretamente em páginas web. Isso dispensa o uso de plug-ins antigamente utilizados para integrar com visualizadores multimídia do sistema operacional como Apple Quicktime, Windows Media Player ou VNC.

Referências sobre HTML5 e seus recursos nativos:

PDF

Mozilla Firefox, Google Chrome e Microsoft Edge atualmente incluem visualizadores nativos de documentos PDF. Isso dispensa o plug-in integrando o Adobe Acrobat Reader. O Chrome oferece também recurso nativo para Salvar como PDF páginas web, ao invés de imprimir.

A Adobe alega que o Acrobat Reader garante melhor experiência do usuário e garante total compatibilidade com o formato PDF, evitando erros e problemas na utilização de recursos avançados. Vários navegadores, mesmo possuindo visualizador nativo, oferecem alternativa de configurar o Adobe Acrobat Reader para abrir documentos PDF. Veja também Change in support for Acrobat and Reader plug-ins in modern web browsers, na base de conhecimento de Ajuda da Adobe.

Extensões ou complementos nativos do navegador

O modelo de extensões ou complementos específicos para os principais navegadores, disponibilizadas para baixar em repositórios ou “lojas” (Mozilla Add-ons, Google Chrome Web Store etc.), permite incorporar novas funcionalidades e comportamentos específicos aos navegadores como componentes adicionais nativos.

A era dos dispositivos móveis

E veio a era dos dispositivos móveis (smartphones e tablets), memória RAM e telas menores que os desktops, interação fortemente baseada em toque direto na tela, e em sua maioria com sistemas operacionais Google Android ou Apple iOS.

Com as diferenças e limitações de hardware, sistema operacional e software dos dispositivos móveis, em geral os aplicativos para estes dispositivos são mais enxutos e especializados. A consequência é que os navegadores internet para smartphones e celulares em geral não suportam mecanismos de plugin.

Depois da versão 11.1 do Adobe Flash Player em set/2013, a Adobe deixou de publicar Flash Player para browser em dispositivos móveis Android. No iOS, em meio a alegações controversas desde uma declaração Thoughts on Flash de Steve Jobs em abr/2010, o Flash nunca foi suportado nos dispositivos móveis da Apple. No Android, o Flash Player deixou de ser disponibilizado no Google Play Store; em Android 4 e inferior, ele só pode ser instalado manualmente diretamente a partir do repositório arquivado da Adobe.

Referências:

A extinção do NPAPI

Microsoft

O Microsoft Internet Explorer 5.5 SP2, em ago/2001, já havia descontinuado o suporte ao protocolo NPAPI, deixando de suportar os plug-ins no estilo Netscape em favor da integração via tecnologia ActiveX, introduzida desde o Internet Explorer 3, conforme artigo #30341 da base de conhecimento de suporte Microsoft.

O novo navegador Microsoft Edge introduzido no Windows 10, por sua vez, descontinuou também o suporte à tecnologia ActiveX. Veja A break from the past, part 2: Saying goodbye to ActiveX, VBScript, attachEvent…, 2015-05-06, por Microsoft Edge Team, em Windows Blog.

Google

Em setembro de 2013, Justin Schuh, Engenheiro de Segurança e Planejador de Obsolescência de Plug-in da Google, publicou no Chromium Blog que a arquitetura anos-90 do NPAPI se tornara causa frequente de travamentos, falhas, incidentes de segurança e complexidade de código; por causa disso, Chrome iria gradualmente reduzir o suporte a NPAPI a partir do ano seguinte.

Como evidência de que a web estava pronta para essa transição, Schuh apresentou dados baseados nos dados anônimos de uso coletados pelo Chrome indicando que à época apenas seis plug-ins haviam sido usados por mais de 5% dos usuários no mês anterior: Silverlight (15%), Unity (9,1%), Google Earth (9,1%), Java (8,9%), Google Talk (8,7%) e Facebook Video (6%).

Em artigo de atualização de novembro de 2014, com os dados indicando que o uso de NPAPI continua em queda, a Google apresentou a contagem regressiva para o NPAPI, com todos os plugins passando a ser bloqueados por padrão em jan/2015, depois o suporte a NPAPI desabilitado por padrão em abr/2015 (o que efetivamente ocorreu no Chrome 42) e, por fim, o suporte a NPAPI sendo permanentemente removido do Chrome em set/2015 (Chrome versão 45). Assim ocorreu.

Mozilla

Em 8 de outubro de 2015, Benjamin Smedberg, gerente de engenharia de qualidade do Firefox na Mozilla, publicou um anúncio sobre plugins NPAPI no Firefox: a Mozilla pretende remover o suporte a plugins NPAPI no Firefox até o fim de 2016. Apenas o suporte a Adobe Flash deve ser mantido em caráter excepcional. Novas plataformas como o Firefox 64-bits para Windows já nascem sem suporte a plugins.

Similar à Google, Smedberg também justifica que com a evolução dos browsers e da Web, muitos recursos que antes requeriam plugins estão agora disponíveis nativamente. E que com a velha NPAPI, plug-ins são fonte de problemas, travamentos e incidentes de segurança para os usuários.

Firefox começou este processo vários atrás, com o mecanismo de ativação manual de plugins, permitindo que usuários ativem um plugin apenas quando necessário. Smedberg cita que a decisão da Mozilla espelha a de outros navegadores modernos, como Google Chrome e Microsoft Edge, que também removeram suporte a plugins legados.

Os remanescentes e os novos movimentos

Quatro plug-ins para incorporação de aplicações dinâmicas avançadas ainda merecem destaque: O Adobe Flash Player, o Java Plug-in, o Microsoft Silverlight e o Unity 3D. Vamos avaliar a situação e tendência para cada um deles.

Flash

O Adobe Flash é a única tecnologia complementar que ainda persiste, praticamente unânime, largamente utilizada para vídeos em fluxo (streaming), jogos e animações em sites web, com forte intenção de continuidade de suporte pelos principais navegadores.

A Google trabalhou em conjunto com a Adobe para integrar Flash Player built-in no Google Chrome, inclusive com atualizações automáticas, sem a necessidade do usuário baixar manualmente. O Flash Player embutido no Chrome utiliza Pepper Plugin API (PPAPI), um sistema mais novo e seguro de integração de plug-ins desenvolvido pela Google a partir de 2009.

O Internet Explorer 5.5 em diante passou a integrar o Flash Player via ActiveX (a instalação da Adobe fornecia um plug-in ActiveX especialmente para o IE) e, com o dessuporte do ActiveX no novo navegador Microsoft Edge, este passa a integrar o Flash Player nativamente, similar ao Chrome.

No artigo NPAPI Plugins in Firefox, de out/2015, a Mozilla informa que com a descontinuidade do NPAPI em 2016, o suporte a Flash será mantido como uma exceção, sem ainda revelar detalhes técnicos, mas anuncia que Mozilla e Adobe vão colaborar para melhorar a experiência do Flash no Firefox, incluindo estabilidade, desempenho e segurança.

Java

O uso de applets Java integradas ao navegador tem tido um universo mais especializado de aplicações. Tirando proveito do poder e abrangência de aplicações Java capazes de lidar com todo tipo de recurso no computador, no Brasil posso citar pelo menos dois grandes exemplos:

O plug-in Guardião de Segurança antifraudes durante as transações on-line (internet banking), desenvolvido pela GAS Tecnologia e utilizado por Banco do Brasil, Caixa Econômica Federal, Itaú e Santander, recorreu a applet Java para seus propósitos.

No Poder Judiciário, as aplicações web de processo eletrônico, como o Processo Judicial Eletrônico (PJe) instituído nacionalmente pelo Conselho Nacional de Justiça (CNJ), tem usado intensamente applet Java para acessar o certificado digital de pessoa no computador do usuário, para assinar digitalmente documentos eletrônicos e/ou para autenticação segura.

Com o fim do suporte a NPAPI já ocorrido no Chrome 45 (set/2015) e iminente no Firefox (dez/2016), que era o mecanimo de integração do Java plug-in nestes navegadores, a Oracle recomenda, no curto prazo, os usuários migrarem para Internet Explorer (Windows, que integra o Java plug-in via ActiveX) ou Safari (MacOS X, que ainda suporta NPAPI) para acessar aplicações Java através do navegador. E de forma mais definitiva, orienta os desenvolvedores a migrar as applets Java para aplicações Java Web Start, que podem ser disparadas através do navegador via protocolo Java Network Launching Protocol (JNLP), mas executam como aplicações desktop independentes no Rumtime Java SE e não interagem com o navegador depois de iniciadas.

Microsoft Silverlight

O Silverlight é uma tecnologia da Microsoft baseada em .NET Framework, que nasceu em 2007 aparentemente para concorrer com o Flash da Adobe, e que já teve sua descontinuidade anunciada na versão 5 com o fim do suporte pela Microsoft em 2021. Nesse meio tempo, um grande adepto do Silverlight foi o serviço Netflix de filmes e séries pela internet, que tirou proveito do controle de conteúdo protegido por direitos autorais (DRM) do Silverlight para reproduzir os vídeos em desktop Windows e MacOS. O Silverlight plug-in se integra ao navegador via NPAPI ou, no Internet Explorer, ActiveX. Como o Edge não suporta nenhuma das duas tecnologias de plug-in, o Silverlight não é compatível com o novo navegador da Microsoft.

Com a descontinuidade do Silverlight em 2021, a Netflix anunciou desde 2013 que pretende migrar para vídeo HTML5 com Premium Video Extensions nos computadores desktop. Em dispositivos móveis, smart TVs e consoles de jogos, a Netflix já possui seu próprio aplicativo dedicado e não depende de navegador.

Unity 3D

https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/

“As part of our plugin strategy, Mozilla and Unity are proud to jointly announce a close collaboration and an aligned roadmap that will enable Unity-based content to be experienced directly in the browser without plugins. As this technology continues to evolve, Unity has announced an updated roadmap for its Web Player technology.”

Conclusão

Com a popularização de marcos tecnológicos como Ajax, HTML5 e dispositivos móveis, o uso de plug-ins nos navegadores web perdeu fortemente o sentido. Acrescente-se a isso a extinção do suporte à velha arquitetura de plug-ins NPAPI por dois dos navegadores mais utilizados (Chrome e Firefox, além do IE e Edge) até 2016.

Somente o Adobe Flash, por sua grande popularidade em conteúdos web e experiência de usuários, tem sido tratado de forma excepcional pelos fornecedores de navegadores com estratégias para manter sua compatibilidade.

Desenvolvedores de aplicações internet e provedores de conteúdo devem repensar profundamente suas estratégias de integrar conteúdo e aplicações às páginas web mais adequadas aos tempos atuais, deixando para trás a era dos plug-ins.

Fraudes bancárias e o guardião de internet banking

Os bancos bresileiros perderam com fraudes financeiras perto de R$ 3 bilhões em 2012, segundo o blog de Fernando Nogueira da Costa, e R$ 2,3 bi em 2013, segundo o jornal Valor Econômico. A cada 14,8 segundos no país, ocorre uma tentativa de fraude, segundo indicador da Serasa Experian.

Como o crime vai atrás do dinheiro onde quer que ele transite, grande parte das fraudes envolvem a Internet, onde há o Internet Banking e as compras on-line. Atualmente, o cliente bancário pode fazer todo tipo de consultas, pagamentos, transferências e investimentos pela Internet, e ir a um caixa eletrônico apenas se precisar sacar dinheiro. Também o cartão de crédito é um dos meios de pagamento mais aceitos e utilizados nas compras pela Internet.

O crime bancário na Internet em geral envolve um meio do malfeitor obter os dados de conta ou cartão bancários (número, senha, códigos de acesso) de usuários de computador. Dois vetores comuns são programas maliciosos espiões (spyware, keylogger) instalados no computador para monitorar os dados digitados no acesso aos sites legítimos de banco, ou páginas falsas que imitam os sites legítimos de instituições financeiras e solicitam ao usuário preencher seus dados.

Já mostrei aqui no blog vários exemplos: Fraude “Bradesco” – cara de pau passo a passo, Anatomia de uma fraude: CitiBank, Anatomia de mais uma fraude: Santander. Mantenho também um grande conjunto de exemplos de fraudes coletados entre 2004 e 2010.

Uma boa ferramenta de Internet Security, constantemente atualizada, pode evitar a maior parte destes ataques, com um antivírus que detecte programas maliciosos quando tentam entrar no computador e um monitor de URLs web que detecte tentativas de acesso a endereços fraudulentos.

O Kaspersky Internet Security, além de antivírus e monitor de URLs, oferece desde 2013 um recurso específico chamado Safe Money que cria nos navegadores web (Chrome, Firefox, Internet Explorer) um ambiente protegido para distinguir e proteger o acesso a sites financeiros legítimos.

Ainda assim, quando uma fraude é muito recente, a ferramenta de Internet Security pode ainda não “conhecer” a assinatura do programa malicioso ou o endereço URL falso. E muitos usuários ainda não tem nenhum antivírus, ou usam antivírus antigos, desatualizados ou pouco eficazes.

Diante de um rombo de fraude da ordem dos bilhões anuais, os bancos investem em suas próprias soluções de prevenção a fraudes. No caso da Internet, a solução antifraude para e-Banking G-Buster, da empresa GAS Tecnologia é utilizada por quatro dos cinco maiores bancos de varejo, Banco do Brasil, Caixa Econômica Federal, Itaú e Santander, além de Banco Mercantil do Brasil, Banco da Amazônia, Banestes, Tecnocred/Unicred.

Os bancos em geral denominam a ferramenta G-Buster como Guardião. A exigência de instalação do Guardião por parte dos bancos para que se acesse o seu Internet Banking na web — o que dependendo da versão tem exigido requisitos como execução de um programa de diagnóstico e instalação, Java ativado, instalar um serviço no Windows e uma extensão ativada no navegador web — tem sido uma contramão no conceito de mobilidade de uso do banco, pois muitos computadores de acesso público à Internet não permitem esse tipo de instalação, por restrição de segurança.

Veja a seguir um exemplo do Firefox com as extensões dos guardiões de vários bancos instalados. Esta janela do Firefox está no ambiente protegido pelo recurso Safe Money do Kaspersky Internet Security, onde se pode ver também as extensões Consultor de URLs e Safe Money da Kaspersy.

Extensões do Firefox: Guardiões de bancos e ferramentas de proteção da Kaspersky.

Além disso, o Guardião do banco tenta monitorar todos os acessos web no navegador e sabe-se lá mais o que no computador, o que é uma questionável invasão da privacidade do usuário. E com frequência, tem sido recentemente apontado como causa de lentidão no acesso a sites. Eu mesmo já vi várias vezes o navegador “travado” e na linha de status a mensagem “Aguardando extensão Guardião …”.

Nos smartphones e tablets Android e iOS a história é um pouco diferente, pois os bancos disponibilizam aplicativos próprios para instalação, ao invés do acesso por um navegador web comum. Talvez essa seja a alternativa mais viável atualmente para efetiva mobilidade no acesso aos serviços bancários.

Heartbleed Bug: Vulnerabilidade no OpenSSL afeta 2/3 dos sites Internet

Ilustração do Heartbleed Bug do OpenSSL

Fazia tempo que não se ouvia falar tanto de uma vulnerabilidade de segurança tão séria e de tão grande impacto na Internet.

O Projeto OpenSSL mantém o software livre que implementa os protocolos Secure Sockets Layer (SSL v2/v3) e Transport Layer Security (TLS v1), incluindo biblioteca de criptografia forte, utilizado por aproximadamente dois terços de todos os sites seguros da Internet, aqueles com endereço iniciado por “https:” e com o famoso cadeado exibido nos navegadores web. Inclusive, em 2007 o OpenSSL foi homologado como padrão de segurança pelo governo dos Estados Unidos, FIPS PUB 140-2.

Um bug no recurso denominado Heartbeat (em português literal, Batimento Cardíaco) do protocolo TLS implementado no OpenSSL, apelidado “Heartbleed” Bug (Falha do “Sangramento no Coração”), pode revelar até 64 Kbytes da memória do servidor web para um cibercriminoso. A falha é muito grave porque, além de afetar boa parte dos sites seguros na internet rodando uma versão vulnerável do OpenSSL, é um bug fácil de explorar e não deixa rastros (ou seja, não há uma maneira garantida de saber se um servidor foi atacado através dessa falha nem que dados podem ter vazado).

O bug foi comunicado ao time de segurança da OpenSSL por Neel Mehta da Google Security, em 1º de abril (e não é mentira!). Afeta OpenSSL releases 1.0.1 até 1.0.1f e 1.0.2-beta1. Usuários (em geral, administradores de sites) da biblioteca OpenSSL afetados devem atualizar para a versão 1.0.1g, lançada em 7 de abril, ou recompilar OpenSSL com a opção -DOPENSSL_NO_HEARTBEATS. A série 1.0.2 está sendo corrigida no release 1.0.2-beta2. A versão 1.0.1 foi lançada em março de 2012, o que significa que sites e produtos que tenham adotado OpenSSL 1.0.1 com a extensão Heartbeat ativada podem ter estado vulneráveis nos últimos dois anos.

Entre os grandes sites de serviço afetados está Yahoo (incluindo serviços populares como Yahoo Mail, Flickr e Tumblr). A recomendação a todo usuário do Yahoo é alterar a senha da sua conta.

Os mais desconfiados recomendam que os usuários alterem também a senha de sua conta em outros sites, como Google, Facebook e Dropbox. Em nota no seu blog oficial, a LastPass divulgou que embora seu site tenha estado afetado pelo bug, os dados nas contas de seus usuários estão seguros porque são criptografados no computador cliente, antes de transitar na rede via SSL/TLS, com uma chave secreta do usuário que os servidores da LastPass nunca recebem.

Como uma das informações que pode ter vazado pelo Bug Heartbleed é a chave secreta do próprio certificado digital SSL do site https afetado, a recomendação dos especialistas para os administradores destes sites é que revoguem o certificado utilizado no site até o dia em que corrigirem a vulnerabilidade, e emitam um novo certificado. De fato, um levantamento do SANS Institute no InfoSec Handlers Diary Blog mostra que entre os dias 7 e 12 de abril, houve um crescimento substancial de certificados SSL revogados em 16 grandes autoridades certificadoras (CAs / ACs).

Grandes empresas fornecedoras de produtos para Internet, como F5 Networks e Cisco, também divulgaram alertas de seguranças em seus produtos que utilizam OpenSSL.

O blog do fornecedor de antivírus e produtos de segurança Kaspersky indica uma ferramenta simples que testa on-line se um servidor web https tem a vulnerabilidade Heartbleed ou não, basta digitar o endereço do site:
https://filippo.io/Heartbleed/ – Test your server for Heartbleed (CVE-2014-0160).
A LastPass também lançou um serviço de verificação:
https://lastpass.com/heartbleed/ – LastPass Heartbleed checker

O blog Fox-it ainda indica uma extensão para o navegador Google Chrome que exibe uma alerta se você acessar um site afetado pelo bug Heartbleed:
Chrome Web Store – Chromebleed

Referências:

Extensões para Chrome e Firefox: lista atualizada

Depois de adotar de vez o Google Chrome como meu navegador principal, venho atualizando o artigo Extensões para os navegadores Firefox e Chrome à medida que vou descobrindo e testando extensões úteis.

Atualmente, a listagem de aproximadamente 50 extensões para Mozilla Firefox e/ou Google Chrome, organizadas por temas nas seções de Uso geral e de Ferramentas técnicas, está em formato tabular conciso. O artigo foi atualizado hoje com algumas novas extensões e atualizações/correções de links.

Ainda há algumas extensões disponíveis para Firefox para as quais sinto falta de equivalente no Chrome, especialmente a integração com um programa gerenciador de download (Flashgot no Firefox) e opções avançadas de configuração e personalização de aparência e comportamento de abas (Tab Mix Plus no Firefox).

Do Firefox para Chrome

Logomarca do Google Chrome Cansado da eterna lentidão do Firefox ao iniciar, com a qual eu vinha convivendo há muito tempo, eu já tinha instalado e usava eventualmente o Google Chrome toda vez que eu estava com pressa (ou seja, com frequência).

Com o tempo, me familiarizei e gostei do Chrome, que inicializa rápido, instala e desinstala extensões sem precisar reiniciar o navegador, e é perfeitamente compatível com quase todos os sites. Além disso, o Chrome já vem com muitas ferramentas nativas poderosas voltadas para o desenvolvedor web.

Ideologicamente, o Mozilla Firefox é um software livre, enquanto o Google Chrome é um software proprietário gratuito mantido e distribuído pela empresa Google, embora baseado no projeto de software livre Chromium. Deixando ideologias de lado, desisti da lentidão do Firefox e agora tornei o Chrome meu navegador padrão.

Nem tudo é perfeito

O Chrome ainda tem sutis detalhes que me incomodam. Por exemplo, eu gostava da comodidade que consegui, por meio da extensão do Firefox Tab Mix Plus, de poder abrir páginas de favoritos ou histórico sempre em uma nova aba, clicando normalmente com o botão principal do mouse. No Chrome, para abrir em nova aba, só com o mecanismo padrão que é pressionar a tecla Ctrl ao clicar com o botão principal, ou utilizar o botão do meio no mouse (se houver). Não encontrei nenhuma extensão que permitisse o comportamento alternativo que eu desejava.

A impressão de página, embora ofereça a bem-vinda opção nativa de salvar em PDF, só recentemente passou a permitir imprimir plano de fundo (cores e imagens do background), configurar margens e inclusão de cabeçalho e rodapé. Mas ainda não permite configurar zoom nem as informações em cada parte do cabeçalho e rodapé. E para imprimir apenas um intervalo de páginas ou seleção, só pela caixa de diálogo imprimir do sistema, sem passar pelo Print Preview.

Além disso, ainda existem uns poucos sites que não funcionam perfeitamente no Chrome. Eu sei que em geral a culpa é de uso recursos errados ou fora do padrão HTML, CSS ou JavaScript do próprio site, mas ainda assim é um transtorno. No fundo, ainda existem também raros sites (em geral em ASP ou ASPX) que não funcionam bem nem no Chrome e nem no Firefox, só no Internet Explorer. Acho que é por coisas como essa que existem os que praguejam contra a Microsoft…

Espero que versões futuras do Chrome melhorem as deficiências remanescentes que apontei aqui.

Extensões

Navegador mudado, o próximo passo foi personalizá-lo com extensões. Como resultado disso, fiz uma profunda atualização na página que mantenho sobre extensões de navegador, antes uma lista só para Firefox, agora se tornou uma tabela com opções para Firefox e para Chrome.

Muitas extensões que eu indico estão disponíveis tanto para Firefox quanto para Chrome. Em outros casos, existem extensões distintas mas com funcionalidade e recursos equivalentes ou similares. Mas existem as que não encontrei até o momento correspondente no outro navegador.

Histórico de uso de navegadores web por StatCounter

Enfim

Com navegador e extensões, eu agora aumento a estatística de uso que já tornou o Google Chrome o navegador mais usado no mundo. Mas o Firefox continua instalado, agora como meu navegador secundário.

Adobe Reader no Chrome

O Google Chrome é um navegador rápido e eficiente, cada vez mais completo e , segundo StatCounter, mês passado se tornou o navegador mais utilizado no mundo.

Porém, pelo menos um recurso dele me incomodava: o visualizador nativo de PDF. Ele não é tão robusto e compatível como o Adobe Reader, algumas vezes a visualização falhava, e em geral eu não conseguia salvar uma cópia do arquivo localmente.

Mas acabo de descobrir que é possível desativar o visualizador nativo de PDF do Chrome e, com isso, ele passa a utilizar o plugin do Adobe Reader que estiver instalado no computador. São dois passos simples:

  1. Digite about:plugins na barra de endereço do Google Chrome, e tecle Enter.
  2. Selecione Desativar embaixo da entrada “Chrome PDF Viewer”.

Pronto.

Agora, quero aprender como configurar o Chrome para abrir novas abas automaticamente (sem ter que pressionar Ctrl) em determinadas situações, por exemplo ao abrir um Favorito e ao fazer uma nova pesquisa no Google, similar ao que a extensão Tab Mix Plus permite no Firefox. Alguém sabe?

Impressoras PDF: problemas com Firefox 4 e Ghostscript 64 bits

Enquanto eu atualizava as versões de software no artigo PDF Livre com (ou sem) o Ghostscript (revisão 21), descobri dois problemas de compatibilidade.

Por sorte, ambos são contornáveis, conforme explico a seguir.

Aceleração por hardware no Firefox 4

Um comentário sobre o anúncio do PDFCreator 1.2.1, no Blog da PDFForge, explica um problema na aceleração por hardware do navegador web Mozilla Firefox 4 que afeta as impressoras virtuais PDF.

Sintomas facilmente perceptíveis são que o arquivo PDF gerado fica bem maior e o texto não fica editável.

De fato, este problema está confirmado no site de suporte do Mozilla Firefox. Eu também o constatei, no Firefox 4.0.1 com as impressoras virtuais PDF (doPDF, PDFCreator, FreePDF etc.).

Para solucionar o problema, desative a aceleração por hardware no Firefox 4, que vem ativada por padrão:

  1. Menu Firefox > Opções.
  2. Painel “Avançado”.
  3. Aba “Geral”.
  4. No grupo “Navegação”, desmarque a opção “Quando disponível, usar aceleração por hardware”.
  5. Dê “OK”.
  6. Reinicie o Firefox.

Este problema foi documentado em um novo tópico 4.1 do artigo.

Detecção do Ghostscript 64 bits no FreePDF

Esta revisão 21 do artigo também foi atualizada com um novo tópico 3.1 sobre a detecção e configuração do executável coreto do Ghostscript 64 bits no FreePDF.

Em meu computador com apenas o Ghostscript 9.02 64-bits instalado, o FreePDF detectou incorretamente a DLL C:\Program Files\gs\gs9.02\bin\gsdll64c.dll, ao invés do executável C:\Program Files\gs\gs9.02\bin\gswin64c.exe. Tive que configurar manualmente o executável correto, nas opções do programa.

Para verificar e corrigir o caminho do Ghostscript, siga os seguintes passos:

  1. Execute o programa FreePDF, pelo menu iniciar do Windows.
  2. Escolha o menu Editar & Opções.
  3. Escolha a opção (em forma de link) “Run Admin Config”.
  4. Em “Localização das pastas”, verifique o que está preenchido em “Caminho do Ghostscript”.
  5. Para Ghostscript 64 bits versão 9.02, o caminho do executável correto deve ser
    C:\Program Files\gs\gs9.02\bin\gswin64c.exe. Para o Ghostscript
    32 bits, o executável deve ser gswin32c.exe.
  6. Acione o botão “Salvar” e, em seguida, feche a janela de opções e o programa.

Este problema de detecção não ocorreu com o Ghostscript 32 bits, com o qual o FreePDF detecta corretamente o executável gswin32c.exe.

Por fim, a revisão do artigo contempla o lançamento do Ghostscript 9.02, doPDF 7.2.367 e PDFCreator 1.2.1, atualizando os links de download do Ghostscript e numeração, datas de lançamento e tamanhos das novas versões de impressora PDF.

Universo de desenvolvimento Google

Recentemente recebi divulgação do novo ambiente de desenvolvimento MyEclipse G, uma lançamento da Genuitec (produtora do MyEclipse) e Skyway Software que reúne ferramentas de desenvolvimento essenciais para as plataformas, frameworks e serviços de aplicações da Google.

MyEclipse G - Recursos

Fonte: MyEclipse G.

Observando a descrição do produto, pude refletir sobre a imensidão da abrangência de tecnologias que o Google tem disponibilizado, em pelo menos três grandes frentes:

  • Desenvolvimento de aplicações web: Frameworks como o Google Web Toolkit (GWT) (a home-page em português parece desatualizada, falando do GWT 1.7, enquanto a em inglês já destaca o GWT 2.3 mais recente) e Google Guice. O projeto GWT, além de ampla documentação, oferece para download: GWT SDK, com as bibliotecas essenciais e compilador que você precisa para escrever aplicações web; o Google Plugin for Eclipse que inclui no IDE Eclipse suporte para projetos GWT e GAE, além de uma versão simplificada do GWT Designer; Speed Tracer, uma extensão para o navegador Google Chrome que permite pontuar problemas de desempenho em aplicações web; e o GWT Designer standalone (full), um ambiente de desenho de Java GUI poderoso e bidirecional para criação visual de interfaces de usuário, assisência de layout e geração automática de código GWT.
     
  • Infraestrutura para execução de aplicações web: Google App Engine (GAE) permite que você execute seus aplicativos da web na infraestrutura do Google.
     
  • Plataforma para dispositivos móveis: Android: camada de software para celulares e tablets que inclui um sistema operacional, middleware e aplicações. O Android SDK, disponível no portal Android Developers, provê ferramentas e APIs necessárias para se iniciar o desenvolvimento de aplicações para a plataforma Android usando a linguagem de programação Java. Há também o Android Development Tools (ADT) Plugin for Eclipse IDE. As muitas milhares de aplicações disponíveis para Android, boa parte delas gratuitas, ficam disponíveis no Android Market (assim como o iPhone tem o Apple Store).

Isso fora o navegador web Google Chrome (dica: para obter o instaldor offline standalone, acrescente o parâmetro &standalone=1 na página de download) e o sistema operacional Google Chrome OS, baseado no sistema operacional Linux e totalmente voltado para Internet (Já ouviu falar no Chromebook?). Ambos são desenvolvidos através do projeto de software livre Chromium.

Todas as ferramentas oferecem ampla documentação. O Google ainda aproveita seus canais de mídia para divulgar informação, como os blogs no Blogger — GWT blog, GAE blog, Google Mobile blog, Official Google Blog, blog oficial Google Brasil — e o canal Google Developers de vídeos no Youtube. E ainda realiza o grande evento anual Google I/O.

Mesmo com a Microsoft tendo comprando a Skype em seu maior acordo de aquisição, por US$ 8,5 bi em maio último, estou achando que agora é a vez da Google “dominar o mundo” do software na era da Internet.