Slashdot Mirror


Black Hat Presentation Highlights SSL Encryption Flaws

nk497 writes "Hackers at the Black Hat conference have shown that SSL encryption isn't as secure as online businesses would like us to think. Independent hacker Moxie Marlinspike showed off several techniques to fool the tech behind the little padlock on your screen. He claimed that by using a real world attack on several secure websites such as PayPal, Gmail, Ticketmaster and Facebook, he garnered 117 email accounts, 16 credit card numbers, seven PayPal logins and 300 other miscellaneous secure logins."

37 of 152 comments (clear)

  1. Oh god by LordKaT · · Score: 3, Funny

    Someone fix the summary before my brain melts.

    1. Re:Oh god by gnick · · Score: 4, Funny

      You simply misunderstood the summary - It's fine the way it is.

      Independent hacker Moxie Marlinspike showed off several techniques to get fool the tech behind the little padlock on your screen.

      "fool the tech" is a little bot that hides behind the padlock on your browser, watches what you're typing, and reports it back to Moxie. Moxie has several techniques for getting Fool behind the padlock. Why Moxie named the little tech Fool, I have no idea.

      --
      He's getting rather old, but he's a good mouse.
    2. Re:Oh god by Lord+Ender · · Score: 3, Informative

      OK: "Some implementations of SSL encryption are flawed. These can be fixed. SSL encryption itself is not flawed."

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    3. Re:Oh god by Lord+Ender · · Score: 3, Insightful

      You are absolutely wrong. SSL is not flawed. The UI browsers have implemented regarding SSL is flawed. The UI should make it clear to the users exactly where they are sending their information. It should also make it clear when they are submitting a password over plain text.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    4. Re:Oh god by leromarinvit · · Score: 2, Interesting

      Firefox even has everything needed to defeat this already built in - it's just not enabled by default. By setting browser.identity.ssl_domain_display to 1 in about:config, it displays a blue strip left of the URL with the last two parts of the domain name, similar to the green strip with the registrant's name for EV certs.

      They should enable this by default, and whoops, the iiijk.cn attack described in the PDF is instantly obvious.

      --
      Proud member of the Ferengi Socialist Party.
  2. Hacking by eclectro · · Score: 3, Insightful

    It's always about getting the fool.

    --
    Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
  3. Sounds like OSI level 8 error by Seth+Kriticos · · Score: 5, Insightful

    Come on, this does not highlight vulnerabilities of SSL, but errors in implementing it for specific platforms. This was always a weak point.

  4. It's not a problem with SSL /per se/ by MadMidnightBomber · · Score: 5, Interesting

    It's a problem with sites that start out with http://example.com/ and then transition to https://secure.example.com/.

    If I read it right, encrypt it all, turn off http except as a 301 redirect to https and you should be fine. Anyone confirm this?

    Course, you still should check the certificate is the one you're expecting.

    --
    "It doesn't cost enough, and it makes too much sense."
    1. Re:It's not a problem with SSL /per se/ by Anonymous Coward · · Score: 2, Interesting

      They did say in the video they rewrite the http->https redirects so I don't think that's the way. The only solution is to turn of HTTP completely, but that'd mean your users would have to type https:/// to use port 443 and https all the time.

    2. Re:It's not a problem with SSL /per se/ by Qzukk · · Score: 5, Insightful

      It looks like there are a couple of things, but their main one is a man-in-the-middle attack based on the user not paying attention to the browser's SSL flags. See the difference between page 61 and 62 of their presentation: https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf

      They show on page 69 how it looks once they substitute a lock image for the favicon (if they had wanted to be Extra Evil, they'd have given their fake favicon a blue background, which would have made firefox 3 look exactly like it was SSL protected, except for the S missing in the URL)

      They then proceed to show how allowing unicode in the hostname continues to confuse and confound people. Register a cert for *.foo.com, then set up a hostname of www.google.com[unicodeslashlike]login[unicodeslashlike]blah[unicodeslashlike]blah[unicodeslashlike]blah.foo.com and presto, you have a valid certificate for a site that looks more or less like https://www.google.com/login/blah/blah/blah.foo.com, except that it's not hosted by google.

      Basically all of these are attacks on the end user, what you do or don't do on the server won't change a thing.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    3. Re:It's not a problem with SSL /per se/ by Lord+Ender · · Score: 2, Insightful

      You are almost right. It is a combined flaw of both browsers and web site implementations. If just one of the two were flawed, it wouldn't be a major issue. But since both are, even security-conscious users are likely to get duped by this.

      So many engineering disasters rely on multiple little things going wrong simultaneously...

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    4. Re:It's not a problem with SSL /per se/ by Deanalator · · Score: 2, Interesting

      No, that will not fix this attack. I have not been able to find a copy of his tool online yet, but I am going to assume that he did it right.

      This tool should still be able to pull down the html from the https the website, and present it to the user as an http site. No amount of javascript, HTTP redirects, or a href="https:// ... is going to save you in this case. The MITM proxy is always going to be able to strip any of that out, and replace it with something that keeps the clear session alive.

      The way to fix this is to change the way firefox implements SSL. Once firefox has visited a website using SSL, firefox needs to automatically connect to SSL, and never trust unencrypted data from that site again. Even that won't help for websites on the first visit. I think firefox should also give big fat warnings if you attempt to POST a password field over an unencrypted channel (that means you slashdot). Furthermore, I am of the opinion that the SSL fingerprint should be cached at that moment as well, so the user can be warned if the cert ever magically changes. This would protect against the possibility of malicious people getting their hands on a root CA.

    5. Re:It's not a problem with SSL /per se/ by zappepcs · · Score: 4, Insightful

      What exactly is wrong with that? I'm sure that someone can write a script for FF that will detect the error and automatically add the 's' and resend. People had to get used to typing http://www/ in the first place. It's not such a huge jump to add the 's'.

      This is the same argument that I see with switching to Linux: oh, users will have to relearn things, it's different than Windows. Yet those same users have to relearn when they get a new cable box and remote. They have to relearn when they get a new microwave. They have to relearn when they get a new television. They have to relearn when they change banks, and on and on and on. It's a lame argument.

      In the end, users in general are uninformed, lazy, and lack the drive to become well versed in computer security. SSL encryption issues are hardly the biggest security flaw in computing today. The biggest security flaw is between the ears of the end user. SSL issues hardly register on the list of problems behind the spread of the most devastating malware we know about today.

      meh

    6. Re:It's not a problem with SSL /per se/ by Vellmont · · Score: 2, Interesting


      If I read it right, encrypt it all, turn off http except as a 301 redirect to https and you should be fine. Anyone confirm this?

      Not really. You've only shifted the problem into one of intercepting and modifying the 301 redirect, from intercepting the individual links.

      You could turn off http entirely, but then you'll get people complaining that your website doesn't work from the vast majority of people (hell, including me really).

      This is really a browser problem, and a user problem. One way to fix this would be for the browser to recognize sites (domains really) that should be HTTPS ONLY, and refuses to use HTTP when going to them. I.e. the user types, clicks, or uses a bookmark to go to www.mybank.com, and instead of the default http, it goes to https. If it encounters a non-http link for that domain, it simply disobeys (or puts up a huge warning flag).

      --
      AccountKiller
    7. Re:It's not a problem with SSL /per se/ by AusIV · · Score: 2, Informative
      The problem is that a MITM can modify that 301 redirect from https://secure.example.com/ to http://secure.example.com/ Since they're in the middle of the transaction, they capture your packets and encrypt them before forwarding them on to https://secure.example.com./ The only indicator that something is amiss is the lack of an 's' in the protocol, which lots of people won't notice.

      Alternatively, he might redirect from https://secure.example.com/ to https://secure.example.com/.ijj.cn, except that the slashes and dots in the last example are unicode characters that look like slashes and dots, so they don't register with the browser in the same way. He gets a legit cert to *.ijj.cn, then logs everything and forwards your responses to the address before .ijj.cn. For long URLS (which many secure logins have), the trailing .ijj.cn ends up past the end of your URL bar, and you don't notice.

      After seeing Moxie's presentation, I'll be double checking every URL that needs to be secure to verify the 'https' protocol, and doesn't have any unusual endings. For things like the bank, I'll probably just bookmark the https version and never request the http version.

    8. Re:It's not a problem with SSL /per se/ by mcgrew · · Score: 2

      "Disaster" is a pretty strong word. The Titanic was an engineering disaster, the Challenger and Columbia accidents were engineering disasters, that bridge that collapsed a few years ago was an engineering disaster, there was a type of cancer radiation machine a while back that was killing people because of a software bug that was an engineering disaster, the Ford/Firestone automobile rollovers were engineering disasters. To call getting hacked a disaster is a bit out of proportion.

  5. Re:Disgusting grammar. by Anonymous Coward · · Score: 5, Funny

    If you are going to criticize someone's grammar. Your post should be grammatically flawless. And your post isn't. That's laughable.

    "I thought you editor's had better standards."

  6. God forbid... by ThrowAwaySociety · · Score: 2, Insightful

    ...hackers and phishers ever take a third-grade English class.

    Typos, grammar errors, and awkward Google transalations probably do more to alert average users to scams than SSL certificate warnings.

    1. Re:God forbid... by Anonymous+Monkey · · Score: 4, Insightful

      Reminds me of the first lesson in hacking: Social Engineering is More Powerful than Passwords. Only the other way around. If you learn what hackers do, you can avoid them (most of the time). And if their is a Master Hacker who can dupe me, I doubt their is much I can do to stop him. Thankfully I'm not important enough to be a target.

      --
      We are the Borg...
    2. Re:God forbid... by Joebert · · Score: 2, Funny

      The only question is, are you attempting to look unimportant so you will be looked over, or because you know someone will look at that as a dead give away that you're trying to "look" unimportant because you actually have a lot to hide and want to draw attention to yourself because you actually are, unimportant ?

      --
      Wanna fight ? Bend over, stick your head up your ass, and fight for air.
    3. Re:God forbid... by Vellmont · · Score: 4, Insightful


      Thankfully I'm not important enough to be a target.

      A common myth, based on a belief that "hacking" is done by some smart guy sitting around thinking about which "important person" to go after next.

      The answer (if you're smart enough and slightly lazy) is "why not everyone?" or at least "anyone that falls into the trap". An automated program doesn't really care who you are, if you're "important" or not. Only that it can trick you into losing some money. Personally I think that's why a lot of people fall for 419 scams.

      --
      AccountKiller
    4. Re:God forbid... by KillerBob · · Score: 2, Interesting

      I think he was talking about people specifically trying to break into his box, presumably a server. Like him, I don't really think my server is that juicy a target. A determined hacker *can* break into it, no argument. But it's got enough of a deterrent in place, in the form of frequent updates by a sysadmin who subscribes to the mailing lists for all the software she's running, requiring SSH to log in, the non-existence of any remote administration tools except for SSH, only allowing one user shell access (unfortunately, I'm on a dynamic IP, else I'd be restricting it to IP as well), and said user having a password that expires every 30 days, to make it an unattractive target for that kind of attack.

      When it comes to viruses, trojans, and other forms of malware, you're absolutely right. The human will always be the weak factor, and the software doesn't give a damn what human it's targetting. A little bit of common sense and a little bit of knowledge about how these kinds of things work will do wonders to protect you from harmful attack. But when it comes to securing a server against intrusion, it's not about preventing attack: there's nothing you can do short of taking the server offline to 100% guarantee that it won't be attacked. It's about making it enough of an annoyance to break into your computer that anybody who doesn't have a personal vendetta will go after an easier target.

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    5. Re:God forbid... by Vellmont · · Score: 2, Insightful


      Part time job as an accountant. Volunteer work with Deaf people the rest of the time. Live in a one bedroom apartment with my wife. Nope, not important.

      A hacking program designed to find exploits in your computer, at your ISP, or any of the internet infra-structure between you and doesn't really care how "important" you are. It only cares about the logic with which it was written.

      Your internet connection is only the most easy thing to steal. If an automated program (you can call it a "virus" or "worm" if you really want) can get somewhere within the infrastruture, anytime you use a credit card, the CC# could be stolen. Do you ever bank online?

      Importance only matters when an attacker has to pick and choose his targets do to a limit on his own attention. When the computer does the attack for him, "important" is irrelevant, and "ability to exploit" and return is a much bigger factor.

      --
      AccountKiller
  7. OK, so don't implement the security. by russotto · · Score: 5, Insightful

    If you don't implement the security, you're not secure. The author claims that some browsers don't check to see that an intermediate certificate is actually authorized to sign other certificates. So naturally there's a simple attack based on that, but it doesn't really show a flaw in SSL.

    The author also complains about companies which post secure forms on non-secure pages, which is a valid complaint but is also a case of "You're using it wrong" rather than a problem with the protocols. Most users are never going to check for the lock (or whatever), so the basic problem will be with us forever, but banks don't have to screw it up by putting login forms on non-secure pages normally. Yes, it's convenient to have a login on a home page, and yes it would consume too many resources to make every home page hit into an https hit, but security ought to count for something, particularly with a bank.

  8. Re:Disgusting grammar. by Anonymous Coward · · Score: 5, Funny

    If you are going to criticize someone's grammar. Your post should be grammatically flawless.

    If YOU are going to. criticize someone else's. Grammar. Don't use sentence fragments to do. It.

  9. People don't type https:// by gzipped_tar · · Score: 5, Interesting

    One of the claims from the presentation (linked in TFA: https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf, PDF file) is "people don't type https:///" -- they reach SSL-enabled urls either by submitting a form (from non-SSL page!) or the result of HTTP redirect. And "that has made all the differences" according to the hacker.

    Maybe we need a special TLD for HTTPS-only traffic. Let's say ".s". For a given URL, if the hostname is of ".s" domain but the protocol part is not "https:" (or other secure protocols) then the URL is invalid by standard. A browser should be mandated to use HTTPS for such a host if the URL is given incomplete (e.g. user typing "example.s" rather than "https://example.s/" in the Awesome Bar). It should also fail to use a non-secure protocol even if it's available for a ".s" site during any phase of communication.

    I don't think this idea is good enough but it's the first thing coming to my mind..

    Also I'd like to know more about another exploit mentioned in the presentation.. the failure to check the "Basic Constraints" field of a SSL cert. Is Firefox vulnerable?

    --
    Colorless green Cthulhu waits dreaming furiously.
    1. Re:People don't type https:// by imemyself · · Score: 2, Interesting

      I kind of agree with you about having something in DNS to tell the client that it must use SSL. When I read through the Powerpoint, I was wondering about using TXT records, or SRV records or some other type of DNS records to tell the client that it must connect using SSL.

      I wonder how practical this would be? I think it would be easier to "bolt-on" than using a new TLD, but would it be more vulnerable to DNS spoofing than using a new TLD?

      --
      Every time you post an article on Slashdot, I kill a server. Think of the servers!
  10. The same guy. by Anonymous Coward · · Score: 2, Informative

    This is the same guy who published the infamous basic constraints IE vulnerability a few years ago. His website and the software is www.thoughtcrime.org

  11. End to end encryption for a safe internet by master_p · · Score: 5, Insightful

    End-to-end encryption is required at all levels of the internet. Until that is available, the internet will never be secure, because someone will be able to read the non-encrypted data you send and reply with a fake response.

  12. Re:The problem is with the trusting user, and can by gilado · · Score: 2, Insightful

    RSA encryption and authentication is the difference
    You can't expect the user to do RSA authetication using a keyboard

    But the chip in the smart card does exactly that.

  13. Re:Disgusting grammar. by hairykrishna · · Score: 5, Funny

    Shatner, is that you?

    --
    "Physics is to math as sex is to masturbation." -R. Feynman
  14. Pop-up is bad, telling the user is good by jonaskoelker · · Score: 3, Interesting

    If browser makers simply gave pop-ups

    No. No no no! Death to pop-ups.

    And here's why: they interrupt you in what you're trying to do. If they surprise you, you feel less in control of your environment which is bad (see http://en.wikipedia.org/wiki/Learned_helplessness and http://en.wikipedia.org/wiki/Locus_of_control). If they don't they're pointless because you'll already know in advance what your answer is going to be, so why can't you just tell the program what your answer is when you tell it to go do whatever made it interrupt and annoy you?

    A better solution is the slide-down bar which you probably know from using firefox. Instead of being in your way, it steals a little screen real estate near the edge and uses a color to tell you "you might want to pay attention here" without being in the way of what you really want to look at. Something similar happens when gedit and evince encounter an error.

    They're much better than pop-ups, in the cases where you have enough room for the text you need to display to the user.

    But you-the-browser probably should tell the user "Your password will be sent to $OTHER_DOMAIN. This is likely to be a security problem", so use a slide-down bar for this.

  15. Odd choice of words by Garse+Janacek · · Score: 4, Insightful

    SSL encryption isn't as secure as online businesses would like us to think.

    What? I mean, are online businesses down in their underground lairs, laughing at the misinformation perpetrated on an unsuspecting public? "Hah! They believe that SSL encryption is secure!"....

    Maybe it should be "...isn't as secure as online businesses would like it to be." I think that it is in the interests of businesses as well as their customers for SSL transactions to remain secure. We can address incompetently implemented security protocols without treating it like a conspiracy on the part of the sites...

    --

    I am the man with no sig!

    1. Re:Odd choice of words by daemonburrito · · Score: 3, Informative

      It's not a conspiracy theory. It appears that a lot of businesses have concluded that occasionally eating the loss on a fraudulent transaction is cheaper than fixing problems.

      Maybe it should be "...isn't as secure as online businesses would like it to be."

      If they "would like it to be" secure all they would have to do is spend more money on their infrastructure to encrypt everything. So, while it's not a "conspiracy", users who trust sites like paypal or their bank should be upset that these businesses have decided that security is too expensive. Users should be upset that big sites that handle money have decided that it is cheaper to wait for you to notice that money is missing, contact them, and then credit your account (maybe). And if you don't notice, well... it's not their responsibility.

      I think that it is in the interests of businesses as well as their customers for SSL transactions to remain secure.

      I would think so, too. However, people who run these companies' IT appear to have come to a different conclusion: Spend a certain amount of money on a somewhat secure system, and then put the responsibility on the customer to notice fraud. If noticed, credit the customer's account. Since the problems with mixing secure and non-secure elements have been known and exploited for years, we can conclude that these companies have done their cost-benefit analysis on the current way of doing things and found it to be acceptable.

  16. He makes some good points by 93+Escort+Wagon · · Score: 2, Interesting

    I remember a few years ago banks (and others) were trying to "educate" people about not forcing https connections to their main pages for login purposes. Their explanation was "our login forms submit to a processing script that runs on https, so there's no problem". Well, one thing Moxie demonstrated is an effective way to attack this exact sort of situation via MITM.

    I do take issue with his statement "no one types in https (or http for that matter)". With many people he's correct; but I know I do pay attention to this, and I try to get my family and friends to do so as well. Also (especially nowadays) people need to start paying attention to whether they're in situations where MITM is made much easier, such as on unencrypted wireless networks.

    --
    #DeleteChrome
  17. This is an X.509 problem by laoc00n · · Score: 2, Informative

    This is actually not a problem with SSL. It's a basic flaw in the design of X.509 (the certification spec that SSL uses), and has been known and talked about from the beginning. You have critical policy information (e.g., the "basic constraints" certificate extension) being expressed in a credential, but the consumer of that credential may or may not interpret the information correctly. The lesson here (which gives the lie to all the PKI hype) is that you cannot separate certification policy from application policy.

  18. Here are some solutions by Khopesh · · Score: 4, Insightful

    My biggest gripe about these black hat papers is that they aren't as useful to non-black hats; there are no proposed solutions or workarounds.

    I think the most important trick in the paper is that first one you mentioned, of MITM translating server-side SSL to client-side plain-text and assuming the reader won't notice (or care). The easiest workaround is to get Firefox to return the yellow background. You still have to train users to mentally require it, but it's a step in the right direction.

    On to the second hack you noted. The article specifically mentions that .com and several other top level domains (TLDs) are purposefully punycoded (see page 90). However, the logic is still sound and the actual TLD doesn't matter. The example Moxie used was *.ijjk.cn.

    A solution proposal (from the top of my head): In the specific case of IDN-valid characters that approximate slash and question-mark, the simple solution is to propose a feature in firefox that recognizes them. Specifically, anything that appears to be forging a protected TLD, so punycoding IDN domains matching a regex like \w\W+(com|net|org)\W (and perhaps additionally a search for any of the proposed confusing characters), would cover a lot of ground. In the meanwhile, you could put the domain up in firefox's blue SSL box.

    The final vulnerability discussed in the paper (the first one in the paper's ordering) was that of standard certificates acting as intermediate certificates in the chain. This has an obvious solution and the paper even implies (but doesn't verify ... freaking black hats) that Firefox already has it implemented.

    --
    Use my userscript to add story images to Slashdot. There's no going back.