Milhares de servidores hackeados em ataque contínuo visando a estrutura Ray AI

Photo of author

By Sohaib


Imagens Getty

Milhares de servidores que armazenam cargas de trabalho de IA e credenciais de rede foram hackeados em uma campanha de ataque contínua visando uma vulnerabilidade relatada no Ray, uma estrutura de computação usada pela OpenAI, Uber e Amazon.

Os ataques, que estão ativos há pelo menos sete meses, levaram à adulteração de modelos de IA. Eles também resultaram no comprometimento das credenciais de rede, permitindo acesso a redes e bancos de dados internos e tokens para acessar contas em plataformas como OpenAI, Hugging Face, Stripe e Azure. Além de corromper modelos e roubar credenciais, os invasores por trás da campanha instalaram mineradores de criptomoedas em infraestruturas comprometidas, que normalmente fornecem enormes quantidades de poder computacional. Os invasores também instalaram shells reversos, que são interfaces baseadas em texto para controlar servidores remotamente.

Tirando a sorte grande

“Quando os invasores colocam as mãos em um cluster de produção Ray, é uma sorte grande”, escreveram pesquisadores da Oligo, a empresa de segurança que detectou os ataques, em um comunicado. publicar. “Dados valiosos da empresa, além da execução remota de código, facilitam a monetização de ataques – tudo isso permanecendo nas sombras, totalmente indetectáveis ​​(e, com ferramentas de segurança estáticas, indetectáveis).”

Entre as informações confidenciais comprometidas estão as cargas de trabalho de produção de IA, que permitem aos invasores controlar ou adulterar modelos durante a fase de treinamento e, a partir daí, corromper a integridade dos modelos. Clusters vulneráveis ​​expõem um painel central para a Internet, uma configuração que permite que qualquer pessoa que o procure veja um histórico de todos os comandos inseridos até o momento. Esse histórico permite que um invasor aprenda rapidamente como funciona um modelo e a quais dados confidenciais ele tem acesso.

Oligo capturou capturas de tela que expuseram dados privados confidenciais e exibiu históricos indicando que os clusters foram hackeados ativamente. Os recursos comprometidos incluíam hashes de senha criptográfica e credenciais para bancos de dados internos e para contas no OpenAI, Stripe e Slack.

Ray é uma estrutura de código aberto para dimensionar aplicativos de IA, o que significa permitir que um grande número deles seja executado ao mesmo tempo de maneira eficiente. Normalmente, esses aplicativos são executados em enormes clusters de servidores. A chave para fazer tudo isso funcionar é um painel central que fornece uma interface para exibir e controlar tarefas e aplicativos em execução. Uma das interfaces de programação disponíveis através do dashboard, conhecida como Jobs API, permite aos usuários enviar uma lista de comandos ao cluster. Os comandos são emitidos usando uma solicitação HTTP simples que não requer autenticação.

No ano passado, pesquisadores da empresa de segurança Bishop Fox sinalizou o comportamento como uma vulnerabilidade de execução de código de alta gravidade rastreada como CVE-2023-48022.

Uma estrutura de execução distribuída

“Na configuração padrão, Ray não impõe autenticação”, escreveu Berenice Flores Garcia, consultora sênior de segurança da Bishop Fox. “Como resultado, os invasores podem enviar trabalhos livremente, excluir trabalhos existentes, recuperar informações confidenciais e explorar outras vulnerabilidades descritas neste comunicado.”

Anyscale, o desenvolvedor e mantenedor do Ray, respondeu por contestando a vulnerabilidade. Funcionários da Anyscale disseram que sempre consideraram o Ray como uma estrutura para execução remota de código e, como resultado, há muito aconselhado deve ser devidamente segmentado dentro de uma rede devidamente segura.

“Devido à natureza de Ray como uma estrutura de execução distribuída, o limite de segurança de Ray está fora do cluster Ray”, escreveram funcionários da Anyscale. “É por isso que enfatizamos que você deve impedir o acesso ao seu cluster Ray de máquinas não confiáveis ​​(por exemplo, a Internet pública).”

A resposta da Anyscale disse que o comportamento relatado na API de empregos não era uma vulnerabilidade e não seria resolvido em uma atualização de curto prazo. A empresa prosseguiu dizendo que eventualmente introduziria uma mudança que imporia a autenticação na API. Explicou:

Consideramos muito seriamente se algo assim seria ou não uma boa ideia, e até o momento não a implementamos por medo de que nossos usuários depositassem muita confiança em um mecanismo que poderia acabar fornecendo uma fachada de segurança sem proteger adequadamente seus clusters da maneira que eles imaginaram.

Dito isto, reconhecemos que mentes razoáveis ​​podem divergir nesta questão e, consequentemente, decidimos que, embora ainda não acreditemos que uma organização deva confiar em controles de isolamento dentro do Ray, como autenticação, pode haver valor em certos contextos na promoção de um estratégia de defesa em profundidade e, portanto, implementaremos isso como um novo recurso em uma versão futura.

Os críticos da resposta do Anyscale observaram que os repositórios para agilizar a implantação do Ray em ambientes de nuvem vinculam o painel a 0.0.0.0, um endereço usado para designar todas as interfaces de rede e para designar o encaminhamento de porta no mesmo endereço. Um desses clichês para iniciantes é disponível no próprio site da Anyscale. Outro exemplo de configuração vulnerável disponível publicamente é aqui.

Os críticos também observam que a afirmação da Anyscale de que o comportamento relatado não é uma vulnerabilidade impediu que muitas ferramentas de segurança sinalizassem ataques.

Um representante da Anyscale disse por e-mail que a empresa planeja publicar um script que permitirá aos usuários verificar facilmente se suas instâncias Ray estão expostas à Internet ou não.

Os ataques contínuos ressaltam a importância de configurar adequadamente o Ray. Nos links fornecidos acima, Oligo e Anyscale listam práticas que são essenciais para bloquear clusters. Oligo também forneceu uma lista de indicadores que os usuários do Ray podem usar para determinar se suas instâncias foram comprometidas.

Leave a Comment