<<< Date Index >>>     <<< Thread Index >>>

RE: thoughts and a possible solution on homograph attacks



Michael,
  A few comments. First, in response to:

>I propose to present the user with a dialog showing the text to be
>validated and an input field, into which the user has to type in the
given >text again. The user is told, if both texts match precisely and
what this >means: If the typed text's internal representation matches
the given text >bit-by-bit, trust can be established. If it does not
match, the user is >told to re-check for typing errors and not to
establish trust.

It's very difficult to get people to agree to security at the expense of
usability. The average user thinks of security as a commodity to be
bolted on. Those in the field know that this is never the case, but
they'll have a hard time convincing my mom to re-type what she sees in a
box each time she clicks on a hyperlink. There *must* be a better way.

A few such ways come to mind:

It's rather trivial to determine programatically that www.paypal.com is
different from www.paypa1.com, but look similar. One might argue to rest
the burden with DNS registries (why would anyone legitimately want
paypa1.com?), but that's not likely to fly. Could it rest within the
browser? ("Hey buddy, you're going to paypa1.com--did you mean Pay Pal?"
or "Enable Unicode in URLs"). Perhaps with an addon ("Hey buddy, you're
going to a restricted domain-- are you sure?"). Finally, it could rest
with the operating system (via a variety of mechanisms). 

The danger of 'O' vs '0' isn't trivial, but it is much less dangerous
than ASCII 'a' vs Unicode 'a', where the two don't map to the same
Unicode value. At the most basic level, there's the trust that when I
see a picture of 'a', then that means, the first letter of the alphabet,
etc. It shouldn't mean, a modified Greek font representation of a
chinese glyph, or whatever. Perhaps this should rest with the font
designers. Perhaps the default fonts that come preloaded (Arial, Times,
Verdana, etc) shouldn't have multiple characters to map to the same
glyph? After all, I'm not going to paypal.com, I'm going to p<some
unicode character>ypal.com. Why should that look just like paypal.com to
me?

<plug>
I've released a "fix" for the IDN vulnerability
(www.scovettalabs.com/advisory/SCL-2005.002.txt) that basically prevents
you from going to *any* domain that has a non-[\-A-Z0-9] character in
it. For me, it's fine, since I'll likely never need to go to an IDN
domain.
</plug>


Michael Scovetta
Computer Associates
Senior Application Developer

-----Original Message-----
From: Michael Roitzsch [mailto:amalthea@xxxxxxxxxx] 
Sent: Monday, March 07, 2005 12:26 PM
To: bugtraq@xxxxxxxxxxxxxxxxx
Subject: thoughts and a possible solution on homograph attacks

Hi security community,

this is my first publication I post on Bugtraq, so please be patient
with me.

Since the recent problems with IDN, I wanted to clear up my thoughts on 
homograph attacks, so I sorted everything in an article which also
contains 
what I believe to be an easy and general solution.

You can find it here:
http://www.amalthea.de/publications/homograph.pdf

Unfortunately, my free time is currently limited, so I may not be able
to 
participate too much in any discussions on the subject. My appologies
for 
that. But I will definitely read any feedback I receive.

Michael Roitzsch