Definição de código malicioso
Código malicioso é um script de programação prejudicial projetado para criar ou explorar vulnerabilidades do sistema. Este código foi projetado por um ator de ameaças para causar alterações indesejadas, danos ou acesso contínuo aos sistemas de computador.
Esses códigos podem resultar em "back doors", violações de segurança, roubo de informações e dados, e outros possíveis danos a arquivos e a sistemas de computação.
O que é código malicioso?
Código malicioso é a linguagem na qual partes hostis "falam" para manipular sistemas de computador e induzi-los a comportamentos perigosos. Ele é criado escrevendo alterações ou complementos na programação existente de programas de computador, arquivos e infraestrutura.
Essa ameaça é a ferramenta fundamental usada para realizar a grande maioria dos ataques de cibersegurança. Os invasores investigam e encontram vulnerabilidades que são baseadas nas linguagens usadas para programar computadores.
Eles então criam "frases" conhecidas como scripts ou listas de comandos para explorar essas vulnerabilidades nesses idiomas. Esses scripts podem ser reutilizados e automatizados por meio de macroinstruções, ou macros, para abreviar.
Invasores e demais infratores agiriam de maneira muito lenta se fossem restritos a métodos manuais de explorar sistemas de computador. Infelizmente, o código malicioso permite que eles automatizem seus ataques.
Alguns códigos podem até se replicar, se espalhar e causar danos por conta própria. Outros tipos de código podem exigir que os usuários baixem ou interajam com ele.
As consequências dos códigos maliciosos podem resultar em:
- Corrupção dos dados;
- Ataques de negação distribuída de serviço (DDoS);
- Roubo de credenciais e roubo de informações privadas;
- Resgate e extorsão;
- Inconvenientes.
Para ajudar você a se proteger, vamos explorar como essas ameaças funcionam.
Como funciona um código malicioso?
Qualquer componente programado de um sistema de computador pode ser manipulado por um código malicioso. Componentes em larga escala, como infraestrutura de redes de computadores, e componentes menores, como aplicativos móveis ou de desktop, são todos alvos comuns.
Serviços da Web, como sites e servidores online, também podem ser alvos. O código malicioso pode infectar qualquer dispositivo que utilize um computador para operar, como:
- Dispositivos de computador tradicionais — desktops, notebooks, celulares e tablets.
- Dispositivos IoT — dispositivos domésticos inteligentes, sistemas de entretenimento e informação em veículos (IVI).
- Dispositivos de rede de computadores — modems, roteadores, servidores.
Os atacantes usam scripts e programas maliciosos para violar partes confiáveis dos sistemas de computador. A partir deste ponto, eles têm como objetivo fazer um ou mais dos seguintes:
1. Expor os usuários a códigos maliciosos, infectando-os e espalhando-os ainda mais.
2. Acessar informações privadas nos sistemas violados.
3. Monitorar o uso de um sistema comprometido.
4. Invadir mais profundamente um sistema.
Códigos maliciosos são criados e utilizados em algumas fases distintas. Eles podem precisar de interação humana ou de outras ações do computador para acionar o próximo evento em cada estágio. Alguns códigos podem até operar de forma completamente autônoma. A maioria dos códigos maliciosos segue esta estrutura:
1. Sondar e investigar vulnerabilidades.
2. Programar ao escrever um código para explorar vulnerabilidades.
3. Expor sistemas de computador a códigos maliciosos.
4. Executar o código por de um programa relacionado ou por conta própria.
Sondagem e programação são a fase de configuração de um ataque. Antes que um atacante possa invadir um sistema, ele deve primeiro ter as ferramentas para invadi-lo.
Será necessário criar o código, se ele ainda não existir, mas também é possível usar ou modificar código malicioso existente para preparar o ataque.
O resultado de scripts maliciosos é um aplicativo autoexecutável que pode se ativar sozinho e assumir várias formas. Alguns podem incluir macros e scripts em JavaScript, controles ActiveX, uso indevido do Powershell, conteúdo empurrado, plugins, linguagens de script ou outras linguagens de programação projetadas para aprimorar páginas da Web e e-mails.
A exposição de sistemas de computador pode ocorrer por meio de portas de interface direta, como USB, ou conexões de rede online, como móvel e wi-fi. A exposição bem-sucedida só requer um meio para o código malicioso chegar ao computador.
A exposição em ataques generalizados depende de canais de alto contato, como sites populares e spam por e-mail, enquanto esforços mais direcionados usam métodos de engenharia social, como spear phishing.
Alguns esforços internos podem até mesmo inserir códigos maliciosos em uma rede privada, como uma intranet corporativa, por meio de conexão direta de um pendrive em um computador local do usuário final.
A execução ocorre quando um sistema exposto é compatível com o código malicioso. Uma vez que um dispositivo ou sistema-alvo é exposto a um código malicioso, o ataque resultante pode incluir tentativas não autorizadas de:
- Modificar dados — criptografia não permitida, enfraquecer a segurança etc.
- Excluir ou corromper dados — servidores de sites etc.
- Obter dados — credenciais de conta, informações pessoais etc.
- Acesso a sistemas restritos — redes privadas, contas de e-mail etc.
- Executar ações — replicando-se, espalhando códigos maliciosos, controlando dispositivos remotamente etc.
Como o código malicioso se espalha?
Códigos maliciosos também podem ser usados para violar sistemas por conta própria, habilitar atividades maliciosas secundárias ou se replicar e se espalhar. De qualquer forma, o código original deve ser transferido de um dispositivo para outro.
Essas ameaças podem se espalhar por quase qualquer canal de comunicação que transmite dados. Frequentemente, os vetores de propagação incluem:
Redes online — intranets, compartilhamento de arquivos P2P, sites públicos da internet etc.;
Comunicações sociais — e-mail, SMS, conteúdo push, aplicativos de mensagens móveis etc.;
Conectividade sem fio — Bluetooth etc.;
Interfaces diretas de dispositivos — USB etc.
Visitar sites infectados ou clicar em um link ou anexo de e-mail malicioso são portas de entrada comuns para códigos maliciosos se infiltrarem em seu sistema. No entanto, essa ameaça pode vir de fontes legítimas, assim como de fontes explicitamente maliciosas.
Qualquer coisa, desde estações públicas de carregamento USB até ferramentas de atualização de software exploradas, tem sido usada para esses fins.
A "embalagem" do código malicioso nem sempre é óbvia, mas as conexões de dados públicos e qualquer serviço de mensagens são os caminhos mais importantes para se observar. Downloads e links de URL são frequentemente usados por atacantes para incorporar códigos perigosos.
Tipos de código malicioso
Muitos tipos de códigos maliciosos podem prejudicar o seu computador ao encontrar pontos de entrada que levam aos seus dados valiosos. Dentre a lista cada vez maior, aqui estão alguns dos principais culpados.
Vírus
Vírus são códigos maliciosos autorreplicantes que se anexam a programas habilitados para macro para se executarem. Esses arquivos viajam por meio de documentos e outros downloads de arquivos, permitindo que o vírus se infiltre no seu dispositivo.
Assim que o vírus é executado, ele pode se autopropagar e se espalhar pelo sistema e pelas redes conectadas.
Worms
Worms também são códigos autorreplicantes e autoespalháveis como vírus, mas não requerem nenhuma ação adicional para cumprir seu objetivo. Uma vez que um worm de computador tenha chegado ao seu dispositivo, essas ameaças maliciosas podem se executar completamente por conta própria, sem qualquer assistência de um programa executado pelo usuário.
Cavalos de Troia
Os Cavalos de Troia são arquivos de isca que carregam cargas úteis de código malicioso, exigindo que o usuário use o arquivo ou programa para executá-lo. Essas ameaças não podem se autorreplicar ou se espalhar de forma autônoma.
No entanto, sua carga maliciosa pode conter vírus, worms ou qualquer outro código.
Scripting entre sites (XSS)
O scripting entre sites interfere na navegação do usuário ao injetar comandos maliciosos nos aplicativos da Web que ele pode usar. Isso altera o conteúdo da Web, intercepta informações confidenciais ou serve uma infecção ao próprio dispositivo do usuário.
Ataques de backdoor
O acesso de backdoor ao aplicativo pode ser codificado para dar a um cibercriminoso acesso remoto ao sistema comprometido. Além de expor dados sensíveis, como informações de empresas privadas, uma backdoor pode permitir que um atacante se torne uma ameaça persistente avançada (APT).
Cibercriminosos podem então se mover lateralmente através do nível de acesso recém-obtido, apagar os dados de um computador ou até mesmo instalar spyware. Essas ameaças podem atingir um nível elevado: o Government Accountability Office dos EUA até mesmo alertou sobre a ameaça de códigos maliciosos contra a segurança nacional.
Exemplos de ataques de código malicioso
Códigos maliciosos podem se apresentar de diversas formas e têm sido muito ativos no passado. Entre os casos desses ataques, aqui estão alguns dos mais conhecidos:
Cavalo de Troia Emotet
No início em 2014, o cavalo de Troia Emotet evoluiu de malware para um spam de e-mail carregado com código malicioso. Os atacantes usavam táticas de phishing, como linhas de assunto de e-mail urgentes (ex: "Pagamento Necessário"), para enganar os usuários a fazerem downloads.
Uma vez em um dispositivo, o Emotet é conhecido por executar scripts que entregam vírus, instalam malware de comando e controle (C&C) para recrutamento de botnets e muito mais. Essa ameaça deu uma pausa breve em 2018, retornando como malware por SMS no processo.
Worm Stuxnet
Desde 2010, o worm de computador Stuxnet e seus sucessores têm como alvo a infraestrutura nacional. Seu primeiro ataque documentado envolveu instalações nucleares iranianas por meio de um pendrive, destruindo equipamentos críticos. Stuxnet já cessou, mas seu código-fonte foi usado para criar ataques direcionados semelhantes até 2018.
Como se proteger contra ataques de códigos maliciosos
Para a maioria das ameaças maliciosas, o software antivírus com atualizações automáticas, capacidades de remoção de malware e segurança para navegação na Web é a melhor defesa. No entanto, pode não ser possível evitar códigos maliciosos apenas com software antivírus.
Os antivírus normalmente evitam e removem vírus e outras formas de malware, ou software malicioso, que é uma subcategoria de códigos maliciosos. A categoria mais ampla de códigos maliciosos inclui scripts de sites que podem explorar vulnerabilidades para fazer upload de malware.
Por definição, nem toda proteção antivírus pode tratar certas infecções ou ações causadas por códigos maliciosos.
Embora o antivírus ainda seja essencial para a remoção e defesa proativa contra infecções, aqui estão algumas maneiras valiosas de se proteger:
- Instale um software contra scripting para evitar que o JavaScript e códigos relacionados sejam executados sem autorização.
- Tenha cautela com links e anexos. Qualquer mensagem que contenha links de URL ou anexos — seja por e-mail ou mensagem de texto — pode ser um vetor para códigos maliciosos.
- Ative o bloqueador de pop-ups do seu navegador para evitar que scripts sirvam conteúdo malicioso em janelas indesejadas.
- Evite usar contas de nível administrativo para uso diário. Geralmente são necessárias permissões de alto nível para executar scripts e programas de forma automática.
- Utilize backups de dados para proteger arquivos e documentos insubstituíveis.
- Cuidado ao usar qualquer conexão de dados pública. As conexões USB costumam ser são negligenciadas, mas podem facilmente conter códigos maliciosos. O wi-fi público também é uma ameaça comum que os atacantes podem usar para distribuir códigos maliciosos.
- Use um firewall devidamente configurado para bloquear conexões não autorizadas. Se um código malicioso se infiltrar em sua máquina e se conectar para solicitar cargas de malware, um firewall pode ajudar a impedir isso. Confirme se o firewall está configurado para bloquear por padrão e permitir apenas as conexões esperadas e confiáveis na lista de permissões.