Static secure page allocation for light-weight dynamic information flow tracking

Dynamic information flow tracking (DIFT) is an effective security countermeasure for both low-level memory corruptions and high-level semantic attacks. However, many software approaches suffer large performance degradation, and hardware approaches have high logic and storage overhead. We propose a f...

Full description

Autores:
Tipo de recurso:
Fecha de publicación:
2012
Institución:
Universidad Tecnológica de Bolívar
Repositorio:
Repositorio Institucional UTB
Idioma:
eng
OAI Identifier:
oai:repositorio.utb.edu.co:20.500.12585/9091
Acceso en línea:
https://hdl.handle.net/20.500.12585/9091
Palabra clave:
Dynamic information flow tracking
Security attacks
Static control flow analysis
Critical information
Dynamic information flow tracking
Hardware-software codesign
High level semantics
Light weight
Memory corruption
Memory overheads
Memory pages
Page allocation
Performance degradation
Security attacks
Security countermeasures
Software approach
Static control
Storage overhead
System calls
Embedded systems
Hardware
Program compilers
Semantics
Digital storage
Rights
restrictedAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
Description
Summary:Dynamic information flow tracking (DIFT) is an effective security countermeasure for both low-level memory corruptions and high-level semantic attacks. However, many software approaches suffer large performance degradation, and hardware approaches have high logic and storage overhead. We propose a flexible and light-weight hardware/software co-design approach to perform DIFT based on secure page allocation. Instead of associating every data with a taint tag, we aggregate data according to their taints, i.e., putting data with different attributes in separate memory pages. Our approach is a compiler-aided process with architecture support. The implementation and analysis show that the memory overhead is little, and our approach can protect critical information, including return address, indirect jump address, and system call IDs, from being overwritten by malicious users. Copyright 2012 ACM.