1. O documento discute os dois maiores riscos de segurança cibernética enfrentados por organizações: software vulnerável no lado do cliente que permanece sem correções por longos períodos e sites vulneráveis acessíveis pela internet.
2. Softwares como Adobe PDF Reader, QuickTime e Adobe Flash são frequentemente explorados em ataques de spear phishing para infectar computadores, que são então usados para propagar a infecção. Vulnerabilidades em aplicações web também são amplamente exploradas.
3. Embora esses riscos sejam os mais
1. Os Maiores Riscos de Segurança
Cibernética
Dois riscos impedem o crescimento de todos os outros, mas as organizações falham em
mitigá-los
O objetivo deste relatório é apesentar dados de ataques coletados pelos sistemas de
prevenção de intrusão da TippingPoint, que protegem 6.000 organizações, dados de
vulnerabilidades de 9.000.000 de sistemas, compilados pela Qualys e análises adicionais
e tutoriais do Internet Storm Center e dos membors da faculdade do SANS.
Setembro de 2009
Conteúdo
Sumário executivo
Visão geral
Tendências da exploração de vulnerabilidades
Vulnerabilidades em aplicações superam as vulnerabilidades em Sistemas
Operacionais
Ataques em aplicações Web
Windows: Conficker/Downadup
Apple: QuickTime e mais outras seis vulnerabilidades
Análise de origem e destino para os quatro ataques principais
Correções em aplicações são muito mais lentas do que correções em sistemas
operacionais
Tutorial: Exemplo de uma exploração HTTP no lado do cliente
Passo 0: O atacante injeta conteúdo em um site confiável
Passo 1: Exploração no lado do cliente
Passo 2: Estabelecer um backdoor de shell reverso usando HTTPS
Passo 3 e 4: Copiar os hashes e usar um ataque do tipo pass-the-hash
Passo 5: Usar o pass-the-hash para comprometer o controlador de domínio
Passo 6 e 7: Exfiltração
Tendências das vulnerabilidades do tipo zero-day
Melhores práticas para a mitigação e controle dos maiores riscos
Controles Críticos – Quando aplicados para ameaças em servidores HTTP
1
2. Sumário Executivo
Prioridade Um: Software no lado do cliente que permanece sem correções.
Ondas de ataques de e-mails direcionados – freqüentemente chamados de spear phishing
– estão explorando vulnerabilidades no lado do cliente em softwares comumente usados,
tais como o Adobe PDF Reader, QuickTime, Adobe Flash e o Microsoft Office.
Atualmente este é o vetor primário da infecção inicial usado para comprometer
computadores que têm acesso a Internet e essas vulnerabilidades são exploradas por
atacantes quando os usuários visitam web sites infectados (Ver Prioridade Dois para
saber como eles comprometem os web sites).
Pelo fato dos visitantes sentirem-se seguros para baixar documentos de web sites
confiáveis, eles são facilmente enganados quando abrem documentos, músicas e vídeos
que exploram vulnerabilidades do lado do cliente e algumas dessas explorações nem
sequer exigem que o usuário abra o documento. Simplesmente acessar um web site
infectado é suficiente para comprometer o software vulnerável.
Os computadores infectados são, então, usados para propagar a infecção e comprometer
outros computadores e servidores que tenham suas proteções de acesso não autorizado
configurados incorretamente e em muitos casos, o objetivo final do atacante é roubar
dados da organização alvo e instalar backdoors através dos quais possam retornar para
explorações futuras.
Na média, as principais organizações levam pelo menos o dobro do tempo para corrigir as
vulnerabilidades no lado do cliente, quando comparado com o tempo necessário para
corrigir as vulnerabilidades nos sistemas operacionais. Em outras palavras, os riscos de
maior prioridade estão recebendo menos atenção do que os riscos de menor prioridade.
Prioridade Dois: Web sites vulneráveis acessíveis através da Internet.
Ataques contra aplicações web constituem mais de 60% do total das tentativas observadas
na Internet. Estas vulnerabilidades estão sendo amplamente exploradas para converter
web sites confiáveis em web sites maliciosos que fornecem conteúdo explorável no lado
do cliente e vulnerabilidades em aplicações web, como injeção de código SQL e falhas
como o Cross-Site Scripting – tanto em aplicações de código aberto, quanto em
aplicações personalizadas – correspondem por mais de 80% das vulnerabilidades que são
descobertas.
Apesar do enorme número de ataques e não obstante a publicidade generalizada sobre
essas vulnerabilidades, muitos proprietários de web sites falham na verificação dos
problemas mais comuns e fazem com que seus sites transformem-se em ferramentas
involuntárias a serviço dos criminosos para infectarem os visitantes que procurar por uma
navegação segura.
2
3. Sistemas Operacionais continuam a ter menos vulnerabilidades exploráveis
remotamente que levam aos grandes worms de Internet.
Além do Conficker/Downadup, nenhum novo grande worm para Sistemas Operacionais
foi visto durante o período de criação deste relatório e, ainda assim, o número de ataques
contra vulnerabilidades de buffer overflow no Windows triplicou de Maio-Junho até
Julho-Agosto, constituindo mais de 90% dos ataques vistos contra esse sistema
operacional.
Elevação do número de vulnerabilidades do tipo zero-day
Nos últimos três anos houve um aumento significativo em escala mundial no número de
pessoas descobrindo vulnerabilidades do tipo zero-day e isso pode ser medido pela
quantidade de equipes independentes que descobriram a mesma vulnerabilidade em
diferentes momentos, sendo que algumas vulnerabilidades permaneceram sem correções
por até dois anos.
Há uma falta de pesquisadores sobre vulnerabilidades altamente qualificados nos
governos e nas empresas de software e enquanto existir essa escassez, os defensores
estarão em desvantagem na proteção de seus sistemas contra os ataques do tipo zero-day.
Um grande declínio no número de ataques de inclusão de arquivos PHP parece refletir o
uso de um processo de desenvolvimento mais aprimorado pelos desenvolvedores de
aplicações, administradores de sistemas e outros profissionais de segurança.
3
4. Visão Geral
Por todo o mundo desenvolvido, governos, indústrias de defesa e empresas dos setores
financeiros, de energia e telecomunicações estão se tornando, cada vez mais, alvos de
ondas de ataques cibernéticos gerados por criminosos e estados-nações que procuram
vantagens econômicas e militares. Agora o número de ataques é tão grande e sua
sofisticação tão elevada que muitas organizações estão tendo problemas para determinar
quais novas ameaças e vulnerabilidades representam o maior risco e como os recursos
devem se alocados para garantir que o ataque mais provável e danoso seja tratado
primeiro.
Este relatório usa dados atuais – que cobrem o período de Março a Agosto de 2009 – de
ferramentas e softwares instalados em milhares de organizações que são alvo de
atacantes, para fornecer um retrato confiável dos ataques que estão sendo lançados e das
vulnerabilidades que eles exploram, sendo que o propósito deste é documentar as
ameaças já exitentes e as que estão emergindo e que põem em risco as redes e as
informações críticas que são geradas, processadas, transmitidas e armazenadas nas
mesmas.
O relatório resume as tendências a respeito das vulnerabilidades e ataques – focando nas
ameaças que têm o maior potencial para impactar negativamente sua rede e seus negócios
– e identifica os principais elementos que habilitam estas ameaças associandos-os com os
controles de segurança que podem mitigar seus riscos.
O público-alvo deste relatório são as grandes organizações que querem garantir que suas
defesas estejam atualizadas e otimizadas para responder aos ataques mais atuais e as
vulnerabilidades mais prementes. Os dados sobre os ataques vêm das ferramentas de
prevenção de intrusão fornecidas pela TippingPoint, que protegem mais de 6.000
empresas e agências governamentais e os dados sobre as vulnerabilidades que
permanecem sem correções vêm de ferramentas e softwares fornecidos pela Qualys, que
monitora vulnerabilidades e erros de configuração em mais de 9.000.000 de sistemas –
verificados mais de 100.000.000 até agora no ano de 2009.
Os padrões nos dados são avaliados pela equipe sênior no Internet Storm Center e pelo
corpo docente do SANS Institute, responsável pelos programas do SANS sobre exploração
hacker, teste de penetração e forense. Em outras palavras, estas descobertas refletem uma
fusão de dados e experiências que nunca haviam sido reunidas antes.
O relatório também inclui descrições e tutoriais ilustrados que mostram como funcionam
alguns dos mais danosos ataques da atualidade e uma das mais importantes descobertas
dos últimos anos na área de segurança cibernética foi o entendimento, na maioria da
vezes afirmado pelos funcionários da Casa Branca, de que “a ofensa deve informar a
defesa”.
Somente pessoas que entendem como os ataques são realizados podem ser defensores
eficazes e o tutorial mostra um exemplo do que aconteceu em um ataque de grande
4
5. impacto, sendo que as informações sobre ele foram retiradas do treinamento de Ed
Skoudis chamado SANS Hacker Exploits and Incident Handling – incluído para aumentar
a compreensão dos defensores sobre as atuais técnicas de ataque.
O relatório foi compilado por Rohit Dhamankar, Mike Dausin, Marc Eisenbarth e James
King da TippingPoint com a assistência de Wolfgang Kandek da Qualys, Johannes
Ullrich do Internet Storm Center e Ed Skoudis e Rob Lee da faculdade do SANS Institute.
Tendências da Exploração de Vulnerabilidades
Vulnerabilidades em Aplicações Superam as Vulnerabilidades em Sistemas
Operacionais
Durante os últimos anos, o número de vulnerabilidades descobertas em aplicações tem
sido muito maior do que o número de vulnerabilidades descobertas em sistemas
operacionais e como resultado, mais tentativas de exploração são registradas em
aplicações.
As aplicações mais “populares” para explorações tendem a mudar ao longo do tempo,
uma vez que a lógica para determinar se uma aplicação específica será ou não atacada
depende, muitas vezes, de fatores como a incapacidade de corrigi-la e, em função da atual
tendência de conversão de web sites confiáveis em servidores maliciosos, navegadores e
aplicações no lado do cliente que podem ser invocadas pelos navegadores parecem estar
se tornando o alvo dos atacantes.
Figura 1: Número de Vulnerabilidades em Redes, Sistemas Operacionais e Aplicações
5
6. Ataques em aplicações Web
Parece haver dois caminhos principais para explorar e comprometer servidores web:
ataques de força bruta para a adivinhação de senhas e ataques em aplicações web.
Os servidores Microsoft SQL, de FTP e SSH são alvos populares para os ataques de força
bruta para a adivinhação de senhas em função do acesso que é obtido se um conjunto
usuário/senha é identificado. Ataques de injeção de código SQL, Cross-site Scripting e
inclusão de arquivo PHP continuam a ser as três técnicas mais populares que são usadas
para comprometer web sites e ferramentas automatizadas, projetadas para atacar
vulnerabilidades em aplicações web específicas, tornam fácil a descoberta e a infecção de
milhares de web sites.
Windows: Conficker/Downadup
Ataques aos sistemas operacionais Microsoft Windows foram dominados pelas variantes
dos worms Conficker e Downadup, pois nos últimos seis meses mais de 90% dos ataques
registrados tinham como alvo a vulnerabilidade de buffer overflow descrita no Boletim de
Segurança MS08-067 e, embora em proporção muito menor, o Sasser e o Blaster –
worms de 2003 e 2004 – continuaram infectando muitas redes.
Figura 2: Ataques à Vulnerabilidades Críticas da Microsoft (últimos 6 meses)
6
7. Figura 3: Ataques à Vulnerabilidades Críticas da Microsoft (últimos 6 meses)
Apple: QuickTime e mais seis outras vulnerabilidades
A Apple liberou correções para muitas vulnerabilidades no QuickTime durante o último
ano e as vulnerabilidades no QuickTime representam a maioria dos ataques que estão
sendo lançados contra os softwares da desse fabricante.
Note que o QuickTime funciona tanto no Mac quanto no Windows e as vulnerabilidades
CVE-2009-0007, CVE-2009-0003, CVE-2009-0957 devem ser corrigidas para o
QuickTime, independente do tipo de ambiente onde ele esteja instalado.
Figura 4: Ataques à Vulnerabilidades Críticas da Apple (últimos 6 meses)
Análise de Origem e Destino para os Quatro Ataques Principais
7
8. Nos últimos seis meses nós vimos algumas tendências muito interessantes quando
comparamos os países de origem e de destino de vários ataques e a fim de mostrar os
resultados, nós categorizamos e apresentamos os dados em relação às categorias que mais
prevalecem.
A análise realizada para este relatório identificou estas categorias de ataques como sendo
de ameaças de alto risco para a maioria das redes – para não dizer para todas elas – e,
dessa forma, este tema deveria estar na memória dos profissionais de segurança.
Estas categorias são ataques HTTP no lado do servidor, inclusão remota de arquivos
PHP, ataques de Cross-site Scripting e por último ataques de injeção de código SQL e
como você deve imaginar, existem sobreposições entre estas categorias, com os últimos
sendo subgrupos das duas primeiras categorias, mas vale ressaltar as tendências
observáveis quando se separam estes dados.
Os ataques injeção de código SQL que compõem esta categoria incluem injeção de
código usando a instrução SELECT, evasão de injeção de código SQL usando funções de
String e injeção de código SQL usando Identidades Booleanas (Boolean Identity). O
ataque de inclusão remota de arquivos PHP mais predominante é um que procura por
pedidos HTTP que incluem um link para outro web site como parâmetro – que contém
uma técnica muito específica de evasão usada para aumentar a confiabilidade dos
mesmos. Também, digno de nota, é um ataque muito específico contra a aplicação
“Zeroboard PHP”, a única aplicação isolada que executou os maiores ataques.
O último tipo de ataque que faz parte dessas estatísticas é um dos mais populares ataques
de túneis de conexão HTTP (HTTP connect tunnel) – que continua a ser uma categoria de
grampo no lado do servidor HTTP – e esses túneis são usados para o envio de spams
através de servidores mal configurados.
Olhando para a separação por país, pode-se ver que os Estados Unidos são, de longe, o
maior alvo de ataques da categoria HTTP no lado do servidor (Figura 5).
8
9. Figura 5: Ataques HTTP no Lado do Servidor por Destino (últimos seis meses)
Por anos, os alvos de ataques nos Estados Unidos representavam maior valor para os
atacantes e, dessa forma, esta estatística não é uma surpresa.
Um crescimento interessante nos ataques HTTP no lado do servidor ocorreu em Julho de
2009 e isto foi inteiramente devido à ataques de injeção de código SQL usando a
instrução SELECT.
Ao olharmos para os dados vimos um grande esforço dedicado a uma faixa de endereços
IP alocada para os grandes ISPs e neste caso, existia um número de máquinas localizadas
em um único “site” compartilhado que pode ter sido comprometido com a mesma
vulnerabilidade, uma vez que todas elas estavam no mesmo nível de atualizações de
segurança. Além disso, sites de apostas tomaram parte nesses ataques que atingiram seu
pico depois de algumas horas no feriado de 4 de Julho – o maior feriado nos Estados
Unidos.
9
10. Figura 6: Ataques HTTP no Lado do Servidor (últimos 6 meses)
Finalmente vamos olhar as fontes destes ataques HTTP no lado do servidor (Figura 7).
Figura 7: Ataques HTTP no Lado do Servidor por fonte (últimos 6 meses)
Na figura acima, vemos que os Estados Unidos é, de longe, a maior fonte de ataques,
padrão que vem se mantendo há algum tempo e, em muitos casos, nós acreditamos que
isto ocorra em função das máquinas que estão sendo usadas para propósitos ilegais.
10
11. Os próximos quatro países que originaram ataques HTTP no lado do servidor são
Tailândia, Taiwan, China e Coréia e estes países também são citados em outras seções
deste relatório, de foma que este gráfico será uma referência útil para comparação com
outras categorias de ataque e suas extensões.
Nos últimos seis meses foi vista muita atividade referente aos ataques de injeção de
código SQL e alguns padrões típicos surgiram nos Estados Unidos – que é a maior fonte e
destino de eventos relacionados com esse tipo de ataque.
Na Internet a injeção de código SQL pode ser dividida em, mais ou menos, duas
subcategorias: injeção de código SQL legítima e injeção de código SQL maliciosa, pois
muitas aplicações web na Internet ainda utilizam “injeção de código SQL” em sua
funcionalidade normal.
Deve-se notar que isto é somente uma diferenciação de intenção pois as aplicações web
que utilizam a injeção de código SQL legitimamente são vulneráveis para as ferramentas
e técnicas usadas pelos atacantes para realizar as injeção de código SQL maliciosas e os
servidores que abrigam estas aplicações podem ter maior taxa de exposição aos perigos
desse tipo de ataque – não só porque eles são reconhecidamente vulneráveis, mas também
porque eles devem ter a capacidade de distinguir uma injeção legítima de uma maliciosa
para identificarem os ataques.
Figura 8: Ataques de Injeção de Código SQL por país de destino (últimos 6 meses)
Olhando para os números separados por mês (Figura 9), nós vemos uma grande
concentração de ataques de injeção de código SQL e ela aconteceu em Julho por causa de
um anunciante on-line que distribuiu código para muitos afiliados usando essa técnica. A
11
12. aplicação desse anunciante foi rapidamente tirada do ar, resultando em uma grande queda
na quantidade de eventos no mês de Agosto.
Figura 9: Ataques de Injeção de Código SQL (últimos 6 meses)
As fontes de distribuição de muitos desses ataques são muito mais diversas que seus
destinos uma vez que após os Estados Unidos, a maior fonte de ataques é a China e,
novamente, os Estados Unidos são o destino da esmagadora maioria dos ataques, como se
pode ver na Figura 10.
12
13. Figura 10: Ataques de Injeção de Código SQL por país fonte (últimos seis meses)
Como conclusão, nos não podemos exagerar na importância da proteção de aplicações
web baseadas em DMZ contra ataques de injeção de código SQL pois, cada vez mais, o
objetivo dos atacantes é a aquisição de dados sensíveis.
Enquanto os meios de comunicação reportam como alvos os números de cartões de
crédito e de seguro social nos Estados Unidos – devido ao fato dessa explicação ser de
mais fácil entendimento para a população – estas informações não são as únicas que
podem ser comprometidas porque, uma vez que os ataques de injeção de código SQL
oferecem fácil acesso aos dados, deve-se assumir que qualquer informação valiosa
armazenada em um banco de dados acessível através de Internet está sendo tratada como
um potencial alvo.
Apesar da popularização dos ataques de inclusão de arquivos PHP, o número total está
diminuindo. Com exceção dos originados da Tailândia em Abril, o número de ataques
deste tipo no mês de Agosto é menor que a metade da média dos meses de Março a Maio.
Existem muitas maneiras de proteção contra estes ataques. Configuração do Apache,
validação e tratamento das entradas de dados (Input Sanitization) e equipamentos de
segurança de rede são boas medidas de proteção e, dessa forma, a queda do total de
ataques está sendo causada, em parte, devido à ação positiva dos desenvolvedores de
aplicações, dos administradores de sistemas, e dos profissionais de segurança.
Entretanto, devido à extrema facilidade que são efetuados e pelo enorme benefício gerado
pelo sucesso dos mesmos, ataques como estes ainda irão permanecer populares por algum
tempo.
13
14. Figura 11: Ataques de Inclusão Remota de Arquivos PHP (últimos seis meses)
Vamos olhar para as fontes de ataques de inclusão remota de arquivos PHP, pois a maior
concentração de execução dos mesmos aconteceu na Tailândia em Abril, que resultou na
colocação do país no primeiro lugar da lista.
Figura 12: Ataques de Inclusão Remota de Arquivos PHP por país de origem (últimos 6 meses)
14
15. O Cross Site Scripting (XSS) é um dos mais predominantes problemas nas atuais
aplicações web porque, infelizmente, os desenvolvedores falham e introduzem erros que
podem ser usados para e execução de XSS enquanto criam códigos customizados que
conectam muitas das diversas tecnologias web que são tão utilizadas no atual cenário da
Web 2.0.
Outro uso muito comum de XSS é feito por muitos sistemas analíticos de anúncio. Um
banner, por exemplo, deve ser incorporado em uma página que é preparada para retornar
código JavaScript de um servidor HTTP de um anunciante para fins de monitoramento,
mas nessas situações o risco é muito pequeno – visto que o site em questão normalmente
possui controle total sobre a página e, dessa forma, o pedido do anunciante não é
malicioso.
São estes ataques – junto com os ataques que aproveitam falhas no manuseio de dados de
formulários – que compõem a maioria dos ataques XSS vistos nos últimos seis meses.
Figura 13: Ataques XSS por origem (últimos seis meses)
Ataques originados dos Estados Unidos estão diminuindo mês a mês e na Coréia foi
reduzido em 50% nos últimos 30 dias. Estas duas quedas, contudo, foram suplantados por
um súbito aumento de 20 % nos últimos 30 dias de ataques vindos da Austrália e as
outras três maiores origens, respectivamente, são Hong Kong, China e Taiwan, que
permaneceram estáveis nos últimos três meses para esta categoria de ataque.
Correções em Aplicações São Muito Mais Lentas do que as Correções em
Sistemas Operacionais
15
16. Os scanners da Qualys coletam dados anônimos de vulnerabilidades detectadas, com o
objetivo de captar a dinâmicas das mudanças no campo da avaliação de vulnerabilidades
e esses dados relatam mudanças como a diminuição de vulnerabilidades no lado do
servidor e o correspondente aumento no lado do cliente, tanto em componentes do
sistema operacional quanto em aplicações.
Uma lista das 30 principais vulnerabilidades é usado freqüentemente para verificar se as
maiores mudanças ocorrem nas vulnerabilidades mais comuns e abaixo está a relação
para o primeiro semestre de 2009 – editado para remover dados irrelevantes como as
vulnerabilidades do tipo zero-day.
Descrição
1. Vulnerabilidade de execução remota de código nos conversores de texto do Office
e do WordPad (MS09-010)
2. Múltiplas vulnerabilidades no Java da Sun (244988 e outras)
3. Múltiplas vulnerabilidades do inicializador do Java Web da Sun quem podem
permitir a elevação de privilégios (238905)
4. O ambiente da máquina virtual do Java pode permitir a elevação de privilégios
(238967)
5. Buffer Overflow no Adobe Acrobat e no Adobe Reader (APSA09-01)
6. Vulnerabilidade de execução remota de código no Microsoft SMB (MS09-001)
7. Vulnerabilidade de Buffer Overflow em imagens GIF no ambiente Sun Java
8. Vulnerabilidade de execução remota de código no Microsoft Excel (MS09-009)
9. Atualização do Adobe Flash Player para solucionar vulnerabilidades de segurança
(APSB09-01)
10. vulnerabilidades no JRE e JDK do Java da Sun (254569)
11. Serviço do Microsoft Windows Server pode permitir a execução remota de código
(MS08-067)
12. Microsoft Office PowerPoint pode permitir a execução remota de código (MS09-
017)
13. Vulnerabilidade de execução remota de código no serviço principal do Microsoft
XML (MS08-069)
14. Vulnerabilidade de execução remota de código nos arquivos estendidos do
Microsoft Visual Basic (MS08-070)
15. Múltiplas vulnerabilidades de execução remota de código no Microsoft Excel
(MS08-074)
16. Vulnerabilidades no Microsoft DirectShow podem permitir a execução remota de
código (MS09-028)
17. Múltiplas vulnerabilidades de execução remota de código no Microsoft Word
(MS08-072)
18. Múltiplas vulnerabilidades no Adobe Flash Player (APSB07-20)
19. Múltiplas vulnerabilidades de segurança no Adobe Flash Player (APSB08-20)
20. Vulnerabilidade de execução remota de código na CAPICOM.DLL de terceiros
21. Vulnerabilidade de execução remota de código nos componentes do Microsoft
Windows Media (MS08-076)
16
17. 22. Múltiplas vulnerabilidades no Adobe Flash Player (APSB07-12)
23. Vulnerabilidade de execução remota de código no Microsoft Office (MS08-055)
24. Vulnerabilidade de corrupção de memória nos métodos JavaScript do Adobe
Reader (APSA09-02 e APSB09-06)
25. Microsoft PowerPoint pode permitir a execução remota de código (MS08-051)
26. Vulnerabilidade de processamento de fontes no JRE pode permitir elevação de
privilégios (238666)
27. Microsoft Office pode permitir a execução remota de código (MS08-016)
28. Vulnerabilidade de Buffer Overflow na função "util.printf()" do Adobe
Acrobat/Reader (APSB08-19)
29. Múltiplas vulnerabilidades no Adobe Acrobat e no Adobe Reader (APSB08-15)
30. Vulnerabilidade do pacote de segurança do Windows Schannel pode permitir
spoofing (MS09-007)
Tabela 1: 30 principais vulnerabilidades da Qualys no primeiro semestre de 2009
Algumas das vulnerabilidades listadas na tabela foram solucionadas rapidamente pelos
administradores e as vulnerabilidades nos sistemas operacionais, por exemplo, mostram
uma queda significativa até os primeiros 15 dias do seu ciclo de vida.
Figura 14: Vulnerabilidades em Sistema Operacionais Microsoft
Mas ao menos metade das vulnerabilidades na lista como, por exemplo, vulnerabilidades
primárias encontradas em aplicações, recebem menos atenção e são corrigidas em um
prazo muito maior e. Pelo fato de algumas destas aplicações – como o Microsoft Office e
o Adobe Reader – serem amplamente usadas, elas acabam expondo os diversos sistemas
onde são executadas às ameaças.
Os gráficos abaixo mostram o número de vulnerabilidades detectadas para o Microsoft
Office e para o Adobe Reader, com os dados já normalizados para o número máximo de
vulnerabilidades detectadas no intervalo exibido e pode-se perceber que durante os finais
de semana ocorrem quedas periódicas nas taxas de detecção, pois nesses períodos as
verificações são focadas nos servidores e não nas estações de trabalho e as taxas de
detecção de vulnerabilidades para as estações, consequentemente, diminuem.
17
18. Figura 15: Ciclos de Correção de Vulnerabilidades do Microsoft PowerPoint e do Adobe
Há muito tempo os atacantes já perceberam a possibilidade de exploração dessas
vulnerabilidades e migraram para diferentes tipos de ataques a fim de tirar vantagem das
mesmas, usando técnicas de engenharia social para tentar fazer com que os usuários
finais abram documentos recebidos por e-mail, ou através da infecção de web sites com
links para documentos que contém os ataques.
Estes documentos infectados não são colocados apenas em web sites populares e que tem
um grande número de visitantes, mas cada vez mais os atacantes têm usado os milhares
de web sites especializados que têm audiências pequenas, porém fieis. Através da
identificação e exploração de vulnerabilidades em sistemas de gerenciamento de
conteúdo (CMS) usados por esses web sites os atacantes podem automatizar o processo de
infecção e alcançar milhares de sites em questão de horas.
Os ataques usando vulnerabilidades em arquivos PDF tiveram um grande aumento em
2008 e 2009, a medida que foi ficando claro para os atacantes o quão fácil é usar esse
método de obtenção de controle sobre uma máquina e constatou-se que o Adobe Flash
tem problemas similares com a aplicação de suas atualizações, pois existem quatro
vulnerabilidades na nossa lista das 30 principais que existem desde 2007.
Figura 16: Vulnerabilidades no Flash
18
19. O Adobe Flash apresenta desafios adicionais, pois ele não tem um mecanismo de
atualização automática e necessita de uma correção do Internet Explorer em uma etapa
adicional – quando comparado aos outros navegadores e para usuários que têm mais de
um navegador instalado é muito fácil esquecer-se de corrigir completamente as
vulnerabilidades do Flash e continuar vulnerável.
Uma outra família de softwares que está na lista das 30 principais vulnerabilidades é o
Java, que é amplamente usado para executar Java applets em navegadores e, também, é
cada vez mais usado em aplicações não web.
Uma das causas da presença do Java na lista é o fato dele ter um ciclo de correções muito
lento e uma outra causa é o aumento do número total de vulnerabilidades que faz com
que as novas que surjam e neutralizam o efeito das correções que são lançadas.
Além disso, o Java tem um problema adicional porque, até recentemente, as novas
versões não removiam as versões antigas, mas apenas configuravam o ambiente para
executar a nova versão. Dessa forma, ataques podiam ser projetados para tirar vantagem
dos caminhos já conhecidos e continuar a usar versões antigas e vulneráveis do software.
Figura 17: Vulnerabilidades no Java da Sun
Tutorial: Exemplo de Uma exploração HTTP no Lado do Cliente
Esta seção mostra um exemplo de ataque conduzido contra uma organização e que
resultou na perda de dados críticos para a mesma.
Neste ataque, a empresa de Widgets Acme foi vítima de uma grande violação feita por
atacantes que foram capazes de comprometer toda a infra-estrutura da rede interna,
usando dois dos mais comuns – porém poderosos – ataques da atualidade: Exploração de
software no lado do cliente e ataques do tipo pass-the-hash contra computadores com o
Windows.
19
20. Passo 0: O atacante injeta conteúdo em um web site confiável
No passo 0, o atacante inicia o ataque colocando conteúdo em um web site confiável –
como uma rede social, um blog, um serviço de compartilhamento de fotos, ou vídeo, ou
em qualquer outro servidor web que hospede conteúdo público. O conteúdo do atacante
inclui código para exploração de software no lado do cliente que não tenha sido corrigido.
Passo 1: Exploração no lado do cliente
No passo 1, um usuário na rede corporativa da empresa de Widgets Acme navega pela
Internet em um computador com o Windows que está executando um software não
atualizado – como um reprodutor de mídia (Real Player, Windows Media Player, iTunes,
por exemplo), um programa de visualização de documentos (Acrobat Reader, por
exemplo), ou um dos aplicativos do pacote Office (Microsoft Word, Excel, Powerpoint,
por exemplo).
Ao receber o conteúdo do atacante que foi colocado no web site, o navegador da vítima
inicia o programa vulnerável, passando para ele o código malicioso do atacante e este
código permite a instalação ou a execução de programas no computador do usuário,
através dos privilégios do mesmo. Porém, pelo fato da vítima não tem credenciais de
administrador do sistema, o ataque é parcialmente mitigado, mas ainda assim, o atacante
pode executar programas com os privilégios limitados que conseguiu obter.
20
21. Passo 2: Estabelecer um backdoor de shell reverso usando HTTPS
No passo 2, o código de exploração do atacante instala um backdoor de shell reverso no
computador da vítima, que garante o acesso ao shell do computador através de uma
comunicação HTTPS e, em função do uso desse protocolo, o trafego do backdoor parece
ser um trafego web regular para o firewall da empresa.
Passos 3 e 4: Copiar os hashes e usar um ataque do tipo pass-the-hash
No passo 3, o atacante usa o shell obtido para carregar um programa que faça a escalação
de privilégios no o computador da vítima, programa este que permite ao atacante mudar
de uma conta com poucos privilégios para uma que tenha controle total sobre a máquina.
Apesar dos fabricantes freqüentemente lançarem correções para impedir os ataques de
escalação de privilégios muitas organizações não fazem a instalação das mesmas de
forma eficaz, porque elas tendem a focar exclusivamente nas correções de falhas que
permitem a exploração de forma remota.
Uma vez que a escalação tenha sido efeita, o atacante copia os hashes de todas as contas
da máquina – incluindo o da conta do administrador do sistema.
No passo 4, ao invés de quebrar a senha da conta do administrador da máquina, o
atacante usa um programa do tipo pass-the-hash para autenticar-se em outro computador
21
22. com o Windows na rede interna da empresa – neste caso, um sistema totalmente corrigido
e onde a mesma vítima tem privilégios administrativos completos.
Usando o NTLMv1 ou o NTLMv2, computadores com o Windows autenticam acessos na
rede através do protocolo SMB (Server Message Block) baseando-se nos hashes do
usuário e não na senha propriamente dita, permitindo ao atacante – com privilégios de
administrador local – a obtenção de acesso ao sistema de arquivos ou a execução de
programas em um sistema totalmente corrigido, que permite a copia dos hashes das
senhas de todas as contas locais do computador.
Passo 5: Usar o pass-the-hash para comprometer o controlador de domínio
No passo 5, o atacante usa um hash de senha de uma conta local do computador para
acessar o controlador de domínio e, novamente, usa um ataque do tipo pass-the-hash para
obter acesso ao shell desse controlador.
Em função da senha da conta do administrador local ser idêntica a senha da conta do
administrador do domínio, o hash das duas é idêntico e dessa forma, o atacante pode
acessar o controlador de domínio com privilégios completos de administração – obtendo
o controle completo sobre todas as contas e máquinas do domínio.
Passo 6 e 7: Exfiltração
No passo 6, com privilégios totais de administração do domínio, o atacante compromete o
servidor que armazena os segredos da empresa e no passo 7 ele contrabandeia essas
informações sensíveis – que consistem em mais de 200 Megabytes de dados – enviando-
as para a Internet através do HTTPS que encripta a informação e minimizar a chance de
detecção.
Tendências das Vulnerabilidades do Tipo Zero-Day
22
23. Uma vulnerabilidade do tipo zero-day ocorre quando uma falha em um software é
descoberta e o código para explorar essa vulnerabilidade é divulgado antes de uma
correção.
Uma vez que uma forma de explorar a vulnerabilidade tenha sido liberada, os usuários do
software afetado continuarão expostos ao perigo até que uma correção seja
disponibilizada, ou até que alguma ação de proteção seja tomada pelos mesmos.
As “Vulnerabilidades de Formato de Arquivo” continuam a ser as primeiras escolhas dos
atacantes para comandar ataques do tipo zero-day e ataques segmentados e muitos deles
continuam a ter com alvo o Adobe PDF, o Flash Player e os aplicativos do Microsoft
Office (PowerPoint, Excel e Word).
Atualmente existem disponíveis diversos frameworks que tornam fácil a tarefa de
encontrar essas falhas e as vulnerabilidades são, freqüentemente, encontradas em add-ons
criados por terceiros – potencializando o risco para os usuários e tornando o processo de
correção muito mais complexo.
As mais notáveis vulnerabilidades do tipo zero-day durante os últimos 6 meses foram:
• Vulnerabilidade de execução remota de código no Adobe Acrobat, Reader, e no
Flash Player (CVE-2009-1862)
• Vulnerabilidade de execução de código no Controle ActiveX Microsoft Office Web
Components (CVE-2009-1136)
• Vulnerabilidade de execução remota de código no cabeçalho de dados da
biblioteca de templates ativos da Microsoft (CVE-2008-0015)
• Vulnerabilidade de execução remota de código no Microsoft DirectX DirectShow
QuickTime (CVE-2009-1537)
• Vulnerabilidade de execução remota de código no Adobe Reader (CVE-2009-
1493)
• Vulnerabilidade de execução remota de código no Microsoft PowerPoint (CVE-
2009-0556)
A facilidade de encontrar vulnerabilidades do tipo zero-day é um resultado direto de um
aumento global no número de pessoas que vêm adquirindo conhecimento de como
descobrir vulnerabilidades dessa categoria e isto é evidenciado pelo fato do TippingPoint
DVLabs freqüentemente receber a mesma vulnerabilidade de diversas fontes.
Como exemplo, pode-se citar a vulnerabilidade descrita no boletim de Segurança MS08-
031 (Microsoft Internet Explorer DOM Object Heap Overflow Vulnerability) que foi
descoberta de forma independente por três pesquisadores. O primeiro pesquisador
submeteu uma vulnerabilidade crítica no Internet Explorer 6 e 7 que poderia ser
explorada remotamente em 22 de Outubro de 2007. Um segundo pesquisador
independente submeteu a mesma vulnerabilidade no dia 23 de Abril de 2008 e um
terceiro pesquisador também submeteu essa mesma vulnerabilidade no dia 19 de Maio de
23
24. 2008, sendo que as três submissões encontraram a vulnerabilidade através de abordagens
diferentes de busca e auditoria.
A implicação das múltiplas descobertas é bastante preocupante, uma vez que a principal
forma de mitigação dessas vulnerabilidades é a aplicação de patches e essa estratégia é
inválida nesses casos – existindo ainda o risco crescente dos criminosos cibernéticos que
podem descobri-las e explorá-las para obterem lucro.
Adicione a isso o fato de que os fabricantes de softwares não diminuiram o tempo médio
que levam para corrigir as vulnerabilidades das quais tomam conhecimento e que a
TippingPoint está ciente de um número de falhas que foram submetidas para os
fabricantes há dois anos e ainda não têm correções.
No endereço HTTP://www.zerodayinitiative.com/advisories/upcoming/ é possível
encontrar uma lista mantida pela TippingPoint e que contém as vulnerabilidades do tipo
zero-day que ainda não foram divulgadas publicamente.
Isto faz com que a exploração de vulnerabilidades do tipo zero-day em aplicações no lado
do cliente seja uma das ameaças mais significativas para a sua rede e requer que você
coloque em prática controles e medidas adicionais de segurança da informação para
complementar suas atividades de avaliação e remediação de vulnerabilidades.
Melhores Práticas na Mitigação e no Controle dos Principais Riscos
Algumas semanas atrás, o Center for Strategic and International Studies publicou uma
versão atualizada dos Vinte Controles Críticos para Efetiva Segurança Cibernética que
pode ser encontrada no endereço
HTTP://csis.org/files/publication/Twenty_Critical_Controls_for_Effective_Cyber_Defens
e_CAG.pdf
Esses controles refletem o consenso de muitos dos maiores atacantes e defensores das
nações nas quais controles específicos devem ser implementados para mitigar ameaças
cibernéticas conhecidas.
Um dos usos mais importantes deste relatório é no ato de ajudar as organizações a
implantarem os Vinte Controles Críticos de Segurança para terem a certeza de que
nenhum dos novos ataques críticos que tenha sido encontrado force mudanças
substanciais nos controles que foram implementados e, ao mesmo tempo, ajudar as
pessoas que estão implementando os Vinte Controles Críticos de Segurança a focar sua
atenção nos elementos de controle que precisam ser concluídos de forma mais imediata.
Os elementos chave desses ataques e controles associados são:
• Aplicações de usuários têm vulnerabilidades que podem ser exploradas
remotamente.
o O controle 2 (Inventário de Software), o controle 3 (Configurações
Seguras), e o controle 10 (Avaliação e Correção de Vulnerabilidades)
24
25. podem garantir que o software vulnerável seja contabilizado, identificado
para um plano defensivo e seja corrigido em tempo hábil. O controle 5
(Defesas de Fronteira) pode prover alguma capacidade de
prevenção/detecção quando os ataques são lançados.
• Existe um número crescente de vulnerabilidades do tipo zero-day nestes tipos de
aplicações.
o O controle 12 (Defesas contra Malware) é o mais eficaz para mitigação de
muitos desses ataques porque pode garantir que malwares que entrem na
rede sejam efetivamente contidos. Os controles 2, 3 e 10 têm impactos
mínimos sobre vulnerabilidades do tipo zero-day e o controle 5 pode
fornecer alguma capacidade de prevenção/detecção contra elas, bem como
para as vulnerabilidades conhecidas.
• A exploração bem sucedida concede ao atacante os mesmos privilégios de um
usuário e/ou equipamento na rede.
o O controle 5 (Defesas de Fronteira) pode garantir que ameaças em
sistemas comprometidos (portáteis ou não) possam ser contidas. Os
controles 8 (Controle de Uso de Privilégios Administrativos) e 9 (Acesso
Controlado) têm por objetivo limitar o acesso do atacante às instalações da
empresa, depois dele ter explorado com sucesso um aplicação de usuário.
• O atacante está mascarado como um usuário legítimo, mas executa ações que não
são típicas daquele usuário.
o O Controle 6 (Auditoria de Logs) e o 11 (Controle e Monitoramento de
Contas) podem ajudar a identificar comportamentos potencialmente
maliciosos ou suspeitos e o Controle 18 (Capacidade de Resposta a
Incidentes) pode auxiliar na detecção e recuperação após um incidente.
Controles Críticos – Aplicado à Ameaças aos Servidores HTTP
Como discutido anteriormente, vulnerabilidades em aplicações web e ameaças no
lado do servidor HTTP representam uma grave ameaça não só para os servidores que
você controla, mas também para os servidores que os seus usuários acessam para
realizarem atividades do dia-a-dia.
As tendências indicam que os ataques de injeção de código SQL estão aumentando
rapidamente e esses ataques são executados somente se um aplicativo é escrito de tal
forma que permita a exploração dos mesmos – de forma que uma vulnerabilidade não
é uma questão de configuração ou controle de acesso.
Os principais elementos desses ataques e os controles os associados são:
• Aplicações web têm vulnerabilidades que podem ser facilmente descobertas e
exploradas remotamente conforme seguem:
o O controle 7 (Segurança em Aplicações) talvez seja o mais crítico
sobre esses tipos de ataques. Os desenvolvedores de aplicações devem
garantir que todas as informações recebidas de fontes externas sejam
verificadas e que os sistemas utilizem somente o necessário para as
25
26. operações com os sistemas de banco de dados. O Controle 5 (Defesas
de Fronteira) pode garantir que existam camadas de proteção
apropriadas para evitar ou detectar ataques destinados aos seus
servidores web. O Controle 2 (Inventário de Software), o controle 3
(Configurações de Segurança), e o controle 10 (Avaliação e
Remediação de Vulnerabilidades) podem garantir que os aplicativos
vulneráveis sejam contabilizados, identificados para um plano
defensivo e sejam corrigidos em tempo hábil.
• A exploração bem sucedida concede ao invasor a capacidade de colocar
código malicioso no servidor e tentar comprometer todos os clientes que o
visitarem.
o O controle 6 (Auditoria de Logs) pode ajudar a identificar quando
alguém comprometeu o seu servidor web e o controle 18 (Capacidade
de Resposta a Incidentes) pode ajudar a mitigar o impacto e ajudar na
recuperação contra os ataques a aplicações vulneráveis.
26
27. Tradutores
Alexandre Silveira Pupo
Anderson De Salve
André Felipe de Oliveira Fernandes
Germano Packer
Guilherme Marinheiro Chaves
Sandra Regina Borges de Salve
Thomaz Fischer Levy
Revisores
Jacomo Piccolini
Pedro Bueno
27