Modern society has grown tremendously interdependent on technology in recent years; computing systems in particular. Simultaneously, cybercrime has evolved from being a matter of only a few players to being a matter that can impact most people's life and every aspect of society. Malware attacks have been in the forefront of this latest growth, since they enable attackers to perform malicious operations that can damage a computer, server or computer network, or result in leakage of sensitive information. Multiple techniques have been proposed to defend current computing systems against malware attacks that hijack the control-flow of the victim program (control-oriented attacks). Generally, attackers have great flexibility in initiating this type of attack, hence making it a favorite type for malicious actors. Conversely, data-only attacks have been proven feasible for over a decade but have not received much attention due to their higher complexity compared to common control-oriented attacks. Data-only attacks must uphold a valid control-flow of the victim program during its entire execution. This makes them more difficult to be detected and therefore prevented with traditional mitigation techniques that target control-oriented attacks.