  Most of hardware-assisted solutions for software security, program
monitoring, and event-checking approaches require instrumentation of the target
software, an operation which can be performed using an SBI (Static Binary
Instrumentation) or a DBI (Dynamic Binary Instrumentation) framework.
Hardware-assisted instrumentation can use one of these two solutions to
instrument data to a memory-mapped register. Both these approaches require an
in-depth knowledge of frameworks and an important amount of software
modifications in order to instrument a whole application. This work proposes a
novel way to instrument an application with minor modifications, at the source
code level, taking advantage of underlying hardware debug components such as CS
(CoreSight) components available on Xilinx Zynq SoCs. As an example, the
instrumentation approach proposed in this work is used to detect a double free
security attack. Furthermore, it is evaluated in terms of runtime and area
overhead. Results show that the proposed solution takes 30 $\mu$s on average to
instrument an instruction while the optimized version only takes 0.014 us which
is ten times better than usual memory-mapped register solutions used in
existing works.
