Request for obfuscating the handshake
Ángel González
keisial at gmail.com
Fri Jan 13 10:28:06 EST 2012
Hello Sir,
I have been reading the protocol description and, although there are some
'arbitrary' choices (eg. the stream cipher, the hash, the value of
OBFUSCATE_HASH_ITERATIONS, or why not include the counter in the
iterations),
the easiest way is _probably_ to follow the public description (this is
only obfuscation).
But I think the weakest point is that your government can easily block
it by not
allowing a connection sending random bytes. And there is no provision
for it to look
like 'something else'. I think the best hiding is what the tor projet
strives to do,
enmasquerading as a HTTPS handshake.
Which is probably overkill to consider as an addition for openssh.
I started thinking about something like a HTTP POST, which triggered the
detection
from a point where the characters mathed some kind of crazy condition,
such as the
difference of two characters with the next two were a prime number, thus
forcing to
read an arbitrary-length content (and the payload common enough it would
appear
in 'legitimate' content, too).
I wonder, does the new filters also block ssh if there's a banner? (eg.
it shows a
Shakespeare poem before connecting you). Not that it matters much (they
can easily
close it), but they could have forgotten that.
I pondered if there were an easy way to skip the cleartext (eg.
automatically assuming
that you received a SSH-2.0 banner) but the negotiation options are even
more obvious,
so a stream cipher does seem required.
Steganographying ssh is an interesting problem.
Good luck for you all
More information about the openssh-unix-dev
mailing list