I/O Side Channels Flashcards
In password timing attacks, how many attempts does it take?
26*n, instead of 26^n
What are pros (for attacker) for I/O SC?
- computers have built-in support for gathering information about SC
- easy to send anonymous packets to remote systems
How to mitigate timing SC
use a constant time implementation => response time should not depend on any secret information
better implementation of password checker and why setting ret = false is bad
ret = (s1[i]) == s2[i]) & ret.
setting ret to false adds an extra instruction!
cons of constant time implementation
- hard to do (and can depend on compiler and hardware)
- bad for performance => always exec worst case
- may introduce new limitations (max pw len)
- must consider binary-level code and hw implementation
how can compiler and hw interfere with better password checker impl?
compiler might not have the instructions to do the op in constant time or might try to optimize. hardware might have optimizations
Types of I/O Observable SC attacks
- timing packets in interactive connections
2. packet size (image vs text), can create amount/size/timing of images and text to fingerprint webpages
Benign uses of I/O SCs
- heartbeat messages
2. ensure software attestation (making sure sw has not been changed)
how does sw attestation SC work?
design checksum calculation so that it is faster to compute using program memory and fail attestation if it takes too long