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:

Bad Rabbit: Prepare-se para esta nova epidemia de ransomware


Um novo malware, apelidado de Bad Rabbit, está se disseminando rapidamente em diferentes países. Empresas de segurança já o identificaram como uma forma de ransomware, pois ele criptografa dados de host, exigindo um resgate de 0,05 bitcoins - cerca de R$ 1 mil - como pagamento para liberar a chave de recovery (recuperação) dos arquivos sequestrados.

Os ataques foram iniciados na Rússia e Ucrânia e ganharam volume na última terça-feira (24). No entanto, outros países como Turquia, Bulgária, Japão e Alemanha também tiveram registros de ataques afetando organizações e consumidores. No Brasil, empresas do setor de comunicação e outras áreas também notificaram ataques do Bad Rabbit.

O fato de outro ataque importante atingir a Ucrânia não surpreende, considerando que o serviço de segurança do país alertou, no início deste mês, sobre um possível ciberataque de grande escala em organizações estatais e empresas privadas. A agência disse que o objetivo do ataque seria interromper os sistemas de TI e desestabilizar a situação no país.


Uma das mensagens requisitando o resgate dos dados para as vítimas sugere que a  única forma de recuperar os arquivos é pagando o resgate

De acordo com os pesquisadores da fabricante de softwares de segurança Kaspersky, o ataque não utiliza exploits. Eles são feitos no modo drive-by, onde as vítimas baixam um falso instalador do Adobe Flash de sites infectados e, após executarem manualmente o arquivo.exe, o malware afeta seus computadores.

As mensagens enviadas às vítimas sugerem que apenas com o pagamento de resgate será possível recuperar os arquivos, mas não há nenhuma garantia de que a chave de descriptografia seja realmente enviada pelos atacantes. Por isso, há uma orientação de que as vítimas não efetuem nenhum pagamento.

tradução: #BadRabbit foi espalhado pela web através de sites de notícia comprometidos.

Lista com alguns sites comprometidos pelo Bad Rabbit. Em tradução livre: #BadRabbit foi espalhado pela web através de sites de notícia comprometidos
No momento, vários pesquisadores de segurança estão fazendo uma análise profunda para entender o funcionamento do Bad Rabbit e identificar se existem falhas no código que facilitem a recuperação dos arquivos.

A empresa de segurança ESET identificou que o malware atua como uma variante do ransonware NotPetya, também conhecido como Diskcoder, Petya, Petrwrap, exPetr e GoldenEye. Alguns relatos também mostram o Bad Rabbit explorando a mesma falha de SMB que o WannaCry utilizava para se espalhar. No entanto, nenhuma das informações foi confirmada por outros pesquisadores.

Para quem se interessar, o site Securelist, mantido por especialistas do Kaspersky Labs, fez uma demonstração da inteligência aplicada neste novo malware.

A seguir, listamos algumas medidas defensivas que devem ser aplicadas para se proteger do Bad Rabbit:

Desinstale o Flash
Os instaladores e atualizações falsas do Flash funcionam como uma tática de engenharia social. Ao remover o Flash completamente, você não só se protege dos furos de zero-day, mas também elimina a tentação de baixar atualizações falsas e comprometer seus arquivos.

Instale patches de segurança
Surtos como NotPetya e WannaCry exploraram vulnerabilidades para as quais já haviam correções e patches atualizados disponíveis. Por isso, seja precavido e instale todos os patches de atualização que o seu sistema operacional requisitar.

Faça backups de seus arquivos
Faça backups regularmente de suas informações. Também mantenha um backup recente offline e offsite que possa ser acessado mesmo fora dos limites de onde está o computador. Isso poderá mantê-lo seguro mesmo que seu local de trabalho seja prejudicado por incêndios, inundações ou causas extraordinárias e não relacionadas ao malware.

Cuidado com as concessões de acesso
Usuários comuns não devem ter concessões de acesso administrativo. Se necessário, promova-os para uma conta de administrador para a execução de tarefas pontuais e renuncie a esses privilégios assim que possível. Se a vítima tiver acesso de administrador nos outros computadores da rede, um malware como o Bad Rabbit pode se espalhar sem sequer precisar adivinhar senhas.

Bloqueie a execução de arquivos
Bloqueie a execução de arquivos como c:\windows\infpub.dat e c:\Windows\cscc.dat. e, caso seja possível fazer isso em seu ambiente, desabilite o serviço WMI para impedir que o malware se espalhe pela sua rede.

Não pague o resgate
É muito importante não pagar o resgate para recuperar seus arquivos sequestrados. Embora a mensagem cause uma tensão nesse sentido e dê esperança de obter suas informações de volta, o pagamento não garante que os dados serão realmente devolvidos.

O que é a vulnerabilidade File Inclusion?



File Inclusion é uma das vulnerabilidades mais comuns em aplicações web e ocorre quando a inclusão de ficheiros externos à aplicação principal é feita sem validação.
Sites em PHP que fazem uso da função include() de um modo inseguro, tornam-se vulneráveis a estes ataques.

O que a função include() faz?
Um desenvolvedor pode incluir conteúdo de um arquivo PHP dentro de outro arquivo PHP usando a função include(). Por exemplo:
Vamos supor que tenhamos dois arquivos PHP:

file1.php

<?php
echo “Modelo php file 1…”;
?>
file2.php
<?php
echo “Modelo php file 2…”;
?>
Se o desenvolvedor deseja o conteúdo do arquivo file2.php em file1.php, simplesmente pode utilizar o seguinte comando:

<?php
include(‘file2.php’);
echo “Modelo php file 1…”;
?>
Isto pode ser um problema, pois além de ser possível incluir o conteúdo de um arquivo dentro de outro, também é possível que um desenvolvedor inclua um arquivo fazendo input como usuário. E quando o input do usuário não é validado corretamente, um atacante pode incluir arquivos maliciosos no servidor.

A File include é uma vulnerabilidade que pode ser dividida em duas partes:
Local File Inclusion (LFI) e Remote File Inclusion (RFI), este último, aliás, do qual já falamos em artigos anteriores aqui no Site Blindado Labs.

Como o Local File Inclusion é utilizado?
Os desenvolvedores costumam utilizar a função include de duas maneiras: a primeira delas é obtendo o arquivo como entrada de usuário. A segunda, é obtendo o arquivo como entrada do usuário, porém anexando uma extensão.
O trecho abaixo mostra o exemplo de um código vulnerável para lfi.php

<?php
echo ‘<br/>’;
echo ‘Ola’;
echo ‘<br/>’;
echo ‘<br/>’;
echo ‘<html>
<body>
<a href=”index.php?page=news.php”><button>Mostrar News</button></a>
</body>
</html>
‘;
echo ‘<br/>’;
echo ‘<br/>’;
include($_GET[‘page’]);
echo ‘<br/>’;
?>

No código apresentado, é possível notar que a aplicação está recebendo um arquivo do cliente utilizando uma requisição no método GET e incluindo-no diretamente na página atual. Quando usuário clica em “Mostrar News”, na página, é exibido o conteúdo do arquivo news.php.
Além disso, uma pessoa mal-intencionada consegue alterar os diretórios do site na URL, tendo acesso a arquivos do servidor. Veja um exemplo:

meusite.com.br/lfi/index.php?page=news.php

Após a alteração:

meusite.com.br/lfi/index.php?page =/etc/passwd

Essa vulnerabilidade é conhecida como Path Traversal e ocorre porque, uma vez que o caminho é inserido dentro da URL e dado ao código PHP, a codificação do arquivo lfi.php ficará vulnerável e exposta, como é mostrado abaixo:

<?php
echo ‘<br/>’;
echo ‘Ola’;
echo ‘<br/>’;
echo ‘<br/>’;
echo ‘<html>
<body>
<a href=”index.php?page=news.php”><button>Mostrar News</button></a>
</body>
</html>
‘;
echo ‘<br/>’;
echo ‘<br/>’;
include(“/etc/passwd”);
echo ‘<br/>’;
?>

Por consequência, o conteúdo do arquivo será carregado.
O LFI se torna perigoso pois um atacante poderia percorrer os diretórios do servidor e conseguir obter acesso a dados sensíveis.
Uma pessoa mal-intencionada, que tenha identificado que a aplicação está lendo os arquivos de usuários, poderia simplesmente fazer um input de um arquivo malicioso.

Quais as recomendações para evitar ataques LFI e RFI?
Para prevenir estes dois tipos de ataque, é necessário validar as entradas dos usuários. O método de prevenção será o mesmo para as duas vulnerabilidades e é possível seguir os passos que já explicamos no post dedicado ao RFI (veja aqui).
Além disso, o valor de “allow_url_include” deverá estar em “on” para que o LFI funcione. Sendo assim, para prevenir de ataques LFI atribui o valor “off” para o “allow_url_include”.
O mesmo pode ser feito para ataques RFI, mas o valor a ser “setado” como “off” terá que ser o “allow_url_fopen”.

Referências:

Analisando o Xavier Malware – infecção de apps Android



No ultimo mês, pesquisadores vêm pedindo aos usuários do sistema operação Android que não façam downloads de aplicativos de lojas de terceiros porque muitos deles contêm malware. Agora, as coisas mudaram à medida que cibercriminosos estão ignorando a implementação de segurança do Google na Play Store e enviando aplicativos infectados com malware.

Os pesquisadores de segurança de TI da TrendMicro descobriram que mais de 800 aplicativos Android na Google Play Store contêm um malware chamado “Xavier” que roubam silenciosamente dados pessoais e financeiros dos usuários. Os aplicativos infectados pertencem a categorias como manipuladores de fotos, utilitários, antivírus, aceleradores de velocidade, conversor de vídeo, gravador de chamadas entre vários baixados milhões de vezes por usuários de todo o mundo.

O maior número de tentativas de download veio de países do Sudeste Asiático, como Vietnã, Filipinas e Indonésia, com menos downloads dos Estados Unidos e da Europa.


História e infecção de Xavier

Xavier não é um malware novo, na verdade, ele pertence à família AdDown que foi descoberta há dois anos com capacidades de execução remota de código. Sua primeira versão apareceu em 2015, enquanto o próprio Xavier foi detectado em setembro de 2016.
Além de evitar a detecção, a Xavier vem com recursos, incluindo a coleta e vazamento de dados do usuário, além da instalação de outros APKs no caso de o dispositivo infectado estar com acesso root. O malware Xavier faz isso tudo por não ser possível ser detectado facilmente.

Evolução do Malware Xavier (crédito pela imagem: Trend Micro)

Análise Técnica do malware Xavier

A variante conhecida como Xavier surgiu em algum momento em setembro de 2016 com um código mais simplificado. A primeira versão do Xavier removeu a instalação do APK e a verificação de raiz, mas adicionou criptografia de dados com o algoritmo TEA.


Algoritmo (crédito pela imagem: Trend Micro)

Logo depois, adicionou um mecanismo para escapar da detecção dinâmica como mencionado anteriormente.
Xavier tem a seguinte estrutura:

Estrutura do Malware Xavier (crédito pela imagem: Trend Micro)

O que os usuários do Android devem fazer?

Enquanto a Google está removendo os aplicativos infectados, isso não significa que o malware desaparecerá completamente da Play Store ou que não irá voltar. O Xavier é malware desenvolvido para assumir o controle do dispositivo e dos dados dos usuários, portanto, os usuários são aconselhados a não baixar aplicativos desnecessariamente.

Os usuários do Android também são aconselhados a usar softwares de segurança realmente aprovado e sempre verificar seus dispositivos. Outra coisa notável sobre o Android é que é um dos sistemas operacionais de smartphones mais utilizados do mundo.
Outro fato interessante é que pesquisadores descobriram uma cópia do WannaCry, o (WannaLocker) da criado para dispositivos Android, enquanto o malware Judy infectou aplicativos que foram baixados 36 milhões de vezes.

Além disso, recentemente pesquisadores descobriram o malware do Dvmap com capacidade de injetar código em aplicativos para Android.

Lembre-se, a maneira mais fácil de evitar um malware como Xavier é não baixar e instalar aplicativos de fontes desconhecidas, mesmo que provenham de lojas de aplicativos legítimos, como o Google Play.

Além disso, leia os comentários de outros usuários que baixaram o aplicativo. Mantenha-se atualizado e corrija possíveis problemas do seu celular para manter o malware que almeja vulnerabilidades longe do seu dispositivo.

Referencias: