Software security challenges in the era of modern hardware