On Sep 12, 2008, at 6:41 PM, Darrin Chandler wrote:

On Fri, Sep 12, 2008 at 05:42:08PM -0700, johan beisser wrote:
It's just a improbable attack. One that's easily defended against by
maintaining the interactive shell/echoback and simply push additional

Was it you who said earlier that you weren't a cryptanalyst? Well,
neither am I, but I have come away with one lesson from them: be on the
attack. You are on the defense, and always putting forward reasons why
this isn't a quick total penetration. Instead, try thinking of what
information you can get by snooping, and what you might do with it. It's
a whole different mindset.

Yes. I'm not sure why you assume to know how or what I'm thinking.

I'm saying what he's wanting to prevent - Eve watching input and output to figure out passwords, based on keyboard timing and typing patterns - isn't really an easy attack for Eve to accomplish without a huge amount of data being collected first.

At no time did I say Eve couldn't figure out other bits of information by treating the system as a black box and simply watching what goes in vs what comes out, or quietly sending in her own inputs.

You can see this in Damien Miller's messages.
Rather than pooh-pooh this like you, he's considering the problems and
trying to think of ways to break openssh. This attitude of Damien (and
other obsd devs) is why openssh is so strong. If they thought only of
defense then openssh would have a track record similar to so many other
programs.

I think it's less that I'm "pooh-pooh"ing an attack, than saying that specific attack is easily thrown off without doing any protocol revision and interactive session changes. Frankly, introducing noise to the stream doesn't affect your session and would interfere with Eve listening and trying to figure out outputs to inputs ("rush of inbound characters just before an outbound ssh session may be a password").

That said, it's not even the cryptography I'm talking about. It's just signal vs noise. Introducing noise is not changing the algorithm, it's changing the patterns of packets preventing enumeration or viewing pattern information for that session. It's essentially making it so you can't enumerate input to the output anymore without specific knowledge of what's going on.

Note that at no time is this attacking the transport protocol, or the encryption. In the case of the SSH1 attack against the block cypher used, part of it was a weak algorithm with insufficient padding for the input.

Back when I did financial software we played a game of thinking of ways
to steal money. We found several ways and plugged those holes, and
related holes. Most of the holes were never tried but some of them were
(and people went to prison). If we had not played our game we *never*
would have found some of the holes.

Which is what you should do.

Let's play your game really quickly:

1. figure out how many packets would be sent for "du" and "df"

2. how many packets would be returned for each of those two commands? That is, without the CRLF being punched in.

3. is each letter a single packet outbound? How many return packets did you get for the echo back? Per letter.

4. if you hit enter, how many return packets did you get?

5. now, have two interactive shell sessions through the same tunnel. Differentiate which one is active at any given time, and who is typing on a per packet basis.

You should try this game. Not only can it be rewarding for your own
security, it can be fun as well.

I like you. You're amusing, and you missed the point I've made. Twice.

Reply via email to