On Fri, Dec 18, 2009 at 6:58 PM, macdd <cool_russe...@yahoo.com> wrote:
> plain text then it isn't very secure. Okay so https comes in. What I
> don't understand is when to use it and when not to. It seems like if
> you authenticate over https just for user credentials and then go back
> to http (like yahoo) than someone could just ease drop your cookie and
> be you, making logging in and out in any form pointless?

To be perfectly honest, I stopped caring about man-in-the-middle and
eavesdropping attacks a very long time ago.

I suppose that if I were employed by a defense or intelligence agency,
or if I were handling extremely sensitive corporate or financial data,
I might give some thought to them, because the security requirements
in those fields are so strict and the stakes are so high (US
defense/intelligence agencies, for example, go so far as to mandate
specific -- classified -- RF-emission requirements for their hardware,
in order to prevent electromagnetic eavesdropping). Even in that
situation, though, MITM would not be atop my list of priorities.

And the plain and simple truth is that I don't work in such fields. I
write software to let news companies publish things, and MITM really
isn't even on my radar. If this seems strange, consider that an
attacker -- should he or she be both motivated and determined enough
to try to obtain the credentials of one of my users -- simply has
access to far too many easier and simpler attack vectors which can
accomplish that.

First on the list, and hardest to defend, is phishing: it doesn't
matter how much security I build in to the connection between my
server and my user's browser, if the user can be fooled into typing
credentials into a form on some other site. And fooling users into
doing that is unbelievably easy.

Then there are the cross-site scripting and cross-site request forgery
attacks, both of which can be pulled off easily and in ways which are
hard to detect. XSS is the ring-0 attack of the web, and a far more
likely vector than packet sniffing or cookie replaying. And CSRF is
the terrorist hijack of the Internet, but you don't realize you've
been hijacked until it's far too late. At least they can be mitigated
and prevented, and Django provides tools which allow you to do just
that.

But there's a whole list of easy but effective tactics which goes on
and on; most involve social engineering or low-tech methods. Some are
as simple as glancing over someone's shoulder in a coffeeshop. And all
of them are far, far, far more likely to be used against you than a
frail and complex credential-sniffing man-in-the-middle attack. Like I
said, MITM just isn't even on my radar, and probably shouldn't be on
yours either.

But if you feel you must focus on unlikely and difficult threat models
rather than likely and simple ones, there's an easy answer: HTTPS for
everything. Nothing else comes close, and probably nothing else will
for the foreseeable future.

Of course, this presumes that your users know how to spot the
difference between plain unencrypted HTTP and encrypted HTTPS, or are
paying attention to the indicators their browsers give about
certificate validity, or are even bothering to look at the address bar
at all. Sadly, the answer to all of those questions is "no": your
users don't know and don't care, and if someone decides it's worth
going after them, they'll get compromised by far simpler, far
lower-tech phishing attacks just like everybody else...


-- 
"Bureaucrat Conrad, you are technically correct -- the best kind of correct."

--

You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.


Reply via email to