Applying Software-Based Side-Channels To Hardware Vulnerabilities