Integridade do fluxo de controlo
O que é Integridade do fluxo de controlo?
Integridade do fluxo de controloA integridade do fluxo de controlo (CFI) restringe chamadas indiretas e retornos a um conjunto pre-calculado de destinos legitimos, bloqueando ROP e JOP.
CFI foi formalizada por Abadi, Budiu, Erlingsson e Ligatti em 2005. O compilador constroi o grafo de fluxo de controlo, atribui a cada chamada indireta um conjunto de destinos validos e instrumenta os locais de chamada e retorno com verificacoes em tempo de execucao. Implementacoes praticas incluem LLVM CFI (arestas diretas via IDs por tipo), Microsoft Control Flow Guard, kCFI no kernel Linux e variantes assistidas por hardware como Intel CET-IBT e Arm BTI para saltos indiretos mais shadow stacks para retornos. CFI derrota ROP/JOP porque a cadeia de gadgets viola os conjuntos de arestas legitimas. As maiores limitacoes sao classes de equivalencia largas em C/C++ e interfaces incompativeis.
● Exemplos
- 01
Microsoft Control Flow Guard bloqueia chamada indireta via vtable corrompida no Edge.
- 02
O kernel Linux 6.x com kCFI impede uma cadeia ROP num driver vulneravel.
● Perguntas frequentes
O que é Integridade do fluxo de controlo?
A integridade do fluxo de controlo (CFI) restringe chamadas indiretas e retornos a um conjunto pre-calculado de destinos legitimos, bloqueando ROP e JOP. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Integridade do fluxo de controlo?
A integridade do fluxo de controlo (CFI) restringe chamadas indiretas e retornos a um conjunto pre-calculado de destinos legitimos, bloqueando ROP e JOP.
Como se defender contra Integridade do fluxo de controlo?
As defesas contra Integridade do fluxo de controlo costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Integridade do fluxo de controlo?
Nomes alternativos comuns: CFI, Control Flow Guard, kCFI.