A missão do hackathon é criar um programa que possa escanear milhões de linhas de código-fonte aberto, identificar e corrigir falhas de segurança sem intervenção humana. O sucesso significaria ganhar milhões de dólares numa competição de dois anos patrocinada pela DARPA, a Agência de Projectos de Investigação Avançada de Defesa.
A disputa é o sinal mais claro de que o governo considera as falhas no software de código aberto um dos maiores riscos de segurança do país e que a inteligência artificial é essencial para combatê-las.
Programas gratuitos e de código aberto, como o sistema operacional Linux, podem ajudá-lo a executar tudo, desde sites até usinas de energia. Esse código não é inerentemente inferior ao código de programas desenvolvidos independentemente por empresas como Microsoft e Oracle, mas faltam engenheiros qualificados para testá-lo.
Como resultado, o código livre mal mantido está na origem de algumas das violações de segurança cibernética mais dispendiosas da história, como o desastre da Equifax em 2017, que comprometeu as informações pessoais de metade dos americanos. O incidente levou ao maior acordo de violação de dados da história, custando à empresa mais de US$ 1 bilhão em remediações e multas.
Mesmo que os humanos não consigam acompanhar todo o código que está presente em todos os setores, a DARPA espera que as máquinas o façam.
“O objetivo é construir um ‘sistema de raciocínio cibernético’ de ponta a ponta que aproveite modelos de linguagem em larga escala para descobrir vulnerabilidades, provar vulnerabilidades e aplicar patches”, explicou Yan Shoshitaishvili, da Arizona State University, um dos pesquisadores.
Para chegar lá, a equipe enfrenta as duras realidades por trás dos objetivos ambiciosos da IA. Os alunos impuseram “verificações de sanidade” para detectar alucinações, verificaram se um patch realmente resolveu o problema que deveria resolver e fizeram dois sistemas de IA debaterem entre si sobre a melhor solução e uma terceira IA decidir o vencedor.
“A IA é como uma criança de 3 anos com conhecimento infinito”, diz Lucas Dresel, estudante de graduação na Universidade da Califórnia, em Santa Bárbara, e cocapitão da equipe. “Você precisa dar feedback prático.”
A equipe Shellphish é um dos cerca de 40 participantes da competição Artificial Intelligence Cyber Challenge, conhecida como AIxCC, dirigida pela DARPA, agência de pesquisa do Departamento de Defesa responsável pelo desenvolvimento e defesa contra armas secretas.
“À medida que o código aberto se torna mais difundido nos setores de infraestrutura crítica, queremos redefinir a forma como as bases de código críticas amplamente utilizadas são protegidas”, disse Andrew Carney, gerente de projetos da DARPA para a competição.
A DARPA ajudou a criar uma Internet capaz de resistir a falhas de comunicação, mas também se tornou dolorosamente claro que a rede também apresenta grandes fraquezas.
Sem segurança integrada, vastas interconexões permitem que qualquer pessoa ou qualquer coisa comece em qualquer lugar e encontre o caminho para as máquinas que alimentam o mundo moderno. Uma vez lá dentro, os usuários podem se passar por funcionários ou administradores de sistema, roubar segredos de estado e comerciais, fechar o local ou exigir resgate.
Os hackers afirmam ter mais vítimas do que nunca: número de violações de dados relatadas às organizações O Centro de Reclamações de Crimes na Internet dos EUA, administrado pelo FBI, triplicará de 2021 a 2023.Funcionários do governo infiltram-se em organizações inimigas Usinas de energia e água. As organizações criminosas, ávidas por ganhos ilícitos, não hesitam em destruir hospitais e enviar pacientes desesperados para outros lugares.
O software de código aberto, quer seja escrito por estudantes ou por génios visionários, é quase tão omnipresente como a própria Internet e representa 90% do software comercial. Há alguma especulação de que esteja incluído.
Como todo software, ele possui bugs, alguns dos quais podem ser explorados para assumir o controle de sua máquina.
Alguns grandes projetos de código aberto são administrados por exércitos voluntários semelhantes aos da Wikipédia e geralmente estão em boa forma. Em alguns casos, há mantenedores que recebem subsídios de grandes usuários corporativos para realizarem seu trabalho.
E há todo o resto, incluindo programas escritos como lição de casa por autores dos quais mal me lembro.
“O código aberto sempre foi uma questão de ‘usar por sua própria conta e risco’”, disse Brian Behrendorff, que fundou a Open Source Security Foundation por décadas. Apache, o software de servidor gratuito pioneiro, e outros projetos da Apache Software Foundation.
“Não é tão livre quanto a expressão e não é tão livre quanto a cerveja”, diz ele. “Eles têm a mesma liberdade que os cachorrinhos, mas precisam ser cuidados e alimentados.”
Dois incidentes muito diferentes destacaram recentemente esse risco.
A primeira foi uma vulnerabilidade em um pequeno programa de rastreamento de atividades do sistema conhecido como Log4j, usado por milhares de desenvolvedores de software e instalado em milhões de máquinas.
Em 2013, um usuário sugeriu adicionar código ao Log4j, e a pequena equipe da Apache Foundation que mantém o Log4j o aprovou. Em novembro de 2021, um engenheiro chinês descobriu que a seção adicionada continha uma falha crítica de projeto que poderia permitir o controle do sistema e relatou o problema ao grupo Apache.
Enquanto o Apache trabalhava em um patch para resolver esse problema, um pesquisador não identificado descobriu as alterações pendentes e desenvolveu uma ferramenta maliciosa para assumir o controle dos computadores que executam o Log4j. O Apache distribuiu rapidamente um patch, iniciando uma corrida entre milhares de defensores e aqueles que tentavam explorar a falha antes que ela fosse corrigida.
Muitas instâncias do Log4j ainda não foram corrigidas. A Agência de Segurança Nacional e outros alertaram na quinta-feira que espiões norte-coreanos ainda estão se infiltrando em servidores web dos EUA que executam versões desatualizadas.
O Conselho de Revisão de Segurança Cibernética da Casa Branca concluiu que apenas uma codificação melhorada e auditorias completas poderiam ter impedido a propagação da falha Log4j, e que os esforços de código aberto como o Apache precisavam de “apoio financeiro contínuo”.
A Agência de Segurança Cibernética e de Infraestrutura (CISA) do Departamento de Segurança Interna oferece pequenas doações a startups para incentivá-las a divulgar o que está dentro de seu software. Mas são esforços lentos.
A notificação mais recente sobre esta vulnerabilidade foi feita em março. Naquela época, os engenheiros da Microsoft monitoraram um pequeno aumento no uso do processador por meio de uma ferramenta de código aberto recentemente atualizada para Linux. Ele descobriu que um backdoor de espionagem havia sido inserido pelo mantenedor oficial da ferramenta e denunciou para evitar que fosse lançado nas versões mais populares do Linux.
Num cenário de pesadelo para os especialistas em segurança, um mantenedor anónimo ganha o controlo do projecto após anos de contribuições, com a ajuda de aliados secretos que pressionaram o administrador anterior para ceder o controlo.
À medida que a segurança de código aberto surge como uma prioridade máxima para a CISA e as agências de segurança nacionais, a OpenAI e a Microsoft revelaram o ChatGPT e a Inteligência Artificial Generativa para o mundo.
Ao democratizar a programação, novas ferramentas possibilitaram que não programadores criassem software. A IA também pode ajudar os programadores existentes, incluindo hackers criminosos, a incorporar mais rapidamente truques para explorar vulnerabilidades e criar mensagens mais persuasivas, como e-mails que parecem vir de contatos regulares com interesses comuns.
A IA também está potencializando esforços defensivos, como a análise de áreas de registro em busca de comportamento anômalo e o resumo de incidentes de segurança. Você também pode relatar erros de segurança ao escrever programas.
Mas descobrir onde estão as falhas nos programas de código aberto antes que os invasores as descubram é o Santo Graal para os concorrentes da DARPA e da AIxxCC.
A DARPA realizou um desafio cibernético na convenção de hackers Def Con de 2016. Lá, eles competiram em um concurso de “capturar a bandeira”, no qual programas hackeavam uns aos outros em um ambiente artificial.
Na competição deste ano, as equipes usarão programas baseados em IA para digerir e melhorar milhões de linhas de código real.
Shellphish foi uma das sete equipes a escrever um artigo descrevendo sua abordagem, o suficiente para arrecadar US$ 1 milhão para a etapa, que atraiu 40 inscrições e culminou nas semifinais da Def Con em agosto. O vencedor receberá US$ 2 milhões adicionais em 2025.
Uma parte do primeiro milhão de dólares da Shellfish foi para a casa de Blair, que está listada no Airbnb e abrigou os hackers durante três semanas em junho e outras duas semanas em julho. Ainda mais foi feito em um grande ambiente de teste com 5.000 núcleos de unidades de processamento central.
Shellphish faz parte de um grupo de hackers aleatório. A equipa existe há 20 anos e os seus fundadores ainda estão envolvidos, embora tenha fortes laços com duas universidades públicas devido às mudanças demográficas.
O italiano Giovanni Vigna, que ensinou segurança informática, incluindo técnicas ofensivas e defensivas, na Universidade da Califórnia, em Santa Bárbara, criou o Capture the Flag em 2003 para aumentar o interesse dos alunos e desenvolver as suas capacidades. Vencemos o concurso Def Con em 2005 e sediamos o concurso pelos próximos quatro anos.
À medida que seus alunos se formaram e se espalharam pelo Arizona e outros lugares, alguns continuaram a participar ou até mesmo tiveram seus próprios alunos participando.
Shellphish competiu no Cyber Grand Challenge original em 2016, mas foi eliminado antes das finais.
“Tínhamos todas essas ferramentas excelentes, mas ficamos sem tempo para integrá-las”, lembra Shoshtaishvili. “Portanto, meu melhor conselho foi: 'Não deixe os nerds atirarem em você'.” (Sniping geek refere-se a distrair engenheiros com problemas interessantes.)
No centro deste esforço está uma ferramenta conhecida no mundo da segurança como “fuzzer”. Eles enviam todos os tipos de dados ao programa para ver como ele lida com situações inesperadas.
Os membros da equipe reconhecem que é improvável que mesmo fuzzers aprimorados detectem as falhas mais sutis ou backdoors intencionais. Na melhor das hipóteses, o programa mestre do Shellphish e outros podem encontrar rapidamente muitas frutas ao alcance da mão e eliminá-las antes que hackers mal-intencionados possam explorá-las.
“A IA será capaz de resolver problemas que levariam tempo para os humanos resolverem”, disse Dresel.
Os termos do concurso DARPA exigem que todos os finalistas liberem seus programas como código aberto, tornando-os executáveis por fornecedores e consumidores de software.
Yang descreveu os avanços esperados como marcos de segurança, como atualizações forçadas de software e “sandboxing” do navegador que evita que programas da web escapem do navegador e sejam executados em outro lugar no dispositivo do usuário.
A IA não tornará todos os softwares seguros, diz ele. Mas isso dará aos humanos mais tempo para tentar.
Depois de noites sem dormir de depuração e correções de última hora em pânico, Shellphish entregou o programa no prazo final das 9h. Em algumas semanas saberemos se somos finalistas da próxima Def Con em Las Vegas. Ganhando ou perdendo, seu código assistido por IA estará disponível para que outros possam desenvolver, melhorando a segurança para todos.