Ataque GLitch: o uso de rowhammer para ataques em telefones Android


Novo ataque de rowhammer permite ataques de hijacking em smartphones Android


Pesquisadores do grupo de pesquisa VUSEC, da Vrije Universiteit, em Amsterdã, publicaram um artigo que detalha uma nova forma do ataque de rowhammer que eles chamaram de "GLitch".
Como nas versões anteriores, ele usa o ataque de rowhammer para induzir vazamentos na memória e alterar os zeros e vice-versa nos dados armazenados lá - os chamados "bits de virada". Mas, a nova técnica pode permitir que um hacker execute códigos maliciosos em alguns telefones Android quando a vítima simplesmente visita uma página da web cuidadosamente desenvolvida, tornando-se a primeira implementação remota do ataque do rowhammer.

Como os pesquisadores identificaram a falha?


Os pesquisadores decidiram analisar se poderiam usar um código em execução na GPU utilizando um dispositivo Android para executar truques de rowhammer que não seriam possíveis por meio de técnicas tradicionais de programação. Para tornar o problema ainda mais específico e interessante, eles também queriam verificar se poderiam fazer tudo isso sem precisar de um Android configurado como root e sem depender de um aplicativo de malware pré instalado.
O objetivo final dos pesquisadores era fazer um ataque de rowhammer pelo navegador, usando nada mais do que o JavaScript exibido em uma página da web.
A pesquisa foi batizada de GLitch, onde as letras GL vêm de WebGL, abreviação de Web Graphics Library - biblioteca de programação incorporada em navegadores modernos que permite que o código JavaScript trabalhe em conjunto com a GPU para melhorar o desempenho em aplicativos online que utilizam muito a parte gráfica.
Os pesquisadores assumiram que os recursos adicionados do WebGL trariam riscos adicionais, e por causa disso conseguiram identificar o que estavam procurando.



O ataque GLitch é a primeira técnica remota de rowhammer que explora as unidades de processamento gráfico (GPU), que é encontrada em quase todos os processadores móveis.
Como os processadores ARM dentro dos smartphones Android incluem um tipo de cache que dificulta o acesso a linhas de memória direcionadas, os pesquisadores fazem uso da GPU, cujo cache pode ser mais facilmente controlado, permitindo que os hackers façam buscas nas linhas sem interferência.

O que fazer para mitigar o problema?


Como o rowhammer explora uma vulnerabilidade no hardware do smartphone, nenhum patch de software pode corrigir completamente o problema.
Até agora, os pesquisadores têm um conjunto limitado de ataques que funcionam sob circunstâncias controladas, em um dispositivo desatualizado de sua própria escolha, executando uma versão antiga do Android. No entanto, o GLitch nos lembra que quando você adiciona recursos e desempenho, seja ao criar GPUs em chips para telefones celulares ou ao adicionar bibliotecas sofisticadas de programação gráfica a navegadores, podem existir consequências.
Os pesquisadores enfatizam que a ameaça de rowhammer não é apenas real, mas também tem o potencial de causar danos reais e severos.

Sobre os ataques rowhammer


O ataque de rowhammer é uma vulnerabilidade relativamente antiga, que origina-se no fato que os chips DRAM atuais usam geometrias de processo muito pequenas, que reduzem o número de elétrons armazenados na célula, enquanto a proximidade das “linhas” vizinhas acelera a taxa na qual os elétrons vazam para dentro e para fora da célula. Se muitos elétrons forem removidos ou adicionados a uma célula, ela mudará de estado.

Para que a vulnerabilidade ocorra quando uma linha de DRAM é ativada repetidamente, é necessário que vários acessos ocorram em uma linha antes que as linhas adjacentes internas tenham sido ativadas ou atualizadas. A carga da linha sobreativada, vazará para as linhas adjacentes, fazendo com que os bits mudem de estado. Este não é um erro permanente. A célula manterá seus dados em circunstâncias normais, mas perderá dados se a linha de sequência apresentar uma atividade excepcionalmente alta.

Simplificando, o ataque de rowhammer significa ler os mesmos endereços de memória DRAM repetidamente, concentrando a atividade eletrônica em uma pequena parte do chip por tempo suficiente para interferir nas células de memória próximas. De tempos em tempos, algumas dessas células próximas podem mudar sua carga elétrica, invertendo os valores binários 0 para 1 ou de 1 para 0.

Referências:



Ataque Krack e as melhorias no protocolo WPA




WPA (Wireless Protected Access) que significa Acesso Wireless Protegido, é um protocolo de comunicação wireless criado pelas empresas Wi-Fi Alliance e IEEE. Seu antecessor é o protocolo WEP e o sucessor WPA2, o único definido dentro do padrão IEEE802.11i - padrão atual de segurança para conexões wireless, criado em 2004 pela IEEE. 
No segundo semestre do ano passado, foi encontrada uma falha no WPA2, onde um atacante pode sniffar a rede e conseguir ler as informações, com isso, roubando informações confidenciais do sistema.
Chamado de Krack (Key Reinstallation Attack), o ataque consiste em explorar a troca de chaves no processo de four-way handshake, de forma que o atacante consegue manipular os handshakes, reutilizar as chaves e ter acesso às mensagens que deveriam estar criptografadas.
Todos os routers e devices cujos protocolos eram o WPA2 foram afetados na ocasião do ataque. Algumas empresas já disponibilizaram atualizações que corrigem ou mitigam a falha.  Contudo, como o padrão de segurança para o WPA2 foi definido há alguns anos (2003), em janeiro de 2018 a Wi-Fi Alliance anunciou melhorias para ele e a criação de um novo padrão, o protocolo WPA3.

Quais são as melhorias no protocolo WPA3?
O protocolo WPA2 já obteve melhoria na integridade do tráfego de rede com a feature PMF (Protected Management Frames) e aumento no padrão de criptografia de 128-bit para 192-bit.
Além dessas melhorias, que também estarão disponíveis para o WPA3, o protocolo será otimizado para proteger aqueles usuários que utilizam senhas fracas e estas pessoas serão alertadas caso suas senhas sejam descobertas. O protocolo também terá uma uma feature para simplificar o processo de configuração em dispositivos com interface limitada, como devices IoT.
Por último, WPA3 irá fornecer maior segurança para empresas governamentais e redes industriais. Com o novo conjunto de protocolos utilizando cifras de 192 bits, foi projetada uma melhoria para ajudar redes que transmitem informações secretas.
O WPA3 deve ser implementado ainda em 2018, entretanto, sua propagação e adaptação deverão levar um pouco mais de tempo. Portanto, é importante manter os devices e routers com firmwares e patches de segurança atualizados, ainda com o protocolo WPA2, para mitigar possíveis ataques.

Referências:


MemCached DrDOS Attack


Como funciona o ataque Memcached DrDoS?

Que os ataques de negação de serviço vêm se aprimorando, todo mundo sabe. Segundo o 13º Relatório Anual sobre Segurança da Infraestrutura Global de Redes, da Arbor Networks, o Brasil registrou por volta de 30 ataques de negação de serviço por hora em 2017. O que poucos sabem é que uma vulnerabilidade surgida recentemente amplificou a potência desses ataques de modo exponencial.

Na última quarta-feira de fevereiro (28/02) as empresas Akamai, Arbor Networks e Cloudflare reportaram um aumento expressivo de ataques DoS utilizando protocolo UDP amplificados por servidores Memcached.

Histórico

Ataques de DrDoS (negação de serviço reflexivo) ficaram famosas depois de causarem tráfego na casa dos Terabytes ao redor do mundo utilizando requisições DNS e, posteriormente, protocolo NTP para amplificação. Além disso, também valeram-se de câmeras e dispositivos IoT (Internet of Things, ou internet das coisas) para a realização dos ataques.

Conforme artigo publicado no ThreatPost, com os servidores Memcached foi possível amplificar em até 51 mil vezes os ataques DDoS que já vinham ocorrendo.

Que servidor é esse?

Conforme artigo publicado pela IBM,  “o Memcached é um projeto de software livre projetado para fazer uso da RAM sobressalente em muitos servidores para agir como um cache de memória para informações acessadas com frequência. O elemento chave é o uso da palavra cache: o Memcached fornece armazenamento temporário, em memória, das informações que podem ser carregadas de outro local".

O Ataque

Servidores Memcached costumam responder à porta 11211 TCP e UDP.

Utilizando as premissas do já tão utilizado ataque de negação de serviço reflexivo, várias máquinas, em posse de um atacante, enviam milhares de requisições à estes servidores (que respondem especificamente a requisições UDP) forjando o IP de origem com o IP da vítima em um intervalo de tempo na casa dos milissegundos.

Com isso, as inúmeras requisições enviadas serão respondidas ao IP da vítima causando assim a inundação de conexões ocasionando a negação do serviço.

Fontes apontam que o GitHub sofreu, através desta técnica, o maior ataque da história, com picos de até 135 Terabits por segundo.

Possibilidades de mitigação

Os administradores de sistemas têm orientado quem possui os servidores Memcached a desabilitarem a porta UDP, que responde ao serviço, como mitigação primária, visto que sua configuração padrão já vem com esta porta habilitada.

Uma tratativa mais elaborada envolve restringir a quantidade de requisições ao serviço.

Conclusão

Como dito no início desta matéria, não é de hoje que os ataques de negação de serviço vêm se aprimorando e, com a internet aumentando sua velocidade ao redor do globo, a situação só tende a piorar.

Você conhece esse tipo de ataque? Sabe como pode se proteger? Já sofreu com a negação de serviço alguma vez? Compartilhe suas experiências conosco!

Referências:
https://br.arbornetworks.com/visibilidade-de-redes/
https://threatpost.com/misconfigured-memcached-servers-abused-to-amplify-ddos-attacks/130150/
http://www.rmaues.com/2014/02/ataques-de-ddos-baseados-no-ntp.html
https://www.us-cert.gov/ncas/alerts/TA14-013A
https://www.us-cert.gov/ncas/alerts/TA13-088A
https://www.security.unicamp.br/blog/24-amplificacao-udp/
http://blog.netlab.360.com/memcache-ddos-a-little-bit-more-en/
https://amp.thehackernews.com/thn/2018/02/memcached-amplification-ddos.html
https://www.cvedetails.com/vulnerability-list/vendor_id-12993/Memcached.html

O que é e como funciona a metodologia Cyber Kill Chain®?

O conceito conhecido por Kill Chain se origina da abordagem militar em relação ao planejamento de um ataque coordenado. As tarefas são segmentadas por objetivos como identificação do alvo, envio da força para o alvo, decisão e ordem de ataque e, por fim, a destruição do alvo.  

Um modelo de uso militar bem difundido é o “F2T2EA” que estabelece fases por cada letra, e as relaciona com as atividades que deverão ser desempenhadas.

· Find (localizar): tem foco na localização do alvo;
· Fix (determinar/estabelecer): mesmo não sendo possível a tradução “ao pé da letra”, esta tarefa determina a localização e/ou dificuldade nos movimentos;
· Track (monitorar/acompanhar): a ação de monitorar os movimentos do alvo;
· Target (alvo): a fase de selecionar o armamento adequado para o ataque;
· Engage (engajar): etapa de engajamento onde deve ser utilizado o armamento selecionado na fase anterior;
· Assess (avaliação): quaisquer informações coletadas devem ser analisadas nesta etapa.

Neste ponto, é interessante salientar que no modelo proposto na forma de chain, ou seja, cadeia, a execução deste processo é integralmente sequencial e uma interrupção em qualquer fase pode frustrar o ataque como um todo.


Mas, o que é mesmo Cyber Kill Chain®?

Cyber Kill Chain® é a marca registrada de um framework, aqui também chamado de metodologia, que foi concebido para atuar na identificação e prevenção de atividades de intrusão. Esse framework faz parte do modelo de Intelligence Driven Defense®, da empresa Lockheed Martin.

Baseado no modelo de planejamento de manobra coordenada de ataque militar, onde são correlacionadas situações de combate real com as de “guerra cibernética”, foi elaborado um modelo em “cadeia” onde a interrupção de qualquer evento relacionado pode limitar ou até mesmo cessar o ataque.

A proposta é identificar quais são as tarefas que devem ser realizadas pelo invasor para atingir seu objetivo, bem como pará-lo, em algum momento, quebrando a “cadeia” e impedindo o sucesso do ataque.

O modelo Cyber Kill Chain® compreende sete etapas:

· Reconnaissance (identificação do alvo): compreende a pesquisa que o atacante deve fazer para selecionar e avaliar informações sobre os alvos que podem conduzir ao sucesso do seu ataque. Ex: coleta de endereços de e-mail, identificação de empregados em redes sociais, reconhecimento de servidores expostos publicamente na internet;
· Weaponization (preparo do armamento): a operação está na fase de planejamento. Aqui são selecionados os exploits, criados os backdoors, payloads, trojans e demais “armas” ou ferramentas que serão utilizadas no ataque;
· Delivery (entrega): aqui é onde acontece a entrega propriamente dita. O atacante transmite suas “armas” para o alvo.
· Exploitation (ganhando acesso ao alvo): ocorre a exploração das vulnerabilidades encontradas por meio das ferramentas previamente selecionadas e transmitidas;
· Installation (instalação): o objetivo é garantir o retorno do atacante, mantendo seu acesso por meio da instalação de um backdoor persistente, por exemplo.
· Command and control (comando e controle):  se faz a abertura de um canal de controle que permite ao atacante manipular remotamente o alvo;
·Actions on objectives (alcançando os objetivos): é quando, após o comprometimento do alvo, o atacante executa procedimentos de pós exploração realizando seus objetivos.


Considerações Finais

Esta é a apenas uma abordagem superficial sobre a metodologia  Cyber Kill Chain®, sob o ponto de vista do invasor.

Muito ainda pode ser explorado como, por exemplo, a aplicação desta metodologia nas atividades relacionadas à defesa.

As informações contidas neste artigo são resultado de um compilado de pesquisas realizadas e podem ser encontradas com mais detalhes nas referências abaixo.


Referências

Meltdown e Spectre - Entendendo as falhas de processador


A finalidade deste artigo é apresentar informações sobre as vulnerabilidades Meltdown e Spectre, resumindo os resultados publicados pelos pesquisadores que identificaram as falhas.

Ambas as falhas exploram vulnerabilidades críticas em processadores modernos. Essas vulnerabilidades de hardware permitem a captura de dados sendo processados no computador em tempo real. Enquanto os softwares geralmente não possuem autorização para ler dados de outros programas, um software malicioso pode explorar as falhas Meltdown e Spectre para obter dados secretos armazenados na memória, provenientes de outros programas em execução. Isso pode incluir: senhas armazenadas em um gerenciador de senhas ou navegador, suas fotos pessoais, e-mails, mensagens instantâneas e até mesmo documentos sigilosos.

Tanto o Meltdown quanto o Spectre funcionam em computadores pessoais, smartphones e fornecedores de serviços na nuvem. Em algumas infraestruturas em nuvem, pode ser possível capturar informações de outros clientes.

Meltdown (CVE-2017-5754)

O Meltdown foi chamado assim porque "derrete" limites de segurança normalmente aplicados por hardware. Através da falha é possível fragmentar o isolamento fundamental entre as aplicações do usuário e o sistema operacional. Este ataque permite que um software acesse diretamente a memória, permitindo também o acesso de dados privados de outros programas e do próprio sistema operacional.

Caso o seu computador pessoal tenha um processador vulnerável e execute um sistema operacional sem patch de segurança, não é seguro trabalhar com informações confidenciais sem que haja o perigo de vazamentos de informação. Isso se aplica tanto aos computadores pessoais, quanto a infraestruturas processadas na nuvem.

O vídeo acima demonstra como o Meltdown, permite aos atacantes ler não só a memória do kernel, mas também a memória física do alvo.

Para mais informações acesse o artigo técnico feito pelos pesquisadores da falha:
https://meltdownattack.com/meltdown.pdf


O nome Spectre (fantasma) é baseado na causa raiz, execução especulativa. Como não é fácil de mitigar e pelo fato que nos “amedrontará” por algum tempo, o nome “fantasma” veio bem a calhar.

Da mesma forma que o Meltdown, o Spectre burla o isolamento entre diferentes aplicativos. Ele permite que um invasor manipule um software, supostamente seguro, para que o mesmo vaze dados secretos sem que haja em sua execução.
A falha Spectre é mais difícil de explorar do que Meltdown, mas também é mais difícil de mitigar.

Para mais informações acesse o artigo técnico feito pelos pesquisadores da falha: https://spectreattack.com/spectre.pdf

O que deve ser feito? Mitigações e patches

Muitos fornecedores possuem patches de segurança disponíveis para um ou ambos os ataques:
  • Windows - A Microsoft emitiu uma atualização de patch de atualização para o Windows 10, enquanto outras versões do Windows serão corrigidas nos tradicionais patches semanais;
  •  MacOS - A Apple já havia corrigido a maioria dessas falhas de segurança no MacOS High Sierra 10.13.2 no mês passado, mas o MacOS 10.13.3 aprimorará ou completará essas atenuações;
  • Linux - Os desenvolvedores do kernel do Linux também lançaram patches implementando o isolamento da tabela de página do kernel (KPTI) para mover o kernel para um espaço de endereçamento totalmente separado.
  • Android - O Google lançou patches de segurança para usuários de Pixel/Nexus como parte da atualização de patches de segurança do Android. Outros usuários precisam esperar que seus fabricantes de dispositivos liberem uma atualização de segurança compatível.

É aconselhável que empresas e pessoas físicas, tirem algum tempo para considerar seus requisitos de segurança. É um ano novo e certamente temos novos desafios por vir com ele.

Mesmo se você sentir que você “fugiu da vulnerabilidade”, passe algum tempo hoje pensando sobre como a sua organização irá lidar com a próxima grande falha. Todos nós interessados por segurança da informação, sabemos que não é uma questão de "se", mas uma questão de "quando e como" a próxima vulnerabilidade irá surgir.

Referências: