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

Uma equipe de pesquisadores da Universidade de Pequim, da Universidade de Tsinghua e da Universidade do Texas em Dallas revelado uma nova classe de ataques DoS - RangeAmp, baseada no uso de um cabeçalho HTTP Variação organizar a amplificação do tráfego através de redes de entrega de conteúdo (CDN). A essência do método é que, devido à maneira como os cabeçalhos de intervalo são processados ​​em muitos CDNs, um invasor pode solicitar um byte de um arquivo grande por meio do CDN, mas o CDN baixará o arquivo inteiro ou um bloco de dados muito maior do servidor de destino a ser colocado no cache. O grau de amplificação do tráfego durante tal ataque, dependendo do CDN, varia de 724 a 43330 vezes, o que pode ser usado para sobrecarregar o CDN com tráfego de entrada ou reduzir a capacidade do canal de comunicação final com o site da vítima.

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

O cabeçalho Range dá ao cliente a capacidade de especificar um intervalo de posições no arquivo que deve ser baixado em vez de retornar o arquivo inteiro. Por exemplo, o cliente pode especificar "Intervalo: bytes=0-1023" e o servidor transmitirá apenas os primeiros 1024 bytes de dados. Este recurso é solicitado ao baixar arquivos grandes - o usuário pode pausar o download e continuar a partir da posição interrompida. Ao especificar “bytes=0-0”, o padrão instrui a fornecer o primeiro byte do arquivo, “bytes=-1” - o último, “bytes=1-” - começando de 1 byte até o final do arquivo. É possível transmitir vários intervalos em um cabeçalho, por exemplo “Intervalo: bytes=0-1023,8192-10240”.

Além disso, foi proposta uma segunda opção de ataque, que visa aumentar a carga da rede ao encaminhar o tráfego através de outro CDN, que é usado como proxy (por exemplo, quando Cloudflare atua como frontend (FCDN) e Akamai atua como backend ( BCDN). O método é semelhante ao primeiro ataque, mas está localizado em redes CDN e permite aumentar o tráfego quando acessado através de outras CDNs, aumentando a carga na infraestrutura e reduzindo a qualidade do serviço.

A ideia é que o invasor envie solicitações Range de vários intervalos para o CDN, como "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." ou "bytes=-1024,0 ,0-,0-...". As solicitações contêm um grande número de intervalos “0-”, implicando que o arquivo é retornado da posição zero até o final. Devido a uma implementação incorreta de análise de intervalo, quando o primeiro CDN acessa o segundo, um arquivo completo é enviado para cada intervalo “53-” (os intervalos não são agregados, mas iterados sequencialmente), caso haja duplicação e interseção de intervalos em a solicitação inicialmente enviada pelo invasor. O grau de amplificação do tráfego em tal ataque varia de 7432 a XNUMX vezes.

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

Durante o estudo, 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. Todas as CDNs examinadas permitiram o primeiro tipo de ataque ao servidor final. A segunda variante do ataque CDN afetou 6 serviços, dos quais quatro poderiam atuar como frontend no ataque (CDN77, CDNsun, Cloudflare e StackPath) e três como backend (Akamai, Azure e StackPath). O maior ganho é alcançado no Akamai e StackPath, que permitem especificar mais de 10 mil intervalos no cabeçalho Range. Os proprietários de CDN foram notificados das vulnerabilidades há cerca de 7 meses e, no momento em que as informações foram divulgadas publicamente, 12 dos 13 CDNs haviam corrigido os problemas identificados ou manifestado disposição para corrigi-los (apenas o serviço StackPath não respondeu).

Fonte: opennet.ru

Adicionar um comentário