Side-Channel Threats On Modern Platforms: Attacks And Countermeasures