Timing Analysis of Keystrokes And Timing Attacks on SSH Authers:dawn xiaodong song,david wagner xuqing tian publication:usenix security simposium 2001 presenter: hiral chhaya for cap 6133
Outline…… Secure Shell (SSH) weaknesses Analysis of user keystroke patterns Attack using inter-keystroke timing Performance evaluation Countermeasures Comments and conclusion
Ssh- secured shell Offers an encrypted channel and strong authentication. Replaces telnet, rlogin. protects a network from attacks such as IP spoofing, IP source routing, and DNS spoofing. If attacker tries to takeover the network SSh diconnects.
Ssh- secured shell
Weeknesses of ssh Two seemingly minor weaknesses: Padding: 1-8 bytes Reveals approximate data size In interactive mode, every individual keystrokes is sent to remote machine in separate IP packet. Leaks timing information of user’s typing Padding length Random Padding Payload Integrity data (MAC) Packet length
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Traffic signature attack
Nested ssh attack User establish SSH session between A and B Another session from B to C User’s password for C is transmitted across ssh link A-> B Adversary sniff the password
Statistical analysis of inter-keystroke timings Pick a pair of characters, e.g. (“v”, “o”) Ask users to type the pair for 30-40 times Collect latency information Repeat for every different pair of characters
Hidden markov model (hmm) HMM - A Markov model when the current state can not be observed. Outputs of the process are observed. Probability of output depends only on the state. Information on the prior path of the process can be inferred from it’s output.
Hidden markov model (hmm) Character pair is the hidden state. Keystroke latency measured is the output observation. Two assumptions: Probability of transformation from current state to another state, depends only on the current state. Probability distribution of latency, depends only on the current state q = character pair y = latency observation
Big picture Detect SSH session detect nested SSH or SU A B Sniffer detect nested SSH or SU Keystroke Timing statistics n-Viterbi Possibilities Password
countermeasures Let the server return dummy packets when it receives keystroke packets from the client. Let the client randomly delay sending keystroke packets. Let the client send keystroke packets at a constant rate.
strengths Novel idea Nice technique Good performance Interesting findings Countermeasures given
weeknesses No mention of how to deal with backspace No discussion of how different keyboard layouts affect the results Laptop vs desktop Different keyboard layouts in different regions
THANK YOU