Windows


A Microsoft criou o padrão OOXML para concorrer com o OpenDocument Format (ODF), surgido do OpenOffice.org e que rapidamente se tornou um padrão aberto internacional para documentos, desenvolvido pelo OASIS Group e ratificado pela norma ISO/IEC 26300 em 2006.

O padrão OOXML original basicamente refletia o formato de arquivos do Microsoft Office 2007. Em uma estratégia de poder corporativista, a Microsoft conseguiu padronizar o OOXML pela ECMA Internacional. Em seguida, submeteu o padrão ECMA à ratificação rápida pela ISO, valendo-se do privilégio de aprovação “via expressa” (fast track) que a ECMA possui junto à ISO.

Mas mesmo na via expressa, o processo de padronização na ISO sofreu forte resistência, tendo sido inicialmente reprovado. Em nova tática de manipulação corporativista, a Microsoft conseguiu aumentar a participação simpatizante na ISO promovendo a introdução de representantes de países e membros poucos expressivos no grupo especialista da ISO.

Finalmente, em abril de 2008, o padrão OOXML foi aprovado como a norma ISO/IEC DIS 29500. Mas para isso o padrão original teve que sofrer uma série de adaptações em resposta aos questionamentos internacionais registrados por ocasião da primeira reprovação do padrão na ISO.

Contudo, com as modificações, nem mesmo o Microsoft Office 2007 tem suporte total ao padrão ISO 29500 do OOXML. Segundo a Microsoft, só o Office 14, ainda sem data prevista, terá o suporte ao formato OOXML atualizado para compatibilidade total com o padrão aprovado na ISO.

Enquanto isso, devido à grande pressão dos clientes, a Microsoft anunciou que já no primeiro semestre de 2009 o Microsoft Office 2007 Service Pack 2 (SP2) introduzirá suporte ao formato ODF versão 1.1. Veja mais no artigo OOXML backwards compatibility led Microsoft to ODF, por Tom Espiner, 2008-05-22, para a ZDNet UK.

Ou seja, nem a própria Microsoft tem todo o OOXML implementado, e oferecerá no Microsoft Office suporte ao formato ODF antes de ter implementado todo o padrão OOXML conforme aprovado na ISO. Coisas de Microsoft…

Para saber mais:

No portal IBM developerWorks, está sendo publicado um tutorial em três partes sobre desenvolvimento para web com o Eclipse Europa, usando Java, PHP e Ruby; por Michael Galpin, Desenvolvedor do eBay.

A terceira parte, sobre Ruby, deve sair breve saiu dia 18. Para acessar o conteúdo do tutorial, é necessário registrar-se gratuitamente no portal IBM developerWorks.


Outro artigo muito interessante, para quem está considerando suas opções de infra-estrutura para aplicações Java EE na web. JBoss, Geronimo, or Tomcat? — Três servidores de aplicação Java open source comparados, por Jonathan Campbell, JavaWorld.com, 2007-12-11. Só faltou cobrir também GlassFish.


O recente artigo An easy way to make your code more testable, no blog Programblings, me levou a outro artigo excelente.

We don’t write tests. There just isn’t time for luxuries, por James Golick, um desenvolvedor de softwre em Montreal, 2007-08-28. Golick, com argumentos objetivos passo a passo, contesta a afirmação que muito se houve de desenvolvedores ou times de software: “Não escrevemos testes ou fazemos cobertura de testes porque não temos tempo.” ou “Escrever testes toma tempo demais.”

Todo desenvolvedor precisa testar seu código, de alguma forma. A diferença é que alguns escrevem testes automatizados, enquanto outros usam humanos (normalmente, o próprio desenvolvedor) para verificar o comportamento correto. Então, o argumento “testar-nos-atrasa” reside na premissa que verificação manual é mais rápida que escrever testes automatizados.

Assim começa o raciocínio que se desenvolve ao longo do inteligente artigo. Leia e veja se você também concorda que a prática de testes automatizados pode ser bem produtiva.

Se práticas de desenvolvimento de software interessam a você, então sugiro ler também os artigos Pair Programming vs. Code Reviews, por Jeff Atwood, 2007-11-18; e Pair Programming vs. Code Reviews - It’s a no Brainer, por Mark Levison (Ottawa, Canadá), 2007-12-14. Eles confrontam programação em pares e revisão de código.


Conforme anúncio no Javalobby, acabou de ser lançada em dezembro a nova certificação Sun Certified Programmer for the Java Platform, Standard Edition 6 (CX-310-065) da Sun.

SCJP é a certificação de programação na linguagem Java, a mais fundamental no caminho de Certificações Sun para a Tecnologia Java. É também uma certificação bem reconhecida no mercado de trabalho. A nova versão do SCJP atualiza o programa da para cobrir Java SE 6.0.

Para saber mais:


Entrando na programação de páginas web, vale a pena ler The Problem With innerHTML, por Julien Lecomte, 2007-12-12.

E do HTML para o CSS. A escala graduada de 1 a 6 para Rate Your CSS Skill Level: Final Version & Poll montada pelo portal CSS-Tricks oferece critérios para você avaliar em que nível está sua habilidade com CSS. Minha auto-avaliação foi de 4. Para atingir 6, você tem que estar em estado graça ou ser membro da especificação no W3C. :-D


Da programação para os utilitários nerd. Hoje descobri algo interessante para quem às vezes lida com a linha de comando no Windows. Windows PowerShell. Esta janela de console melhorada virá no Windows Server 2008, mas qualquer usuário de Windows original (com a devida validação WGA) pode baixar gratuitamente da Microsoft.

Download Windows PowerShell 1.0 - PowerShell 1.0 para Windows XP Português do Brasil (KB926140).

Documentação: Windows PowerShell Documentation Pack (para baixar, em inglês e outros idiomas).

Já para quem conhece e sente falta dos comandos do Linux ao usar a linha de comando do Windows, recomendo meu velho conhecido GnuWin32, projeto em SourceForge que porta pacotes de utilitários GNU/Posix para Windows nativo (usando MinGW). O projeto disponibiliza centenas de pacotes binários, em arquivos ZIP para baixar.

Recomendo obter a ferramenta GetGnuWin32, que traz um script que baixa/atualiza todos os pacotes mais recentes do GnuWin32, e outro que descompacta todos os pacotes em uma pasta gnuwin32. Depois é só copiar/mover essa pasta para onde achar mais adequado (por exemplo, C:\ ou C:\Arquivos de programas\) e adicionar gnuwin32\bin ao PATH. Feito isso, grep, find, sed, tar, diff e mais quase mil outros comandos estarão disponíveis na linha de comando do Windows (inclusive na PowerShell).


Por falar em Linux, uma última nota. O IDG Now! noticiou que as Urnas usarão Linux em eleições de 2008.

O TSE autorizou a substituição dos sistemas operacionais VirtuOS e Windows CE para o sistema aberto Linux, adaptado pelo próprio órgão, em todas as 430 mil urnas eletrônicas usadas nas eleições de 2008, que escolherão prefeitos. Segundo o Tribunal, o objetivo é conferir mais transparência e confiabilidade à urna e ao processo eleitoral.

Os consultores de segurança Billy (BK) Rios, da Verisign, e Nate McFeters, da Ernst & Young, vêm há vários meses realizando pesquisas sobre vulnerabilidades na forma como os programas em Windows lidam com URIs, em especial os diversos esquemas (esquema é a parte inicial do URI, que precede os dois-pontos e especifica o tipo ou protocolo do recurso; como http: e mailto:) e os tratadores de URI registrados no Windows.

Em julho, eles descobriram a Falha no tratamento de URL em Windows XP e 2003 com Internet Explorer 7 instalado, que permite execução de código remoto: Microsoft Security Advisory (943521). Esta vulnerabilidade foi divulgada em final de julho (Secunia SA26201) e consta na lista Common Vulnerabilities and Exposures (CVE) sob o número CVE-2007-3896 — mais informações no National Vulnerability Database (NVD).

A falha foi detectada manifestando-se através do navegador Firefox em Windows XP com Internet Explorer 7 instalado, afetando até a versão 2.0.0.5. Em poucos dias, Firefox e Thunderbird 2.0.0.6 já bloqueavam a falha, registrada como Mozilla Foundation Security Advisory 2007-27. Detalhes podem ser vistos no acompanhamento dos bugs Mozilla 389580 (CVE-2007-4041) e 394974 (CVE-2007-4841).

À época, os mais inflamados da permanente competição Firefox × Internet Explorer levantaram discussões sobre de qual navegador era a “culpa” da vulnerabilidade. Conforme sugeriu o próprio Billy Rios, ambos falharam.

Logo ficou claro que a origem da falha foram mudanças no tratamento de URIs em bibliotecas atualizadas pelo IE7, em Windows XP e 2003. Mas todos os programas que também não tratavam URIs maliciosas para prevenir o problema se tornavam vetores dessa vulnerabilidade ao ativar certos endereços (URIs) internet.

O comportamento falho no processamento de URIs foi detectado e solucionado no Firefox e Thunderbird 2.0.0.6, Skypecorrigido na versão 3.5.0.239 –, Trillian IMcorrigido na versão 3.1.7.0entre outros.

O mais recente anúncio de atualização de segurança foi do Adobe Reader/Acrobat 8.1.1 (visualizador/processador de PDF), que também trata a tal falha em Windows XP/2003 com IE7 instalado (Adobe Security bulletin APSB07-18 e CVE-2007-5020, 2007-10-22), que afeta Adobe Reader e Acrobat até versões 8.1 e 7.0.9.

O que mais me impressiona é que o problema de URIs maliciosas está sendo corrigido nos diversos programas afetados, mas a Microsoft até hoje ainda não solucionou a falha original que o IE7 em XP/2003 introduziu em julho!

O conjunto de formatos de documento Office Open XML (OOXML), oriundo dos formatos do Microsoft Office 2007 padronizados pela ECMA International, não foi aceito como padrão ISO na votação que se encerrou domingo, dia 2 de setembro. A decisão final ocorrerá em Genebra, de 25 a 29 de fevereiro de 2008.

O processo de votação durou nove meses e foi aberto a 104 países membros da ISO/IEC, que avalia o padrão ECMA-376 como a proposta ISO/IEC DIS 29500, Office Open XML file formats, no subcomitê técnico JTC1 / SC34.

O subcomitê é composto por países membros, representados por seus órgãos nacionais de padronização, divididos entre países participantes (P) e observadores (O). Tem ainda conexão com os organismos internacionais ISUG, OASIS e W3C. O Brasil é membro participante (P), representado pela Associação Brasileira de Normas Técnicas (ABNT).

Uma aprovação na ISO/IEC requer que pelo menos 2/3 (i.e. 66,66%) dos votos emitidos por países participantes (P) do comitê sejam positivos; além disso, não pode haver mais que 1/4 (25%) do total de países votantes negativo. Computam-se apenas os votos válidos, não incluídas abstenções.

Nenhum destes critérios foi atingido na votação do DIS 29500, que teve 53,12% positivos nos votos válidos dos 41 participantes “P” (17 dos 32, com 9 abstenções) e 26,1% negativos totais (”P” + “O”), 18 dentre 69 válidos. Detalhes da votação podem ser conferidos em OOXML Perdeu, por Avi Alkalay, IBM Brasil, 2007-09-04; e Results of the OOXML Ballot of 2nd September (em inglês), por NoOOXML.

A secretaria da ISO decidiu levar a questão adiante até um Ballot Resolution Meeting (BRM - encontro de resolução de votação), para decisão final. De 25 a 29 de fevereiro do ano que vem, representantes nacionais vão se encontrar em Genebra, na Suíça, para discutir e realizar a votação final do OOXML.

Até lá, as especificações do OpenXML devem ser editadas e adaptadas para atender aos 63 comentários submetidos à ISO, por órgãos nacionais de padronização de países membros, durante o período de revisão.

Histórico

A Microsoft havia submetido o formato OOXML para padronização pela ECMA em novembro de 2005. Foi uma reação à padronização do formato aberto de documentos do OpenOffice.org Open Document (ODF) versão 1.0 pelo OASIS, em maio de 2005 e então aprovado como padrão internacional ISO/IEC 26300, em novembro de 2006.

A especificação OOXML, gigante nebuloso de mais de 6000 páginas, teve seu rascunho aprovado pela ECMA em novembro de 2006 e logo submetido à ISO/IEC, para avaliação como padrão internacional. O processo na ISO/IEC corre em caráter de “via expressa” (fast track), valendo-se de acordos existentes entre ECMA e ISO.

Em dezembro de 2006 a ECMA aprovou a especificação OOXML como o padrão ECMA-376. Já na ISO, a controversa proposta não teve aceitação tão fácil.

Durante os nove meses que se passaram desde então, o formato OOXML foi duramente criticado por especialistas e organizações em torno da comunidade de software livre mundial, tanto quanto às falhas e inconsistências no formato quanto à lisura do pretenso padrão, que de tão complexo e intrincado mostra não ser verdadeiramente aberto, de forma que só o Microsoft Office seria efetivamente capaz de implementá-lo.

Bastidores da votação

A ABNT votou “não com comentários” pelo Brasil. O voto brasileiro contra o OOXML é coerente com o país onde o governo, a diplomacia e grande parte da comunidade de desenvolvedores e usuários apóia e é engajada no software livre no Brasil e no mundo. Em contraposição, OOXML é um padrão proposto por um único fornecedor comercial e implementado por um único produto proprietário, o Microsoft Office.

As discussões no Grupo de Trabalho (GT2) da ABNT para o OOXML, em 21 e 22 de agosto, foram conturbadas e inconclusivas, conforme relatos do membro Avi Alkalay, IBM: Indefinição Marca Fim da Votação do OOXML na ABNT; Impressões Sobre Reunião Final da ABNT; e OOXML: Brazil Says NO. Foi consenso porém que não se queria abstenção de voto do Brasil e que todos concordavam com os 63 comentários recebidos na ISO para o OOXML. Assim, restavam as opções “sim com comentários” e “não com comentários”. Com a ponderação de que o “não” daria mais força aos comentários, decidiu-se finalmente pelo voto brasileiro “não com comentários”.

Sobre o GT2 da ABNT e sua decisão, veja também os artigos sobre OpenXML por Cezar Taurion, IBM; e a explicação sobre os resultados da votação na ISO por Eugenio Guilherme Tolstoy De Simone, atual diretor da ABNT, divulgada pelo blog Homembit em “Valeu ou não valeu?”, 2007-09-05.

BR-Linux.org divulgou em 30 de agosto que às vésperas do final do prazo, EUA e Suécia mudaram seus votos. Nos Estados Unidos, seu comitê representante INCITS teve dia 29/08 uma inesperada decisão de voto a favor depois que quatro membros — grupo GS1, Lexmark, National Institute of Standards and Technology (NIST) e o Departamento de Defesa (DoD) Americano — mudaram seus votos, anteriormente contrários. Veja o resultado completo da votação no INCITS.

Na Suécia a coisa foi ainda mais feia. A subsidiária sueca da IDG divulgou o conteúdo vazado de um memorando da Microsoft em que um empregado oferecia vantagens financeiras em troca de seus parceiros se juntarem ao Swedish Institute of Standards (SIS) para votar sim ao OOXML. A Microsoft confirmou a informação, mas disse que a oferta, tão logo descoberta, foi prontamente retirada e que os gerentes da Microsoft Suécia voluntariamente notificaram o SIS do fato.

Antes disso, já haviam ocorrido críticas ao lobby da Microsoft Portugal em favor do OOXML. Veja em Portugal: Balanço da votação da proposta de norma DIS 29500, vulgarmente conhecida por OOXML, por Redação PSL Brasil, 2007-08-06; e Microsoft Stuffs OOXML Ballot Box in Sweden? (em inglês), por Jeff Kaplan, 2007-08-27.

Apesar de tudo, a Microsoft divulgou o esperançoso press release Strong Global Support for Open XML as It Enters Final Phase of ISO Standards Process (em inglês) ontem. O otimismo e súbito interesse em padrões da Microsoft foi comentado com espanto no artigo Microsoft OOXML ballot stuffing comes up short (em inglês), por David Hunter, 2007-09-04.

Para saber mais:

Fonte: Fórum PCs, por SKuLL_DeviLL, 07 de agosto de 2007.

Joanna RutkowskaA polonesa Joanna Rutkowska voltou a utilizar o seu famoso Blue Pill para introduzir um código malicioso no Vista. Ela subiu no palco em Las Vegas e disse: “Vou falar sobre a proteção do kernel do Vista e porque ela não funciona”.

A palestra de Joanna Rutkowska, no encontro Blackhat, voltou a surpreender por sua clareza e pelos detalhes. Ela começou lendo um documento do Microsoft Vista que dizia, inclusive, que os usuários com privilégios de administrador não podiam carregar um código no modo Kernel sem a permissão do sistema. Depois ela sorriu com ironia.

No ano passado, Rutkowska fez uso do seu famoso Blue Pill, um malware que se introduziu no sistema de virtualização do Vista e lhe concedeu privilégios de administrador.

Apesar das declarações da Microsoft afirmando que este problema foi solucionado antes que a versão final do Vista fosse encontrada no mercado, ainda existem muitas formas de atacar o Vista, e isso Rutkowska conseguiu provar com sobras.
Utilizando um driver da NVIDIA como proxy para escrever o código no Kernel, ela mostrou como um rootkit é capaz de enganar o sistema de segurança do kernel do Vista, que é o que supostamente evita a entrada do código não autorizado.

Este problema afeta não só o driver da NVIDIA, mas também o da ATI e quase todos os outros drivers de terceiros. Pior ainda: os drivers foram tão mal escritos e sua arquitetura tão mal desenhada que um usuário nem sequer precisa ter uma placa gráfica NVIDIA ou ATI instalada com o driver para se aproveitar desta falha. Basta apenas incluir o arquivo do driver junto com qualquer outro grupo de códigos, colocá-lo em algum lugar da unidade C: e utilizá-lo depois como um vetor de ataque.


Em seu blog “Segurança na Microsoft”, Fernando Cima postou o artigo Divulgado Código Fonte do Novo “Blue Pill” (03/08/2007) em que critica a efetividade do Blue Pill. O analista já havia analisado o primeiro Blue Pill (14/08/2006) apresentado por Rutkowska no evento Black Hat 2006.

Para saber mais:

- Próxima Página »