TY - GEN
T1 - Undertracker
T2 - 8th International Conference on Secure Knowledge Management in Artificial Intelligence Era, SKM 2019
AU - Shrivastava, Rajesh
AU - Hota, Chittaranjan
AU - Mittal, Govind
AU - Akhtar, Zahid
N1 - Publisher Copyright: © Springer Nature Singapore Pte Ltd 2020.
PY - 2020
Y1 - 2020
N2 - Programs are developed in a manner so that they execute and fulfill their intended purpose. In doing so, programmers trust the language to help them achieve their goals. Binary hardening is one such concept, which prevents program behavior deviation and conveys the intention of the programmer. Therefore, to maintain the integrity of the program, measures need to be taken to prevent code-tampering. The proposed approach enforces code verification from instruction-to-instruction by using the programmer’s intended control flow. UnderTracker enforces execution flow at the instruction cache by utilizing the read-only data-cache available in the program. The key idea is to place a control transfer code in data-cache and to call it from instruction cache via labels. UnderTracker injects labels into the binary without affecting the semantics of the program. After the code execution starts, it verifies every control point’s legality before passing the control to the next instruction, by passively monitoring the execution flow. This paper proposes an efficient technique, called UnderTracker, to strengthen the binary integrity of an I/O intensive running program, with the nominal overhead of only 5–6% on top of the normal execution.
AB - Programs are developed in a manner so that they execute and fulfill their intended purpose. In doing so, programmers trust the language to help them achieve their goals. Binary hardening is one such concept, which prevents program behavior deviation and conveys the intention of the programmer. Therefore, to maintain the integrity of the program, measures need to be taken to prevent code-tampering. The proposed approach enforces code verification from instruction-to-instruction by using the programmer’s intended control flow. UnderTracker enforces execution flow at the instruction cache by utilizing the read-only data-cache available in the program. The key idea is to place a control transfer code in data-cache and to call it from instruction cache via labels. UnderTracker injects labels into the binary without affecting the semantics of the program. After the code execution starts, it verifies every control point’s legality before passing the control to the next instruction, by passively monitoring the execution flow. This paper proposes an efficient technique, called UnderTracker, to strengthen the binary integrity of an I/O intensive running program, with the nominal overhead of only 5–6% on top of the normal execution.
KW - Execution flow verification
KW - Superblock
KW - Systems security
UR - https://www.scopus.com/pages/publications/85082388898
U2 - 10.1007/978-981-15-3817-9_1
DO - 10.1007/978-981-15-3817-9_1
M3 - Conference contribution
SN - 9789811538162
T3 - Communications in Computer and Information Science
SP - 3
EP - 20
BT - Secure Knowledge Management In Artificial Intelligence Era - 8th International Conference, SKM 2019, Proceedings
A2 - Sahay, Sanjay K.
A2 - Goel, Nihita
A2 - Patil, Vishwas
A2 - Jadliwala, Murtuza
PB - Springer
Y2 - 21 December 2019 through 22 December 2019
ER -