Boarding Pass Hacker Targets Bank of America
Concerned Customer writes "The fake boarding pass guy is at it again. His blog shows a demonstration phishing website that is able to bypass the SiteKey authentication system used by Bank of America, Fidelity, and Yahoo. Users will be shown their security image, even though they're not visiting the authentic websites." This hack compounds the study showing that users don't pay attention to the SiteKey pictures anyway.
This is the loophole that we use in our demonstration. Through deceit, we convince the user to enter her security question, and thus get the SiteKey image.
No matter what kind of security system you devise, you cannot take out the human element. The Internet seems like magic to people - it knows them, it knows things about them, people can find them from all over the planet. The average user is not curious enough to learn how this is accomplished, paranoid enough to distrust anything at first glance, or savvy enough to protect themselves. Bank of America is kidding itself if it thinks the SiteKey is any kind of deterrent to a hacker.
GetOuttaMySpace - The Anti-Social Network
users don't pay attention to the SiteKey pictures
Picture? what picture?
It's great to know this guy is still at it, despite getting raided by the FBI for the boarding pass hack. However, unless I'm mistaken banking stuff like this is under the auspices of the Secret Service, so this guy might want to set some extra places at the dinner table for a different group of goons.
Slashdot Burying Stories About Slashdot Media Owned
Here's an example on how B of A does business:
This guy just wanted to check to see if a check was good!
You can bet B of A will go after this hacker guy.
All of my financial websites (bank, credit cards, etc.) have all gone to "two-factor" authentication.
Most often, the second factor is "security questions", like "what city were you born in?" and "what's your favorite restaurant?" I always answer these with random passwords, which I put in my password safe along with the real password. Unless you do that, these are actually less secure than just having a secondary password, because others can find out that stuff.
I know every business wants to do this cheaply and half-assed; it's the American Business Way. To do it "right" would probably take SecurID's or somesuch other token, which would get ugly for the customer after accumulating a couple of dozen different ones.
I've heard in comments here about banks that send you a list of code numbers, one-time-use, in the postal mail, and you use them up as you log in. That would be a good, cheap way to do two-factor that actually increases security.
The core problem of online banking is that the bank has to implicitly trust an untrustworthy system, using insecure protocols. The bank has no way to verify that the system used at the other end has not been tampered with and they cannot verify that the data sent to them is identical with the data entered by the user.
You can implement a billion "security features", it won't mean jack as long as the only channel between bank and user is the computer. If that channel has been corrupted, the corrupter will be able to alter, delete or forge any kind of information either side should (in his opinion) get about the other end. There is no way to remove this problem unless you open a second, secure channel which is independent of the machine used for bank transfers.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
I think the BoA sitekey is definitely one step above username/password on the front page. However, I agree that while it provides an added SENSE of security, it can make people trust something more that they really can't trust any more. When it was released, I did almost exactly what this guy did just to see if it would work. I was not terribly surprised that I could create a wrapper to retrieve the sitekey picture and words while still intercepting the passcode. It was actually pretty easy. Unlike the study about the people who ignored their sitekey, I do pay attention to it. However, I also pay attention to whether I'm really on BoA. I never go there from a link in an email. While someone could still redirect my request for BoA to somewhere else, I also practice safe browsing practices that at least limit that potential issue on MY computer. The convenience of online banking is just too high for me to NOT use it.
The summary is not quite correct. It's not so much that the SiteKey is being bypassed, as that the attacker is able to get their hands on the user's SiteKey. They can only do this by getting the user's password and security code, which they do with a conventional man-in-the-middle attack. Once they've got that, getting the SiteKey seems the least of their worries.
The obvious problem with SiteKey is the chicken-and-egg problem of getting the image to the server in the first place. There's some step where you're communicating in a fashion where you trust the server enough to give them your SiteKey, which they later show back to you. It's tied to a single computer, via a cookie, so if you log in from a different computer you need to send a new SiteKey or get them to send yours back to you, on the new computer.
So this attack only works if you can get the user to give up not only the password but also the "security question" (one of the dumbest bits of security I've ever seen; it's like a password only you can look it up.) Easy enough, if the user isn't alert (and they usually aren't.)
SiteKey depends on users to expect the key image, but the absence of the image doesn't usually trigger warning bells because they're not very common. You need some sort of phishing detector which says, "Hey, this site is known to require a SiteKey and isn't sending it to you."
I wish banks would offer something like SecurID for authenticating with their site. They seem to be in the process of adding on layers and layers of crap, without adding any actual security. I'd rather have a couple dozen secure IDs over having to carry around half a dozen one-time-pads around. Ideally, you'd only need one securID for each account. Which for most people is probably 3. Chequing, Savings, Credit Card. If you have more accounts than that, you're probably in the minority. I guess i'm not of the crowd that has 7 credit cards though. I have 1, and It's accepted just about everywhere. So I don't have a need for more than 1. I'd rather have a couple extra dongles hanging from my keychain than having to worry about someone hacking my account. I'd happily pay for the SecurID if only the option were available.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
These authentication images seem to be one of these ideas that is based on the assumption that you only deal with one company.
Within the last six months, three banks and two brokerage houses I use have all gone to the use of these authentication images. In each case, the only way to select the image is to go through slow-loading screen after slow-loading screen of apparently random images.
I can choose my own password, but it is virtually impossible to "choose" my image, so they're not very memorable to me. I certainly can't choose the same image at all five sites, which is what I'd like to do. (That's insecure for a password, but I don't think it's insecure for an authentication image; it's not as if one bank were going to try to pretend to be a different bank).
One of them also wants you to give them a little phrase that goes below the picture. Ah, I thought, I'll use my phrase to describe the picture, that way I'll know if the picture is incorrect. Wrong, I couldn't do it. I had to enter the phrase before I got to choose the picture. Well, I thought, OK, I'll just change it. The picture was of (let's say) soccer ball. So I went to the screen that lets you change your passwords and personal information, entered "soccer ball" as my phrase... and was then taken to a screen where I was required to select a picture, again. And the soccer ball wasn't one of the choices. I clicked through about ten screens of five-by-five pictures trying to find the soccer ball and couldn't find it. Was it just because they were randomly selecting from a huge collection of images? Or do they actually enforce changing the image? I don't know. All I know is that I now am supposed to remember my password AND the phrase "soccer ball" AND a picture of a kangaroo.
If the picture were wrong, would I notice? I might have a vague sense of unease, but I wouldn't be sure. Not unless I wrote them all down.
"How to Do Nothing," kids activities, back in print!
One thing I kind of want to say is that, while I agree that the SiteKey method isn't secure, it seems that most any kind of website can fall prey to this kind of MITM. With enough time, one could (with relative ease) write a bot that wraps around just about any website. (monitor the headers, cookies, GET/POST vars that are passed during a normal browser login, and then write a script that uses curl to emulate all of that and create a phishing site). I tend to think that at some point, any "necessary" security measures that could be taken to ensure someone's idenity would be inconvenient for the user or too expensive for the consumer.
Most Bank of America branches have open customer service centers. They consist of desks with no walls or partitions and a customer waiting area a few feet away. The first question after, "How may I help you?" is "What is your social security number". That is usually followed by, "And what can I do for you Mr./Ms. ______?"
Why don't the banks just require that the referrer to a login page be blank. Yes, this would mean that the login page would have to be either on the main page or very simple to type since the only way a (normal) user will have a blank referrer will be to type the url in.
Essentially this means that banks would be requiring everyone to physically type (or bookmark) their banks login page and that would be the ONLY way to get there. I suppose it could be modified to accept a referrer of the banks own domain so you could click a "Login Here" button.
I know power users can spoof their referrer using a browser setting and malware could do the same, but at least that would be another layer. What am I missing here?
!hoD
Proof by very large bribes. QED.
Have you actually read his blog or talked to him? He sent a bunch of letters to people about the boarding pass hack before he posted it. He's documented everything on his blog, including all of his FOI requests, letters from his lawyer to the government etc.
Why don't the banks just issue digital certificates for their users and provide a secure way to download them? Then you could use the cert and a password to authenticate.. no MITM attacks due to the cert, difficult to impersonate.
Wouldn't it be nice if you could give someone (e.g. PayPal, known by some for removing money back out as fast as they put it in) Deposit-Only account numbers. Like the Roach Motel, the money checks in, and it don't check out.
Or Limited Transfer Out numbers. (Allow AOL, and AOL only, to automatically debit monthly payments for amounts not exceeding your monthly bill, and only valid for 6 transactions before you give them a new number.)
Personal Checks, each one of which has a One Time Only account number on it that is worth nothing to a thief who tries to forge a hundred duplicates of the check you just gave him.
The archaic current system could, I believe, be made much more secure by this simple change alone.
Note to IP thieves: This constitutes Prior Art, and you're not allowed to patent it now.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
I used to work for a bank and we looked at SecureID for all of our internet banking customers that could originate ACH (Automated Clearing House) transfers.
We realized that SecureID is also vulnerable to a man-in-the-middle attack. Since most people ignore invalid SSL certificates, anyone could put up a fake webpage and intercept the entire SecureID transaction. Once a successful login is permitted, the attacker can process bank transactions as the legitimate user.
SecureID is a nice way to augment passwords with a one-time password, and it does reduce the "attack window" due to the fact that the bad guy can not reuse your login credentials at a later time. SecureID does not eliminate the attack window...the attacker needs to process the fraudulent transactions during the legitimate user's session.
-ted
Completely wrong. It takes one line of javascript to open a link with no referer sent. Not rocket science.
:) explaining the access and where it is being made from. They will need to reply to the message before the login can continue from that IP. I mean, if I always access my online banking from 2 specific IP blocks, then one day try to access it from the other side of the country, I'd expect a red flag to go up - especially if I'd accessed it on old IP only 6 hours previously.
:)
If I were bofa, I would be looking at browser quirks, and using those to authenticate the HTTP_USER_AGENT environment variable. Browser says that they're IE? include a little activeX that only works in IE and examine output, or send some javascript. For each browser, set up a suite of these hacks and serve a few with each page. If the browser doesn't respond with the correct output of the quirk (pipeped into a form field via javascript, say), then assume browser is just a script with the UA set. That would kill about 90% of phishing attacks.
I would also look at login patterns and route all login page requests through an analyzing proxy that notes the IP address, User Agent, probable physical location and whether it has been used to access the account previously. Then, if a particular IP or User Agent requests a login that is suspicious, send an SMS message to the account owner (who would need their cell number on file fdirst, obviously
Not bulletproof, but damn close.
At my last job, we used a similar system to analyze FTP access to half a million accounts. It made catching script kiddies a hell of a lot easier
-- Trinity in high heels carrying a whip: The donimatrix - there is no spoonerism
Looking at what banks can do to improve security:
- Stop putting the "lock" icon on your login form. Users should look for the lock on the toolbar or part of browser frame. (chase.com, others)
- Stop using non secure login pages (not where the login form is being submitted to) (chase.com, usbank.com, wachovia.com)
- Stop using marketing emails from strange marketing addresses. This just gets people used to bank emails from weird places.
- Make a secure bookmarkable banking page. (my bank does not do this, I get an error screen if going to bookmark)
- Simplify navigation and operation and unify systems. (my bank does not do this, if I log out on one part of the site, I'm not logged out from the "very secure" part)
Bank sites driven by marketers
-- these are only opinions and they might not be mine.
I have accounts with three financial institutions. All three use Passmark.
All three ask me to pick a common object and give it a name.
Of course I'm going to call it what it is.
Calling it something obtuse makes the whole thing harder to keep track of.
Each one asks me up to 6 security questions.
These are in case my computer gets "unregistered" or if I try to get to an account from not-my-computer.
They're not all the same. The answers are not one-word slam dunks. If they were, they would be no good.
Because they're not easy and obvious, I have to remember up to 18 obtuse answers.
If I get one wrong, even by one character, I'm kicked off until I call someone.
The banks claim this is a government law that makes them do this.
Please don't say "get one bank".
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
it is very arrogant for somebody to think that BoA's security team did not think of this problem themselves.
I agree. In fact, I would go further and say that the author of this blog should actually be quite embarassed and ashamed of this post. His "amazing discovery" is actually the whole point of sitekey. Yes, you can be a man in the middle and get the sitekey images yourself. Congratulations. You and everyone else already thought of that.
And guess what, your man-in-the-middle now has to make a sitekey request to bank of american for *every potential victim* and as a result, BoA will easily identify your IP block as running a MITM scheme.
So in other words, this blogger is an idiot. He hasn't defeated sitekey at all. Set up a MITM site, make ten requests, and now you're out of business and the ten accounts that you phished are locked.
Well, I was at BofA yesterday, and noticed they are using Windows machines. In my mind that means that none of the $23.62 that I have in the bank is at all secure. I'm losing sleep tonight!
The sad irony is that my teller CLAIMED that they use the same computer security as the FBI and the CIA. My response was, "No WONDER we're losing the war!"
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Hmmm... after reading the article I have a stupid question popping up in head...
I live in Belgium and several banks here have switched to a card reader device
You just have to type in the number of your physical bank account card, then banks site generates a 8 digit passkey.
pop in your bank card, type in the generated passkey, type in your pin code and type in on the site the passkey the little device generates.
Voila... i'm banking... on any pc i want...
every time i make an online banktransfer, i have to repeat the above procedure
My wife hates it... she doesn't like that she has to type over these numbers, but i'm very happy with it.