Abstract

A firmware implementation is similar to an embedded operating system. It has a kernel to manage resources, such as the system memory, and the kernel is also responsible for the dispatching of tasks. The operating system can defend against software attacks in two ways – break the exploit and contain the damage. Similar to the list of compiler defensive technologies, the OS can break the exploitation by forcing the code protection, such as data execution prevention (DEP), code integrity guard (CIG), and arbitrary code guard (ACG). Address space layout randomization (ALSR) can make it harder for the attacker to predict the target address. The control flow guard (CFG) becomes more and more important today, because the control flow–based attack can bypass the fundamental hardening such as DEP.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call