Com o avanço da inteligência artificial (IA), as organizações e os governos estão se esforçando para encontrar suas melhores aplicações. Embora o ChatGPT e outros modelos de linguagem ampla (LLM) tenham atraído a atenção da mídia, os possíveis usos da IA são muito mais amplos do que a geração de texto. Uma dessas áreas é a segurança: especialmente a tarefa repetitiva e em grande escala de identificar vulnerabilidades de software.
Mas o fato de a IA levar a uma segurança melhor ou pior depende de quem ou o que está fazendo a identificação da vulnerabilidade e com que finalidade.
Algumas falhas no software são essencialmente benignas. No entanto, algumas falhas, conhecidas como vulnerabilidades, podem dar a alguém que as explore um ponto de apoio dentro do sistema, levando ao comprometimento. Uma parte significativa da prática de segurança cibernética é dedicada a identificar e corrigir essas vulnerabilidades.
O número de vulnerabilidades exploradas que levam ao comprometimento é muito grande para ser listado, mas alguns exemplos de incidentes de alto perfil incluem:
A violação da Equifax em 2017, que começou com uma vulnerabilidade não corrigida
A violação do LastPass em 2022 foi parcialmente causada por uma vulnerabilidade em um software de terceiros
Os sistemas de TI do governo norueguês foram invadidos em 2023 por meio de uma vulnerabilidade zero-day
As consequências das explorações de vulnerabilidades podem ser desastrosas, desde vazamentos de dados até infecções por ransomware que congelam os sistemas de uma organização. As organizações precisam identificar e corrigir as vulnerabilidades o mais rápido possível para evitar essas ocorrências.
A análise de programas de software complexos em busca de erros é uma tarefa repetitiva que parece se adequar bem à automação. O renomado tecnólogo Bruce Schneier observou isso: "Analisar o código linha por linha é exatamente o tipo de problema tedioso em que os computadores são excelentes, se pudermos ensinar a eles o que é uma vulnerabilidade."
E, de fato, o aprendizado de máquina (um subconjunto de recursos de IA) tem sido usado há muito tempo para encontrar possíveis vulnerabilidades no código. O GitHub, por exemplo, inclui o aprendizado de máquina em seu recurso de varredura de código, que identifica vulnerabilidades de segurança no código. Naturalmente, essa abordagem às vezes resulta em falsos positivos, mas, quando combinada com a análise manual, um modelo de aprendizado de máquina bem treinado pode acelerar a identificação de vulnerabilidades.
À medida que a inteligência artificial avança a passos largos, surge a possibilidade de treinar essa tecnologia para encontrar vulnerabilidades de forma ainda mais eficaz. De fato, em 2023, a agência norte-americana DARPA anunciou um programa chamado Intelligent Generation of Tools for Security - INGOTS. (A DARPA, notavelmente, foi a agência que criou a ARPANET, a precursora da internet.)
O programa "tem como objetivo identificar e corrigir vulnerabilidades de alta gravidade e encadeáveis antes que os invasores possam explorá-las" usando "novas técnicas impulsionadas pela análise de programas e inteligência artificial para medir as vulnerabilidades." O INGOTS procura vulnerabilidades em "sistemas modernos e complexos, como navegadores web e sistemas operacionais móveis".
Mas a IA é realmente boa em encontrar vulnerabilidades? A DARPA pretende descobrir, mas seu programa ainda é um tanto exploratório.
Em 2016, a DARPA organizou o "Cyber Grand Challenge," no qual sete equipes de engenheiros criaram programas autônomos de hacking de IA e depois se enfrentaram em um jogo digital de "Capture the Flag." A ideia era verificar a capacidade de um programa automatizado de invadir um sistema seguro. Após várias horas, o programa "Mayhem," desenvolvido por uma equipe da Carnegie Mellon, venceu a competição.
A conferência DEF CON 2016 estava ocorrendo nas proximidades, e o "Mayhem" foi convidado a participar do jogo Capture the Flag da própria DEF CON contra hackers humanos. O Mayhem ficou em último lugar e a diferença não foi pequena.
A IA avançou muito desde então, e os pesquisadores continuam a lançar modelos de aprendizado de máquina para a descoberta de vulnerabilidades. Mas o software investigado até mesmo pelos modelos mais recentes de aprendizado de máquina ainda requer revisão humana para evitar falsos positivos, ou falsos negativos.
Não há como negar que a IA pode encontrar vulnerabilidades. Mas o teste de penetração humana ainda parece ter seu lugar. Isso pode mudar no futuro, à medida que a IA se tornar mais robusta.
A correção de uma vulnerabilidade envolve escrever um código que corrija a falha. As ferramentas de IA certamente podem gerar código. Mas, para isso, elas exigem prompts específicos gerados por seus usuários humanos.
Mesmo o INGOTS não planeja confiar totalmente em processos automatizados para corrigir vulnerabilidades, em vez disso, pretende "criar um pipeline humano-computador que permita a intervenção humana de forma transparente para corrigir vulnerabilidades de alta gravidade".
Mas a mesma ressalva se aplica: à medida que a inteligência artificial se torna mais avançada, ela pode ser capaz de gerar correções de forma rápida e eficiente no futuro.
É inevitável que, se uma ferramenta ou tecnologia estiver amplamente disponível, um lado a utilize para defender os sistemas contra ataques e outro para gerar ataques.
Se a IA puder efetivamente encontrar e corrigir vulnerabilidades em softwares, então os invasores certamente a usarão para encontrar essas vulnerabilidades antes que elas sejam corrigidas e escrever explorações.
Nem todos os invasores cibernéticos têm acesso a esses recursos. Mas aqueles que o fizerem provavelmente não terão escrúpulos em vender as vulnerabilidades que suas IAs encontrarem, ou as explorações que escreverem, para quem der o maior lance na dark web. Os autores de malware já estão incorporando a IA em suas ferramentas e certamente continuarão a fazê-lo à medida que a IA for aprimorada.
Existe a possibilidade de uma corrida armamentista cada vez maior, impulsionada pela IA, entre desenvolvedores de software legítimos e invasores maliciosos, na qual as vulnerabilidades são identificadas e exploradas quase instantaneamente ou (espera-se) corrigidas com a mesma rapidez.
É claro que os invasores já estão vasculhando o código em busca de vulnerabilidades não descobertas - essas vulnerabilidades "zero-day" são extremamente valiosas e podem ser usadas pelo descobridor para fins de invasão do sistema ou vendidas em mercados clandestinos por um preço alto. O uso malicioso da IA pode se tornar um divisor de águas, mas é o mesmo jogo de sempre.
Assim como na aplicação de correções, isso é possível, mas o processo ainda requer orientação humana. Portanto, isso pode não poupar trabalho aos invasores e muitos deles compram kits de exploração de qualquer maneira, em vez de escrever seu próprio código.
A resposta pode mudar daqui a dez ou até cinco anos e o pessoal de segurança deve se preparar para uma onda de explorações de vulnerabilidades totalmente automatizadas direcionadas aos seus sistemas.
Todas as redes são vulneráveis a comprometimentos, de fato, com tempo suficiente e um invasor determinado, o comprometimento é inevitável.
Mesmo que a IA traga um novo mundo de descoberta de vulnerabilidades para o lado que busca proteger seus sistemas, os invasores usarão os mesmos métodos para tentar encontrar vulnerabilidades primeiro, ou pelo menos antes que elas possam ser corrigidas. A IA está se tornando mais uma ferramenta na caixa de ferramentas dos invasores, assim como está para o lado bom.
As organizações com visão de futuro começam com a suposição de que ocorreu um comprometimento: que sua segurança pode falhar, que seus dados estão em risco e que o invasor pode já estar dentro da rede.
Elas presumem que a segurança voltada para o exterior nem sempre funciona perfeitamente e, portanto, microssegmentam suas redes para que as partes maliciosas não possam estender seu alcance além do segmento que já acessaram. Pense em como um navio pode ser fechado em compartimentos estanques separados para evitar que um vazamento se espalhe: idealmente, as equipes de segurança podem usar essa mesma abordagem para conter ataques.
Essa abordagem é chamada de "Zero Trust," e há fortes razões para a crescente adoção dessa filosofia. À medida que as ferramentas de IA permitem explorações em escala, o Zero Trust pode ajudar a garantir que essas explorações permaneçam restritas a um pequeno canto da rede e que os invasores nunca ganhem uma base grande o suficiente para causar danos reais.
A descoberta de explorações de vulnerabilidades pode se acelerar, mas o Zero Trust oferece o caminho mais promissor. E a Cloudflare é o único fornecedor que consolida tecnologias Zero Trust, como gateways seguros da web, filtragem de DNS e prevenção contra perda de dados (DLP) em uma única plataforma com um painel unificado. Uma plataforma com pontos de presença em todo o mundo. A natureza distribuída da rede da Cloudflare possibilita a aplicação de um controle de acesso granular e de negação padrão em aplicativos em nuvem e no local, sem adicionar latência à experiência do usuário.
De fato, a Cloudflare adotou uma abordagem Zero Trust para proteger sua própria rede e seus funcionários contra ataques. Saiba mais sobre como a Cloudflare equipa as organizações para fazer o mesmo.
Este artigo é parte de uma série sobre as tendências e os assuntos mais recentes que influenciam os tomadores de decisões de tecnologia hoje em dia.
Saiba mais sobre o Zero Trust no artigo técnico A Roadmap to Zero Trust Architecture.
Após ler este artigo, você entenderá:
Por que a IA é adequada para encontrar vulnerabilidades, com algumas ressalvas
Como os dois lados da luta pela segurança podem usar a automação para explorar ou corrigir vulnerabilidades
Por que assumir um compromisso é a abordagem mais segura