Aikido

Como Aikido pentest de IA por design

Escrito por
Sooraj Shah

Já ouviu falar de toda a histeria em torno dos agentes de IA e de todas as possibilidades aparentemente ilimitadas. E embora essas possibilidades sejam muito boas, só está realmente interessado nas capacidades da IA agênica que resolvem os seus problemas reais de frente.

E então, quando pensa em todos os ganhos de produtividade e benefícios de ROI, você para e pensa:«Ok, isso é ótimo, mas e se esses agentes saírem do seu âmbito?» - isso independentemente de você estar a implementar os seus próprios agentes de IA internamente ou a beneficiar dos recursos de agentes de IA de um fornecedor externo.

E essa é uma pergunta válida. Os agentes, assim como outros recursos de IA, precisam de restrições. Sem elas, podem ficar descontrolados. Os agentes são curiosos por natureza. Como uma criança pequena, eles vão tentar abrir todas as portas que conseguirem alcançar. Em muitos casos, é necessário que eles explorem, mas também é preciso garantir que as portas que não devem ser abertas estejam fisicamente trancadas. 

Quando se trata de segurança cibernética, isso é ainda mais importante: os requisitos mínimos de segurança para agentes de IA precisam ser ainda mais rigorosos. Para Aikido , o nosso pentest de IA , considerámos todas as camadas para impedir que os agentes saiam do âmbito. Isto abrange elementos como testar acidentalmente a produção e perder o controlo.

Sair do escopo é um dos principais tópicos sobre os quais os líderes e engenheiros de segurança nos questionam, e é algo que levámos em consideração ao desenvolver a nossa plataforma desde o início. Naturalmente, como empresa de cibersegurança, queríamos acertar nessa questão.

Vale lembrar que se espera que os agentes tentem caminhos inesperados ou arriscados, mas que existem barreiras para conter esse comportamento, não para impedi-lo.

Aikido e o Infinite trabalham com uma abordagem em camadas, utilizando tanto limites rígidos como limites flexíveis. Aqui estão os elementos-chave que precisa de conhecer:

Camada 1: Separação arquitetónica rígida: Plano de controlo vs execução

O sistema Aikidoé arquitetado com uma separação rigorosa entre o sistema que planeia e avalia os testes de penetração (o plano de controlo) e o ambiente que realmente executa as ações (a sandbox de execução isolada). 

Todo o raciocínio, orquestração e acesso a dados confidenciais ocorrem no plano de controlo. A execução de ferramentas, a automação do navegador e as interações de rede ocorrem num ambiente separado.

A separação existe porque assumimos que a execução pode apresentar mau funcionamento e, portanto, qualquer impacto deve ser contido. É por esse motivo que o ambiente de execução não tem acesso a secrets de orquestração, infraestrutura interna ou sistemas de plano de controlo. 

Camada 2: Aplicação do escopo de tempo de execução

A produção nunca é considerada como estando dentro do escopo.

O nosso sistema nunca assume que a produção está dentro do âmbito a ser atacado. Espera-se que o teste de penetração seja executado apenas em ambientes de teste e de preparação. A produção deve ser explicitamente configurada como estando dentro do âmbito e, mesmo assim, isso seria revisto e confirmado antes de qualquer execução. 

Vimos as nossas barreiras de proteção funcionarem na prática. Num caso, um agente seguiu um comportamento de aplicação que o teria levado à infraestrutura de produção. A barreira rígida que temos em vigor bloqueou a solicitação na camada de rede. No entanto, pudemos ver que o agente tentou. Essa tentativa bloqueada é a prova de que as nossas barreiras de proteção funcionam. 

Apenas os domínios autorizados podem ser acedidos 

Os nossos agentes só podem interagir com domínios explicitamente configurados. Se um domínio não estiver na lista de permissões, ele será bloqueado no nível da rede. Isso é algo que você mesmo pode configurar, especificando quais domínios são vulneráveis a ataques ou acessíveis. Simplificando, bloqueamos domínios por padrão para impedir que o agente interaja com servidores com os quais não deve interagir.

Isso significa que não dependemos de avisos ou de pessoas para fazer cumprir o escopo. Aikido faz isso sozinho.

O desvio acidental do escopo é bloqueado

De volta à nossa analogia com crianças pequenas. Embora a maioria dos outros controlos de segurança impeça que os agentes saiam do âmbito, há um número limitado de agentes que, bem, simplesmente o fazem. Especialmente quando se tem 250 agentes a funcionar ao mesmo tempo. 

Um exemplo clássico disso é quando um agente é redirecionado para uma aplicação externa através de um link e presume que ainda está na mesma página, mas na verdade está noutro site. De repente, ele está no X ou no Reddit e presume que isso faz parte do escopo.

É por isso que são necessárias verificações rigorosas para proteger os agentes de, bem, eles próprios. Como diz Phillippe Dourassov, líder de testes de penetração de IA na Aikido :

«Haverá 5% dos agentes que nem sempre são sensatos, e é por isso que nos certificamos de lidar com esses 5%».

Camada 3: Injeção de prompt e exfiltração de dados 

Sabemos que a injeção imediata é um risco fundamental em sistemas de IA autônomos, em que um invasor insere instruções maliciosas no conteúdo que o agente lê. O agente interpreta essas instruções como orientações legítimas e as segue.

Isso pode significar conteúdo que incita os agentes a enviar o código-fonte ou dados internos para algum lugar onde não deveriam estar. Essa vulnerabilidade surge da exposição a conteúdo não confiável e da ação subsequente. Aikido ambas as opções.

Primeiro, os agentes Aikidonão têm acesso aberto à Internet. Isso significa que os agentes não podem fazer uma pesquisa no Google para descobrir como um tipo de tecnologia funciona, nem acessar o Reddit e seguir instruções para fazer algo inseguro. O único conteúdo que eles processam é o que existe dentro do próprio aplicativo em questão. 

Em segundo lugar, mesmo que instruções maliciosas fossem de alguma forma inseridas no aplicativo alvo, os agentes ainda não teriam permissão para extrair dados. Restrições no nível da rede impedem conexões de saída para destinos aleatórios, de modo que o agente não pode enviar o código-fonte para o Google Drive, publicar em um endpoint externo ou enviar dados para um domínio controlado pelo invasor.

Aplicamos isso na camada de rede, interceptando e controlando o tráfego HTTP e DNS dos agentes, impedindo-os de resolver ou comunicar-se com domínios que não sejam explicitamente aprovados.

Portanto, na pior das hipóteses, em que um modelo interpreta mal as instruções, ele continuará incapaz de enviar qualquer coisa para fora.

Um caso extremo que vale a pena mencionar é se um cliente deliberadamente injetar instruções maliciosas no seu próprio ambiente (embora não tenhamos a certeza do motivo para isso?!), o agente pode muito bem processar isso. Mas, mesmo assim, o único impacto será no próprio teste do cliente. Não há risco entre locatários, exposição da infraestrutura ou vazamento de dados além do que eles já controlam. 

Camada 4: Sandboxes isoladas para cada agente

Cada um dos nossos agentes tem a sua própria área isolada (pense em uma criança em um cercadinho). Isso significa que eles estão separados tanto da infraestrutura interna Aikido quanto de outros agentes que estão a funcionar ao mesmo tempo. Isso significa que eles estão separados do acesso à rede, infraestrutura e bases de dados Aikidoe não podem interferir ou influenciar outras sessões ativas.

Se algo se comportar de forma inesperada durante um teste, o impacto fica restrito a essa única área restrita, evitando tanto o impacto entre agentes quanto a exposição entre locatários. 

Camada 5: Salvaguardas operacionais

Todas as solicitações têm limite de taxa e são sensíveis à carga, garantindo que os testes não sobrecarreguem os sistemas de destino nem acionem uma enxurrada de alertas.

Além disso, os testes podem ser pausados ou encerrados imediatamente a qualquer momento. Os clientes podem ver o que os agentes estão a fazer em tempo real. Todas as solicitações e ações são visíveis. Isso significa que as equipas podem intervir se considerarem necessário.

Validação da configuração

Erros de configuração são mais prováveis do que comportamentos maliciosos. É por essa razão que, antes do início dos testes, Aikido verificações prévias para validar a autenticação e a acessibilidade. Se alguém parecer mal configurado ou se assemelhar a um ambiente de produção, os avisos são exibidos antecipadamente. Isso significa que as salvaguardas são projetadas para detectar erros humanos antes do início da execução, em vez de depender de controlos de tempo de execução para corrigir erros de configuração evitáveis.

Fronteiras flexíveis

A nossa abordagem em camadas significa que também temos limites flexíveis. É aqui que não seria necessário um domínio para que os agentes pudessem utilizá-lo. 

Por exemplo, se tiver um portal de autenticação, dentro desse portal, pode querer que os agentes utilizem a autenticação para iniciar sessão na aplicação, mas não quer que os agentes ataquem o próprio portal.

A fronteira flexível significa que os agentes ainda podem aceder ao portal de autenticação, mas recebem instruções específicas para não o atacar. 

Como o escopo é aplicado: Humano vs. pentest de IA

Num teste de penetração tradicional, o âmbito é definido através de documentação, contratos e julgamento profissional. Os testadores são informados sobre quais ambientes estão dentro do âmbito. Isso funciona bem na prática, mas permanecer dentro dos limites depende da disciplina e experiência do testador. 

Por exemplo, se um testador seguir um redirecionamento para o ambiente errado ou identificar incorretamente um sistema, o problema geralmente é descoberto posteriormente por meio de registos ou revisão.

Com pentest de IA, o escopo é imposto por meio de controlos técnicos. Se um domínio não estiver na lista de permissões, a ligação é bloqueada. Se a produção não for explicitamente selecionada, ela não estará acessível e, se um redirecionamento levar para fora do escopo, a solicitação falhará automaticamente. 

Ambas as abordagens são eficazes. A vantagem da aplicação técnica é que reduz a dependência da documentação e da interpretação. 

Para beneficiar do pentest de IA, que já demonstrou melhores resultados do que o pentesting manual em termos de deteção de problemas críticos e de alta gravidade, experimente agora Aikido .

Compartilhar:

https://www.aikido.dev/blog/ai-pentesting-agent-security

Assine para receber notícias sobre ameaças.

Comece hoje, gratuitamente.

Comece Gratuitamente
Não é necessário cc

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.