Questão de Segurança da Informação — Análise de Código Malicioso — CESPE / CEBRASPE 2025
Segurança da Informação›Análise de Código Malicioso
Código
ce418204
Banca
CESPE / CEBRASPE
Órgão
PF
Ano
2025
Cargo
PCF
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 o item que se segue.
A utilização de uma ISA extension customizada requer que o descompilador possua um processador específico (ou uma extensão) que compreenda as novas instruções; desse modo, deve-se criar ou adaptar o processador do descompilador, para evitar que a descompilação resulte em pseudocódigo incoerente ou em erros na interpretação de blocos inteiros.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Análise de firmware com ISA extension customizada e descompilação
✅ CERTO. A afirmação está correta: quando um firmware é compilado para uma arquitetura RISC com extensões de ISA (Instruction Set Architecture) não padrão, o descompilador precisa compreender essas novas instruções para produzir um pseudocódigo coerente. Caso contrário, a descompilação resultará em erros de interpretação, especialmente em blocos que utilizam essas instruções customizadas. A necessidade de adaptar o processador do descompilador é um requisito técnico fundamental nesse cenário.
A análise de firmware embarcado proprietário é uma tarefa complexa que envolve engenharia reversa. O firmware é um software de baixo nível que controla diretamente o hardware, e sua análise exige ferramentas especializadas, como descompiladores e disassemblers. O descompilador é uma ferramenta que tenta reconstruir o código-fonte de alto nível a partir do código de máquina. Para isso, ele precisa entender o conjunto de instruções (ISA) da arquitetura alvo. Quando a ISA é customizada, com instruções não padrão, o descompilador padrão não consegue interpretar corretamente essas instruções, gerando um pseudocódigo incoerente ou erros em blocos inteiros.
A necessidade de adaptar o processador do descompilador é uma consequência direta da customização da ISA. O processador do descompilador é o componente que simula a execução das instruções. Se ele não conhece as novas instruções, não consegue decodificá-las e, portanto, não consegue gerar o pseudocódigo correto. Criar ou adaptar o processador do descompilador para compreender as novas instruções é, portanto, uma etapa essencial para garantir a qualidade da análise.
Além da ISA customizada, o firmware em questão apresenta outras técnicas que dificultam a análise, como anti-depuração, anti-tampering e control flow flattening. Essas técnicas são projetadas para confundir analistas e ferramentas de engenharia reversa. O control flow flattening, por exemplo, transforma a estrutura de controle do programa em uma máquina de estados, dificultando a compreensão do fluxo lógico. Essas técnicas, combinadas com a ISA customizada, tornam a análise ainda mais desafiadora e reforçam a necessidade de ferramentas especializadas e adaptadas.
A afirmação do enunciado está alinhada com as práticas de engenharia reversa e análise de malware. Quando um analista se depara com um firmware que utiliza uma ISA customizada, ele precisa adaptar suas ferramentas para conseguir extrair informações úteis. Isso pode envolver a criação de plugins, a modificação do descompilador ou o uso de emuladores específicos. A adaptação do processador do descompilador é uma abordagem comum e necessária para lidar com esse tipo de desafio.
1Firmware compilado p/ ISA customizada
2Descompilador não entende novas instruções
3Adaptar/criar processador do descompilador
4Pseudocódigo coerente
LEVEL · soulevel.com.br
NÃO CAIA NESSA!
A banca pode tentar confundir o candidato ao sugerir que a descompilação é um processo automático que independe da arquitetura alvo. No entanto, a descompilação é altamente dependente da ISA. A customização da ISA exige que o descompilador seja adaptado para compreender as novas instruções, caso contrário, a análise resultará em erros. Essa é uma pegadinha clássica que explora a falta de conhecimento sobre o funcionamento interno das ferramentas de engenharia reversa.
✅ CERTO. A afirmação está correta e reflete um requisito técnico fundamental na análise de firmware com ISA customizada. A adaptação do descompilador é essencial para evitar erros de interpretação e garantir a qualidade da análise.