Como utilizar recursos existentes da plataforma Microsoft para reduzir exposição a riscos ligados ao Oracle Java 7 Security Advisory (CERT)

 

Background

Nos últimos anos, perdi a conta de quantos artigos sobre gestão de
incidentes, mudanças e práticas de governança ajudam a se defender contra
ameaças de vários tipos, sabores e gerações. CodeRed, Nimda, Zotob e mais
recentemente ataques dirigidos como o Flame e Stuxnet. As vulnerabilidades
ligadas ao Oracle Java no entanto, estão em outra categoria: Zero Day. Esse
detalhe significa que existe código para que cyber bandidos possam explorar
essa vulnerabilidade antes que o fabricante tenha disponibilizado uma correção
efetiva. Este artigo não tem a pretensão de ser um “tratado definitivo” sobre o
problema. Por outro lado, se destina a sugerir algumas formas de identificar e
mitigar os riscos associados a exposição de uma vulnerabilidade crítica ainda
sem correção que afeta plataformas Oracle Java.

Histórico

Foi emitido e atualizado um alerta de segurança que afeta plataformas
baseadas em Oracle Java 7. Com uma série de plataformas que usam Java e a
existência de malware já disponível com o objetivo de explorar tais
vulnerabilidades, é fundamental tratar essa questão com o nível de seriedade
requerido.

Um dos pontos críticos ligados a essa vulnerabilidade é o fato de que mesmo sistemas
com os últimas atualizações de Java estão vulneráveis. A Oracle publicou uma
atualização para o Java no dia 15 de Janeiro.

Impacto

Uma medida fundamental é identificar claramente quais aplicações críticas
corporativas necessitam do Java de forma legítima. Para esses casos vale a pena
considerar medidas específicas incluindo restringir o acesso dessas máquinas a
servidores externos. Parece extremo, mas com o tamanho da exposição e a
quantidade de dias sem uma correção, não chega a ser um exagero. Já existem
notícias (fonte: Kaspersky) de que os ataques na plataforma Java estavam sendo
explorados já há algum tempo, incluindo acusações de espionagem usando essas
vulnerabilidades para atacar entidades governamentais (incluindo no Brasil).

 

Identificando sistemas vulneráveis

Uma medida para simplificar essa ação é utilizar as
facilidades de inventário e relacionamento entre usuários e aplicações da
famí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 essa
abordagem para usuários de Windows 8 é utilizar a app do banco disponível para
essa plataforma. Espero que os bancos estejam atentos a essa questão e deixem de
oferecer Java como alternativa de seus módulos de “segurança”

Um dos desafios de se desabilitar ou desinstalar o Java de forma
programática, é que durante a instalação, o “ID” da aplicação varia de build
para build ou versão para versão. Pode-se utilizar um passo a passo descrito
abaixo para identificar esse ID ou utilizar uma medida extrema que desabilita o
Java usando uma chave no registry que eu chamaria de “botão de emergência”, e
que é 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 de
ambientes mais críticos ou para o caso de os incidentes ou vulnerabilidades
divulgadas se agravarem). Com atualização publicada pela Oracle, é possível
usar as facilidades de distribuição de aplicações e atualizações do System
Center para assegurar-se de que todos os sistemas estão atualizados.

 

Exemplos de utilização

Como identificar Java em
desktops e servidores:

Utilizando o System Center Configuration Manager e sua base de inventário
para identificar clientes que tenham Java. Exemplo para a versão 6.0.200

select * from
SMS_R_System where SMS_R_System.ResourceID not in (select
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID from
SMS_G_System_ADD_REMOVE_PROGRAMS where
SMS_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 deseja
incluir na pesquisa .

Uma forma de flexibilizar
a query é usar o wildcard (%). Exemplo: No lugar de 6.0.200, poderia ser 7.% ou
6.%

 

Uma policy para
desabilitar todas as versões de Java

Uma ferramenta pouco conhecida (e grátis) é o Microsoft Security
Compliance Manager. Através dessa ferramenta é possível definir configurações
de segurança para o Windows, Office e praticamente todas as plataformas
Microsoft.

Uma vantagem do SCM é poder exportar essas configurações para a
utilizaçã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 de
SCM/DCM para o System Center Configuration Manager. Com essa configuração,
basta importar utilizando o System Center Configuration Manager e aplicar a
coleção de desktops/servidores adequada.

Kill Bit (Use com cuidado)

Importante: Essa sessão contém métodos e
sugestões que incluem modificações no registry. Problemas sérios e muitas vezes
irreversíveis podem ocorrer se as modificações forem realizadas de forma
incorreta ou de acordo com configurações específicas de cada sustema. Use esses
passos com cuidado e lembre-se que estão nesse artigo de forma educativa e como
referência. Recomendo backup de tudo antes de realizar essas modificações. Para
mais informaçoes sobre como fazer backup e restore do registry, consulte o
artigo : 322756 ((https://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íficos
que 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 para
desabilitar Java:

How to disable the Java web plug-in in Internet
Explorer https://support.microsoft.com/kb/2751647

Voce pode utilizar esse exemplo e automatizar a distribuição através do
System Center Configuration Manager. Para mais informações, inclui na leitura
de referência um Virtual Lab: Dessa forma você poderá aprender mais sobre como
utilizar os recursos do System Center para essa e outras facilidades de gestão
de conformidade.

Leitura de referencia

What you need to know about the Oracle
Java Vulnerability:

https://krebsonsecurity.com/2013/01/what-you-need-to-know-about-the-java-exploit/

Microsoft FixIt: https://support.microsoft.com/mats/Program_Install_and_Uninstall/en

How to manually disable Java in the
browser:
https://www.java.com/en/download/help/disable_browser.xml

Alert: Oracle Java allow security bypass

https://www.us-cert.gov/cas/techalerts/TA13-010A.html

Vulnerability Note: Java 7 fails to restrict access to
privileged code

https://www.kb.cert.org/vuls/id/625617

Security Compliance Manager (Free) :
Como usar esse Security Accelerator:

https://technet.microsoft.com/en-us/video/jose-jeff-discuss-the-security-compliance-manager-2-scm-solution-accelerator.aspx

How to Disable Java in the web
browser:
https://support.microsoft.com/kb/2751647

Flame/Stuxnet: https://www.tofinosecurity.com/blog/flame-malware-and-scada-security-what-are-impacts

https://www.networkworld.com/community/blog/critical-infrastructure-malware-infections-ics-cert-report-scada-strangelove

Update publicado pelo
fabricante (Oracle) :
https://www.latimes.com/business/technology/la-fi-tn-java-oracle-vulnerability-fixed-20130114,0,5276008.story

Java updates, Feds maintain warning: https://news.yahoo.com/oracle-issues-java-fix-feds-maintain-warning-222135696--finance.html

Virtual labs: System Center
Configuration Manager 2012
https://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