Questão nº 65
Questão de Informática Forense · CEBRASPE PF 2025 (nº 65)
A fim de identificar vulnerabilidades e entender o algoritmo criptográfico, foi realizada a análise de um firmware embarcado proprietário, compilado para uma arquitetura customizada RISC com instruções não padrão (ISA extension), que implementa rotinas criptográficas e anti-depuração avançadas, incluindo anti-tampering e control flow flattening, além de otimizações de compilador de tempo de ligação.
A partir da situação hipotética precedente, julgue os itens que se seguem.
O control flow flattening implementado no firmware pode ser eficientemente revertido por meio de técnicas de análise estática de descompiladores que utilizam algoritmos de reconhecimento de padrões baseados em grafos de fluxo de controle, restaurando o fluxo de execução original sem a necessidade de taint analysis ou execução simbólica.
Resposta comentada
Conceito-chave: Control flow flattening é uma ofuscação que "achata" o grafo de fluxo de controle do programa, transformando a sequência natural de blocos em um grande switch (ou dispatcher) que decide o próximo bloco a executar com base em uma variável de estado. Reverter isso exige descobrir a relação entre os estados e os blocos, o que não é feito apenas por reconhecimento estático de padrões, pois o fluxo real depende de valores dinâmicos (a variável de estado) e de lógica anti-tampering que embaralha esses valores em tempo de execução.
- Correta: Errado. A pegadinha está em afirmar que a reversão é "eficientemente revertida" sem "taint analysis ou execução simbólica": o dispatcher e as variáveis de estado só podem ser correlacionados se você rastrear como os valores fluem em tempo de execução, o que exige análise dinâmica (execução simbólica/taint) — a análise estática pura de padrões falha quando o ofuscador usa opaque predicates e estados calculados em runtime.
Como ficaria certo: O control flow flattening pode ser parcialmente identificado por análise estática de padrões em descompiladores, mas sua reversão eficiente exige técnicas complementares como taint analysis e execução simbólica para reconstruir o fluxo original.
Fonte: CEBRASPE PF 2025 Perito Criminal Federal - Informática Forense. Reproduzida para fins de estudo.