Compatibilização de binários legados com a proteção de rastreamento de desvios indiretos

dc.contributor.advisor-co1Ferreira, Mateus Felipe Tymburibá
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/5863316017246857eng
dc.contributor.advisor-co1orcidhttps://orcid.org/0000-0002-6626-1786eng
dc.contributor.advisor1Souto, Eduardo James Pereira
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/3875301617975895eng
dc.contributor.advisor1orcidhttps://orcid.org/0000-0003-0003-908Xeng
dc.contributor.referee2Moreira, João Batista Correa Gomes
dc.contributor.referee2Latteshttp://lattes.cnpq.br/6120040174866328eng
dc.contributor.referee3Martins, Gilbert Breves
dc.contributor.referee3Latteshttp://lattes.cnpq.br/4932200790121123eng
dc.contributor.referee3orcidhttps://orcid.org/0009-0004-8844-2651eng
dc.creatorRibeiro, Bruno Rocha
dc.creator.Latteshttp://lattes.cnpq.br/2736528926891271eng
dc.creator.orcidhttps://orcid.org/0009-0007-6687-3698eng
dc.date.issued2026-07-28
dc.description.abstractThe increasing sophistication of code-reuse attacks, such as Return-Oriented Programming (ROP) and Jump-Oriented Programming (JOP), has motivated the adoption of stronger mechanisms for protecting control-flow integrity. Among these protections, Intel's Control-flow Enforcement Technology (CET) stands out, consisting primarily of Indirect Branch Tracking (IBT) and Shadow Stack. Although modern compilers can generate CET-compatible binaries, much legacy software remains unprotected because it cannot be recompiled, either due to unavailable source code, maintenance constraints, or dependence on older environments. This work proposes BIN2CET, an automated static binary rewriting system that makes legacy ELF binaries compatible with Intel CET's IBT mechanism without requiring source code or complete control-flow graph recovery. The approach combines three complementary strategies: inserting endbr64 instructions at recovered indirect-branch targets, preserving overwritten instructions through relocation-aware trampolines, and conservatively using notrack when safe target rewriting is not possible. The system uses LIEF for ELF-level manipulation and an extended version of E9Patch to materialize trampolines, redirect control flow, and preserve the semantics of position-sensitive instructions, such as RIP-relative references. The experimental evaluation was conducted on the 102 programs of the Coreutils suite, compiled as PIE (Position-Independent Executable) binaries under the -O0, -O2, and -O3 optimization levels. The results indicate complete coverage of recovered function-entry targets in the unoptimized scenario and coverage above 80% in optimized layouts. Performance measurements show execution overhead between approximately 22% and 42% for the main Linux perf timing counters, while binary size increases remain consistent with the insertion of markers, redirections, and trampolines. In addition, the attack surface analysis with ROPgadget indicates that the effective surface of policy-valid indirect transfers is reduced to less than 1% of the syntactic gadget space identified. These results show that automated static binary rewriting is a viable path for making legacy software compatible with IBT requirements, while preserving executable functionality and supporting future binary-hardening extensions.eng
dc.description.resumoA crescente sofisticação dos ataques por reutilização de código, como Return-Oriented Programming (ROP) e Jump-Oriented Programming (JOP), tem motivado a adoção de mecanismos mais robustos de proteção da integridade do fluxo de controle. Entre essas proteções, destaca-se a Control-flow Enforcement Technology (CET) da Intel, composta principalmente pelos mecanismos Indirect Branch Tracking (IBT) e Shadow Stack. Embora compiladores modernos já sejam capazes de gerar binários compatíveis com CET, uma parcela significativa de softwares legados permanece desprotegida por não poder ser recompilada, seja pela indisponibilidade do código-fonte, por restrições de manutenção ou por dependência de ambientes antigos. Este trabalho propõe o BIN2CET, um sistema automatizado de reescrita binária estática para compatibilizar binários ELF legados com o mecanismo IBT da Intel CET, sem exigir acesso ao código-fonte nem recuperação completa do grafo de fluxo de controle. A abordagem combina três estratégias complementares: inserção de instruções endbr64 em alvos recuperados de desvios indiretos, preservação de instruções sobrescritas por meio de trampolins cientes de realocação e uso conservador de notrack quando a reescrita segura do alvo não é possível. O sistema utiliza a biblioteca LIEF para manipulação em nível de ELF e uma versão estendida do E9Patch para materialização de trampolins, redirecionamento de fluxo e preservação semântica de instruções sensíveis à posição, como referências relativas a RIP. A avaliação experimental foi conduzida sobre os 102 programas da suíte Coreutils, compilados como binários PIE (Position-Independent Executable) sob os níveis de otimização -O0, -O2 e -O3. Os resultados indicam cobertura completa dos alvos recuperados de entrada de função no cenário não otimizado e cobertura superior a 80% nos layouts otimizados. As medições de desempenho apontam overhead de execução entre aproximadamente 22% e 42% para os principais contadores de tempo do Linux perf, enquanto a análise de tamanho binário mostra crescimento estrutural compatível com a inserção de marcadores, redirecionamentos e trampolins. Além disso, a análise da superfície de ataque, conduzida com ROPgadget, indica que a superfície efetiva de transferências indiretas válida pela política é reduzida para menos de 1% do espaço sintático de gadgets identificados. Esses resultados indicam que a reescrita binária estática automatizada constitui um caminho viável para compatibilizar softwares legados com os requisitos do IBT, preservando funcionalidade dos executáveis e oferecendo uma base técnica para extensões futuras de endurecimento binário.eng
dc.formatapplication/pdf*
dc.identifier.citationRIBEIRO, Bruno Rocha. Compatibilização de binários legados com a proteção de rastreamento de desvios indiretos. 2026. 125 f. Dissertação (Mestrado em Informática) - Universidade Federal do Amazonas, Manaus (AM), 2026.eng
dc.identifier.urihttps://tede.ufam.edu.br/handle/tede/11995
dc.languageporeng
dc.publisherUniversidade Federal do Amazonaseng
dc.publisher.countryBrasileng
dc.publisher.departmentInstituto de Ciências Exataseng
dc.publisher.initialsUFAMeng
dc.publisher.programPrograma de Pós-graduação em Informáticaeng
dc.rightsAcesso Aberto
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/por
dc.subjectReescrita binária estáticapor
dc.subjectIntel CET - Control-flow Enforcement Technologyeng
dc.subjectIBT - Indirect Branch Trackingeng
dc.subjectBinários Legadospor
dc.subjectIntegridade de Fluxo de Controlepor
dc.subjectEndbr64por
dc.subjectNotrackpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA: CIENCIA DA COMPUTACAO: METODOLOGIA E TECNICAS DA COMPUTACAO: ENGENHARIA DE SOFTWAREeng
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA: CIENCIA DA COMPUTACAO: SISTEMAS DE COMPUTACAO: SOFTWARE BASICOeng
dc.thumbnail.urlhttps://tede.ufam.edu.br/retrieve/98252/DISS_BrunoRibeiro_PPGI.pdf.jpg*
dc.titleCompatibilização de binários legados com a proteção de rastreamento de desvios indiretoseng
dc.typeDissertaçãoeng

Arquivos

Pacote original

Agora exibindo 1 - 4 de 4
Carregando...
Imagem de Miniatura
Nome:
DISS_BrunoRibeiro_PPGI.pdf
Tamanho:
2,33 MB
Formato:
Adobe Portable Document Format
Descrição:
Carregando...
Imagem de Miniatura
Nome:
Ata de Defesa_Bruno Rocha Ribeiro.pdf
Tamanho:
109,44 KB
Formato:
Documentos internos
Descrição:
Ata de defesa
Carregando...
Imagem de Miniatura
Nome:
Folha de Aprovação_Bruno Rocha Ribeiro.pdf
Tamanho:
96,01 KB
Formato:
Documentos internos
Descrição:
Folha de aprovação
Carregando...
Imagem de Miniatura
Nome:
Carta de Autorização de Encaminhamento.pdf
Tamanho:
167,57 KB
Formato:
Documentos internos
Descrição:
Autorização de encaminhamento

Pacote de licença

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2,32 KB
Formato:
Item-specific license agreed upon to submission
Descrição: