O que é execução remota de código?
Um ataque de execução remota de código (RCE) é aquele em que um invasor pode executar código malicioso nos computadores ou na rede de uma organização. A capacidade de executar códigos controlados pelo invasor pode ser usada para várias finalidades, incluindo a implantação de malware adicional ou o roubo de dados confidenciais.
Como funcionam os ataques de execução remota de código (RCE)
Os ataques de execução remota de código geralmente ocorrem através de vulnerabilidades em aplicativos web e infraestrutura de rede.
As vulnerabilidades de execução remota de código são falhas no software que permitem que um invasor execute código malicioso em um sistema visado. Vários tipos de vulnerabilidades podem ser usados para a RCE, incluindo as seguintes:
- Vulnerabilidades de injeção: uma vulnerabilidade de injeção, como injeção SQL ou injeção de comando, é habilitada por uma sanitização deficiente da entrada.Se um usuário fornecer uma entrada maliciosa e cuidadosamente elaborada, alguns de seus dados fornecidos serão interpretados como comandos a serem executados.Isto permite que o invasor force o sistema vulnerável a executar o código fornecido pelo invasor.
- Deserialização insegura: a serialização simplifica a transmissão de conjuntos de dados, embalando-os em uma única sequência de bits para serem desempacotados pelo sistema receptor. Entretanto, se a estrutura dos dados serializados não estiver bem definida, um invasor pode ser capaz de elaborar uma entrada que é mal interpretada quando é desempacotada.Dependendo de como os dados são armazenados e processados, esta interpretação errônea pode permitir que o invasor alcance a execução do código.
- Gravação fora dos limites: um buffer é uma peça de memória de tamanho fixo que é alocada para armazenar dados. Leituras ou gravações de dados inseguras podem permitir que um invasor coloque dados onde seriam interpretados como código ou como informações importantes de fluxo de controle para o aplicativo.
- Gerenciamento de arquivos: alguns aplicativos permitem que os usuários façam upload de arquivos em um servidor.O acesso que isso fornece pode permitir que um invasor faça o upload de um arquivo contendo um código malicioso e induza o aplicativo a executá-lo.
Malware é um código fornecido pelo invasor projetado para ser executado em um sistema visado. Uma vulnerabilidade RCE simplesmente permite que um invasor implante malware de diferentes maneiras.
Como resultado, as vulnerabilidades de RCE podem ser usadas para atingir muitos dos mesmos objetivos do malware tradicional. A RCE pode ser usada para implantar malware em um sistema vulnerável, executar um ataque de negação de serviço (DoS) ou acessar informações confidenciais armazenadas em um sistema.
Como os invasores podem usar a RCE
A execução remota de código é perigosa porque a capacidade de executar código malicioso fornece a um invasor uma variedade de opções. Algumas das maneiras pelas quais as vulnerabilidades de RCE podem ser usadas para promover ataques comuns incluem:
- Acesso remoto: as vulnerabilidades de RCE são comumente usadas para dar a um invasor uma posição inicial em uma rede corporativa que pode ser expandida.Por exemplo, uma vulnerabilidade de RCE pode permitir que um invasor roube credenciais de login que permitiriam o acesso à rede por meio de uma VPN.
- Implantação de malwares: Embora as vulnerabilidades de RCE permitam a execução de código, esse código pode ter escopo limitado. .Para contornar essa limitação, os invasores podem usar a RCE para baixar e executar outros malwares mais destrutivos. Por exemplo, a RCE pode ser usada para baixar e executar ransomware em um sistema vulnerável.
- Roubo de dados: as vulnerabilidades de RCE podem permitir que um invasor execute comandos em um aplicativo vulnerável. Isto pode fornecer acesso ao sistema de arquivos, bancos de dados e outros armazenamentos de dados sensíveis de empresas e clientes.
- Destruição de dados: as vulnerabilidades de RCE podem permitir que um invasor execute comandos DROP em um banco de dados ou execute código no terminal do sistema. Esse acesso fornece a mesma capacidade de excluir arquivos que um usuário legítimo teria
- Ataques DoS: as vulnerabilidades de gravação fora dos limites permitem que um invasor substitua um código crítico, travando um aplicativo. Outras vulnerabilidades de RCE podem permitir o encerramento de processos ou a exclusão de dados vitais.
Como impedir a execução remota de código
Os ataques de execução remota de código são possibilitados por vulnerabilidades em aplicativos web corporativos. Alguns dos métodos que as empresas podem usar para reduzir sua exposição aos ataques de RCE incluem:
- Verificação de vulnerabilidades: uma combinação de análise de código estático, para identificar padrões de vulnerabilidade conhecidos, e análise dinâmica como fuzzing pode ajudar os desenvolvedores a identificar e corrigir vulnerabilidades de RCE antes que possam ser exploradas.
- Atualização e correção: as vulnerabilidades de RCE podem ser descobertas em um aplicativo ou nas bibliotecas de terceiros das quais depende. A aplicação imediata de atualizações e correções reduz a janela durante a qual o código vulnerável pode ser explorado.
- Validação de entrada: a maioria das vulnerabilidades de RCE envolve validação de entrada insatisfatória, em que um aplicativo faz suposições sobre os dados fornecidos pelo usuário. A validação de entrada robusta pode eliminar a ameaça da maioria das vulnerabilidades de RCE.
- Monitoramento de rede: As tentativas de exploração de RCE podem ser detectadas e bloqueadas por um aplicativo web e uma solução de proteção de APIs (WAAP). A implantação de soluções de segurança de rede na frente de aplicativos web pode reduzir os possíveis riscos de vulnerabilidades não corrigidas.
Proteção contra RCE com o Cloudflare One
À medida que os aplicativos web mudam cada vez mais para hospedagem baseada em nuvem, protegê-los contra a exploração se torna mais difícil. O Firewall de Aplicativos Web da Cloudflare usa uma enorme variedade de inteligência global contra ameaças para bloquear tentativas remotas de execução de código.
Além disso, o Cloudflare One, a plataforma Serviço de Acesso Seguro de Borda (SASE) da Cloudflare, fornece segurança e monitoramento robustos para aplicativos corporativos internos.