Transient Execution Attacks and Defenses