Slashdot Mirror


SSH Vulnerability and the Future of SSL

iamchris writes "Growing complacent in regards to security is dangerous. I've become more and more dependant on the SSL-type tools for my security... ssh itself, ssl for my web content, scp, sftp, etc... We all know nothing is 100% secure (or if you don't, God help you). An article on Security Focus cites a vulnerability with SSH and passwords. We usually type them in letter-by-letter. A lot of information can be gleaned from the timing of the keystrokes and some (relatively simple) packet decoding. Is there a better alternative to SSL based tools (Perhaps TLS)? Is there anything that can be done with the clients help with the small packet issue?"

290 comments

  1. The best bet for security has always been... by kypper · · Score: 0, Troll
    to unplug the network connection.


    We all know nothing is 100% secure (or if you don't, God help you).

    We hacked him yesterday ;o)

    1. Re:The best bet for security has always been... by Anonymous Coward · · Score: 0

      Ah... Yes, the Microsoft answer ;).

    2. Re:The best bet for security has always been... by Jherico · · Score: 1
      The best bet for security has always been to unplug the network connection.

      Pity the poor soul who thinks he is safe because he isn't connected to a network. Your computer probably puts out enough EM information through the air and through the power lines to read your monitor a block away.

      --

      Jherico

      What can the average user can do to ensure his security? "Nothing, you're screwed"

    3. Re:The best bet for security has always been... by Anomolous+Cow+Herd · · Score: 1

      Thank you for that trite and thoughtless comment. I'm glad that there is yet another person here who doesn't have anything original to add to the discussion.

      --

      "I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
  2. Get real by Anonymous Coward · · Score: 0

    Unless the NSA is on your ass, nobody is going to be interpreting the keystroke frequency on your site. Why does everyone want to pretend they live in a dangerous world where weak security kills?

    1. Re:Get real by Anonymous Coward · · Score: 0

      Because I just disputed a $1,200 charge on my credit card, which I used online last month...

    2. Re:Get real by Rimbo · · Score: 1

      "Why does everyone want to pretend they live in a dangerous world where weak security kills?"

      Some of us do. When I'm at home, I'm not in danger of bad things(tm) happening like this, but when I'm setting up inter-office communications here at work, I have to concern myself with the fact that there are competitors out there who will try such things. And for those who use SSH and the like for government work, this is a genuine concern.

      And in some cases, it's just like closing the blinds to your house. No, there probably isn't anyone outside peering in the window, but there's no need to allow unwanted peeping.

    3. Re:Get real by chill · · Score: 2

      Or you happen to have a cable modem. My Road Runner connection has an average of 40-50 hits a day that are: Code Red scans; various trojan/vulnerability scans; port scans. The vast majority are script kiddies -- but the environment is like the old Wild West. No law but the fastest firewall.

      (The good thing is that it gives me LOTS of useful experience with Snort, AIDE, Tripwire and other tools.)

      Sniffing is also done quite a bit (from what I've heard on IRC channels). I've done it myself (ksniffer is real nice).

      On shared networks this sort of thing is almost trivial.

      --
      Learning HOW to think is more important than learning WHAT to think.
    4. Re:Get real by Anonymous Coward · · Score: 0

      simple answer; because we live in a dangerous world where weak security kills...

    5. Re:Get real by Anonymous Coward · · Score: 0

      hey, thanks, I really appreciate the new 1.1 gig Athalon, man.

    6. Re:Get real by Anonymous Coward · · Score: 0

      Am i the only one that gets annoyed with these silly little asides that are all over the place (inside of these ()s)? Do you people have multiple personalities (or any at all)? (I'm currently thinking about going home. maybe i will soon) (The sky is blue) (I wish i knew a girl).

    7. Re:Get real by skroz · · Score: 1

      40-50? Jebus, my cable modem gets 50 code red attempts PER HOUR, and about 20 port scans per day.

      --
      -- Minds are like parachutes... they work best when open.
    8. Re:Get real by Anonymous Coward · · Score: 0

      Am i the only one that gets annoyed with these silly little asides that are all over the place (inside of these ()s)? Do you people have multiple personalities (or any at all)? (I'm currently thinking about going home. maybe i will soon) (The sky is blue) (I wish i knew a girl).

    9. Re:Get real by Anonymous Coward · · Score: 0

      And you kept every flimsy, right?

      Dumbass.

  3. Right... by Anonymous Coward · · Score: 3, Funny

    and even more information can be gleaned from looking over someone's back when they type. Let's be serious, guys. ;-)

    1. Re:Right... by Chundra · · Score: 1
      and we mustn't forget the satellite developed at Sandia that can read your mind via signals transmitted by microscopic robots that the "cable guys" dumped in your water supply. Be careful though, they can control the little buggers too.

      Oh, btw, foil helmets don't protect you.

    2. Re:Right... by IronChef · · Score: 1


      That is why I only drink rain water and grain alcohol.

      Lately, more of the alcohol...

    3. re: Right... by Auckerman · · Score: 4, Interesting
      "and even more information can be gleaned from looking over someone's back when they type. Let's be serious, guys. ;-)"


      Although funny, it does seem to miss the point, which isn't clearly outlined. Picture it this way......


      There are Hundreds of thousands, if not Millions to 10's of Millions of computers out there that use encryption to transmit very important data. Sometimes that data is a trade secret, sometimes that data is Finacial Results that SEC rules say you can't publish yet, sometimes its internal company communication...almost all of which is being sent by Dilbert clones. Sometimes the admin, who may just be a High School teacher (they can't afford admins), chooses to use encryption over the entire network to allow kids to use dictionary passwords.


      Anyhow, rule number 1 of security, the overall security of your network is only as good as your weakest link. So maybe the corporate exchanges within the network are all secure, but an employee on a low profile, unimporatant computer uses ssh to access his personal email and not only that it's a dictionary password, it's just email afterall. Now some clever cracker packet sniffs his email typing patterns, and does a brute force attack on his password...Now all that is needed is patience and one person to send the wrong info to that email account. Not only that, but by reading his email, one might be able to know how the company works and then call up one day and socially engineer important information. This COULD happen and if encryption in general and SSH in particular doesn't immediatly change to prevent this sort of attack, it will happen.


      In the old days, crackers went through the garbage of a target, before attacking it. (Hell, that is still done.) Now a days, the word "garbage" means different things. It could be a note to a family member that the boss is out of town for the weekend, that the company is moving to Linux next week or maybe even a Dilbert protype emailing himself his own password to the corporate network. At anyrate, this kind of thing is a bit more serious than it sounds at first glance and should be fixed immediately.

      --

      Burn Hollywood Burn
  4. SSH2 and Public Key Authentication by undie · · Score: 4, Informative

    If you use SSH2 protocol and Public key authentication only, you're no longer vulnerable to the password-guessing or Monkey-in-the-middle attacks as they exist today.

    1. Re:SSH2 and Public Key Authentication by ncc74656 · · Score: 2
      If the SSH client generates a tinygram for each character entered in the password, it would seem a simpler fix would be to buffer the entire password and only send it once the user hits Enter/Return/whatever. Instead of x tinygrams for an x-character password (more if you need to fix a typo), you would have just one with the entire password. Making all packets with passwords the same size (fill the dead space with noise) ought to help. You still can't do much to protect keystrokes once the session is going...using vi/emacs/trn/etc. in line-buffered mode would suck. Still, it would make passwords a little more secure.

      (Then again, the above could be completely off-base...I do graphics software, not security software. :-) )

      --
      20 January 2017: the End of an Error.
    2. Re:SSH2 and Public Key Authentication by gorf · · Score: 1

      That won't quite work; ssh has no idea when you are typing in a password, and when you're expecting an interactive response. Imagine using the passwd command during an ssh session; how does ssh know?

      ssh won't know because local echoing gets turned off, because it's turned off by default.

      My solution is simply not to use passwords at all; I use RSA keys exclusively, with ssh agent forwarding enabled. On computers I control, sshd will only allow non-root RSA authentication. The only problem with this solution, though, is that su-ing can reveal a password.

    3. Re:SSH2 and Public Key Authentication by cygnusx · · Score: 1
      If you use SSH2 protocol and Public key authentication only, you're no longer vulnerable to the password-guessing or Monkey-in-the-middle attacks as they exist today.

      Then you'd better ensure that your SSH2 implmentation has a decent DSA implmentation behind it, for it is possible to break DSA (and thus SSH2) by taking advantage of a half-assed PRNG.
    4. Re:SSH2 and Public Key Authentication by Dimensio · · Score: 1

      Well, perhaps a change to the basic ssh client? A two-key combination to start storing keystrokes into a buffer that all get sent at once when the 'Enter' key is pressed? (or the same two-key combo). It would be hard to guess keystrokes when the packets don't correspond to them.

      Van Dyke Technology's ssh client for Windows uses a dialog box to ask for a password, so it likely wouldn't be vulnerable to this problem as well, at least not when logging in.

    5. Re:SSH2 and Public Key Authentication by Sighm · · Score: 1

      That's not entirely true, as Solar Designer and Duc Song stated with their article about SSH traffic analysis.
      They state that a man in the middle attack does work, even for SSH2.

      But, alas, that's my $0.02

      -- Sighm

      --
      --------
    6. Re:SSH2 and Public Key Authentication by stripes · · Score: 3, Insightful
      That won't quite work; ssh has no idea when you are typing in a password, and when you're expecting an interactive response. Imagine using the passwd command during an ssh session; how does ssh know?

      The ssh client doesn't know in general when you are typing a password, but it does know in specific when you are typing the one to start the session. My Java ssh client happens to have "gotten it right" not because I'm smarter then other ssh client authors but because I had a dialog box to ask for the password. I expect a lot of other window system dependent ssh clients work the same way.

      The only problem with this solution, though, is that su-ing can reveal a password.

      Or entering passwords for things on the remote host (like things on the serial devices). However the attacker needs to somehow know when you are entering this other password. It won't normally be easy for them to know. Unless they have created a problem, and called you to ask you to fix it... you can type you password locally and paste them into the ssh client, but that seems painful, and it also mean you password is in the local cut buffer which is an attackable location (and also you might paste it somewhere you didn't want to...). Blech.

    7. Re:SSH2 and Public Key Authentication by Anonymous Coward · · Score: 0

      Store all keystrokes to a buffer and send it whenever there's a half second pause in typing.

    8. Re:SSH2 and Public Key Authentication by undie · · Score: 1


      What I was saying is: SSH2 + Public Key auth is not susceptible to MITM attacks.

      Using SSH2 + Passwords is theoretically vulnerable to this attack, but the current tools (dsniff, etc) do not yet implement this.

    9. Re:SSH2 and Public Key Authentication by killmenow · · Score: 1


      Store your keys on removeable media also...and remove the media when you aren't using it...like put it in your shirt pocket (bizcard CD-Rs are great for this) or in a locked drawer in a locked room in a locked building, etc...

    10. Re:SSH2 and Public Key Authentication by Greenisus · · Score: 1

      If the password is sent as a buffer it looks suspicious compared to other keys typed. Perhaps, it should be sent a character at a time, after entered, but with a random amount of time between each character.

    11. Re:SSH2 and Public Key Authentication by robbyjo · · Score: 1

      Note that SSH2 is NOT compatible with SSH1. If you'd like further info: Click here. But it can be made compatible (see caveats).

      Admins, read this PDF document.

      --

      --
      Error 500: Internal sig error
    12. Re:SSH2 and Public Key Authentication by Ed+Avis · · Score: 2

      It would be nice if more of the raw keystroke-handling work could be handled at the client end. So instead of ssh sending raw keystrokes across the network, it could read a whole line (and allow you to do line editing locally) and send that when you press Enter. If the remote application wants to read from the terminal in raw mode, then ssh could do that, but for normal command-line use a line at a time is fine. It's not vulnerable to analysing the time between keystrokes, and on a high-latency line it would be a helluva lot faster.

      This would require some cooperation from programs like the shell - instead of Bash putting the terminal into raw mode and doing its own line editing, it would need persuading that the line editing would be done somewhere else and would send a whole line at a time.

      BTW - anyone else see the text at the end of the article saying 'to link to this article, please use the following URL?'.

      --
      -- Ed Avis ed@membled.com
    13. Re:SSH2 and Public Key Authentication by Florian+Weimer · · Score: 1

      This is a red herring, sort of. The initial password is transmitted en bloc. Although there are some information leaks, too (mainly the length of the password), this password is not vulnerable against sniffing the session and guessing passwords by measuring intervals between key presses. The passwords entered during an SSH session in the session itself are at risk (for example, if you call sudo, or if you use SSH with password authentication).

      Of course, your terminal emulator could offer you a special way to enter a password and send it en bloc later on, to defeat this kind of attack (much like X keyboard locking in xterm)...

    14. Re:SSH2 and Public Key Authentication by roca · · Score: 2

      This is about passwords that you type in the course of an SSH session, NOT the initial password that logs you into SSH. That initial password is not vulnerable to timing-based traffic analysis because it is all sent in one packet.

    15. Re:SSH2 and Public Key Authentication by roca · · Score: 2

      The initial password length is not leaked if your client pads the password. Most SSH1 clients are now doing this.

    16. Re:SSH2 and Public Key Authentication by gorf · · Score: 1

      ...but it does know in specific when you are typing the one to start the session.

      Is this included in the problem the article is referring to?

      ...in an interactive mode, each keystroke that a user types is sent to a remote machine in separate IP packets immediately after the key is pressed.

      The article doesn't seem too clear on this, and I can't read the modem lights because it's in the other room. But IMHO it'd be stupid to do it; the reason it does it in `interactive' mode is because it uses raw mode.

      I'm not sure, but I don't think that the individual characters of the password are sent in separate packets at the start of an ssh session. Feel free to check and correct me :-)

    17. Re:SSH2 and Public Key Authentication by el_nino · · Score: 1
      This is about passwords that you type in the course of an SSH session, NOT the initial password that logs you into SSH

      And how do you suggest the attacker would know when you're entering a password, except the first time you do it? The point with using SSH is that the attacker won't know when you type 'su' or 'passwd'.

      There is however the possibility of having untrusted local users continously logging when someone runs su or passwd, while another machine logs all traffic, but that's much further fetched.

    18. Re:SSH2 and Public Key Authentication by stripes · · Score: 3, Informative
      I'm not sure, but I don't think that the individual characters of the password are sent in separate packets at the start of an ssh session. Feel free to check and correct me :-)

      Hmmm, I think you may be right. I don't know enough about the normal SSH code to check, but taking a quick look at mine the password is in a single CMSG_AUTH_PASSWORD packet not the CMSG_STDIN_DATA packets, so I expect everything sends the initial packet as a single chunk. The only thing open to this attack would be passwords sent during a session.

      Which means either the authors of the paper took into account the difficulty of guessing what input text is (or might be) the passwords, and we are all in a (modest) bit of trouble, or something fishy is going on here.

    19. Re:SSH2 and Public Key Authentication by Anonymous Coward · · Score: 0

      Right. However, seeing as they invented it, you are vulnerable to the NSA getting anything they want from your computers.

      -Military-Industrial-NewsMedia-ConsipracyBoy

    20. Re:SSH2 and Public Key Authentication by roca · · Score: 2

      Simple, read the article or other comments in this Slashdot thread. When you're typing a password, you're sending single characters and the server isn't sending any echo back. That is easy to detect by packet sniffing.

    21. Re:SSH2 and Public Key Authentication by Florian+Weimer · · Score: 1

      As far as I remember, this is done by breaking the protocol, relying on the fact that most server implementations cannot handle passwords with embedded NUL characters.

      Given the fact that a lot people who still rely exlusively on SSH1 use an unmaintained version (the proprietary version by SSH Communications Security for UNIX-like operating systems), I don't think it's reasonable to expect that this hole gets plugged any time soon. After all, people are still using SSH versions without the CRC compensation attack detector.

    22. Re:SSH2 and Public Key Authentication by vrmlguy · · Score: 1

      Good ol' telnet has something called "linemode" that already does this. And it doesn't need the cooperation of the shell, it interfaces to the tty drivers. The idea, IIRC, is that when the mode starts up, a list of all 256 chars is sent, with flags indicating which ones (if any) do all the classic 'stty' functions, ERASE, KILL, SUSPEND, etc.

      --
      Nothing for 6-digit uids?
    23. Re:SSH2 and Public Key Authentication by el_nino · · Score: 1

      D'oh! Didn't think about that. Didn't see any mention of it in the article either, though.

      Question is, does sshd know when echo is turned off on the terminal? If so, here's a possible solution:

      1. Patch sshd so that whenever echo is turned off, instead of not echoing anything to the client it echoes a SSH_MSG_IGNORE message for each byte recieved.

      2. You could also make it buffer input for a short amount of time whenever echo is turned off. Wait until timeout or when you recieve a newline, then send the input. Since you can't see what you're typing it won't feel sluggish. This has the additional benefit that it can defeat the attack I mentioned in my previous post where you had untrusted local users on the host machine, however it's less transparent than method 1.

      Any thoughts?

    24. Re:SSH2 and Public Key Authentication by Anonymous Coward · · Score: 0

      You mean you still use DSA in SSH?

      Someone please correct me if I'm wrong, but I thought the main advantage of DSA was the RSA patent. Now that that's expired (almost a year ago), why not use RSA which is not only faster but has a much richer cryptanalytic history?

      (Yes, you can use RSA keys over SSH2 ... at least the OpenSSH implementation.)

    25. Re:SSH2 and Public Key Authentication by MadAhab · · Score: 2
      I did read the article. It's not what you say; the article appears to refer to initial login passwords. Granted, you shouldn't be doing that for machines you log into frequently; you should be using keys. Still, there's no valid reason for the protocol to send one password key at a time. I've never actually checked whether the login password is sent one key at a time, but you can bet that I'll check via tcpdump (if you aren't talking out of your ass you should have put up a dump). There's no good reason for it to do so, and this is totally different than analysis of what you do DURING the session.

      As for inter-key timing during normal typing (how long does it take you to type "su" vs "of"), it would be surprising and interesting---and more related to ergonomics than to computing---if keys typed were that easy to decode from timing alone. And the article is woefully short on detail there. I don't doubt it's possible, but I do doubt it's easy, and probably requires a good amount of data and intuition to really work.

      --
      Expanding a vast wasteland since 1996.
    26. Re:SSH2 and Public Key Authentication by logicnazi · · Score: 2

      if it is sent in a buffer the encryption protects it. Even if the potential hackers know a password is being sent (and they know a passwd is being sent anyway b/c it is the start of a connection) they can't get any information about what the password itself is (to do so would constitute an unknown plantext attack against the ssh encryption (3DES)).

      The danger discussed above is that if each keystroke is sent individualy (instead of in a block) an attacker can monitor the times between keystrokes. If (as is probably the case) differnt transitions of keys take differnt amounts of time then some data can be gotten about what you are typing.

      Passwords are precisely the wrong place to worry about this kind of attack. They are the text we type *least* likely to have recognizable delay patterns between various keys (yes it is probably the most consistant timed keystrokes we type but each individual holds their hands quite differntly when they type their password so unless we had actually observed them type in their pawword we would have little knowledge about what kind of keys might correspond to the observed pattern of delays in their password). In addition good passwords (if you have a bad password you already have a much bigger security hole anyway) are some of the most entrpoic pieces of text you type (that is it is the most difficult to make guesses about what a 5 letter pawword is if you know 4 letters than it is to guess what a 5 letter word or name is if you know 4 letters).

      In short given the already dubious nature of this attack (no doubt some error will be introduced into the packet timings by the network significantly compounding the already difficult task of guessing keys from key timings) it really isn't passwords people shoule be worried about. More likely would be an attack like this would be used to reconstruct an email where the language structure presents lower entropy and keystroke timings are much easier to deal with.

      --

      If you liked this thought maybe you would find my blog nice too:

    27. Re:SSH2 and Public Key Authentication by 3247 · · Score: 1
      "Or entering passwords for things on the remote host (like things on the serial devices). However the attacker needs to somehow know when you are entering this other password. It won't normally be easy for them to know"

      Wrong. Haven't you read the articles about this? According to reports describing this security hole, it's actually quite easy to guess when a password is typed. For one thing, they're a small number of single characters - often even without an echo sent back! - typed in a certain pattern which is different from normal commands typed on the command line.

      --
      Claus
    28. Re:SSH2 and Public Key Authentication by neotek(maas) · · Score: 1
      That won't quite work; ssh has no idea when you are typing in a password, and when you're expecting an interactive response. Imagine using the passwd command during an ssh session; how does ssh know?
      It can guess to an extent because when you typically enter a password, echoing is switched off.
      --
      A diplomat is someone who can tell you to go to hell in such a way that you will look forward to the trip. (355/113)
    29. Re:SSH2 and Public Key Authentication by gorf · · Score: 1

      Did you actually read what I said?

      ssh won't know because local echoing gets turned off, because it's turned off by default.

      Why do you suppose there's a slight delay in seeing characters appear even when you're on the command line?

    30. Re:SSH2 and Public Key Authentication by he-sk · · Score: 1

      Crap! This would disable tab-completion, and we would have a shell that is as dumb as COMMAND.COM. No way.

      --
      Free Manning, jail Obama.
  5. That does it... by Anonymous Coward · · Score: 0


    Back to telnet for me!

  6. Use RSA keys by SagSaw · · Score: 1

    The best way I can think of is to use the RSA key authentication method. A RSA key pair is used to authenticate, rather than a password. This way, the password is never typed over the network connection.

    --
    Come test your mettle in the world of Alter Aeon!
    1. Re:Use RSA keys by morcego · · Score: 1

      Actualy, DSA keys seems to be more secure. There are known issues about RSA algo, not to mention "patent" concerts (yes, I know the patent expired).

      --
      morcego
    2. Re:Use RSA keys by crucini · · Score: 2

      Argh! This has *nothing* to do with ssh password authentication. It's about typing passwords via ssh after the connection is established. Ssh2 does have a 'keyboard-interactive' mode of authentication, but it's the least preferred so it doesn't get used much.

      Try running tcpdump to capture a password-based ssh login. You won't see one-packet-per-key unless you happen to be in that unfortunate keyboard-interactive mode.

      Ssh password authentication does not leak timing information.

    3. Re:Use RSA keys by Anonymous Coward · · Score: 0

      So, the point then becoms the fact that someone may be typing a password to another site via a secure SSH2 link, in keyboard inteactie mode, of course. The attacker can still use the same guess and crack method that is causing paranolia around SSH1. Of course, keyboard inteactive mode is important to using any sort of terminal remotely. Hell, it's an udder nightmare when you are using a remote terminal over a high latency connection. 400ms is the threshold for my sanity, any more, and you can drag me off to the padded cell.

  7. TeraTerm by Hyperbolix · · Score: 2, Insightful

    Teraterm (available for free download here) has several SSH extensions. I beleive one of them has you type in the password all at once and then sends it as a single string, which means that key timing can't be determined. Just my 2 cents.
    - Hyperbolix

    1. Re:TeraTerm by Bender_ · · Score: 1

      Bad idea. Last time i checked TTSSH was still SSH1 only, which is prone to man-in-the-middle attacks.

      There are lots of script-kiddie tools which can do this, even over a switched LAN etc. Better dont use SSH1.

    2. Re:TeraTerm by rgmoore · · Score: 1

      I think that most Windows terminal emulators have similar functionality. It seems like a very simple step to take to help preserve passwords. I also find that it's convenient because I like to use a long password and it's easier to correct mistakes that way.

      That still doesn't invalidate the general comment, though, which is that SSH and similar protocols are still subject to traffic analysis. Padding with null information, deliberately introducing some timing jitter into keystrokes being sent, etc. can certainly help in that regard. The big thing to remember is that security is relative; you can always find some way of making it a little bit better.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    3. Re:TeraTerm by ncc74656 · · Score: 1
      Bad idea. Last time i checked TTSSH was still SSH1 only, which is prone to man-in-the-middle attacks.

      I use PuTTY (which supports SSH2) if I need to access stuff on the Linux server at home, but I'm currently using TTSSH to do VNC-over-SSH to access a Win2K workstation behind the server. I know SSH1 has its issues, as you mention...but is there an SSH2 client (preferably at least "free as in beer") for Windows that does port forwarding? I'd rather not give the schmucks who closed off the original SSH my money if I can avoid it. PuTTY is good (small enough to suck down from my server to a remote computer if I need it), but it doesn't do the port forwarding needed to get VNC to work.

      --
      20 January 2017: the End of an Error.
    4. Re:TeraTerm by garcia · · Score: 2

      don't most GUI terminal packages (including MacSSH, etc) all send it as a single string (SecureCRT)?

    5. Re:TeraTerm by earlytime · · Score: 2
      use the !awesome! cygwin environment from cygnus.
      Then yout get pure openssh, along with a whole suite of unix tools on your windows box.


      -earl

      --

    6. Re:TeraTerm by roca · · Score: 2

      SSH2 is also vulnerable to MITM attacks if you don't know the server key or key fingerprint. OTOH, if you do have the server key, then in SSH1 clients (such as TTSSH) a MITM attack will trigger a warning that the "host key has changed". In TTSSH the default option in such a situation is to disconnect.

      SSH2 doesn't have any magic that makes PKI easy. Anyone who tells you otherwise is trying to sell you something.

  8. Use S/Key by Anonymous Coward · · Score: 0

    yeah, it's vulnerable to a dictionary attack but at least you solve this problem...

  9. Linemode SSH. by Apuleius · · Score: 2

    Sooner or later someone will patch an SSH client
    to go to linemode, where the client sends only
    one packet for each section of the session
    between carriage returns.

    Problem solved.

    1. Re:Linemode SSH. by jimmcq · · Score: 1

      Sooner or later someone will patch an SSH client
      to go to linemode, where the client sends only
      one packet for each section of the session
      between carriage returns.


      Thats fine for the comand line, but it doesn't work so well for interactive editors.

    2. Re:Linemode SSH. by _mythdraug_ · · Score: 1

      5j3wiWhat do you mean it doesn't work well?:wq!

    3. Re:Linemode SSH. by DunbarTheInept · · Score: 2

      Let the user choose to toggle line-at-a-time mode
      with a hotkey on the ssh client side. Just say in
      the manual - your password will be more secure if you type ctrl-meta-dingbat-thwirble-whoops-wheres-my-thribb le before your password, and then again afterward.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    4. Re:Linemode SSH. by loosifer · · Score: 1

      Thats fine for the comand line, but it doesn't work so well for interactive editors.

      Actually, it's not fine for the command line, either. Most people seem to forget that your (local) typing does not directly cause characters to appear in your (local) terminal; your (local) typing causes your (remote) connection to echo the characters back to your (local) terminal.

      Thus, if you turned on linemode in the command line, you would never see what you typed until you hit return.

      Obviously, this could be fixed if we completely redesigned how unix sees the world, but...

    5. Re:Linemode SSH. by Apuleius · · Score: 2

      It should not be a problem for the client to
      represent both the local typing and what is
      echoed, in linemode.

    6. Re:Linemode SSH. by jimmcq · · Score: 1

      Actually, it's not fine for the command line, either. Most people seem to forget that your (local) typing does not directly cause characters to appear in your (local) terminal; your (local) typing causes your (remote) connection to echo the characters back to your (local) terminal.

      I think its pretty safe to assume that linemode would use local echo while you are entering a line. I didn't spell it out in my original post because I figured that common sense would allow most people to make that leap.

  10. So what? by Reality+Master+101 · · Score: 4, Insightful

    The article pretty much says that keystroke timing can help increase the efficiency of dictionary searches.

    Big deal. If your paswords are vulnerable to dictionary searches, then you have bigger problems than keystroke timing vulnerability.

    This sounds like a non-issue to me.

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:So what? by jhittner · · Score: 1

      It also says that it can be used to guess the lenght of the password, which could make a brute force MUCH quicker

    2. Re:So what? by prizog · · Score: 2

      No it wouldn't.
      Brute force would try shorter passwords first. Assuming passwords match \w+, that's 63^letters^. If you check letters-1 passwords first, you've only wasted 1/63rd more time than if you knew the length (well, 1/63 + 1/(63^2) + ..., but that's tiny).

      Besides, it's trivial to modify SSH clients to check for password prompts and obscure password timing and length (add in backspaces...).

    3. Re:So what? by Cassivs · · Score: 2
      The article says:
      The researchers studied user dynamics and determined that the timing information of the keystrokes leak information about the key sequences typed at about 1 bit of information about the content per keystroke pair. Because the entropy of passwords is only 4-8 bits per character, this 1 bit per keystroke pair information can reveal significant information about the content typed.
      So, let's say you have an 8 character password now. That's 7 key pairs (1-2, 2-3...7-8). So, you lost 7 bits of "randomness" in your password. Add two more randomish characters, and, assuming that you get 4 bits of entropy per character, you're now better off than you were before. And the brute force is now harder than it was before this attack was considered. 10 characters isn't that much worse than 8.
      --
      -skip
    4. Re:So what? by Christopher+Craig · · Score: 1
      It also says that it can be used to guess the lenght of the password, which could make a brute force MUCH quicker

      I wouldn't say "MUCH quicker."

      Say you have passwords that are a series of bits (and you have to type in "1" or "0" by hand each time). Say your password is n digits long. By eliminating all items smaller than n digits, you would eliminate only half of the keyspace (and thus an exactly n+1 digit password offers equal security to a n or less digit password).

      This is the worst case. For cases where the number of possiblities in each digit are comparitively large (like 62 for upper and lowercase letters and numbers) the difference is much less significant. For instance for upper and lowercase letters the number of passwords 9 characters or shorter is only 13759005997841643, while the number of 10 character passwords is 839299365868340224. Meaning that the total number of less than 10 character passwords is less than 2 percent of the number of exactly 10 character passwords.

    5. Re:So what? by Anonymous Coward · · Score: 0

      Concidering i type my password in wrong alot of time the attacker would have quite alot of fun guessing my typo which i correct with crt-w wouldn't they?

    6. Re:So what? by jaspetry · · Score: 1

      That isn't what the article said at all. Read section 5.3 of the report again. The passwords used in the experiment are randomly generated. The algorithm presented generates a list of high-probablility passwords, based on the timing.

    7. Re:So what? by Reality+Master+101 · · Score: 1

      You're right. It says in the main body of the article "exhaustive search", and I missed that somehow.

      --
      Sometimes it's best to just let stupid people be stupid.
    8. Re:So what? by thogard · · Score: 1

      If you also figure in that the time between key strokes also leaks out and that allows you some good guesses on which letters are next to each other, you have a very good chance of dropping thouse 2^10 passwords to a few million. On a recent attempt to crack passwords on a slow web server, I could do a dictionary attack in less than 1/2 hour. A well designed system can try a million passwords in an afternoon aginst an unsuspecting target. Most recent versions of SSH prevent you from attempting that.

  11. I have to agree by Ron+Harwood · · Score: 3, Funny

    The timing of keyboard strokes??? Holy crap - I've just got better things to be worrying about...

    Then again, perhaps my typo rate (and requisite back spaces) have helped me all this time.

  12. Pretty damned theoretical by wiredog · · Score: 2

    It can't be easily used to guess a password. Using a Dvorak keyboard would defeat it if they thought you were using querty, and vice versa. So would putting a timing loop with a good randomizer in the packet transmitting code. Unless you're trying to keep your data safe from the NSA/GCHQ there's little reason to worry.

  13. More to worry about if you're paranoid. by Pinball+Wizard · · Score: 1, Troll
    A lot of information can be gleaned from the timing of the keystrokes and some (relatively simple) packet decoding.


    Well, if you use RSA you don't need to type a password so that would solve that particular problem. But if you really want to be paranoid about it, the technology exists to capture your keystrokes. I believe it works by detecting the charge released from depressing each keystroke(the keyboard uses capacitance to send specific characters if I'm not mistaken). So you really need to work behind lead walls or something else that will block that signal from being transmitted.


    Again, using RSA would prevent the password from being transmitted. But they could just keep listening, and gather sensitive data as you type away.

    --

    No, Thursday's out. How about never - is never good for you?

    1. Re:More to worry about if you're paranoid. by Matthew+Weigel · · Score: 2
      Well, if you use RSA you don't need to type a password so that would solve that particular problem.


      Just to be clear, you should use a password with RSA keys (otherwise, for instance, root on the system that has your RSA key can impersonate you on the remote system). However, as I understand it, the password used is used to decrypt the RSA key prior to use, and then the decrypted RSA key is used. So yes, it should protect against this (very theoretical) attack.



      But then, you were already using RSA keys so that knowing your password on the remote system wasn't sufficient, right?



      As an aside, I've found that those cute little credit-card CD-ROMs are excellent for storing your RSA key, and they're usable with just about everything but TiBooks and iMacs - and with the extra space, you can keep known-good SSH binaries for Windows, Mac, and any Unix systems you commonly use on there as well.

      --
      --Matthew
  14. Use public-key authentication. by Anonymous Coward · · Score: 0

    Password problem solved.

  15. Use better password technology by thrig · · Score: 1

    Instead of password auth, use something like s/key, so it really won't matter if the evil cracker gets:

    SEWN LULU PIN HOUR PRY YEAR

    OpenBSD supports s/key right out of the box, which is spiffy. Or use Public Key authentication, expensive crypto cards, or any of the other alternative authentication techniques out there.

  16. complete non-issue by Ender+Ryan · · Score: 2, Interesting

    While entering passwords, simply type with 1 finger, and randomly pause between each keystroke.

    But if you need to worry THAT much about security, then I'd assume you have much bigger problems than that to deal with, such as the FBI or CIA or whoever it is going to such great lengths to figure out your password...

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:complete non-issue by Anonymous Coward · · Score: 0
      simply type with 1 finger, and randomly pause between each keystroke.

      Hey, I type like that anyway... What's your point?

    2. Re:complete non-issue by Jason+Earl · · Score: 2

      Humans aren't very good at "random" typing. Instead it is much better to type to some rhythm. I personally like "Shave and a hair cut TWO BITS" repeated over and over again. But hat is mostly because it scares the other people in my office when they hear me sing.

      Scaring your co-workers is an important part of any decent security scheme.

  17. Key based authentication by yomahz · · Score: 1

    If you are using key based authentication then they are going to need more than just your password.

    As I understand it, the password just allows you to decrypt the private key w/ a symmetrical cipher. Then the connection is encrypted w/ the public/private key pair. This means they actually have to have physical acess (with read filesystem permissions) to the private key as well as the password.

    --
    "A mind is a terrible thing to taste."
  18. It's not that terrible... by Anonymous Coward · · Score: 0

    We just need to transmit packets regularly. One of the rules of secure cryptosystems is that you have to give out almost *NO* information via any means, whether it be the packet size, the timing, due to errors introduced into the hardware or from known plaintext or any other thing from which you could infer information about the contents or nature of the communication.

    The solution? Make all packets the same size, padding them if necessary. I suspect that if we transmit regularly sized packets at apporximately even intervals, there won't be very much left to worry about. In other words, it can't be *that* hard to fix.

    I wonder how long the NSA has known this?

    1. Re:It's not that terrible... by roca · · Score: 2

      It's really hard to work out a good scheme to do this. The problem is that the user wants good interactive response so when they type a character, you have to send something right away. You can send a lot of garbage as well, but how do you make sure that the attacker can't tell the difference between garbage and the real data? Probably only by sending garbage constantly! That would massively increase the bandwidth requirements for SSH.

  19. I think we're safe. by Rimbo · · Score: 2

    When I connect to a remote box from Windows, I use the free ttssh extension to the freeware terminal program Tera Term. When it asks you for a password, it captures everything in a dialog box, and sends the password as one chunk.

    For those using a command-line version, who are really paranoid, you can just vary the rhythm of your strokes (type along with your music!). Or use RSA authentication. :D

    But in general, I don't think anyone needs to worry about this unless they've got a bulls-eye on their backs.

    1. Re:I think we're safe. by petermcanulty · · Score: 1

      Even if you use RSA or ttssh, that only hides the timing of your password keystrokes during session log in. If you use sudo or su and type a password, I'm pretty sure timing analysis could detect those events.

      Don't forget that more than passwords are vulnerable. I use ssh to prevent eavesdropping, but apparently, ssh needs to do some keystroke timing hiding to improve security for the entire interactive session. (I'll let the expert paranoids figure out the best way to do that).

    2. Re:I think we're safe. by Rimbo · · Score: 1

      Don't forget that more than passwords are vulnerable. I use ssh to prevent eavesdropping, but apparently, ssh needs to do some keystroke timing hiding to improve security for the entire interactive session. (I'll let the expert paranoids figure out the best way to do that).

      Listen to music while you compute, and type along with the beat!

      Worst case scenario, they know what kind of music you like. ;)

    3. Re:I think we're safe. by Chundra · · Score: 1
      you can just vary the rhythm of your strokes

      pervert! ;-)

  20. The Best Option... by keesh · · Score: 1

    Include some control characters in your passwords... For a start, none of your script kiddies will be able to figure out how to type a ^V character. Secondly, it screws type speed typing. Thirdly, a few control characters (Ctrl+C, and NULL?) are impossible to send from many Windows clients. Security through impossible passwords :)

  21. [Clarify] Some things are perfectly secure by mclearn · · Score: 2

    In terms of security, there are some things that *are* perfectly secure. The one-time cipher is an example of this. Unfortunately, the pad of keys must be synchronized at either end of the communication -- and of course you can't transmit these, so practically-speaking, it's not really an option.

    There's a neat document outlining "snake-oil" signs in encryption software here.

    1. Re:[Clarify] Some things are perfectly secure by keesh · · Score: 1

      And if you could transmit a one time pad securely, why not just use that method to send the commands in the first place?

      Okay, timing maybe, but there's no sane way to send a one time pad anyway. One lost packet and you die...

    2. Re:[Clarify] Some things are perfectly secure by Larne · · Score: 1

      My (admittedly limited) understanding is that one-time ciphers are only completely secure if the pad is truly random.

      "Cryptonomicon" has a brief passage about cracking one-time ciphers where the pad was generated by picking ping-pong balls out of a hopper. This turned out not to be random enough because of the human tendency to pick out common letters more often...

    3. Re:[Clarify] Some things are perfectly secure by MSojka · · Score: 1

      You can transmit such a purely random cipher - that's what quantum cryptography is all about (well, almost). Basicly, everyone and everything who could potentially intercept/read/change such a secured channel, alters it. There's - physically - no way you can do anything about it.

      There are some articles on this subject in Scientific American, but I don't have the time to find them right now. :)

      Read you,
      Martin Sojka.

  22. use of backspace by shibut · · Score: 1

    a friend of mine used to include backspaces in his typing of his password (on purpose, not just because he typed with 2 fingers).

  23. Re: The Truth About CmdrTaco, VA, and Microsoft by Anonymous Coward · · Score: 0
    Great fucking post! That was hilarious.

    On the other hand, what else would you expect when a bunch of computer geeks like Taco and Microsoft try to pull cloak and dagger shit like that?

    If this is true, I'd like to see coverage by major news organizations; not that Slashdot is or ever has been newsworthy, but the Microsoft angle certainly is (the shareholders should be worried, anyway).

    If you made all that up, you are one talented sonofabitch. Ever think about writing for the X-Files?

  24. You are the Weakest Link... by nairnr · · Score: 1

    The best thing to do is a security audit, you need to determine whether or not you are really vunerable, or if you are a target. We have learned time and again, that security cannot depend on a single method or product. If you only depend on a firewall, and it gets hacked, you are toast. Conversely, if you are using SSH with passwords, and your passwords are weak, then what it is the point... If you really are concerned a great deal about security, you need a multi-tiered approach, where the goal is to minimize risk, you can never get rid of it, with out pulling the plugs.

  25. It sure is sad to see how evil... by Anonymous Coward · · Score: 0

    It sure is sad to see how evil, and because of this so paranoid, this world has become!

    but it sure makes us some money or waht?!

  26. SSH != SSL by larse · · Score: 1

    Just for the record, SSH and SSL are unrelated, i.e. SSH is not implemented over SSL.

    1. Re:SSH != SSL by jmauro · · Score: 2

      And just for the record as well, TSL is just SSLv3.1. It was given a new name be SSL was trademarked by Netscape.

    2. Re:SSH != SSL by kurowski · · Score: 1

      If it's for the record, then you ought to say TLS (not TSL), unless of course you're trying to throw "them" off track!

  27. Key timing by kevin42 · · Score: 2

    I would think that unless you are a terribly slow typist that the NAGLE algorithm in TCP would defeat packet sniffing and analyzing the timing of the keystrokes.

    For thos who are wondering what nagle is, it's an algorithm that helps TCP avoid sending a packet for every key stroke on telnet connections among other things.

    1. Re:Key timing by Ethan · · Score: 1

      Telnet disables the Nagle algorithm.

      It's a moot point with SSH anyway, because SSH transmits the password in one chunk as far as I know...

      Of course, this article also asked if replacing SSL with TLS would fix SSH. Par for the course, I guess.

    2. Re:Key timing by Malcolm+Chan · · Score: 1

      Eh? I thought the Nagle algorithm was specially developed for telnet. RFC-1122 sections 4.2.2.14 and 4.2.3.4 describes the Nagle algorithm, specifically citing telnet as an example application that uses this TCP feature.

      Or are you talking about a particular (broken) implementation that specifically disables this feature?

      --

      /MC

    3. Re:Key timing by Tet · · Score: 2
      I would think that unless you are a terribly slow typist that the NAGLE algorithm in TCP would defeat packet sniffing and analyzing the timing of the keystrokes.


      Yes, but the SSH server may have been compiled
      with the NAGLE algorithm explicitly disabled, or
      (with SSH2 at least), it can be disabled at run
      time in the
      config file with the NoDelay keyword.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    4. Re:Key timing by kevin42 · · Score: 2

      Sadly a lot of tcp implementations including some telnet implementations disable NAGLE, mainly because people don't understand why it is a good thing. Nagle is good for 99% of TCP applications, but it's the first thing many programmers disable when searching for a performance boost. *sigh*

      Those people generally don't have to try to squeze performance out of a network.

    5. Re:Key timing by Malcolm+Chan · · Score: 1

      Does anyone have any idea which TCP and/or telnet implementations are broken in this regard? More specifically, are the more "mainstream" implementations (Win32, Linux) broken?

      --

      /MC

  28. obscurity by Takahashi · · Score: 1

    "A lot of information can be gleaned from the timing of the keystrokes and some (relatively simple) packet decoding"

    This can be avoided by altering your key timing. How do you do this? Don't use a Qwerty keyboard :P Sense I've switched to a Dvorak key map my finger movements have been diminished by >60%. This change in finger movements has got to also translate into different keystroke timings.

    Takahashi

    1. Re:obscurity by Anonymous Coward · · Score: 0

      Fuck! just stop typing with all 10 when typing passwords.

  29. keyboard based security by uigrad_2000 · · Score: 2, Interesting
    A lot of information can be gleaned from the timing of the keystrokes and some (relatively simple) packet decoding.

    So, take the time to learn Dvorak. You'll save minutes each day in typing, and you're hands will feel better, and it should effectively screw up any timing-based password sniffers!

    Quick dvorak "graphic":
    ' , . p y f g c r l / = \
    a o e u i d h t n s -
    ; q j k x b m w v z

    --
    Free unix account: freeshell.org
    1. Re:keyboard based security by Skater · · Score: 1

      I'm always glad to see others that use the Dvorak. :)

      Thanks!

      --RJ

    2. Re:keyboard based security by feorlen · · Score: 1

      So now it's time for all the Dvorak typists to feel superior? Oh, right, we already do! :)

      It's not exactly "security" but it does keep people from casually using my machine...

    3. Re:keyboard based security by Anonymous Coward · · Score: 0

      Dvorak keyboards allow you to type faster is a myth.

    4. Re:keyboard based security by Wavicle · · Score: 2
      I wonder if anybody else sees that if this story (determining statistical probabilities of typed letters based on the time taken between keystrokes) is correct, then the "Dvorak keyboards allow you to type faster is a myth" argument must be wrong.

      The study says that it will take you slightly longer to hit keys off the 8 home position keys because your finger requires slightly more time to move to that key. If that is a true statement, then a keyboard which places the most commonly used 8 letters in those positions should result in faster typing speeds since your fingers are not traveling to those commonly typed keys.

      As for that myth link:

      > Other more recent studies, including one by the General Services
      > Administration, have shown there is little or no difference between the
      > keyboards in such areas as learning ease, speed and comfort.


      Where is this study? Okay, that isn't really important. What is important is the bias of economics presented by the quoted article. It also doesn't state until much later than the study the GSA performed has its own critics.

      > The two critics also argue that if the Dvorak keyboard was indeed
      > superior, then big corporations -- especially back in the days of huge
      > typing pools -- would have grasped the long-term economic benefits of
      > paying to switch over to the "better" design.


      I think the two critics forget how little people in the typing pools were paid. What's cheaper: Retraining someone already skilled with the qwerty keyboard, or hiring another typist to take up the slack? How much extra would it have cost to order Dvorak keyboards from typewriter companies tooled to produce qwerty keyboards?

      What's more, while today's
      > personal computers can easily be reprogrammed to the Dvorak layout, few
      > people do.


      You know slashdot has had this argument before. Most people use keyboards at places other than their own desks. When I go over to help someone else with their code, I don't need to be slowed by hunt-n-peck on a qwerty keyboard because I am accustomed to dvorak. This is the reason most people who try learning the dvorak keyboard give up. Qwerty already has market position. How this escaped the researchers, I do not know.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    5. Re:keyboard based security by Anonymous Coward · · Score: 0

      yeah, but it'll slow you down enough that it makes the timing based sniffer even more effective, if the person knows you're a beginning dvoraker..

    6. Re:keyboard based security by Anonymous Coward · · Score: 0

      And, I'll switch when I can use VI (or your favorite editor with keyboard shortcuts) in Dvorak mode with my fingers not getting tied in a knot.

    7. Re:keyboard based security by Wavicle · · Score: 2
      That's a good argument I hadn't thought of... I'll add it to my "Reasons Dvorak may be superior but doesn't realistically stand a chance of dethroning Qwerty because:" list.

      Good thing I never tried to play NetHack on a Dvorak keyboard... I'd be trying to quaff my armor instead of walking around a sleeping nymph.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    8. Re:keyboard based security by hayden · · Score: 1

      If you always type slowly then hows it going to notice you are typing a password?

      --
      Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
  30. time your password keystrokes by Grand+Facade · · Score: 2, Interesting

    if you use a set pace pausing between each keystroke of password entry, no keystrokes can be discovered!

    RickB

    --
    Rick B.
  31. Doesn't sound so insecure by Jormundgard · · Score: 1

    Checking for typing rates just seems a little too movie-esque to be realistic. It's like checking for heat residue on the keyboard or something equally ridiculous.

    Also, every SSH program I've used in windows takes in the whole password before sending it along. (In UNIX I use ssh and have no idea, but it seems like it does the same thing). How could they get info out of that?

    1. Re:Doesn't sound so insecure by rpk · · Score: 1
      Also, every SSH program I've used in windows takes in the whole password before sending it along.
      But what if you're typing a password for su or sudo ? At that point you would be transmitting tinygrams since ssh doesn't know that what's being transmitted is a password.
    2. Re:Doesn't sound so insecure by MeNeXT · · Score: 1
      But how can you tell it's a password and not something like ls -al | grep slash. The software would need some controle setting in order to simplify the search. ie when we login to a system we have the common:



      SYSTEM login:



      USER hello



      SYSTEM password:



      USER g0d



      so we have a control to base our guess, but how would you know that i'm typing a password, all your seeing is my wasting company time responding to /. 8^)

      --
      DRM? No thanks, I'll just get it somewhere else...
    3. Re:Doesn't sound so insecure by roca · · Score: 2

      You should read the paper. It's easy to see when people are typing passwords because the client is sending characters but the server is not echoing them back.

  32. ROT13 tunnel by Anonymous Coward · · Score: 0

    I tunnel ssh over rot13.........twice.....

  33. How to foil this method of password detection by ratguy · · Score: 2, Funny
    I think the best way to avoid this sort of password cracking is to somehow impair your motor skills.


    This is why I always type drunk.


    Ratguy

    1. Re:How to foil this method of password detection by Phroggy · · Score: 2, Funny

      This is why I always type drunk.

      On the downside, you tend to type "rm" when you mean "mv" and "mke2fs" when you mean "e2fsck", but that's a small price to pay for security!

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    2. Re:How to foil this method of password detection by ratguy · · Score: 1

      It did save me once though. I was just learning Linux, and someone on IRC was trying to con me into an "rm -rf /"

      Luckily, I typed "Eh? What's goin on, Hoser?" instead. I'm blaming the Labatts I was quaffing at the time.

      Ratguy

    3. Re:How to foil this method of password detection by servo8 · · Score: 1

      Also known as the "raster" method of programming...

  34. Don't over react by Rotten · · Score: 1

    Yes, nothing is 100% secure. But we cannot judge that ssh is less secure because you can "guess" a password based on keystroke frecuency.

    If this guessing method is 10, 50 or 100 times faster to guess a password, is just a sign that the weakest part on authentication systems are poor password selections. (Administrator/admin for NT is a good example)
    I think that a massive password sieving is still far more dangerous globally, than a targeted password guessing.

    Let's put this issue in perspective:
    FTP passwords have been circulating in plaintext for years. Many of those passwords are also shell account passwords(if not, they could enable anyone to upload a cgi connected to /bin/sh).
    This is a "terrible" hole, but this is the way that millons of users upload files to their servers every day.
    Considering this reality, is strange that cracks come much often from the buffer oveflow dept. (bind and nfs exploits are the top scans I've seen).

    So, I'm not afraid that someone will guess my ssh r00t password just sniffing net traffic, and maybe th 98% of us should be either.

    Just my 1x10-3 $

    1. Re:Don't over react by spudnic · · Score: 2
      The obvious solution to this is to:

      1) Create a non-root user and add them to the wheel group
      2) Disable ftp access to members of the wheel group
      3) Disable ssh logins from root
      3) Allow only members of the wheel group su privilages

      No problem.

      Except because of an INSANE (IMHO) argument from RMS, GNU su doesn't support the wheel group convention.

      Why GNU su does not support the wheel group (by Richard Stallman)

      Sometimes a few of the users try to hold total power over all the rest. For example, in 1984, a few users at the MIT AI lab decided to seize power by changing the operator password on the Twenex system and keeping it secret from everyone else. (I was able to thwart this coup and give power back to the users by patching the kernel, but I wouldn't know how to do that in Unix.)

      However, occasionally the rulers do tell someone. Under the usual su mechanism, once someone learns the root password who sympathizes with the ordinary users, he can tell the rest. The "wheel group" feature would make this impossible, and thus cement the power of the rulers.

      I'm on the side of the masses, not that of the rulers. If you are used to supporting the bosses and sysadmins in whatever they do, you might find this idea strange at first.


      I guess you could always just chmod the su file so that only members of the wheel group could execute it...

      --
      load "linux",8,1
  35. Key timing by psocccer · · Score: 2

    Well, while maybe a vulnerability, I don't see it as an issue. When I type what I'm thinking, i.e. passwords, code, etc, it almost doesn't matter what it is, my fingers know where to go and usually in about the same speed as any other word.

    Anyways, even though I might not care, others might. Well, for everyone else, the solution seems pretty simple to me. Have the client read the whole password, then send the response to the server. Now, no matter how slowly you type, as soon as the client gets the password it'll zip it away as fast as possible.

  36. Password use? by Todd+Knarr · · Score: 2

    I think this applies only to passwords typed during an SSH session, not the password during the authentication phase. As far as I know, during password authentication the password is collected and sent as a single unit, not character by character. Finding information about passwords by watching character timing's not a new attack, and there's one major problem with it: during an encrypted session, how do you tell when the user's typing a password, as opposed to moving around in an editor or something?

    1. Re:Password use? by aozilla · · Score: 2

      during an encrypted session, how do you tell when the user's typing a password, as opposed to moving around in an editor or something?


      Because when you type in a password (using su, anyway), echo is turned off. su has a fairly strong signature. Command prompt received, two characters sent and echoed, another character sent, then 11 characters (or so, CR+Password: ) sent, then characters being sent without any echo. Surely you could sniff that with a fairly high hit/miss ratio.

      --
      ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  37. A client vulnerability at worst by scbomber · · Score: 1
    Not only because some clients buffer your password locally before sending any of it, but also because the SSH transport layer protocol provides for an arbitrary amount of padding to be inserted with payload packets...this is almost accidental.

    What's intentional is the inclusion of SSH_MSG_IGNORE message which is specifically mentioned as being useful as "an additional protection measure against advanced traffic analysis techniques." such as the one described in the paper.

  38. Defeat the nagle-disabling, and use public keys! by Kaz+Kylheku · · Score: 5, Informative

    The measurements of keystroke timing can be done on a broad, high-latench internet only if the Nagle algorithm is disabled. Some SSH implementations defeat the use of Nagle, in order to provide better interactive response. This can be taken out in the source code (or maybe with a configuration parameter: I'm not familiar with all SSH implementations).

    When you have Nagle enabled, your keystrokes are aggregated into larger packets, because the next packet is not sent until an ACK for the previous one is received---or you type enough to send a full segment. Or something like that; I leave it to the reader to verify the details of Nagle. In any case, it's clear that Nagle can obscure the timing of individual keystrokes if the latency is high enough to cause aggregation of several characters into one packet.

    Secondly, if you use public key authentication, then you won't be typing your SSH password over the network. Of course, other sensitive information may be typed, such as passwords to other systems logged into within the SSH sessions. But the SSH key itself can't be compromised by this timing attack.

  39. use s/key by Anonymous Coward · · Score: 0

    doh! wrong level... yes, s/key has a dictionary attack, but at least it deals with this..

  40. Usually type them in letter by letter? by whopis · · Score: 1

    You say that you usually type them in letter by letter? What exactly do you do the other times?

  41. Who uses passwords? by subsolar2 · · Score: 1
    I use RSA authentication for remote access, and have since day one. So the only real worry is somebody getting a copy of my private key and cracking the password that it's encrypted with.


    No security measure is 100%, if you make a system accessable at all there are security issues. To have a really secure system you would have to embed it in a huge block of reinforced concrete and drop it in the Marianis(sp?) trench. Of course the system would be totally unusable, there are always trade-offs between usability and securty, one just tries not to balance them for the particular application.


    - subsolar

  42. No Worries, Mate by TedCheshireAcad · · Score: 1

    It's not a crisis until leet kiddies have a tool they can use to exploit your box. A truly leet haxor is not interested in your box, but rather those of major governments.

    It's the kiddie-fear mentality. Yes, script kids are dangerous, even though all they can do is type ./exploit your.host.name and get a root shell. They have no idea about packet timing or anything. It's nothing to fear.

    This problem is easy to fix, use PKI or type randomly. I don't know if it even deserved a SecurityFocus article, let alone a Slashdot plug. Just a simple warning will do.

    --Ted

  43. Why do key timings... by Greyfox · · Score: 2
    When you can break into their house and install a keyboard bug? As has been noted, RSA is the way to go, at least with SSH authentication (I do DSA with OpenSSH.)


    But when you come right down to risks, passwords are well and good until the information that's password (or passphrase) protected is worth a lot of money to someone or is incriminating to someone else or something like that. You can extract a lot of information from a person with a pair of needle nose pliers. Or the bolt cutters. Cut off a fellows' big toe and threaten to do other body parts. How many here would last even one more toe? Security is relative. Your live goat porn collection is probably pretty safe. A Mafia Don's financial records probably aren't. Especially if the Godfather thinks said Don has been crossing him...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  44. Now, if you are a spy... by roman_mir · · Score: 2

    Sounds very tricky to me. What if I was typing with one hand because the other is busy? The timing algorithm would not be able to figure this one out.

    1. Re:Now, if you are a spy... by tadas · · Score: 1

      "What if I was typing with one hand because the other is busy? "

      That only works for pr0n sites

      --
      This page accidentally left blank
  45. it's not so bad. by small_dick · · Score: 2

    It's a research paper that exposes a vulnerability and the fixes to deal with it.

    Don't get upset, get used to it. Expect to see of these in the coming millenium.

    BTW, keystroke timing is a pretty old attack. In the past, it's been used for two basic operations: One, who is it? and two, what are they typing.

    Everyone has a distinct typing style that can be used as a fingerprint to identify them. If you have an audio recording of someone typing, and a database of recordings of typists with access to the machine, you can figure out which person was at the keyboard.

    The more difficult problem is discovering what was typed, but with a little thought and analysis, you can probably get a good idea.

    This vulnerability decreases the time for a dictionary search by about a factor of fifty. Congrats to the researchers for exposing this weakness.

    --


    Treatment, not tyranny. End the drug war and free our American POWs.
    See my user info for links.
    1. Re:it's not so bad. by vrmlknight · · Score: 1
      This vulnerability decreases the time for a dictionary search by about a factor of fifty. Congrats to the researchers for exposing this weakness.

      but how long does it take to run the attack if it is 4x what it would have to do the dic attack but after 2 days of watching the typist we can not take a day off a dict attack.... that would have taken 2 days total.... now we have spent 3 days... for something to cut our 2 days in half....wow!

      --
      This must be Thursday, I never could get the hang of Thursdays.
  46. Not secure against all attacks by Anonymous Coward · · Score: 0

    Even a one time pad is succeptable to some attacks. For instance, there's a simple tool called a gun. Apply this to the head of a person holding a copy of the one time pad. Also, there are serious problems with agreeing on the one time pad -- you have to get a copy to each point of the communication channel. How this is done can leave opportunities to compromise the security of the channel.

  47. god help us? by asackett · · Score: 1

    Who do you suppose is responsible for the problem, in the first place?

    --

    Warning: This signature may offend some viewers.

  48. An extreme technique by jd · · Score: 5, Informative
    A technique I developed for a company I worked at previously was -reasonably- secure. (NOTE: "Reasonably" is entirely subjective, but being paranoid, I'm fairly sure it isn't too bad.)


    The technique was as follows:


    Person A logs into the client, using a username/password pair. The client then generates an RSA keypair, using hashes of the username and the password as seeds for the random number generator.


    The client then contacts a key exchange server. This takes the client public key and the server public key, generates a fresh set of keys for both client and server, encrypts them using the appropriate public key, and sends the keys back as appropriate. (eg: The client gets the client's private key and the server's public key.)


    This establishes the link between the client and the server. Each then generates a secret key, using one of a selection of algorithms. (I used Serpent and Rijndael). The secret keys are then exchanged, using the public keys.


    The client then uses the original username and password to connect to a Kerberos server, for a ticket.


    Only at this point is data allowed to be exchanged between the server and the client, and only for the duration authorised for that ticket.


    After random intervals, the secret keys are regenerated, though not necessarily with the same algorithm as before. The new keys are again exchanged with the public keys.


    Once the Kerberos ticket expires, the public and private keys are replaced, using the key server. Once the keys are replaced, the Kerberos server can be contacted to refresh the ticket.


    The reason for this amazingly convoluted system? I wanted a system that could run on an untrusted network, with an untrusted client AND an untrusted server.


    The challange was to devise a system that provided sufficient checks that a compromise at ANY point would not yield useful information.


    In practice, that's very hard to do. Compromise the database, and you have the data. There's not a lot you can do about that. Compromise the front-end server, and you can mimic anything. Again, there's not a lot you can do to stop that.


    The way I approached this (and PLEASE remember that this is NOT my field, and others will have vastly superior techniques) was to insist on all data, at both ends, being encrypted as far back in the system as possible, using keys with very limited lifespans.


    The idea here is to reduce the window of opportunity by as much as possible. The idea of using multiple algorithms, public-key encryption, etc, was to soak-off as much of the window as possible with trying possibilities out.


    (Note to non-Wargamers: Soak-offs are where you use a trivial piece to divert a much more significant piece of your opponent, so that you can defeat what's left with relative ease. In this case, I used the "trivial" problem of picking the right algorithm to soak-off the processing power of the opponent. My "main forces" (encryption, intrusion detection, etc) could then walk right over whatever was left.)


    Wargaming and computer security, IMHO, are very closely related. However, legal issues prevent me from applying my favourite tactic in "Squad Leader" and "Advanced Squad Leader" -- steamroller one flank, setting fire to everything behind me so I can't be encircled. I'd love to see a Black Hat vs. 3 stacks of 3 x 8-4-3's with HMG's, and a 10-2 leader, but I suspect that would be considered excessive by The Powers That Be.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  49. gimme encrypted keystrokes by abde · · Score: 2


    to be REALLY paranoid, I'd like a terminal client that waited for the enter/return key to be pressed before sending the packets - collect each command locally and only transmit upon completion. BUT the actual keypresses shoudl be immediately encrypted as they are typed in RAM - so there is never a plaintext version of the password (or in factm anything you type!)

    I think Stephenson invented this idea in Cryptonomicon - it was secureEmacs or something like that...

    --
    Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
    1. Re:gimme encrypted keystrokes by cos(0) · · Score: 1

      That would be nice for some situations, but for general SSH usage, it's imperative that each keystroke is immediately sent rather than queued.
      For example, in a text editor, to move around (I use pico) you'd have to press the arrow key and enter. Arrow key, enter.

    2. Re:gimme encrypted keystrokes by mancuskc · · Score: 1

      Have a look at 5250 emulators. Kind of like binary telnet!

      You edit a field or fields (including command line field, password field, whatever) and when enter is pressed the all field contents are sent.

      When using an editor, the whole screen is one large field. You move arond the field, editing locally, and only update when pressing enter.

      Page up and down also update remotely for obvious reasons.

      Why wouldn't pico work?

      --
      When I were your age, all round here were fields...
  50. ssh compression by NynexNinja · · Score: 2, Informative

    using compression (ssh -C) will increase entropy in traffic analysis attacks against ssh.

  51. SSL != SSH by Anonymous Coward · · Score: 0

    SSH do not use SSL. OpenSSH is linked against OpenSSL because it uses some of the crypto functions in it, but the algorithms are completely different.

    To answer your question, use ssh public key authentication and completely disable passwd authentication sshd_config. A password is weak compared to a public key anyway.

  52. vulnerability ? by geekoid · · Score: 2

    Saying this is a vulnerability in ssh is like saying PGP is vulverable because someone can brake your fingers until you give them the key.
    Or calling any security system vulnerable because if someone sees you type the password, that can 'crack' the security.
    Also, it seems to me you would have to know a lot about the person typing the password.Everything from typing speed, to state of there mind at the time of typing the password.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  53. Typing passwords is unnecessary... by sTeF · · Score: 1

    ...and sending them over the wire. You can generate id's and use them for remote ssh access. see ssh-keygen(1), then when you type your password it is only used locally. nothing is send until your id is decrypted. and then using this is the authentication done.

  54. An easy solution... by 4mn0t1337 · · Score: 1
    Look, if "they" can figure out key entry by change in time between keystrokes, you just have to enter a bit of noise in the equation.


    Simple solution: Just enter in all of you password with the left hand. That will infuse half of the keyboard with extra time noise as you search for keys that are unfamiliar to half of your typing insturments.



    Oh,... wait... BAD IDEA. I think too many people here are already proficient at typing with one hand...

    --

    ______
    Once: you're a philosopher. Twice: a pervert.

  55. This is a serious attack by rtj · · Score: 2, Informative

    There seems to be some confusion as to the nature of this attack on ssh. Some facts may be enlightening:

    I am not one of the authors. Everything I write here is the result of informative discussions with Dawn Song, one of the authors on the ssh paper.

    All ssh implementatons send your password in one packet (when using password authentication). However, if you ssh from A to B, and then from B to C, the fact that your password is sent from B to C in one packet isn't helping you a whole lot, since it was sent one character at a time from A to B. Using RSA authentication doesn't help, since you have to enter a password to access the key stored on B. This password will be sent one character at a time from A to B. This multihop ssh-ing is a common practice, so this is a serious threat.

    Sombody else claimed that it was only effective against passwords which were susceptible to a dictionary attack. This is a non-sensical statement. The best way to describe what the attack does is in terms of bits of information gained, but I'll simply say that, with this attack, you usually only have to search about 1% of the possible passwords to find the right one.

    Others have suggested using one finger to type, or using a dvorak keyboard, or deliberately typing in a random fashion. Using one finger or typing randomly will work. However, a dvorak keyboard would only change the keyboard model. The attacker could still perform the same attack, but using that model instead of the qwerty one.

    As for remedies, inserting random jitter in ssh is not effective. By watching several logins, an attacker could average out the jitter to get the real timings. Changing ssh to send packets at regular intervals, or using line mode, will eliminate all timing information.

    Although this attack was presented in terms of gathering passwords, it's also effective (perhaps even more effective) for recovering english text. In fact, the information recovered is about 1.2 bits/keypair, and english only has about 1.2 bits/letter of entropy. So in essence, because of this attack, YOU SHOULD CONSIDER SSH TO BE EFFECTIVELY EQUIVALENT TO NO ENCRYPTION AT ALL. You should not make light of this attack unless you would be willing to use telnet.

    Somebody also said that this was extreme paranoia because one could just park a tempest van outside your window to get the text you type. But tempest vans are expensive and hard to operate. Breaking into routers is easy. This attack could easily be scripted, but I know of no tempest-van scripts in wide use. So the threat here is tremendous.

    The best solution is to randomize your typing until ssh is modified to send packets at regular intervals.

    Best,
    Rob

    1. Re:This is a serious attack by kurowski · · Score: 2, Insightful
      YOU SHOULD CONSIDER SSH TO BE EFFECTIVELY EQUIVALENT TO NO ENCRYPTION AT ALL.
      Well, not exactly. See, I don't really care if people can recover the English text that I type in an ssh session, since it's generally email which will be sent out unencrypted anyway. But I do care that they don't recover my password. And since my password isn't English, it has more than 1.2 bits of entropy per character. (let's see, upper+lower+num+puct... about 6 bits per character).

      So while I wholeheartedly agree with you that this is a serious attack, I don't agree that it reduces the security of ssh to that of telnet.

    2. Re:This is a serious attack by Todd+Knarr · · Score: 2

      One question, though: how do you determine which packets in the session are part of a password? And if you can't do that, how do you decide which timing information is to be used in breaking a password?


      Seems to me this is not exactly a trivial job, and makes the attack fairly useless except in special situations where the attacker has knowledge of the exact sequence the user will be following.

    3. Re:This is a serious attack by rtj · · Score: 1

      > One question, though: how do you determine which packets in the session are part of a password? And if you can't do that, how do you decide which timing information is to be used in breaking a password?

      This is quite easy in fact! You just look for packets that are not echoed back. In a normal session, you see every packet from client to server is followed almost imediately by a packet from server to client containing some data. When entering a password, the echo is turned off, so the server only sends acks back to the client.

      I would like to add to my original post that all the opinions are mine, although all the credit is due to the paper's authors.

      Also, some people mentioned Nagle's algorithm. This will certainly degrade the quality of information the attacker can glean, but it isn't a perfect solution. Since Nagle's algorithm bunches keystrokes based on the latency between them, the attacker still gains information about the latency between those key strokes merely by observing that they were batched together!

      Best,
      Rob

    4. Re:This is a serious attack by RollingThunder · · Score: 2

      how do you determine which packets in the session are part of a password?

      Not too hard, provided you limit your attack fodder to newly initialized SSH sessions.

      If user logs in from A to B, then starts a new session to C, you can tell that session started because you see the initial traffic from B to C's port 22.

      It's not that hard to then time all traffic from A to B's port 22, until such time as another packet (the complete password) goes from B to C's port 22. And as a bonus, you know that last packet from A to B/22 was enter, so you can use that in your timing.

    5. Re:This is a serious attack by Mike+Vernal · · Score: 1

      While Rob's summary is fairly accurate, I disagree with a few points. The paper only estimates the information leaked at 1.2 bits/character for random passwords. It does not leak that much information for English passwords (mainly because there is not that much information to leak -- if it leaked that many bits, then using ssh would be tantamount to sending your password in cleartext -- that is not the case here). There was a question about this during Dawn's talk, and she admitted that they had not estimated the information leaked for English passwords. Also, some people have suggested adding a random timer to the packets. This would not really help, because with sufficient data, you could filter out the noise associated with the random timer. Basically, this attack gives you a very nice probability distribution that you can use to launch a brute-force attack against a password. The results in the paper show that for random passwords, you can often find the real password in the first 1% of the search space. While this is a serious attack, it is not equivalent to using telnet, as Rob suggests. Sending packets at certain intervals would weaken this attack. It would be nice if ssh send the same sized packets at constant intervals, but that would be an egregious waste of bandwidth and infeasible for a whole slew of reasons. The papers suggests a number of fixes for ssh which would mitigate the damage caused by this attack. The solutions are reasonable, and I hope they are implemented soon. -mike

    6. Re:This is a serious attack by badzilla · · Score: 1

      Using RSA authentication doesn't help, since you have to enter a password to access the key stored on B. This password will be sent one character at a time from A to B. This multihop ssh-ing is a common practice

      Anyone at A who stores their key on B is asking for trouble, ssh clients are perfectly capable of making the trip back to A to use your key for authenticating the connection between B and C. (or C and D, or D and E, etc.)

      --
      "Don't belong. Never join. Think for yourself. Peace." V.Stone, Microsoft Corporation
    7. Re:This is a serious attack by jtdubs · · Score: 3, Interesting

      Here are my problems with what you say:
      1) If your passwords are dictionary crackable you have problems even without keytiming sniffing. You can crack a dictionary password using the WHOLE dictionary in less than 10 seconds, why should eliminating 95% of the keyspace be that valuable in this case?

      2) If your passwords are not dictionary crackable than the keyspace is HUMONGOUS and eliminating 99% of that keyspace (multiplying by a constant) will leave you with another HUMONGOUS keyspace. Multiplying by constants is never a good way to reduce keyspace size, even if it is .01 (1%).

      3) No, one-handed random blindfolded two-finger backwards DVORAK standing-on-your-head typing will NOT help. NO ONE WILL DO IT.

      4) No, this is not as horrible as Telnet. A VERY VERY small percentage of people that might be sniffing your network have the skills, motivation and time necessary to analyze your keystroke timing and use that information to any useful extent.

      5) Yes, random jitter WOULD be effective. Random jitters don't even come close to averaging out to the real timings unless someone sits there and types there password over and over for several thousand iterations.

      Now, for unrelated points of interest:

      Anyone that types with any sizeable ammount of speed will not show enough difference in keystroke timings for it to be helpful in any useful way. And I would guess that most people that SSH on a regular basis are pretty good touch typists.

      Fine, sending packets at regular intervals, and, more importantly, grouping keystrokes together, is a good solution. However, the situation is not nearly as dire as you would have us believe.

      Justin Dubs

    8. Re:This is a serious attack by hankwang · · Score: 1
      >No, this is not as horrible as Telnet. A VERY VERY small percentage of people that might be sniffing your network have the skills, motivation and time necessary to analyze your keystroke timing and use that information to any useful extent.


      I do not agree. Just one skilled person needs to write a script and some instructions, after which the script kiddies will can use it 'en masse'. This is what happens to most security holes; finding out where the buffer overflows are, and then trying to construct the machine code that will execute exactly the right instructions is quite hard. But once it is automated in a script, you don't need special skills.

    9. Re:This is a serious attack by druse · · Score: 1
      1) If your passwords are dictionary crackable you have problems even without keytiming sniffing. You can crack a dictionary password using the WHOLE dictionary in less than 10 seconds, why should eliminating 95% of the keyspace be that valuable in this case?

      Bruteforcing your way through a dictionary in 10 seconds? Perhaps if you've got a passwd file local you can bang away at this rate.

      However, I suspect that if the attacker is going for a non-root password, then they don't have local access to the encrypted password. That means that the only way to test it is by attempting a connection. Which is horribly inefficient, and would set off any reasonable intrusion detection system.

      I suspect that eliminating 95% of the dictionary would make a big difference in the feasability of this form of attack.

      --
      "To blow recursion, you must first blow recus
  56. Timing of the keystrokes by as0k · · Score: 1
    It seems to me that you could counter this by having ssh send the keystroke data at regularly timed intervals, so that no matter what timing there was between actual keystrokes, it would appear the same once it left the computer. If a person was typing too slowly, ssh could merely send a junk packet for the server to ignore. I may be totally wrong but it seems like an easy way to counter a rather obscure (somewhat unreliable?) vulnerability.



    As0k

  57. dvorak by eh2o · · Score: 1

    Keystroke timing is different for us dvorak typists... its more regular due to the efficient design.

    1. Re:dvorak by Anonymous Coward · · Score: 0


      dvorak just adds one more bit to your pass phrase. ( querty | dvorak ) => 1 bit.



      Not exactly more secure...

  58. SSH client logins by Vince · · Score: 1

    Don't all ssh clients send the password in one packet after reading them in? Even further, don't the newer versions pad the password to the lenght can't be guessed? I would suspect that this attack would only work on passwords typed after logging in (e.g. su).

  59. Theoretical or not ... by yukonbob · · Score: 1

    I know the problem is theoretical, but when people were talking about breaking encryption (rsa for instance) originally, they said it would take quadrillions of computing years. Now in the era of fast(er) computers, and (distributed networking models), keys are easier to break. Were the original people who made the 'practically unbreakable' claims thinking of today? Obviously not, because it wasn't a quadrillion years ago that the original claims were made.

    -yb

  60. Re:fp by Anonymous Coward · · Score: 0

    Wow, you were close. Just like I was close that time i shat in the bathtub.

  61. Re:Defeat the nagle-disabling, and use public keys by yukonbob · · Score: 1

    When I was looking up info on the nagle algorithm, I understood it to be used for high-latency lines (dialup), and that it wouldn't work on a LAN, for instance ...

    The other thing is that sure, you can log into a remote machine and originally authenticate by keys, but what happens when you 'su -' to do something?

    -yb

  62. So what your saying.... by jayhawk88 · · Score: 1

    ...is that touch typists are more vulnerable than hunt-and-peck typists?

    *Throws copy of Mavis Beacon out the window*

  63. Talk SUmmary by user555 · · Score: 1

    Hi all,

    I was at the actual talk at USENIX last friday. The article missed few key points.
    First you can get some idea of what is being typed by examining the network traffic and looking at what's echoed since character are sent one at a time.

    Something like su\n is easy to find because it's two characters that are echoed and then another character and then the server send 13 or so bytes to the client.

    You can also tell when the password is being typed because the characters aren't echoed back to the client.

    All you need is a sniffer on the same lan as the client to do an attack like this.

    They claimed that by combining this with key stroke timing they were able to significantly reduce the effective entropy of random passwords.

    I case your wondering no they haven't tried this with a dvorak keyboard. And yes using hunt and peck typing is a simple way to protect yourself from this.

  64. Self Important Geeks? by _Neurotic · · Score: 0, Flamebait

    Is is just me or are geeks in general overly ridiculous about security?

    A lot of information can be gleaned from the timing of the keystrokes and some (relatively simple) packet decoding.

    C'mon, raise your hand if your terminal sessions are the target of a spy agency...

    I mean really, who cares about your little geeky passwords to your linux boxes enough to go through all this? Not to mention the physical limitations...

  65. don't send password: use SRP by Splork · · Score: 1

    SRP - Secure Remote Passwords. A stanford project that isn't vulnerable to timing attacks found when typing passwords over an interactive connection.

    Also, to "fix" ssh, just don't send passwords as you type them; wait until enter is pressed and always send a fixed length chunk of encrypted data.

    1. Re:don't send password: use SRP by roca · · Score: 2

      SRP doesn't help here at all. The attack here is when you're logged into machine X using SSH and then you type a password to be used by machine X to log into machine Y. SRP does not help you securely get the password text to machine X.

  66. What about CygWin? by smartfart · · Score: 1
    It ain't small, but it'll do what you want.

    I love putty, and actually use it far more than CygWin, even though they're both on the same winbox I got here at home...

  67. Rose misses the point by crucini · · Score: 2
    "It exposes partial information about passwords, but the whole point of using SSH is that you don't need to authenticate through the firewall with passwords, so attackers
    have no launch point," adds Rose.

    Login is not the only application of passwords. Many people enter passwords for su or sudo. Such passwords are vulnerable to this attack, in the sense that it would make it 50x easier to crack a stolen password file.
  68. Gettin' Jiggy Wit' It by l3377r0lld00d · · Score: 0

    Is the rhythm I use for my password entries!

    --
    -- Trolled...you WILL be === Yoda
  69. fp? by Anonymous Coward · · Score: 0

    Oh wait no. My message is gonna be something in the 2.2million range! So much for all them first post-ers!

  70. Typing by Swaffs · · Score: 3, Funny
    "We usually type them in letter-by-letter."

    I usually just mash the keyboard with my fist in one shot. Sure, it takes a little longer than normal typing to get the right password, but no one's going to be guessing MY password.

    --

    --
    "Karma can only be portioned out by the cosmos." - Homer Simpson [1F10]

    1. Re:Typing by ozbird · · Score: 2

      I usually just mash the keyboard with my fist in one shot. Sure, it takes a little longer than normal typing to get the right password, but no one's going to be guessing MY password.

      I just cut and paste my password from a text file - good luck trying to glean information out of the keystroke timing, guys!

  71. Think this through... by Anonymous Coward · · Score: 0

    A couple points:
    - one guy using a Dvorak keyboard won't reduce the vulnerability of the network as a whole, as there will still be enough users providing keystroke timing data to weaken ALL passwords on the network, including the superuser account passwords.
    - If EVERYBODY on the network switched to Dvorak keyboards, the attacker need only create a new statistical model to discern the keystroke timing patterns in this new environment. Easy enough, since it has been shown to be possible for QWERTY environments.
    - Ditto for a mixed environment (why? the data set for any single environment is probably orthogonal (separable) from every other dataset)

    Conclusion: switching keyboard layouts to defeat this attack is a dumb idea.

  72. Jeezus... by ryanvm · · Score: 1, Flamebait
    What the hell are you people doing that's so damn important?!? People are now timing your keystrokes to figure out your passwords?

    I don't think I could pay someone enough to try that hard to figure out my passwords. I must be such a loser.

    1. Re:Jeezus... by Rudeboy777 · · Score: 1

      People are now timing your keystrokes to figure out your passwords?

      It's not people doing it that worries me, its the single script plus thousands of kiddies that do it.

      --

      From hell's heart I fstab at /dev/hdc

  73. It's traffic analysis, and it isn't just for SSH by babbage · · Score: 3, Interesting
    The problem isn't really the SSL based tools, so much as the fact that they do a lot to help you but they don't make it impossible to do traffic analysis. The security focus writeup refers to a much longer paper on the subject, and though that paper is specifically about SSH (and password guessing, and guessing at the commands you're entering over a secured session), the authors also note that:
    It should be noted that, despite their simplicity, traffic analysis attacks such as those presented in this advisory haven't been well researched. We expect that similar attacks are possible against most other "secure" (encrypted) remote login protocols. We also expect additional traffic analysis attacks on SSH to be discovered. In particular, there may be recognizable patterns in X11 connections forwarded over SSH, but these are out of the scope of this advisory.

    So in other words, the strategies they describe here for attacking SSH could be equally effective for most any asynchronous network protocol where you could try to infer information from the rhythm of the rate of data transfer. Further, there is ultimately no general solution, only incremental defenses against the general strategy:

    Solving traffic analysis vulnerabilities not related to password information would increase the protocol overhead significantly, and thus doesn't seem practical for many current uses of SSH.

    So, as is often the case, if you want perfect security you can only have it at the expense of tremendous overhead, and ultimately you have to decide how far you want to take your defense against chaos theory before deciding that you just have to accept a certain degree of risk. Ultimately, there is no defense and you always have to accept that risk.

  74. Re:Sad news - Nietzsche dead at 167 by Kike+Meister · · Score: 0

    Nietzsche was a prat

  75. Re: The Truth About CmdrTaco, VA, and Microsoft by Anonymous Coward · · Score: 0

    Where is the parent gone ?

    It was there 10 minutes ago !

  76. SSH public keys by MSG · · Score: 3, Insightful

    I'm preparing a contribution to policy where I work which includes several stipulations on the use of SSH.

    First, password authentication should be disabled, in favor of public key authentication. Second, only encrypted private keys are allowed for login sessions; an ssh agent will be recommened to minimize the inconvenience of repeatedly typing pass phrases. *Long* pass phrases will be recommended. (Note that you can't actually enforce the last two, they're just a matter of procedure.) In cases such as automated scripts which can not use encrypted private keys, a key pair will be generated *for each task*. The public key, when installed, will have the command specified so that the key pair can be used to execute *ONLY* one command.

    In addition, all authorized public keys will be kept in a document on an HTTP server. A cron job (python script) will run at least once a day to fetch that list, and compare all of the private keys installed on the system to the authorized list. Any key which isn't in the master list will be removed from the system, and the network admin will be alerted.

    Maybe similar procedures would benefit others. Does anyone see holes in this procedure?

    1. Re:SSH public keys by mrmag00 · · Score: 1

      You still have on a single point of failure. What if I get access to the HTTP server, modify this document (or python script) to install my public ssh key to a user account (or root account for that matter). Viola, I now can log into every machine on the network.

      Public key authentication is nice, but your HTTP server better be damn secure to do somthing like that.

    2. Re:SSH public keys by MSG · · Score: 2

      Viola, I now can log into every machine on the network.

      No you can't. You still have to get access to the other machines and add your key. The only thing the script does is *remove* unauthorized, unlisted keys. It means that we can quickly and easily expire a key if it gets compromised, or the owner leaves.

    3. Re:SSH public keys by PTBarnum · · Score: 1

      So what process do you use to add new public keys to a system? If you've disabled password access, the user can't access the machine until their public key has been installed there, so the user can't setup their own key. This implies the existence of some kind of automated key distribution system, and that is a point of vulnerability.

    4. Re:SSH public keys by MSG · · Score: 2

      No it doesn't. The server admin has a key on the system as of system installation. He is responsible for adding keys for any users of the system. (and for verifying that the admin account only has the appropriate admin keys the first time he logs in ;-)

  77. Looks like your best encryption device... by big.ears · · Score: 2
    ....is to use the dvorak keyboard. Or another alternative configuration. Or probably hunt-and-peck typing would be ok too. Or don't type in english (japanese?). Or use speech recognition. I did not read the research report, but herbivore apparently works by constructing a detailed model of an individual's typing patterns. They can probably get pretty good at cracking an individual's password, if they have a really good model of that individual's own typing. It would probably generalize OK from one touch-typist to another, if they were typing in the same language, keyboard, etc. But, anything that mixes up the transition probabilities, and/or Herbivore's mapping of keys onto letters, will probably increase its cracking times to be greater than brute-force search, because you are providing it with 'misleading' information. And by entertaining more than one model, (e.g., QWERTY/ DVORAK, ENGLISH/FRENCH/JAPANESE/GERMAN, TOUCH-TYPING/HUNT-AND-PECK, ETC),its efficiency would be reduced, maybe to the level of brute-force search if the attacker knew nothing about his target.

    Probably, a lot of the gain in cracking efficiency is due to simply the character transition probabilities (e.g., 'q' is almost always followed by 'u'), independent of their timing. In that case, simply obfuscating the timing might not help all that much.

  78. Use all the features of SSH by Shane+Hathaway · · Score: 1

    If you want a truly secure connection, you need to use public keys, like others have said. But there's more to it. SSH users need some education. Here are a few things I have learned.

    1. Encrypt your private keys! It's tempting to leave your private keys unencrypted, but if you do and your own box is compromised, every system you access via public-key SSH is also compromised.
    2. Typing your password every time you use SSH (for example, when using CVS) is not only tiresome but insecure because it increases the chances of someone getting your password by looking over your shoulder as you type. ssh-agent is designed to solve this. In fact, ssh-agent is designed right into at least one Linux distribution, Mandrake.

      In fact, with KDE (I'm sure there's an equivalent for your favorite WM or operating environment) you can just add a script to ~/.kde/Autostart that lets you type your SSH password when logging in:

      #!/bin/sh
      ssh-add </dev/null

      I believe this requires the "ssh-askpass" package to be installed.

    3. If you SSH to a firewall from which you SSH to another box, you're actually trusting the firewall pretty heavily. Everything you type gets encrypted on your box then decrypted on the firewall, then re-encrypted on the firewall and finally decrypted by the other box. The firewall can read (and change!) anything you type. If the firewall happens to be compromised at the time, the intruder could gain access to the other box as well. It's also a burden on the firewall's CPU, especially if a lot of users do this.

      But you can correct the situation by port-forwarding an SSH session. One way to do this is on your own box type "ssh -f -L 2222:otherbox:22 firewall sleep 60" then type "ssh -p 2222 localhost". That way your box encypts the session twice, the firewall decrypts it once, and the other box does the final decrpytion. (After the sleep timeout is over, the forwarded connection will not terminate until you terminate it.) You can write a shell script that does all this for you. I have a script that uses "netstat -tln | grep 127.0.0.1:2222" to set up the forwarding automatically if it has not been set up.

    Hope this helps!

  79. qwerty vs dvorak. by agroman · · Score: 1

    What about the timing when using other keyboards layouts like dvorak? I'm assuming this study was based on the more common qwerty layout.

    Does this mean my dvorak keyboard is a little bit more secure than your qwerty keyboard!? :P

  80. Programmable Keyboard by Anonymous Coward · · Score: 0

    To combat the keystroke issue, just get a programmable keyboard and put the password in it. Of course then if your keyboard is stolen, they might be able to get the password, so yet again, it is an imperfect solution.

  81. Re: your sig by Anonymous Coward · · Score: 0

    I don't read AC posts...want to be heard? Grow a set and log in.

    But then we lose our privacy!

  82. Attack more complicated than article suggests by iabervon · · Score: 2

    SSH sends the whole password at once (in SSH 1.2.31, sshconnect.c, lines 1786-1794). The issue is when you are typing something over an SSH connection. At this point, each keystroke (approx) gets sent in a separate packet to the machine you're connected to. So an attacker gets ~1 bit of info/character as you type.

    If the attacker knows when to look, they have some chance of guessing a password you type over an SSH connection, either for the next hop, for su, or for something else like that.

    In the case of connecting to a 3rd host, they get tipped off as to when to look by the 2nd connection; you form the 2nd connection, and then type your password over the 1st connection. Note that this attack requires that they detect both connections, and make timing measurements on the 1st one to get the password on the 2nd.

  83. Re:Defeat the nagle-disabling, and use public keys by Florian+Weimer · · Score: 1

    Given typical typing speeds (hardly less than 100ms per key press) and the round-trip delays usually observed today (in the 50ms range), the Nagle algorithm doesn't have much effect here: when you type the second key, the client has already received the ACK for the packet with the first key press sent earlier, and sending the second key press is not delayed at all.

  84. A few ideas by Mike+Hicks · · Score: 2

    Is the password prompt on SSH actually a two-way connection? I always thought that the client buffered up the password, and then sent it in a single packet. That would help with some SSH connections (just connecting from one to another), but not when you connect to one system, then jump to another, and another.

    Secure connections could send random amounts of null data at random times. To make it a lesser bandwidth problem, only have this excess data be produced when the client is sending stuff (ie, keep sending junk for a few seconds, then go quiet until the next keypress). It wouldn't be recommended for slow connections (like with modems) though..

    Also, you could try to use different keyboard layouts (dvorak or other) to make it harder to guess what key is being pressed at a particular time.

  85. Switching to Dvorak adds only one bit of entropy by yerricde · · Score: 1

    So, take the time to learn Dvorak. ... it should effectively screw up any timing-based password sniffers!

    Not so fast. The choice of Dvorak or QWERTY adds only one bit of entropy, merely doubling the possible dictionary/brute-force keyspace to check. This poses no problem to attackers whose computer power increases exponentially with time. (I wonder why distributed.net 's keyrate appears to increase linearly though...)

    --
    Will I retire or break 10K?
  86. OpenSSH attempts to address the issue... by Anonymous Coward · · Score: 0

    Solar Designer, a security researcher at Openwall, and Dug Song, one of the OpenSSH developers, have independently discovered the same basic attacks (the details are a little different).

    http://www.openwall.com/advisories/OW-003-ssh-tr af fic-analysis.txt

    It mentions that the latest versions of most SSH implementations include rudimentary countermeasures. While not perfect, the two researchers mention that the measures *do* prevent most of the attacks from being successful.

    In other words: it's not as much of an issue as people think. Especially not if you're using OpenSSH 2.5.2 or later.

  87. Maybe for DoDers... by Anonymous Coward · · Score: 0

    or someone working in other defense/intelligence agencies, it's an issue (though methinks that there are easier ways to get information). However, the average Joe Blow on his dorm Ethernet just doesn't have to worry. Your SSH1 connection really honestly isn't going to get attacked. Why would you? There are sure to be a hundred *other* potential victims using plaintext telnet just next door...

  88. I r0x0r, slashcode 2.2 sux0r! by Anonymous Coward · · Score: 0

    2205262th POSTUS, BEEOTCHAE!!!

    Bow down and tremble before my flatulent magnificence!

    pleeeeease?

  89. Re:Defeat the nagle-disabling, and use public keys by Anonymous Coward · · Score: 1, Informative
    The measurements of keystroke timing can be done on a broad, high-latench internet only if the Nagle algorithm is disabled.
    This might be true for single observations, but as the article says that they are using "advanced statistical techniques on timing information collected over the network" Nagles Algorithm won't prevent anything, it will just make it a bit harder.

    Even if you just added some randomness to the user input as some proposed, still there would be statistical information that could be used. The more often you can sample the data the more accurate it does get, that's the idea of statistics!

    Still these statistical methods alone won't lead to a practical attack, but together with other methods it could lead to something if we didn't do anything against it.

  90. Cheap Entropy Generator by Anonymous Coward · · Score: 0

    Same's true for any encryption system I know of. There's a relatively high-security PRNG that you can build with relatively little effort (and without spending too much).

    1) Purchase 3 12-packs of Jolt.

    2) Drink them. All of 'em.

    3) Now keep one hand on the mouse. Your ceaseless jittering will generate enough entropy to keep the Linux PRNG happy for a long time.

  91. mod comments up (and this down) by Anonymous Coward · · Score: 0

    Hey Moderators,

    did you read any of the comments to this high rated article? Then you would have seen that what he says about safety through nagle's algorithm isn't informative but inaccurate and dangerous...

  92. cache by Anonymous Coward · · Score: 0

    Buffer the passwords on the client then send them when you press the enter key...?

  93. Simple security measure by Florian+Weimer · · Score: 1

    Turn on some music, and enter your password to the rhythm of the music, using one hand for the keys and the other for case shifting.

    To be honest, the paper doesn't show much evidence that significant information on passwords can be recovered using this sniffing technique. It is most efficient if you have got a detailed typing profile of your victim. The authors claim that this can be obtained in most cases, but I doubt it. Using the profile of another person doesn't seem to give good results (although Table 1 in the paper is pretty confusing).

  94. Time to upgrade, AGAIN by Richthofen80 · · Score: 1

    my school, U-Mass Lowell, (cs.uml.edu) , recently switched all its logins (shell, ftp, etc) to SSH, because too many boxes were getting hacked. Now I guess it's time to move on to something even better. Well, I have only one more year until I graduate from the CS department anyways, so hopefully they at least wait one year before changing it again.

    --
    Reason, free market capitalism, and individualism
  95. I had thought of this a few months ago by Omnifarious · · Score: 2

    It's easy to say that, I know, but it's true. :-)

    When I first started using ssh, I thought of this. I mentioned the idea as a security vulnerability to a friend, and he dismissed it. I should've written it up, but I felt I should do tests first.

    A good way to defeat this is to have ssh send packets every tenth of a second unless it hasn't gotten any data to send in more than 15 seconds, or if it has a lot of data to send. In the first case (no data for 15 seconds) it should stop sending, and in the second case it should send as soon as it has x (where x is probably something like 256) bytes of data to send.

    This will add latency, up to a whole 100 milliseconds worth, but that would greatly reduce the problem.

    1. Re:I had thought of this a few months ago by roca · · Score: 2

      Unfortunately, 100ms of latency is generally considred intolerable for interactive applications.

    2. Re:I had thought of this a few months ago by Omnifarious · · Score: 2

      Sure it is for, say, Quake, but it isn't too bad for typing. That's what I do over SSH. If I were playing something like 'hunt' I guess it'd be a problem, but I never have yet played twitch games over ssh.

  96. Shitty unix products by aozilla · · Score: 2

    Geez, the makers of these unix products are so stupid. When asked what they were going to do about this vulnerability, they responded that they were going to try to do what they can to increase the computational infeasibility of this security hole. Just like those unix people to resort to security through obscurity, as always.

    --
    ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  97. Don't type your passwords! by Nonesuch · · Score: 2
    I 'paste' the first 12 characters of the password in from the copy buffer using Password Safe, then type the last four characters from memory, letter-by-letter.

    If you're going to be paranoid, why be paranoid by half measures?

    1. Re:Don't type your passwords! by vrmlknight · · Score: 1

      so now your password is in plaintext in the buffer thats even more secure real good....

      --
      This must be Thursday, I never could get the hang of Thursdays.
  98. Critical Mass by pkesel · · Score: 1

    If it's that important, are you really going to trust an off-the-shelf product for your security? Especially one that has open source code? If what you're protecting is going to compel someone to sniff your network for packet patterns, should you be trusting an open network?

    For the rest of us, what level of paranoia justifies going to greater lengths than SSH/SSL? What's the likelihood that someone's sniffing random packets and appying heuristics to find my password or credit card number? Wouldn't it be easier to get that info by looking on my desk or in my wallet?

    --
    - Sig this!
  99. New key-gen instructions by Col.+Panic · · Score: 2

    Select a password over 7 characters in length, using mixed case, both characters and numbers ... oh yeah - and pause between each character entered.

    1. Re:New key-gen instructions by Anonymous Coward · · Score: 0

      The pausing is for the benefit of the person standing behind you and recording your keystrokes on his notepad, I take it.

      Honestly, type the damn password as fast as you can, it makes it far more difficult for it to be recorded by passing eyes. If you're using key-based authentication (as you should be), packet timing does not give away any information about the password.

    2. Re:New key-gen instructions by Col.+Panic · · Score: 1

      Actually that was meant as a joke. I don't subscribe to the theory that packet timing reveals anything meaningful about passwords. Knowing the length of the password does not seem to be that much of a security breach as long as one is using at least seven characters with mixed case.

  100. The paper the article is based on... by grnbrg · · Score: 1
    can be found here or in postscript format here .



    BITTER
    * 2001-08-22 16:19:50 ssh vulnerable to keystroke latency attack? (articles,encryption) (rejected)
    /BITTER

  101. I wonder why the truth is always a troll. by Anonymous Coward · · Score: 0

    You moderators have been harsh today.

    1. Re:I wonder why the truth is always a troll. by Anonymous Coward · · Score: 0

      Learn the truth about slashdot censorship here!

  102. Do you know what this means? by ahde · · Score: 1
    Holy ssh*t!!!


    Now, if someone decides to target me and is able to sniff all my traffic for several days, then if they harness all the computing power in the world, they could crack my user password in a measley few milleniums!

    1. Re:Do you know what this means? by Anonymous Coward · · Score: 0

      relax dude, its only seven times as fast as brute force.

  103. guessed plaintext attacks by Anonymous Coward · · Score: 0

    If you have to use a password (because RSA/DSA etc) aren't available you can always type random gibberish for 20 or so keystrokes then hit Control-U and then type your password (all in one smooth motion.)

    Padding with trash to defeat a known known plaintext attack is an old trick.

  104. Re: your sig by Anonymous Coward · · Score: 0

    "Aiiieeee!!! The yellow face, it burns!"

  105. Not about login password by crucini · · Score: 5, Insightful
    This is not about intercepting the ssh login password. It's about interceping passwords entered during an ssh session. Here is the relevant code from sshconnect1.c in OpenSSH:
    for (i = 0; i < options.number_of_password_prompts; i++) {
    if (i != 0)
    error("Permission denied, please try again.");
    password = read_passphrase(prompt, 0);
    packet_start(SSH_CMSG_AUTH_PASSWORD);
    ssh_put_password(password);
    memset(password, 0, strlen(password));
    xfree(password);
    packet_send();
    packet_write_wait();
    type = packet_read(&payload_len);
    if (type == SSH_SMSG_SUCCESS)
    return 1;
    if (type != SSH_SMSG_FAILURE)
    packet_disconnect("Protocol error: got %d in response to
    passwd auth", type);
    }

    Many people do not understand this. Some believe they are protecting themselves from this risk via RSA authentication. Of course they're not, because the risk only affects passwords in session:
    1. gorf: My solution is simply not to use passwords at all; I use RSA keys exclusively...
    2. SagSaw: The best way I can think of is to use the RSA key authentication method. A RSA key pair is used to authenticate, rather than a password. This way, the password is never typed over the network connection.
    3. Pinball Wizard: Well, if you use RSA you don't need to type a password so that would solve that particular problem.
    4. subsolar2: I use RSA authentication for remote access, and have since day one. So the only real worry is somebody getting a copy of my private key...
    5. Greyfox: As has been noted, RSA is the way to go, at least with SSH authentication...
    Others think that a GUI client is more secure entering a password in a dialog box suggests batch processing:
    1. stripes: My Java ssh client happens to have "gotten it right" not because I'm smarter then other ssh client authors but because I had a dialog box to ask for the password.
    2. Hyperbolix: Teraterm ... has several SSH extensions. I beleive one of them has you type in the password all at once and then sends it as a single string, which means that key timing can't be determined.
    3. rgmoore: I think that most Windows terminal emulators have similar functionality. It seems like a very simple step to take to help preserve passwords.
    4. garcia: don't most GUI terminal packages (including MacSSH, etc) all send it as a single string (SecureCRT)?
    5. Rimbo: ...I use the free ttssh extension to the freeware terminal program Tera Term. When it asks you for a password, it captures everything in a dialog box, and sends the password as one chunk.
    6. Jormundgard: Also, every SSH program I've used in windows takes in the whole password before sending it along.
    The very few who got it:
    1. Ethan: It's a moot point with SSH anyway, because SSH transmits the password in one chunk as far as I know...
    2. Todd Knarr: I think this applies only to passwords typed during an SSH session, not the password during the authentication phase.
    3. rtj: There seems to be some confusion as to the nature of this attack on ssh...All ssh implementatons send your password in one packet
    1. Re:Not about login password by killmenow · · Score: 1

      Some believe they are protecting themselves from this risk via RSA authentication. Of course they're not, because the risk only affects passwords in session
      But if all you ever use is Public Key Algorithms for authentication (RSA/DSA,etc.) then you won't ever need to type passwords in session.

      But if by chance you can't avoid typing passwords in session, try this.
    2. Re:Not about login password by Grail · · Score: 1

      The easiest answer I can think of is "keyboard buffers", like you'll find in applications like Z-Term - a serial console for the Macintosh that supports X, Y and Z-term file transfers.

      Disabling the Nagle algorithm in telnet clients is fairly common because the character you see on the screen is usually echoed to you by the server. Having to wait 200ms for the characters to appear on your screen in clumps would be very distracting.

      Having a keyboard buffer means that you will no longer use the built-in scroll-back buffer of shells such as bash or zsh. If the keyboard buffer is implemented well, it should provide you with similar functionality. In a GUI environment, you have the added advantage of copy/paste. Ideally, all keyboard interaction would be handled by a local shell (CLI or GUI), with data only sent over the network when Enter is pressed.

      A big advantage of keyboard buffers is that keystroke timing over the network becomes impossible (unless, of course, you're running the terminal application under the X11 Windows System over a network). Attackers would have to resort to measuring the length of your command lines or passwords, to try to guess what you're typing (great! we know that the root password on that host is 7 characters long!).

      As far as typing analysis in general is concerned, there's a mention in The Code Book by Simon Singh. He talks about traffic analysis during World War II. The French Resistance was apparently able to track Panzer divisions by the location of their radio transmissions. They could uniquely identify the Panzer division by the "fist" (tapping characteristics) of the morse-code operator, even though they couldn't decrypt the actual message.

      Using a keyboard buffer helps overcome congestion (in a friendlier way than the Nagle algorithm does), avoids people identifying you through biometrics, and especially prevents hostiles using biometrics to find out what you're typing in your SSH session.

      Nagle Algorithm References:

      • SearchNetworking Article (explicitly states why interactive sessions will disable Nagling)
      • IBM RS-6000 Support describes the rules used by the Nagle algorithm to decide which data gets delayed by up to 200ms
      • RFC 896 - Congestion Control in IP/TCP Internetworks

      Traffic Analysis references:

    3. Re:Not about login password by Hal-9001 · · Score: 1

      The Security Focus article is pretty unclear as to whether the attack is on the authentication phase or on passwords typed in a session, so the confusion is somewhat warranted. The fact that you can look at the source code and clear this up is a pretty compelling demonstration, IMHO, of the value of Open Source, Free Software, etc.

      --
      "It take 9 months to bear a child, no matter how many women you assign to the job."
  106. Re:It's traffic analysis, and it isn't just for SS by scbomber · · Score: 1
    SSH2 transport protocol has a specific remedy for traffic analysis attacks! (IF clients and servers implement it.) It's the SSH_MSG_IGNORE message.
    Quoted text from IETF draft follows.
    9.2. Ignored Data Message byte SSH_MSG_IGNORE string data All implementations MUST understand (and ignore) this message at any time (after receiving the protocol version). No implementation is required to send them. This message can be used as an additional protection measure against advanced traffic analysis techniques.
    Quoted text from IETF draft ends.
  107. You were robbed by ahde · · Score: 1

    I think you deserve at least (Score:3, Funny)

  108. Nagle by jroysdon · · Score: 1

    Regarding the keystroke-timing guessing, just use Nagle's algorithm. It holds on to keystrokes a set amount and sends them together (the algorithm is based on the average gaps between keystrokes). Then 2-3 keystrokes get grouped in the same packet, and I'd guess the keystroke-timing attack should be thwarted.

    Cisco routers support it (service nagle), and I'd guess there is a way to have sshd, etc. support it as well. Of course, Cisco routers/PIX firewall only support sshv1, but it's better than plaintext, and inbound management sessions should be limited by IP addresses anyway.

  109. Re:Shitty unix users by Purificator · · Score: 1

    what i haven't seen in this discussion (maybe an anonymous coward mentioned it, but i don't read 0 score posts) is TIS authentication via cryptocard. it totally defeats this type of sniffing because the string you send is always the same length, and non-repeating (i.e. the authentication string i send this time isn't the same as it was last time, nor will it be the same next time). the down side is you have to carry your stupid cryptocard around, but that's no worse than the "removable-media keys" suggestion someone brought up earlier.

    of course, things like sudo and su don't support cryptocard-style authentication yet, but it's possible.

    oh, and it's not free, but if security is so big a concern for you that you're afraid of someone sniffing kestroke timing on passwords then you really shouldn't balk at paying for solutions.

    --
    "Mister Potato-head --MISTER POTATO-HEAD! Backdoors are not secrets!" (War Games, 1983)
  110. And who, pray tell, enables password auth? by wowbagger · · Score: 2

    Who in their right minds allows for password authentication over SSH? That's one of the first things I disable when setting up SSHD.

    If you don't have a private/public key pair, and if your public key isn't in the authorized_keys file of the target machine, then you don't deserve to log on. Tunneling passwords over the system is neither needed nor safe, and not just because of this article's hack.

    If you allow SSH to do password authentication, then SSH is little better than Telnet in terms of protecting you from a poorly chosen password. While a sniffer might not be able to extract the password, you can still try a dictionary attack.

    Force your users to use a keypair. Force them to put a passphrase on the keypair so that just stealing the key isn't enough.

    Remember, the best security is something you are (restriction by host IP), something you have (posession of the private key), and something you know (the passphrase for the key.)

  111. couple of questions by Jetifi · · Score: 1

    It's not your field. But then it's not mine either :-) But...

    Person A logs into the client, using a username/password pair. The client then generates an RSA keypair, using hashes of the username and the password as seeds for the random number generator.

    I assume you add a nonce/timestamp into your PRNG seed. Otherwise you'll be using the same seed each time for each user. Bad. Maybe confusing 'random' with 'unpredictable'? Or does the password change over time?

    The client then contacts a key exchange server. snip

    Except as the client doesn't have knowledge of the server public key (or if it does, it's not said here), the protocol is vulnerable to a man-in-the-middle attack from the word go. All this stops when the Kerberos server gets involved, but it's an effective service denial attack, as the client/server never get to exchange key material.

    You are (if I've got this right) basically generating another key pair for key exchange (see below). Except that this time it's the server doing it, so you're trusting the server, and all the client has demonstrated (in terms of trust) is the ability to create a key pair. How does the server confirm the key-pair<->user match?

    This establishes the link between the client and the server.

    But you've already done this. Now, however, the server has the client private key, and you have to trust the server not to misuse it and not to get compromised, whereas before you were trusting the network to point the client at the server and not at a malicous proxy :-)

    Each then generates a secret key, using one of a selection of algorithms. (I used Serpent and Rijndael). The secret keys are then exchanged, using the public keys.

    The key's are for the Serpent/Rijndael ciphers? Or Serpent/Rijndael is used to generate the keys? Excuse my lack of clue :-)

    The client then uses the original username and password to connect to a Kerberos server, for a ticket.

    It would seem in this situation, that having brought a Kerberos server into the picture, the previous messages were a mere formality. I take it they were intended to secure the pipeline between the client and the server, but as I said above, you can have an MITM on the server as the client has no foreknowledge of the servers' public key.

    I take it that refreshing the key material/key-exchange key pair regularly is to limit damage if anyone discovers them.

    The reason for this amazingly convoluted system? I wanted a system that could run on an untrusted network, with an untrusted client AND an untrusted server.

    Unless I'm wrong, you're trusting the client to generate the initial key pair. You're trusting the server to generate the key pair used to exchange keying material, and you're trusting the transport not to MITM the server in the second paragraph.

    The challange was to devise a system that provided sufficient checks that a compromise at ANY point would not yield useful information.

    Excluding the Kerberos server :-) And assuming that the server doesn't retain the private key it generated for the client.

    In practice, that's very hard to do. Compromise the database, and you have the data. There's not a lot you can do about that. Compromise the front-end server, and you can mimic anything. Again, there's not a lot you can do to stop that.

    I think that someone wishing to compromise your network would use other means than protocol/cipher attacks. I know I would :-) so your soak-off is effective in this case, because you have things like physical security, social engineering, etcetera which are an equally great threat to your network/data.

    was to insist on all data, at both ends, being encrypted as far back in the system as possible, using keys with very limited lifespans.

    I assume you also use other primitives (digests, etc.), along with some form of authentication before all this even starts, because while you cover interception pretty well, there's still invalidation, impersonation, and service denial, among other things.

    The other question is, if you're on an untrusted netork, how can you rely on the availability of any parties? E.g. someone could SYN flood the kerberos server.

    Wargaming and computer security, IMHO, are very closely related.

    Which is probably because of the similarities of both fields to actual warfare (albeit guerilla warfare) :-). Schneier has covered this recently

    Excuse me I've missed something, misunderstood something, or made an assumption, seeing as it's not my field :-) Your comments appreciated.

    1. Re:couple of questions by jd · · Score: 2
      Your points are excellently-made, and much appreciated.


      Yes, the date/timestamp was used to salt the seed. (Hey! Salted sunflower seeds! :)


      The client doesn't know anything about the server, at the start. It only knows about its own keys at that point. The key server knows the initial public keys of both server and client, and then both key-pairs for both server and client. This information is securely wiped after being sent. After the exchange, the client knows the server's public key, but not its own.


      The client and the server aren't interested in validating -who- they are, per se, initially. What they are concerned with is establishing a line of communication which is effectively untappable. Once that line has been established, the line is considered secure enough to send the identifying information (eg: the Kerberos login and ticket). That information is then used to authenticate.


      The purpose of setting up a secure line first effectively blocked the SSH attack mentioned earlier, of examining delay between keystrokes, packet-size, etc. Because you don't know -how- the data has been encrypted (only that it has), you don't know how the packet sizes compare.


      The keys are for either the serpent or rijndael cypher. Which one is picked entirely at random, each time this stage is completed. To make sure that both client and server are expecting the same algorithm, the choice needs to be sent over the public-key connection.


      Because the encryption code was the same for both the client and server, the server must also authenticate itself on the Kerberos server. (Oops! Forgot to mention this.) This means that the server can authenticate itself to the client, in the same way as the client does to the server.


      Yes, refreshing is to limit the damage. If any one key is obtained, then anyone with that key can systematically break any information in the chunk that that key was valid for, assuming they logged every packet. By changing the secret keys frequently, then the direct damage possible is very minimal. All they can do is read, and only a small chunk at that.


      If a public or private key is compromised, then you've a tougher problem, as these carry the secret keys and methods. The best I could come up with there was to use two rounds of public key exchange, to make it difficult for someone to keep track of who's keys are who's and for what. It's not foolproof, but it's something.


      The Kerberos server is "vulnerable", but as it is talked to via this virtual private network, it can be "behind" the main server, and therefore not visible to the outside network.


      Physical security is a problem, yes. That is tackled by having a distributed system. (You've three servers, but you don't necessarily know which one does what.) Because of this, even the administrator doesn't know, at any given power-up, which machine is doing what. A physical attack would require the compromise of ALL machines in the group to be compromised. This doesn't -stop- a physical attack - you can't, really. All you can do is scale up the problem to make it impractical for the information.


      Social engineering is another difficult problem. Anybody can figure out the username and password for a person. The only way to avoid this would be to have client-side certificates, but your average user is unlikely to want to mess with those.


      All in all, the "best" way to limit the damage of social engineering is to have the user input as LATE in the process as possible. That way, you've got to dig your way through all the other layers in order to even make use of the information.


      Hopefully this clears up the concept up a little. As I said, this isn't my field, so any inaccuracies are entirely due to my pet hamster lying to me.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  112. Easy enough by Anomolous+Cow+Herd · · Score: 1
    Just cache the password as it is being typed, and then when the user hits "enter", send the whole thing over to the other machine. Duh.


    Personally, I was under the impression that they were doing this in the first place. Guess I was wrong.

    --

    "I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
  113. Re:An extreme technique - or not... by kaladorn · · Score: 1

    (Note to non-Wargamers: Soak-offs are where you use a trivial piece to divert a much more significant piece of your opponent, so that you can defeat what's left with relative ease. In this case, I used the "trivial" problem of picking the right algorithm to soak-off the processing power of the opponent. My "main forces" (encryption, intrusion detection, etc) could then walk right over whatever was left.)

    I believe the military refers to this as "defeat in detail". A very potent technique _if_ you manage to fool your enemy.

    Wargaming and computer security, IMHO, are very closely related. However, legal issues prevent me from applying my favourite tactic in "Squad Leader" and "Advanced Squad Leader" -- steamroller one flank, setting fire to everything behind me so I can't be encircled. I'd love to see a Black Hat vs. 3 stacks of 3 x 8-4-3's with HMG's, and a 10-2 leader, but I suspect that would be considered excessive by The Powers That Be.

    Excessive? You aren't even calling for artillery support or air strikes! It'd do most of these villains good to find themselves in a good Napalm or FAE strike.

    --
    -- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
  114. So, what is it? by Anonymous Coward · · Score: 0

    Only joking.

  115. Regardless of your post... by kypper · · Score: 1
    I'd like more information on your sig.


    That frightens me.

    1. Re:Regardless of your post... by Anonymous Coward · · Score: 0

      A simple Google search should lead you to what you're looking for.

  116. Typing by arestivo · · Score: 1

    (...) We usually type them in letter-by-letter (...). hmm, I always type letter by letter. My keyboard doesn't have 2 letter keys :-)

  117. And the counter argument is here by hayden · · Score: 1
    --
    Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
  118. But WHY?... by Kasreyn · · Score: 2
    "Their second weakness is that in an interactive mode, each keystroke that a user types is sent to a remote machine in separate IP packets immediately after the key is pressed. According to the researchers, this leaks the inter-keystroke timing information of the users' typing."


    (from the Securityfocus article)

    I see how packet capturing could lead to a vulnerability in this. What I *don't* see, is why in the HELL anyone would want to send each letter of the password in a single packet!! I don't see any security benefit to it, and it would seem to make cracking the password slightly easier. It would seem that sending your entire password in one chunk would be more secure.

    Can anyone explain to me WHY ssh would do this?

    -Kasreyn
    --
    Kasreyn: Cheerfully playing the part of Devil's Advocate to hairtrigger /. flamers since 1999.
    1. Re:But WHY?... by p3d0 · · Score: 2

      Because interactive shells always send individual keystrokes (until Nagle makes them batch up). That's why they're interactive.

      Remember, they're not referring to the password used to establish the SSH session. They're talking about passwords entered during the SSH session.

      Give the SSH people some credit. :-)

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    2. Re:But WHY?... by Anonymous Coward · · Score: 0

      Executive summary: this isn't about ssh passwords per se, but about sensitive information (including other passwords) you may type within an ssh session.

      Have you ever used an IBM 3270 terminal (or emulator)?

      The 3270 is a "smart" client terminal that lets you edit a whole page of data at a time, then when you press a "hot key" such as Enter, the whole screenful is sent to the server in one big packet or batch of packets.

      This makes great sense in terms of resource usage on the network and the server -- the server doesn't have to process individual keystrokes or worry about echoing them back to the client. However, it really sucks as a user interface, because the interactivity is limited to what a 3270 terminal knows how to provide. The server can only get input in whole chunks, after you press Enter (or another hotkey like Fn).

      ssh uses the keystroke-at-a-time model of interaction (like telnet (in non-echo mode) and almost all other Unix console setups), not the screen-at-a-time model (like the 3270). That means an ssh session feels just like any other Unix terminal session. You can play tetris over ssh, or use Emacs. Not so with a 3270.

      The problem here, of course, is that if you wait long enough between keystrokes, ssh sends then in individual packets, so you can sniff timing information over the network. Thus, anything sensitive that you type in an ssh session is not 100% obscured by the crypto, because your key timings are visible.

      Solution? Introduce random delays when sending packets from an interactive source. That may not be unreasonable. It would make the session feel somewhat "sluggish", though.

    3. Re:But WHY?... by KenRH · · Score: 1
      Solution? Introduce random delays when sending packets from an interactive source. That may not be unreasonable. It would make the session feel somewhat "sluggish", though.


      How about doin it the other way around, use a timer to always send packets at a set interval. And you stuff the packets so they are alway the same lenght, even if there actualy where no real traffic in it.


      The drawback woud be the use of bandwith.

    4. Re:But WHY?... by dootbran · · Score: 1

      You could have a sort of "key stroke buffer" and check to see if that is empty or not before sending traffic. While you could see some possible variation in the timeing of the stokes it probably wouldn't be enough to guess a password off of especially if you gave it just the right timing. Would look kinda wierd to have characters pop up at a specified interval though. Oh well, all in the name of security ;p

  119. timing attacks by mrsbrisby · · Score: 1

    timing-based attacks aren't new; most people can remember time-based attacks regarding TCP sequence prediction (older windows, IRIX, many others) and so of course the initial reaction is that we need to make XXX protocol (fill this one in with SSH) not-suceptible to this attack.

    oddly enough, there's nothing about the SSH protocol that's to blame; only a matter of convenience in implimentation: SSH sends one packet at a time so that things can seem as speedy as possible. this is common with interactive protocols, and I should say "a good thing".

    if people think it's too big a deal, several "code" things can be done: either batch up several keystrongs (turning up the compression level is one way with some ssh clients), or modify SSH to add some white-noise when keystrokes are being emitted slowly. a third one could be to impliment local flow control (^Q/^S) so that SSH would burst passwords together.

    unfortunately, the first two of these can actually slow things down a bit, and the third just seems silly (and i don't think emacs users would like having their precious confusing control keys taken away or quoted)...

  120. *BSD is dying by Anonymous Coward · · Score: 0
    *BSD is dying

    Yet another crippling bombshell hit the beleaguered *BSD community when last month IDC confirmed that *BSD accounts for less than a fraction of 1 percent of all servers. Coming on the heels of the latest Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinfore what we've known all along. *BSD is collapsing in complete disarray, as further exemplified by failing dead last in the recent Sys Admin comprehensive networking test.

    You don't need to be a Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood. FreeBSD is the most endangered of them all.

    Let's keep to the facts and look at the numbers.

    OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.

    Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to another charnel house.

    All major surveys show that *BSD has steadily declined in market share. *BSD is very sick nd its long term survival prospects are very dim. If *BSD is to survive at all it will be amongOS hobbyist dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For ll practical purposes, *BSD is dead.

    *BSD is dying

  121. How to have UNBREAKABLE encryption by Dynedain · · Score: 1

    Just use the password: "password"
    works just like a charm! no one would ever think of trying it!

    umm....uh....did I just say that out loud?....ooops

    --
    I'm out of my mind right now, but feel free to leave a message.....
  122. I can understand but why? by Lumpy · · Score: 3

    Ok, for a bank or the NSA, I can see needing Nth level encryption and other secret-spy stuff.. bot for joe webmaster or taco logging into the slashnet servers we dont need military grade security. Yes, fixing a hole is a great idea. but we dont need to be running around screaming OMG!!!OMG!!! ssh is insecure!!!! WEll it was insecure when it came out, and it will be forever insecure. you want secure? lock your box in a safe with all drives and ports filled with cement. and not on a network.

    That is the only way you can call something secure.

    --
    Do not look at laser with remaining good eye.
  123. Congrats you've built a broken version of SRP by Anonymous Coward · · Score: 0

    Looks like you've got the begining of SRP, but using creative seeding for RSA key generation is *BAD*, so you are likely not at all secure.

    Look up SRP for an algorythim which is provably secure for what you want (mutual authentication via password).

  124. Patterns Suck by Symb · · Score: 1

    Randomize the net.

  125. Missing the point by Anonymous Coward · · Score: 0

    A lot of people are missing the point. This just doesn't apply to "sniffing passwords" (whether or not the client sends the password in a block or per character, I don't know) during the authentication. This attack involves analyzing the traffic sent back and forth.

    For example, Alice works at an ISP. When she connects to machine Bob, the first command she usually issues is "su - root". Now, if Charlie knows this, or even that it is typed at all during Alice's session, he can capture the traffic, and he's got the beginnings of a plaintext attack. He knows what the first 10 characters are, he knows there will be a pause, followed by the root password, followed by another pause. It is then fairly easy to guess that the next to characters will be either something like "ls" or "cd".

    This goes beyond sniffing passwords -- it's a whole traffic analysis attack, giving known plaintext to analyze the ciphertext with.

  126. Yep, nobody understands this (I'm surprised) by Anonymous Coward · · Score: 0

    An earlier poster tried to point it out (with a +5 summary, no less)...I have to say that this makes me worry about the topics on the board about which I *don't* have knowledge...
    In a nutshell: SSH is like https...it sets up a tunnel between the client and the server that is encrypted. It uses the RSA algorithm. This requires a public key on the part of the server. They are not worried about SSH that doesn't use RSA: those implementations must always pass a key in cleartext, so they're not worth discussing. So far so good?

    OK, once the tunnel is set up, you then use passwords (now and then) to log in to various hosts, go su, etc. Those passwords are sent thru the SSH tunnel...and if they're done on a keystroke by keystroke basis...viola! You can infer the identity of the key by the interval between that key and the prior (i.e. an "E" may come close to an "N", or something like that). That's it. So few people seemed to get this, that it is a little worrisome (although I admit that I hadn't considered non-RSA ssh protocols, which do exist. BUT WHY???)

  127. yeesh by Anonymous Coward · · Score: 0

    i was just kidding.

    Takahashi

  128. i don't type them in "live" by Bender+Unit+22 · · Score: 1

    When I connect via my SSH telnet client it, a logon window pops up where I type username and password which then gets sent at the same time.

    I also compress my transmission to increase the speed, which I guess will make small delays in what I send in order to make the chunks of data big enough so that the compression work.

    But I get the idea.

  129. Oh... by Kasreyn · · Score: 2

    I thought everyone was making such a fuss because one could sniff the timing on the SSH session password. Any other passwords you send while connected would seem likely to be more secure to me, since an interceptor would have to first figure out which part was a password, and which part was just text and command line entries entered during the session. ("Hey, I've got it!! His password's 'pine-iqylogout'!!") =P

    -Kasreyn

    --
    Kasreyn: Cheerfully playing the part of Devil's Advocate to hairtrigger /. flamers since 1999.
  130. Re:Defeat the nagle-disabling, and use public keys by Corrado · · Score: 1

    what happens when you 'su -' to do something?

    That's assuming you can even find an su amongst all the encrypted traffic.

    --
    Later
    Corrado

    --
    KangarooBox - We make IT simple!
  131. Re:because... by warez_d00d · · Score: 1

    test post, go away feeble trolls

  132. Re:Defeat the nagle-disabling, and use public keys by Corrado · · Score: 1

    Mental note to self: Read the article first and then post.

    Sorry!

    --
    KangarooBox - We make IT simple!
  133. Buffering and padding user input? by Shanep · · Score: 1

    Perhaps a future version of SSH could add a buffering mechanism that sends the whole buffer at regular (or randomized) intervals if the outbound buffer is not filled to a point where it would be deemed non-human input.

    How about also padding a "regular-interval" packet with a random amount of random data to also avoid the size of the useful portion of the datagram from being calculated.

    --
    War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?