Pular para o conteúdo principal

Questão de Segurança da Informação — Negação de Serviço (DoS) — VUNESP 2025

Segurança da InformaçãoNegação de Serviço (DoS)
Código
vu223053
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana SIJ ( )

A validação de conteúdos de entrada recebidos em chamadas a web services baseados em XML (ex.: SOAP), antes que tais conteúdos sejam consumidos, é importante para evitar tipos de ataques conhecidos. Um deles é o XML Bomb, que consiste em

  1. Autilizar caracteres estrangeiros no conteúdo do documento XML de entrada, fora do alfabeto latino, provocando o mau funcionamento do parser.
  2. Bcolocar um documento JSON dentro de uma tag XML, confundindo o parser e provocando seu mau funcionamento.
  3. Cinserir conteúdo XML em parâmetros GET dentro da URL da requisição HTTP, confundindo o servidor web e potencialmente provocando sua derrubada ou travamento.
  4. Dmontar um XML com pelo menos um erro de má-formação, tais como tags abertas sem fechamento, provocando o mau funcionamento ou travamento do parser.
  5. Edefinir entidades XML de tal modo que haja uma expansão de uma entidade em várias outras, e assim repetidas vezes, até formar um conteúdo muito grande que tem o potencial de provocar estouro de memória no parser.
Revelar gabarito e comentário

GabaritoE — definir entidades XML de tal modo que haja uma expansão de uma entidade em várias outras, e assim repetidas vezes, até formar um conteúdo muito grande que tem o potencial de provocar estouro de memória no parser.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

XML Bomb e a segurança de web services

Gabarito: letra E. O XML Bomb (ou billion laughs attack) é um ataque de negação de serviço que explora a expansão de entidades XML: o atacante define entidades que referenciam outras entidades, criando uma cascata de expansões que gera um documento final gigantesco, capaz de esgotar a memória do parser. A alternativa E descreve exatamente esse mecanismo.

O XML (eXtensible Markup Language) é uma linguagem de marcação que permite definir estruturas de dados de forma hierárquica. Uma de suas características é o suporte a entidades, que funcionam como "atalhos" ou variáveis: você pode definir uma entidade com um conteúdo e depois referenciá-la no documento. O parser, ao processar o XML, substitui cada referência pelo conteúdo definido.

O ataque conhecido como XML Bomb (ou billion laughs) abusa justamente dessa funcionalidade. O atacante cria uma entidade que contém várias referências a outra entidade, que por sua vez contém várias referências a uma terceira, e assim por diante. Quando o parser processa o documento, ele expande cada referência, e o resultado final é um conteúdo exponencialmente maior que o original. Por exemplo, um documento de poucos kilobytes pode se transformar em gigabytes de dados, consumindo toda a memória disponível e travando o sistema.

Esse ataque é uma forma de negação de serviço (DoS), pois o objetivo não é invadir o sistema, mas torná-lo indisponível. A validação de conteúdos de entrada em web services baseados em XML (como SOAP) é uma medida preventiva importante, pois permite detectar e rejeitar documentos maliciosos antes que sejam processados.

A pegadinha desta questão está em distinguir o XML Bomb de outros problemas relacionados a XML. A banca explora a confusão entre:

  • XML Bomb: expansão de entidades (ataque lógico, sem erro de sintaxe).

  • XML malformado: erro de sintaxe (tags não fechadas, por exemplo).

  • Injeção de conteúdo: inserir dados não esperados no documento.

Guarde essa distinção: o XML Bomb é um ataque válido do ponto de vista sintático — o documento é bem formado —, mas o processamento das entidades é que causa o dano. É exatamente esse o critério que separa a alternativa correta das demais.

1Mecanismo
Define entidades que referenciam outras
Expansão em cascata
Documento final gigantesco
2Efeito
Estouro de memória do parser
DoS (indisponibilidade)
3Característica-chave
Documento bem formado (sem erro de sintaxe)
Malícia no processamento das entidades
4Distinções
XML malformado: erro de sintaxe (tags não fechadas)
Injeção de conteúdo: dados não esperados no documento
XML Bomb (billion laughs)
LEVELsoulevel.com.br
XML Bomb (billion laughs): Mecanismo (Define entidades que referenciam outras, Expansão em cascata, Documento final gigantesco); Efeito (Estouro de memória do parser, DoS (indisponibilidade)); Característica-chave (Documento bem formado (sem erro de sintaxe), Malícia no processamento das entidades); Distinções (XML malformado: erro de sintaxe (tags não fechadas), Injeção de conteúdo: dados não esperados no documento)

Alternativa A — ❌ Incorreta

Utilizar caracteres estrangeiros fora do alfabeto latino não é, por si só, um ataque. O XML suporta diversos encodings (UTF-8, UTF-16, ISO-8859-1, etc.), e caracteres acentuados ou de outros alfabetos são perfeitamente válidos. Um parser bem implementado lida com eles sem problemas. Essa alternativa descreve um cenário que pode causar erro de codificação, mas não é o mecanismo do XML Bomb.

Alternativa B — ❌ Incorreta

Colocar um documento JSON dentro de uma tag XML não é um ataque específico. O XML pode conter qualquer texto dentro de uma tag, incluindo JSON. O parser XML não se "confunde" com isso — ele simplesmente trata o JSON como conteúdo textual. Essa alternativa descreve uma situação de uso indevido, mas não um ataque de negação de serviço.

Alternativa C — ❌ Incorreta

Inserir conteúdo XML em parâmetros GET da URL é uma técnica de injeção, mas não é o XML Bomb. Essa prática pode ser usada para explorar vulnerabilidades de processamento no servidor, mas o mecanismo descrito (confundir o servidor web) é vago e não corresponde à definição de XML Bomb. O ataque descrito na alternativa E é específico e bem definido.

Alternativa D — ❌ Incorreta

Um XML malformado (com tags abertas sem fechamento) é um erro de sintaxe. O parser, ao encontrar um erro desses, normalmente rejeita o documento e emite uma mensagem de erro. Isso pode causar uma falha no processamento, mas não é o mecanismo do XML Bomb. O XML Bomb é um documento bem formado — a malícia está na expansão das entidades, não na sintaxe.

Alternativa E — ✅ Correta ⟵ GABARITO

Esta alternativa descreve com precisão o mecanismo do XML Bomb: definir entidades XML de modo que haja uma expansão em cascata, gerando um conteúdo muito grande que provoca estouro de memória no parser. É exatamente o ataque conhecido como billion laughs.

PEGA ESSA DICA!

Para identificar o XML Bomb na prova, procure por palavras-chave como "expansão de entidades", "cascata", "estouro de memória" ou "billion laughs". Se a alternativa falar em erro de sintaxe, tags malformadas ou injeção de conteúdo, não é XML Bomb — é outro tipo de ataque.

Gabarito: letra E

Link permanente: /questoes/vu223053