  We systematize software side-channel attacks with a focus on vulnerabilities
and countermeasures in the cryptographic implementations. Particularly, we
survey past research literature to categorize vulnerable implementations, and
identify common strategies to eliminate them. We then evaluate popular
libraries and applications, quantitatively measuring and comparing the
vulnerability severity, response time and coverage. Based on these
characterizations and evaluations, we offer some insights for side-channel
researchers, cryptographic software developers and users. We hope our study can
inspire the side-channel research community to discover new vulnerabilities,
and more importantly, to fortify applications against them.
