← Últimos artigos
💻 computer science

PUFFERDOS: Efficient and Effective Attack String Generation for Regular Expression Denial of Service Vulnerabilities

Este artigo apresenta o PUFFERDOS, uma ferramenta inovadora que gera strings de ataque ReDoS práticas e eficazes ao sintetizar entradas baseadas em três padrões vulneráveis formalmente verificados e refiná-las por meio de execução concolica composicional para garantir a explorabilidade no mundo real dentro de orçamentos de comprimento realistas.

Autores originais: Shangzhi Xu, Ziqi Ding, Xiao Cheng, Yuekang Li, Nan Sun, Benjamin Turnbull, Shuangxiang Kan, Siqi Ma

Publicado 2026-06-19
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Shangzhi Xu, Ziqi Ding, Xiao Cheng, Yuekang Li, Nan Sun, Benjamin Turnbull, Shuangxiang Kan, Siqi Ma

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem um segurança muito inteligente, mas um pouco obsessivo, na porta de um edifício. O trabalho dele é verificar se o seu cartão de identidade (a entrada) corresponde a um padrão específico (a expressão regular, ou "regex"). Normalmente, isso é rápido e fácil.

Mas, há um truque. Se você der ao segurança um cartão de identidade muito específico e confuso, o cérebro dele ficará preso em um loop. Ele começará a verificar todas as maneiras possíveis de o seu ID corresponder ao padrão, repetidamente, até que fique sem energia e desmaie. Isso é chamado de um ataque ReDoS (Negação de Serviço por Expressão Regular). É como enganar uma calculadora para fazê-la fazer contas para sempre, de modo que ela trave.

Por muito tempo, pesquisadores de segurança tentaram encontrar essas armadilhas e criar "IDs de teste" para provar que o segurança está quebrado. No entanto, os métodos antigos tinham dois grandes problemas:

  1. Os IDs eram muito longos: Eles exigiam entradas tão enormes (como um livro inteiro de texto) que nenhum site real jamais aceitaria.
  2. Eles não se encaixavam no edifício: Eles testavam o segurança isoladamente, ignorando o fato de que, em um edifício real, existem outros seguranças (filtros) que podem deter o seu ID antes mesmo de ele chegar à porta principal.

Apresentamos o PUFFERDOS. Pense no PUFFERDOS como um mestre chaveiro que não apenas abre a fechadura; ele descobre exatamente como caminhar por todo o edifício para chegar à fechadura, usando a chave mais curta e eficiente possível.

Aqui está como o PUFFERDOS funciona, dividido em etapas simples:

1. A Estratégia do "Ponto de Parada" (Fazendo o Segurança Trabalhar Mais)

Os pesquisadores perceberam que, para fazer o segurança congelar, você não precisa apenas de qualquer padrão confuso; você precisa de um padrão onde o segurança tenha que dar passos minúsculos e ineficientes.

  • A Analogia: Imagine que o segurança está caminhando por um corredor. Se você fizer com que ele pare a cada centímetro para verificar o chão, ele se cansará rápido. Se ele apenas parar a cada 3 metros, ele se cansará mais devagar.
  • A Solução: O PUFFERDOS cria "chaves" (strings de ataque) que forçam o segurança a parar em cada centímetro minúsculo. Ele faz isso escolhendo cuidadosamente caracteres específicos e organizando-os de modo que o segurança tenha que retroceder (voltar e verificar novamente) o máximo possível. Isso torna o ataque milhares de vezes mais rápido do que os métodos anteriores porque alcança o mesmo efeito de "congelamento" com uma chave muito mais curta.

2. Os Três Padrões de "Armadilha"

A equipe descobriu que a maioria das fechaduras quebradas possui três formatos específicos. O PUFFERDOS tem uma receita especial para cada um:

  • A Armadilha de Um Loop: Um padrão único que pode ser lido de várias maneiras confusas. O PUFFERDOS escolhe o caractere mais curto e confuso para repetir.
  • A Armadilha de Dois Loops: Dois padrões adjacentes que podem ler o mesmo caractere. O PUFFERDOS usa um caractere que ambos os padrões podem ler, forçando-os a discutir sobre quem deve processá-lo.
  • A Armadilha de Múltiplos Loops: Uma longa cadeia de padrões. O PUFFERSDOS constrói uma chave que força o segurança a verificar cada elo da corrente individualmente.

3. O Percurso no "Mundo Real" (Execução Concolica)

Esta é a parte mais importante. As ferramentas antigas apenas testavam a fechadura no vácuo. O PUFFERDOS simula o edifício inteiro.

  • A Analogia: Imagine que você tem uma chave que abre uma porta, mas a porta está atrás de um posto de controle de segurança, uma recepção e um labirinto. As ferramentas antigas apenas mostravam que a sua chave funciona na porta. O PUFFERDOS caminha pelo labirinto, verifica se a recepção permite que você passe e garante que você realmente alcance a porta.
  • O Método: Ele utiliza uma técnica chamada "execução concolica composicional". Pense nisso como um resumo de mapa. Em vez de percorrer cada passo do edifício toda vez, o PUFFERDOS cria uma "folha de cola" para cada sala (função) no edifício. Ele pergunta: "Se eu der uma chave confusa para esta sala, ela passa a chave para a próxima sala ou a descarta?".
  • Ao usar essas folhas de cola, o PUFFERDOS consegue descobrir rapidamente se uma chave curta e eficiente realmente alcançará a fechadura vulnerável em um programa real, ou se será bloqueada por um filtro no processo anterior.

Os Resultados

A equipe testou o PUFFERDOS em milhares de programas do mundo real e falhas de segurança conhecidas (CVEs).

  • Velocidade: Ele gerou strings de ataque que foram de 97 a 3.800 vezes mais eficientes do que a melhor ferramenta anterior. Ele conseguiu congelar um sistema com uma string minúscula em vez de uma enorme.
  • Taxa de Sucesso: Ele recriou com sucesso 96,8% das falhas de segurança conhecidas (comparado a 77,4% da ferramenta antiga).
  • Novas Descobertas: Quando testaram o PUFFERDOS em 12 projetos de software populares do mundo real, eles encontraram 59 novas falhas de segurança, anteriormente desconhecidas, que as ferramentas antigas perderam porque as ferramentas antigas não conseguiam gerar um ataque realista e curto o suficiente para provar que a vulnerabilidade existia.

Em resumo: O PUFFERDOS é uma maneira mais inteligente e prática de encontrar e provar que um sistema de computador pode ser congelado por um padrão confuso. Ele não apenas encontra a fechadura; ele encontra a chave mais curta e realista para travá-la, provando que o perigo é real e precisa ser corrigido.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →