RangeAmp — uma série de ataques a CDN que manipula o cabeçalho HTTP Range

Um grupo de pesquisadores da Universidade de Pequim, da Universidade Tsinghua e da Universidade do Texas em Dallas expose um novo tipo de ataque DoS — RangeAmp, baseado no uso de cabeçalhos HTTP Range para organizar o aumento do tráfego por meio de redes de entrega de conteúdo (CDN). A essência do método é que, devido à forma como os cabeçalhos Range são processados em muitas CDNs, o atacante pode solicitar através da CDN um byte de um grande arquivo, mas a CDN carregará do servidor de destino todo o arquivo ou um bloco de dados significativamente maior para armazenamento em cache. O grau de amplificação do tráfego em tal ataque, dependendo da CDN, varia de 724 a 43330 vezes, o que pode ser usado para sobrecarregar o tráfego de entrada da CDN ou reduzir a largura de banda do canal de comunicação final até o site da vítima.

RangeAmp - uma série de ataques ao CDN que manipulam o cabeçalho HTTP Range

O cabeçalho Range permite que o cliente defina um intervalo de posições em um arquivo que devem ser carregadas em vez de fornecer o arquivo completo. Por exemplo, o cliente pode especificar "Range: bytes=0-1023" e o servidor enviará apenas os primeiros 1024 bytes de dados. Essa possibilidade é útil ao baixar arquivos grandes — o usuário pode pausar o download e depois continuar a partir da posição interrompida. Ao especificar "bytes=0-0", o padrão exige a entrega do primeiro byte do arquivo, "bytes=-1" — o último, "bytes=1-" — a partir do byte 1 até o final do arquivo. É permitido transmitir vários intervalos em um único cabeçalho, por exemplo, "Range: bytes=0-1023,8192-10240".

Adicionalmente, uma segunda variante de ataque foi proposta, visando aumentar a carga na rede ao redirecionar o tráfego através de outra CDN, que é usada como proxy (por exemplo, quando o Cloudflare atua como front-end (FCDN) e a Akamai como back-end (BCDN)). O método é semelhante ao primeiro ataque, mas se localiza dentro das redes CDN e permite amplificar o tráfego ao acessar através de outras CDNs, aumentando a carga na infraestrutura e reduzindo a qualidade do serviço.

A ideia é que um atacante envie solicitações de faixa para o CDN, como 'bytes=0-,0-,0-…', 'bytes=1-,0-,0-…' ou 'bytes=-1024,0-,0-…'. As solicitações contêm um grande número de faixas '0-', implicando na entrega do arquivo da posição zero até o final. Devido à implementação incorreta da análise de faixas ao se conectar o primeiro CDN ao segundo, para cada faixa '0-', o arquivo completo é entregue (as faixas não são agregadas, mas percorridas sequencialmente), se no pedido originalmente enviado pelo atacante houver duplicação e sobreposição de faixas. O grau de amplificação de tráfego em tal ataque varia de 53 a 7432 vezes.

RangeAmp - uma série de ataques ao CDN que manipulam o cabeçalho HTTP Range

No processo de pesquisa, foi estudado o comportamento de 13 CDNs —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath e Tencent Cloud. Todos os CDNs analisados permitiram o primeiro tipo de ataque ao servidor final. O segundo tipo de ataque ao CDN afetou 6 serviços, dos quais quatro podem atuar como frontend (CDN77, CDNsun, Cloudflare e StackPath) e três como backend (Akamai, Azure e StackPath). A maior amplificação é alcançada na Akamai e na StackPath, que permitem a especificação de mais de 10 mil faixas no cabeçalho Range. Os proprietários dos CDNs foram notificados sobre as vulnerabilidades há cerca de 7 meses e, no momento da divulgação pública, 12 dos 13 CDNs haviam corrigido os problemas identificados ou expressaram disposição para corrigí-los (apenas o serviço StackPath não respondeu).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster