Aikido

Como a Revolut dá resposta a uma avalanche de resultados com Aikido

2,500+
Desenvolvedores
15 min
Tempo de resposta no Slack
No mesmo dia
Correções de problemas

Em resumo

  • Não há interrupção na cobertura de digitalização durante a transição dos fornecedores e ferramentas anteriores
  • Utilizei o « reachability analysis » para filtrar dezenas de milhares de resultados e selecionar apenas os que realmente importam
  • A precisão do « Aikido » foi considerada superior à da ferramenta anterior durante a prova de conceito
  • Manteve um registo de auditoria irrefutável para os auditores e as entidades reguladoras ao longo da migração
  • Apresentar um único ticket claro a cada programador, em vez de uma fila de resultados em bruto
  • Trabalha diretamente com a equipa do Aikido através do Slack, com correções no próprio dia e respostas rápidas

Analisar uma avalanche de resultados

A Revolut é uma empresa global de tecnologia financeira, fundada em 2015 e com sede em Londres, que opera atualmente em 40 países e lança novos produtos a cada trimestre. A sua equipa de engenharia conta com mais de 2 500 programadores, e garantir a segurança de um sistema que evolui a um ritmo tão acelerado — abrangendo a camada de aplicações, a nuvem, a rede e a IA — é um desafio em constante mudança.

Arsalan Ghazi é Diretor de Segurança de Aplicações na Revolut, onde a sua função consiste em proteger os dados dos clientes em toda a empresa. Ele descreve o problema central em « análise de composição de software » numa única frase.

"O siteSCA é uma verdadeira fonte inagotável de descobertas. Há centenas de milhares todos os dias, todas as semanas e, com a IA a ajudar os investigadores a encontrar mais informações em fontes abertas, os números estão a multiplicar-se como nunca antes."

O difícil não é encontrar vulnerabilidades. É saber quais são as que importam.

O desafio

Uma barragem que não para de se alargar

SCA produz resultados numa quantidade que nenhuma equipa consegue analisar manualmente, e a IA está a acelerar esse processo à medida que os investigadores identificam mais problemas no código aberto. Sem uma forma de separar as vulnerabilidades exploráveis do ruído, uma equipa de segurança passa o tempo a classificar em vez de corrigir.

Uma migração que um banco regulamentado não pode dar errado

A Revolut já utilizava uma ferramenta SCA , pelo que a mudança para Aikido implicou uma mudança completa de fornecedor, e não uma implementação totalmente nova. Para uma empresa de tecnologia financeira sujeita a regulamentação, isso significa reconstruir as automatizações internas, atualizar a documentação e comprovar aos auditores e às entidades reguladoras que a cobertura da digitalização nunca foi interrompida.

Por que razão a Revolut escolheu Aikido

Acessibilidade que aponta para o trabalho real

O que se destacou na prova de conceito foi reachability analysis: a identificação das vulnerabilidades que afetam efetivamente as bibliotecas transitivas da Revolut, para que a equipa saiba quais as descobertas a priorizar.

«O `Reachability analysis ` identifica as vulnerabilidades reais nas bibliotecas transitivas. De entre cerca de 10 000 problemas, sabemos quais devemos priorizar e em quais a empresa precisa de se concentrar e corrigir.»

Maior precisão do que a ferramenta anterior

Ao testar a prova de conceito com repositórios reais, a equipa considerou que a precisão do Aikido era superior à da ferramenta que já utilizavam.

«Na demonstração de conceito, a precisão foi superior à da ferramenta que já utilizávamos.»

Uma equipa que trabalha como se fizesse parte da vossa

A relação de apoio destacou-se tanto quanto o produto.

«Há casos em que levantamos uma questão e eles resolvem-na no mesmo dia. É uma comunicação direta através do Slack: alguém confirma a receção e responde no prazo de 15 minutos. Não vemos a Aikido como uma entidade externa, mas sim como parte da nossa própria equipa.»

Como os programadores se concentram apenas no que é importante

A Revolut não deixa a adoção a cargo de cada programador individualmente. A equipa de segurança de aplicações é responsável pela implementação em todos os serviços, faz a triagem e decide quais dos milhares de problemas identificados precisam realmente de ser corrigidos. Os programadores nunca têm de aceder a uma fila para procurar o seu trabalho. Recebem um único ticket no sistema « gerenciamento de vulnerabilidades » da Revolut, com um link para Aikido, o CVE relevante e a versão para a qual têm de migrar.

«Os nossos programadores recebem apenas um ticket que lhes é atribuído, com um link para Aikido, as informações sobre o CVE e a versão que têm de atualizar. O feedback é positivo. Encontram o que precisam no ticket e avançam diretamente com a correção.»

Esse controlo estende-se à forma como a Revolut lida com novas versões de pacotes. Como medida de precaução para o caso de uma nova versão vir a revelar-se comprometida, a política da própria equipa orienta os programadores a aguardarem cinco dias antes de colocarem uma versão recomendada em produção.

Mudar de fornecedor sem deixar lacunas

A diferença que o switch tinha de garantir era a continuidade: um âmbito consistente de análise do SCA em todos os repositórios, sem qualquer intervalo em que a equipa não conseguisse detetar problemas.

«Substituir um fornecedor não é fácil. É preciso reconstruir as automatizações, atualizar a documentação e fornecer aos auditores e às entidades reguladoras um registo de auditoria completo. Assim que assinámos o contrato, a integração do Aikido foi simples e rápida.»

A migração não foi a única consolidação. A Revolut tinha desenvolvido internamente a sua própria ferramenta de « DAST », em linha com a sua preferência por desenvolver o que for possível, mas esta implicava uma grande carga de manutenção e trabalho manual. Substituíram-na pelo « Aikido » assim que verificaram que funcionava sem essa sobrecarga.

«Na Revolut, desenvolvemos tudo internamente sempre que possível, por isso tínhamos a nossa própria ferramenta de « DAST ». Essa ferramenta exigia muita manutenção e trabalho manual. Substituímo-la pelo Aikido porque funcionou logo à primeira.»

O que se segue para a Revolut

Atualmente, a Revolut utiliza Aikido para análise de composição de software com reachability analysis e para Testes Dinâmicos de Segurança de Aplicações (ou Testes de Segurança em Tempo de Execução) (DAST).

A equipa está a analisar a « proteção em tempo de execução » com o Zen para colmatar uma lacuna que Arsalan descreve de forma clara.

«Seguimos a abordagem “shift left”, mas não há nada que proteja do lado direito. Queremos algo que proteja em tempo de execução contra ameaças como as de “zero-day”, em que a atualização de uma biblioteca demora algum tempo.»

Está a ser testada uma medida de proteção de dispositivos para fazer face aos riscos da cadeia de abastecimento nas máquinas dos programadores, onde os pacotes e as estações de trabalho comprometidos constituem uma preocupação crescente. O « pentest de IA » está previsto para um trimestre futuro, estando ainda a ser validado um teste inicial. O objetivo que Arsalan definiu para a sua equipa é identificar mais problemas internamente do que os programas externos, deslocando ainda mais o equilíbrio para o âmbito interno e detetando os problemas numa fase mais precoce do ciclo de desenvolvimento.

No que diz respeito à análise estática, a Revolut desenvolveu internamente a sua própria capacidade. Uma ferramenta de análise estática ( SAST ) de terceiros que experimentou há alguns anos teve dificuldade em identificar vulnerabilidades verdadeiramente críticas; por isso, a equipa criou as suas próprias regras, com base em descobertas de programas de recompensa por bugs e de testes de penetração, para analisar toda a base de código e cada novo pedido de integração (pull request). O que estão agora a observar é se a análise do Aikido deteta problemas que o seu sistema baseado em regras não consegue identificar.

«Estamos atentos ao que o Aikido descobre. Algumas descobertas recentes não se basearam em regras simples; utilizam um LLM para SAST, e é isso que nos falta neste momento.»

Veredito final

A interpretação que Arsalan faz da parceria é aquilo a que ele volta sempre.

«Estão a ajudar-nos a proteger o nosso código e os nossos dados, e a aperfeiçoar a ferramenta com base no que estamos a observar e no que achamos que funcionaria. Para mim, esse é o ponto mais importante.»

‍

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.