Background
Nos últimos anos, perdi a conta de quantos artigos sobre gestão deincidentes, mudanças e práticas de governança ajudam a se defender contraameaças de vários tipos, sabores e gerações. CodeRed, Nimda, Zotob e maisrecentemente ataques dirigidos como o Flame e Stuxnet. As vulnerabilidadesligadas ao Oracle Java no entanto, estão em outra categoria: Zero Day. Essedetalhe significa que existe código para que cyber bandidos possam exploraressa vulnerabilidade antes que o fabricante tenha disponibilizado uma correçãoefetiva. Este artigo não tem a pretensão de ser um “tratado definitivo” sobre oproblema. Por outro lado, se destina a sugerir algumas formas de identificar emitigar os riscos associados a exposição de uma vulnerabilidade crítica aindasem correção que afeta plataformas Oracle Java.
Histórico
Foi emitido e atualizado um alerta de segurança que afeta plataformasbaseadas em Oracle Java 7. Com uma série de plataformas que usam Java e aexistência de malware já disponível com o objetivo de explorar taisvulnerabilidades, é fundamental tratar essa questão com o nível de seriedaderequerido.Um dos pontos críticos ligados a essa vulnerabilidade é o fato de que mesmo sistemascom os últimas atualizações de Java estão vulneráveis. A Oracle publicou umaatualização para o Java no dia 15 de Janeiro.
Impacto
Uma medida fundamental é identificar claramente quais aplicações críticascorporativas necessitam do Java de forma legítima. Para esses casos vale a penaconsiderar medidas específicas incluindo restringir o acesso dessas máquinas aservidores externos. Parece extremo, mas com o tamanho da exposição e aquantidade de dias sem uma correção, não chega a ser um exagero. Já existemnotícias (fonte: Kaspersky) de que os ataques na plataforma Java estavam sendoexplorados já há algum tempo, incluindo acusações de espionagem usando essasvulnerabilidades para atacar entidades governamentais (incluindo no Brasil).
Identificando sistemas vulneráveisUma medida para simplificar essa ação é utilizar asfacilidades de inventário e relacionamento entre usuários e aplicações dafamília System Center.
Independente da versão de Java, a medida mais importante recomendada édesabilitar Java dos browsers (todos).
Implementando controles
Aplicações de alguns bancos precisam de Java. Uma alternativa a essaabordagem para usuários de Windows 8 é utilizar a app do banco disponível paraessa plataforma. Espero que os bancos estejam atentos a essa questão e deixem deoferecer Java como alternativa de seus módulos de “segurança”
Um dos desafios de se desabilitar ou desinstalar o Java de formaprogramática, é que durante a instalação, o “ID” da aplicação varia de buildpara build ou versão para versão. Pode-se utilizar um passo a passo descritoabaixo para identificar esse ID ou utilizar uma medida extrema que desabilita oJava usando uma chave no registry que eu chamaria de “botão de emergência”, eque é bem útil com a situação atual, também descrita abai
Embora as recomendações atuais sejam desabilitam o Java no browser,inclui nesse artigo instruções para desabilitar ou remover (para o caso deambientes mais críticos ou para o caso de os incidentes ou vulnerabilidadesdivulgadas se agravarem). Com atualização publicada pela Oracle, é possívelusar as facilidades de distribuição de aplicações e atualizações do SystemCenter para assegurar-se de que todos os sistemas estão atualizados.
Exemplos de utilização
Como identificar Java emdesktops e servidores:
Utilizando o System Center Configuration Manager e sua base de inventáriopara identificar clientes que tenham Java. Exemplo para a versão 6.0.200
select * fromSMS_R_System where SMS_R_System.ResourceID not in (selectSMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID fromSMS_G_System_ADD_REMOVE_PROGRAMS whereSMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "Java(TM)6 Update 20" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version ="6.0.200")Limite a collection associada aos clientes ou servidores que desejaincluir na pesquisa .
Uma forma de flexibilizara query é usar o wildcard (%). Exemplo: No lugar de 6.0.200, poderia ser 7.% ou6.%
Uma policy paradesabilitar todas as versões de Java
Uma ferramenta pouco conhecida (e grátis) é o Microsoft SecurityCompliance Manager. Através dessa ferramenta é possível definir configuraçõesde segurança para o Windows, Office e praticamente todas as plataformasMicrosoft.
Uma vantagem do SCM é poder exportar essas configurações para autilização integrada com o System Center ou anda como group policy.
Após gerar a configuração com o SCM, pode-se utilizar a opção “Export”para gerar arquivos de configuração como group policy ou para arquivos deSCM/DCM para o System Center Configuration Manager. Com essa configuração,basta importar utilizando o System Center Configuration Manager e aplicar acoleção de desktops/servidores adequada.
Kill Bit (Use com cuidado)
Importante: Essa sessão contém métodos esugestões que incluem modificações no registry. Problemas sérios e muitas vezesirreversíveis podem ocorrer se as modificações forem realizadas de formaincorreta ou de acordo com configurações específicas de cada sustema. Use essespassos com cuidado e lembre-se que estão nesse artigo de forma educativa e comoreferência. Recomendo backup de tudo antes de realizar essas modificações. Paramais informaçoes sobre como fazer backup e restore do registry, consulte oartigo : 322756 ((http://support.microsoft.com/kb/322756/ )
How to back up and restore the registry in Windows)
Existe uma configuração que define o chamado “kill bit” para CLSIDs específicosque tem o efeito de desabilitar o Java. São eles:
{8AD9C840-044E-11D1-B3E9-00805F499D93},{CAFEEFAC-0017-0000-FFFF-ABCDEFFEDCBA}, {CAFEEFAC-0017-0001-FFFF-ABCDEFFEDCBA},{CAFEEFAC-0017-0002-FFFF-ABCDEFFEDCBA}, {CAFEEFAC-0017-0003-FFFF-ABCDEFFEDCBA},CAFEEFAC-0017-0004-FFFF-ABCDEFFEDCBA}, {CAFEEFAC-0017-0004-FFFF-ABCDEFFEDCBA},{CAFEEFAC-0017-0005-FFFF-ABCDEFFEDCBA}, {CAFEEFAC-0017-0006-FFFF-ABCDEFFEDCBA},{CAFEEFAC-FFFF-FFFF-FFFF-ABCDEFFEDCBA}
Para um exemplo pronto de arquivo .reg que usa esse killbit paradesabilitar Java:
How to disable the Java web plug-in in InternetExplorer http://support.microsoft.com/kb/2751647
Voce pode utilizar esse exemplo e automatizar a distribuição através doSystem Center Configuration Manager. Para mais informações, inclui na leiturade referência um Virtual Lab: Dessa forma você poderá aprender mais sobre comoutilizar os recursos do System Center para essa e outras facilidades de gestãode conformidade.
Leitura de referencia
What you need to know about the OracleJava Vulnerability:
https://krebsonsecurity.com/2013/01/what-you-need-to-know-about-the-java-exploit/
Microsoft FixIt: http://support.microsoft.com/mats/Program_Install_and_Uninstall/en
How to manually disable Java in thebrowser: http://www.java.com/en/download/help/disable_browser.xml
Alert: Oracle Java allow security bypass
http://www.us-cert.gov/cas/techalerts/TA13-010A.html
Vulnerability Note: Java 7 fails to restrict access toprivileged code
http://www.kb.cert.org/vuls/id/625617
Security Compliance Manager (Free) :Como usar esse Security Accelerator:
http://technet.microsoft.com/en-us/video/jose-jeff-discuss-the-security-compliance-manager-2-scm-solution-accelerator.aspx
How to Disable Java in the webbrowser: http://support.microsoft.com/kb/2751647
Flame/Stuxnet: https://www.tofinosecurity.com/blog/flame-malware-and-scada-security-what-are-impacts
http://www.networkworld.com/community/blog/critical-infrastructure-malware-infections-ics-cert-report-scada-strangelove
Update publicado pelofabricante (Oracle) : http://www.latimes.com/business/technology/la-fi-tn-java-oracle-vulnerability-fixed-20130114,0,5276008.story
Java updates, Feds maintain warning: http://news.yahoo.com/oracle-issues-java-fix-feds-maintain-warning-222135696--finance.html
Virtual labs: System CenterConfiguration Manager 2012 http://blogs.technet.com/b/johnbaker/archive/2011/12/14/virtual-labs-system-center-configuration-manager-2012.aspx
Redigido por : Aylton Souza -LATAM Virtualization & Private Cloud Lead
Colaboração : Cleber Marques