Um Olhar Sobre o Linux: Ameaças, Riscos e Recomendações
O Linux, que começou como um projeto pessoal há 30 anos, é atualmente um dos sistemas operacionais mais poderosos que dominam as plataformas de nuvem e servidores em todo o mundo. Na verdade, o uso do Linux atualmente excedeu o do Windows no Azure, a própria plataforma de nuvem da Microsoft.
O Linux também é inegavelmente onipresente. De acordo com o 2017 State of Linux Kernel Development Report da Linux Foundation, o Linux foi executado em 90% dos workloads em nuvem pública e em nove dos 10 principais provedores de nuvem pública. Além disso, o Linux também rodava em 82% dos smartphones do mundo e tinha uma participação de mercado gigantesca de 99% no mercado de supercomputadores.
Como qualquer software, entretanto, o Linux não está livre de ameaças e riscos relacionados à segurança. À medida que as empresas migram para a nuvem e, consequentemente, para o Linux, não é surpresa que os cibercriminosos mudem seu foco e recursos para atingir esses ambientes — incluindo seus pontos fracos — e conseguir prejudicá-los.
Este artigo tem como objetivo discutir o cenário de ameaças do Linux e examinar como ele se tornou um alvo atraente para invasores, e como ele pode estar sujeito a uma variedade de ameaças e riscos. Isso inclui vulnerabilidades, configurações incorretas e lacunas de segurança, e também malwares. Além de fornecer uma visão geral de alto nível dos problemas de segurança e ameaças que afetam o Linux hoje, este artigo também fornecerá recomendações de segurança essenciais para defender ambientes Linux contra ameaças e ajudar a mitigar riscos.
Vulnerabilidades continuam dominantes na plataforma Linux
Um dos métodos mais comuns usados por cibercriminosos para obter acesso inicial a um ambiente é a exploração de uma vulnerabilidade em um serviço hospedado publicamente. A falta de gerenciamento de vulnerabilidades e procedimentos de rastreamento, para não mencionar a ausência de processos de patch de sistema adequados, pode deixar os sistemas altamente expostos quando uma vulnerabilidade é encontrada e um exploit é publicado. Atualmente, leva apenas alguns dias — às vezes até apenas algumas horas —antes que alguém descubra um exploit para uma vulnerabilidade. Essa preocupação é mais crítica para o Linux, pois a maior parte do código executado nele é de código aberto, e o tempo e as habilidades necessárias para fazer a engenharia reversa de um patch são possivelmente mais curtos do que nunca.
Milhares de vulnerabilidades afetam diferentes distribuições Linux
É importante considerar não apenas as vulnerabilidades na própria plataforma, mas também o que está sendo executado nela, uma vez que a exploração e a exposição são diferentes uma da outra. Deve-se observar, no entanto, que o grande número de vulnerabilidades em um serviço ou plataforma não significa necessariamente que essas vulnerabilidades representem automaticamente um risco substancial para esses sistemas.
Para ter uma noção melhor do volume de vulnerabilidades em várias distribuições Linux, dissecamos os dados de Vulnerabilidades e Exposições Comuns (CVE) de Red Hat, Ubuntu, Debian, Oracle Linux e SUSE. Os gráficos a seguir mostram o número de avisos de segurança emitidos por cada fornecedor para sua respectiva distribuição Linux.
Figura 1. O número de avisos importantes/de alta segurança emitidos por fornecedor ou distribuição Linux por ano de 1º de janeiro de 2015 a 31 de dezembro de 2020
Figura 2. O número de avisos de segurança críticos emitidos por fornecedor ou distribuição Linux por ano de 1º de janeiro de 2015 a 31 de dezembro de 2020
Cada fornecedor de distribuição Linux segue um procedimento diferente de tratamento de vulnerabilidade. Embora os patches dos fornecedores venham em momentos variados, os patches upstream — sejam pacotes originais ou fontes do utilitário — são os primeiros a aparecer. Os fornecedores de Linux são responsáveis por corrigir vulnerabilidades em componentes como o kernel, utilitários de estoque e pacotes. Em 2019, a Red Hat corrigiu mais de 1.000 CVEs em sua distribuição Red Hat Enterprise Linux (RHEL), de acordo com seu Product Security Risk Report. Isso é mais de 70% do número total de vulnerabilidades corrigidas em todos os seus produtos.
Vulnerabilidades do Linux levam a RCE, violações e outros riscos de segurança críticos
Vulnerabilidades no stack de aplicações
Vulnerabilidades no stack de aplicações foram a razão por trás de várias violações no passado. Por exemplo, uma violação bem conhecida na Equifax foi resultado da exploração de uma vulnerabilidade no Apache Struts, conhecida pelo identificador CVE-2017-5638. O framework MITRE ATT&CK lista o “Exploit Public-Facing Application” para ID T1190, que é um ponto de entrada inicial comum para invasores que lhes permite tirar proveito de falhas em workloads voltados para a Internet. Algumas das vulnerabilidades mais populares nesta categoria estão listadas no Open Web Application Security Project (OWASP) Top 10 e em Common Weakness Enumeration and SysAdmin, Audit, Network, and Security (CWE/SANS) Top 25 Most Dangerous Software Errors, que são referências de reconhecimento padrão para desenvolvedores e profissionais de segurança de aplicações da web. Esses documentos representam um amplo consenso dos riscos de segurança mais críticos para essas aplicações, incluindo vulnerabilidades como injeção de SQL, script entre sites (XSS), entidades externas XML (XXEs) e desserialização não segura. Notavelmente, as aplicações da web se tornaram o ponto inicial de entrada em muitos desses ataques, uma vez que são os mais expostos e geralmente são altamente vulneráveis.
Configurações incorretas, lacunas de segurança na nuvem
Configurações incorretas são bastante comuns e sempre foram uma preocupação crítica de segurança. Na verdade, a primeira versão do OWASP Top 10 Web Risks lançada em 2004 incluía o que era então referido como “Gerenciamento de configuração inseguro”, que foi posteriormente revisado para “Configuração incorreta de segurança” na versão 2017 da lista. No sistema CWE, é identificado como CWE-16 ou Configuração, que é descrito como "pontos fracos que são normalmente introduzidos durante a configuração do software”.
Quando as empresas começaram a migrar para a nuvem em busca de resiliência operacional e econômica (especialmente durante a pandemia global), as configurações incorretas se tornaram uma preocupação de segurança ainda maior. Parece que, conforme as empresas e organizações mudaram para novos ecossistemas, elas inadvertidamente trouxeram configurações incorretas para esses novos ambientes — em particular, a nuvem, contêineres e serverless.
A seguir estão as configurações incorretas e as falhas de segurança mais comuns no ambiente Linux.
Usar senhas padrão ou fracas — ou nenhuma
Basta usar uma senha fraca — ou nenhuma — para que os cibercriminosos obtenham acesso irrestrito aos sistemas e ambientes. Infelizmente, o uso de senhas padrão ou fracas ainda é surpreendentemente comum. As senhas, que são informações confidenciais, devem ser as mais seguras possíveis. Para contas administrativas ou de serviço críticas, o uso de chaves e certificados deve ser encorajado em vez de senhas definidas.
Um exemplo conhecido de exploração centrada na falta de autenticação aconteceu na Tesla, quando os cibercriminosos conseguiram acessar um painel de console administrativo aberto e não autenticado. Os invasores conseguiram comprometer um pod do Kubernetes em execução e obtiveram as credenciais AWS da Tesla para executar um malware de mineração de criptomoeda.
Em novembro de 2020, o FBI emitiu um alerta de segurança em que os cibercriminosos estavam abusando de instâncias mal configuradas do SonarQube, uma ferramenta de revisão automática de código aberto que detecta bugs e vulnerabilidades de segurança no código-fonte, a fim de acessar e baixar os códigos-fonte de agências governamentais e organizações privadas. De acordo com o FBI, algumas organizações deixaram esses sistemas expostos na internet. Esses sistemas são executados em sua configuração de instalação padrão (porta 9000) usando credenciais de usuário admin padrão (admin/admin).
Dispositivos de pessoas físicas também estão sujeitos a configurações incorretas. Vários dispositivos de Internet das Coisas (IoT), incluindo (mas não se limitando a) roteadores, câmeras IP e dispositivos de gravação de vídeo digital (DVR), também vêm ou sem senhas ou com senhas padrão que podem ser facilmente encontradas online, conforme visto em Default Passwords Database.
Serviços expostos na Internet (também conhecidos como portas abertas)
Deixar serviços expostos à Internet quando eles deveriam estar acessíveis apenas a redes locais ou adjacentes é uma das configurações incorretas profundamente sérias, embora muitas vezes esquecidas. Além disso, é importante notar que nem todos os ataques se manifestam com alguma forma de "ruído". Ao invés disso, um invasor pode simplesmente deixar um backdoor instalado ou executar uma atividade de baixa computação no host comprometido, o que tornaria essas atividades difíceis de detectar. Manter os serviços e sistemas longe do acesso direto à Internet pública reduziria, portanto, a superfície de ataque.
Como exemplo de serviços expostos na Internet, publicamos uma história sobre como descobrimos mais de 8.000 instâncias do Redis que são executadas sem segurança em diferentes partes do mundo, incluindo aquelas implantadas na nuvem pública. Essas instâncias do Redis foram encontradas sem criptografia TLS e não são protegidas por senha. Posteriormente, identificamos que essas instâncias expostas do Redis estavam sendo abusadas para RCE e mineração de criptomoedas.
Como parte da avaliação de segurança, portas abertas ou grupos de segurança devem ser monitorados regularmente. A valiações de ameaças e riscos (threat and risk assessments ou TRAs) são úteis, mas não são realizadas regularmente, portanto, é recomendável utilizar serviços online (como o Shodan Monitor) que podem monitorar regularmente as infraestruturas e mostrar dispositivos e sistemas voltados para a Internet. Muitas vezes, o Shadow IT, ou o uso de serviços e dispositivos inseguros, levará a serviços expostos sem o conhecimento da segurança ou dos grupos de TI.
Compartilhamentos de arquivos abertos
Embora não seja tão comum quanto expor serviços à Internet, ter compartilhamentos acessíveis ao público pode deixar muitas informações em risco. Compartilhamento de FTP, SMB e NFS, listagens de diretório em servidores web, bem como serviços de armazenamento em nuvem aberta, como Amazon S3 e Azure Blob, podem potencialmente expor dados a um público indesejado. Somente no Shodan, encontramos mais de 3 milhões de servidores FTP expostos publicamente usando a consulta, porta ftp:"21".
APIs expostas e desprotegidas
Com o aumento do DevOps e da automação na última década, as APIs declarativas são mais comuns do que nunca. Algumas aplicações têm um design robusto e controle de acesso nas APIs, enquanto outras têm um design mais fraco e usam medidas de segurança muito relaxadas ou inexistentes. Alguns desses serviços são projetados para serem executados como um microsserviço com acesso apenas de determinados consumidores. Se essas APIs forem acidentalmente deixadas abertas ou não criptografadas, elas podem ser exploradas por vários motivos, como usar recursos de computação, instalar backdoors ou simplesmente sabotar as operações normais de uma organização. Observamos o abuso da API do Docker para executar contêineres desonestos e também discutimos essa exploração em detalhes em várias publicações.
Figura 3. O número total de servidores FTP expostos publicamente de acordo com uma pesquisa do Shodan realizada em 5 de janeiro de 2021
Famílias de malware rodam desenfreadamente no Linux
Todas as diferentes variedades de malware — como ransomware, criptomoedas, rootkits de modo de usuário e kernel, worms, trojans, backdoors, trojans de acesso remoto (remote access trojans ou RATs) — também existem na plataforma Linux. A motivação por trás desses ataques permanece a mesma: ganho financeiro, espionagem, sabotagem, hacktivismo ou simplesmente o desejo de provar que os sistemas podem ser comprometidos.
A seguir estão os tipos de malware mais difundidos no ecossistema Linux.
Ransomware
O ransomware dispensa apresentações. Com milhões de dólares pagos a cibercriminosos (com e sem sucesso de descriptografia), é de longe a categoria de malware mais bem-sucedida dos últimos tempos. Dada a prevalência do Linux, os agentes de ransomware consideram o sistema operacional um alvo muito lucrativo.
RansomEXX/Defray777
De acordo com a empresa de segurança gerenciada Secureworks, o RansomEXX (também conhecido como Defray777) está associado ao grupo cibercriminoso Gold Dupont. Os objetivos do grupo estão focados no ganho financeiro por meio do uso de suas principais ferramentas: RansomEXX, Cobalt Strike, Metasploit e o carregador Vatet. Em 2017, descobriu-se que o grupo tinha como alvo os setores de saúde, educação, manufatura e tecnologia. Recentemente, RansomEXX foi portado para Linux. Na verdade, em dezembro de 2020, os cibercriminosos expuseram dados críticos da empresa que haviam exfiltrado de um ataque RansomEXX, porque a empresa optou por não pagar o resgate e, em vez disso, restaurou seus sistemas por meio de backups.
Erebus
O Erebus foi visto pela primeira vez em setembro de 2016 por meio de “malvertising”, o uso de anúncios para propagar campanhas de malware. Posteriormente, ele reapareceu em fevereiro de 2017 e usou um método que ignora o Controle de Conta de Usuário (UAC) do Windows. Em junho de 2017, o Erebus infectou 153 servidores Linux da NAYANA, uma empresa sul-coreana de hospedagem na web e, consequentemente, 3.400 sites de negócios que a empresa hospeda. Pode-se inferir que o Erebus pode ter potencializado vulnerabilidades ou um exploit local do Linux (como a vulnerabilidade Dirty COW) que poderia ter fornecido aos atacantes acesso root a sistemas Linux vulneráveis.
Mineradores de criptomoeda
Um motivo relativamente novo para os invasores envolve a infiltração e a exploração de recursos de computação para minerar criptomoedas. Os cibercriminosos podem explorar a mineração de criptomoedas, uma atividade extremamente intensiva em recursos, infectando dispositivos e sistemas com mineradores maliciosos para roubar recursos de suas vítimas.
Em um blog, detalhamos como o malware de mineração de criptomoeda do Linux pode executar código arbitrário por meio da exploração de vulnerabilidade, ataques de força bruta ou abuso de APIs de serviço expostas. Também discutimos o comportamento das amostras de malware de mineração de criptomoedas que vimos visando máquinas host Linux: elas também eliminam qualquer outro malware de mineração de criptomoedas em uma máquina infectada e procuram ferramentas poderosas com poderes de computação quase ilimitados, como contêineres Docker ou Redis.
Outro coinminer, detectado pela Trend Micro como Coinminer.Linux.MALXMR.SMDSL64, foi descoberto por ter explorado vulnerabilidades comuns, como o SaltStack Authorization Bypass (CVE-2020-11651) e o SaltStack Directory Traversal (CVE-2020-11652), de acordo com dados da Trend Micro™ Smart Protection Network™. No início deste ano, os pesquisadores encontraram um diretório aberto que contém arquivos maliciosos, que foram relatados pela primeira vez em uma série de tweets pelo MalwareHunterTeam. Depois de analisar alguns dos arquivos, encontramos um minerador de criptomoeda malicioso e um bot de negação de serviço distribuído (distributed denial-of-service ou DDoS) que tem como alvo portas abertas do Docker Daemon. Este minerador de moedas foi posteriormente detectado como Coinminer.SH.HADGLIDER.A.
Scripts maliciosos
Os shell scripts são utilizados por sua simplicidade. Com eles, os programadores Unix podem facilmente executar vários comandos Linux que estão embutidos em um único arquivo. Os shell scripts são interpretados pelo shell ou pelo interpretador de linha de comando do Linux. Essa ferramenta, que pode ser encontrada em todas as máquinas UNIX, também é explorada por cibercriminosos.
Esconder um script malicioso é mais fácil do que usar malware compilado. Existem vários motivos por trás da popularidade do uso de scripts maliciosos para ataques ao Linux:
- Eles são fáceis de carregar como arquivos de texto.
- Eles são menores em tamanho.
- Eles são menos prováveis de serem detectados facilmente.
- Eles podem ser criados instantaneamente.
Depois que esses scripts chegam ao host de destino, eles são executados em um local seguro onde não podem ser sinalizados, como a pasta /tmp. Geralmente, esses scripts não realizam nada malicioso por conta própria, embora se conectem ao servidor de comando e controle (command-and-control ou C&C) para baixar malware.
Web shells e backdoors
Um web shell é um script que um invasor planta em um servidor da web para ajudá-lo a executar comandos que ele pode controlar ou simplesmente para obter acesso direto aos sistemas comprometidos. Em agosto de 2020, encontramos o Ensiko, um web shell PHP voltado para Linux, Windows, macOS ou qualquer outra plataforma que tenha PHP instalado. Além de executar código remotamente, os invasores também podem executar comandos shell e desfigurar sites usando essa variante de malware.
Os cibercriminosos também usam backdoors para obter acesso a sistemas críticos, como o detectado pela Trend Micro como Backdoor.Linux.KINSING.A. Este malware é um agente Linux baseado em Golang que procura portas da API do Docker Daemon configuradas incorretamente para executar um contêiner do Ubuntu.
Rootkits
Os Rootkits são ameaças persistentes que devem ser difíceis de detectar ou observar. O principal objetivo de um rootkit é manter a si mesmo e a outras ameaças de malware sem o conhecimento, por um lado, de administradores, analistas e usuários e, por outro lado, sem serem detectados por varreduras, análises forenses e ferramentas do sistema. Os rootkits também podem abrir um backdoor ou usar um servidor C&C e fornecer a um invasor maneiras de controlar e espionar uma máquina afetada.
Umbreon
No Linux, quando um programa chama a função printf(), existem outras funções em cascata na mesma biblioteca que podem ser chamadas posteriormente, como _IO_printf() e vprintf(). Todas essas funções acabam chamando a chamada de sistema write(). Um exemplo disso é o rootkit Umbreon, que detectamos há alguns anos. Em nossa análise técnica, fornecemos detalhes do Umbreon, um rootkit com várias arquiteturas voltadas para Linux e outros sistemas que executam processadores Intel e ARM.
Drovorub
Fancy Bear, que também atende por Pawn Storm, Sednit, APT28, Sofacy e Strontium, é uma organização de ciberespionagem ativa que se tornou notória por espionagem doméstica e estrangeira, especialmente nos últimos anos. Este grupo é responsável por um conjunto de ferramentas de malware Linux chamado Drovorub, que pode se conectar a uma infraestrutura C&C, baixar e carregar arquivos maliciosos e executar RCE.
Diamorphine
O Diamorphine é um rootkit de módulo de kernel carregável (LKM) usado para kernels Linux 2.6.x/3.x/4.x/5.x e ARM64. Ele merece uma menção aqui, pois foi usado em ataques recentes no início de 2020 por um grupo de invasores chamado TeamTNT. De acordo com a Cado Security, os agentes mal-intencionados usaram o Diamorphine junto com uma variante de malware semelhante ao worm Kinsing para roubar credenciais da AWS e credenciais locais, bem como para verificar a Internet em busca de servidores de API de Docker e Kubernetes mal configurados e expostos.
A onipresença do Linux e seu uso para lidar com informações críticas o tornam um alvo muito lucrativo para os invasores. A lista crescente de famílias de ransomware voltadas para o Linux e o grande número de vulnerabilidades sendo exploradas por agentes mal-intencionados para comprometer o ambiente Linux serve como evidência do mesmo. Essas ameaças baseadas em Linux confirmam a necessidade de segurança reforçada, especialmente para empresas e organizações que usam o sistema operacional em plataformas críticas comerciais.
Recomendações de segurança para sistemas Linux
À medida que as empresas operam e inovam em velocidades sem precedentes, o uso do Linux está fadado a se tornar ainda mais difundido do que é agora. Mais significativamente, à medida que mais usuários e empresas visadas confiam no Linux para suas infraestruturas e sistemas online, é inevitável que os cibercriminosos também visem cada vez mais os ambientes Linux para obter ganhos financeiros.
Aqui estão algumas recomendações de segurança para manter os sistemas Linux seguros:
- Adote as práticas de infraestrutura como código (infrastructure as code ou IaC) para garantir que os sistemas sejam criados corretamente e que suas configurações permaneçam conforme o planejado.
- Adote o princípio do menor privilégio e o modelo de responsabilidade compartilhada.
- Mantenha a visibilidade em primeiro lugar. Monitore todos os dispositivos, sistemas e redes.
- Substitua as senhas padrão por outras fortes e seguras. Sempre opte pela autenticação multifator.
- Aplique patches e atualize seus sistemas regularmente.
Soluções Trend Micro
A solução XDR abrangente da Trend Micro aplica a análise especializada mais eficaz aos conjuntos de dados profundos coletados das soluções da Trend Micro em toda a empresa, fazendo conexões mais rápidas para identificar e interromper ataques. Poderosa inteligência artificial (AI) e análises de segurança especializadas correlacionam dados de ambientes de clientes e a inteligência global de ameaças da Trend Micro para fornecer menos alertas de maior fidelidade, levando a uma detecção melhor e precoce. Uma console com uma fonte de alertas priorizados e otimizados, com suporte de investigação guiada, simplifica as etapas para obter um entendimento completo do caminho do ataque e do impacto na organização.
Soluções de segurança específicas da nuvem como a Trend Micro Hybrid Cloud Security, podem ajudar a proteger os sistemas nativos da nuvem e suas várias camadas. A Hybrid Cloud Security é atendida pela Trend Micro Cloud One™, uma plataforma de serviços de segurança para criadores de nuvem que fornece proteção automatizada para pipelines de integração contínua e entrega contínua (CI/CD) e aplicações. Também ajuda a identificar e resolver problemas de segurança mais rapidamente e melhorar o tempo de entrega para as equipes de DevOps. A Cloud One inclui:
- Workload Security: proteção de tempo de execução para workloads
- Container Security: varredura avançada de imagem de contêiner e proteção de tempo de execução de contêiner
- File Storage Security: segurança para arquivos em nuvem e serviços de armazenamento de objetos
- Network Security: camada de rede em nuvem para segurança do sistema de prevenção de intrusão (IPS)
- Application Security: segurança para funções serverless, APIs e aplicações
- Conformity: segurança em tempo real para infraestrutura em nuvem — proteja, otimize, esteja em conformidade
Like it? Add this infographic to your site:
1. Click on the box below. 2. Press Ctrl+A to select all. 3. Press Ctrl+C to copy. 4. Paste the code into your page (Ctrl+V).
Image will appear the same size as you see above.
Postagens recentes
- Ransomware Spotlight: Ransomhub
- Unleashing Chaos: Real World Threats Hidden in the DevOps Minefield
- From Vulnerable to Resilient: Cutting Ransomware Risk with Proactive Attack Surface Management
- AI Assistants in the Future: Security Concerns and Risk Management
- Silent Sabotage: Weaponizing AI Models in Exposed Containers