Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Security Businesses Crime The Almighty Buck

Crooks Need Just Six Seconds To Guess A Credit Card Number (independent.co.uk) 110

schwit1 quotes The Independent: Criminals can work out the card number, expiration date, and security code for a Visa debit or credit card in as little as six seconds using guesswork, researchers have found... Fraudsters use a so-called Distributed Guessing Attack to get around security features put in place to stop online fraud, and this may have been the method used in the recent Tesco Bank hack...

According to a study published in the academic journal IEEE Security & Privacy, fraudsters could use computers to systematically fire different variations of security data at hundreds of websites simultaneously. Within seconds, by a process of elimination, the criminals could verify the correct card number, expiration date and the three-digit security number on the back of the card.

One of the researchers explained this attack combines two weaknesses into one powerful attack. "Firstly, current online payment systems do not detect multiple invalid payment requests from different websites... Secondly, different websites ask for different variations in the card data fields to validate an online purchase. This means it's quite easy to build up the information and piece it together like a jigsaw puzzle."
This discussion has been archived. No new comments can be posted.

Crooks Need Just Six Seconds To Guess A Credit Card Number

Comments Filter:
  • by Anonymous Coward on Sunday December 04, 2016 @09:20AM (#53419329)

    WTF is going on with the verification process? If the card hits verification even 10 times in the same minute from different sites it should be locked up. Crappy back end.

    • Indeed quite hard to believe. They just though of the situation where someone would keep guessing the number on the same website, but never thought someone might try different websites. Because, you know, it takes a whole lot of effort to open up a different website...

      What I'm wondering, though, is how they can guess all the numbers. Sure, the useless three-digit protection code on the back of the card only takes 1000 guesses in the worst case. And the number of expiration dates is even less, 60 or so. But

      • Re: (Score:2, Informative)

        by Anonymous Coward

        One digit for typo checking. See Luhn algorithm [wikipedia.org].

      • that still leaves 100 million codes to check. Were they using 10 million e-commerce sites?

        What you are missing is that they don't have to guess a specific number, just a valid number. So if there are 9 unknown digits, and Bank of America has 10 million customers, it will, on average, only take 100 guesses to get a hit.

        • But what about the name on the card, then? Doesn't that have to be correct?

          • by ShanghaiBill ( 739463 ) on Sunday December 04, 2016 @11:47AM (#53419833)

            But what about the name on the card, then? Doesn't that have to be correct?

            Many merchants do not verify the name. I recently made an online purchase and wanted it shipped to a friend, and I inadvertently set both the shipping and billing address to my friend's name and address. The transaction went through.

            So some merchants verity the name, but not the CCV.
            Some validate the CCV but not the name.
            Some check the zipcode, others do not.

    • If the card hits verification even 10 times in the same minute from different sites it should be locked up.

      That seems like a simple, obvious solution. But it is not. Millions of credit card numbers would be "locked up" everyday, causing massive inconvenience for the card holders. The crooks could also just spread out their attempts to keep below the threshold, so instead of making a lot of attempts with one CC number before moving to the next CC number on the list, they would sweep through the list, making a few attempts each.

      • by sjames ( 1099 )

        That shouldn't cause a lot of false lockups since it has to be different sites. How often do you even use your credit card on 2 different sites within one minute?

        The real issue is, as you say, the crooks will just go low and slow to avoid the lockout. It's the same problem with password guessing. Since they don't care which particular card is solved when, they can just do many in parallel, all just below the lockout threshold and still solve cards at a high rate.

    • Many credit card companies simply don't care about fraud. If fraudulent charges happen, they reverse the charges (leaving the merchant out the cost of whatever was bought).

      My identity was stolen and Capital One let the account get opened despite numerous red flags (starting with an incorrect mother's maiden name ). When I notified them of the fraud, they gave me the runaround and asked if the account was actually opened by my wife without telling me. Then, they stonewalled both me and the police to prote

      • Many credit card companies simply don't care about fraud. If fraudulent charges happen, they reverse the charges (leaving the merchant out the cost of whatever was bought).

        They also ding the merchant with a "charge-back" fee of about $25, although it actually costs the banks almost nothing to process. The banks actually benefit from CC fraud, which is why they are not proactive about preventing it. Consumers are ripped off if they don't notice the charges, but most of the cost is dumped onto the merchants, who are powerless to fix the problem.

        • If the merchant is in the US and moved to chip and signature, then in-person fraud is on the bank.

          • And how do you make a website that reads chips on customer's credit cards? (without requiring a special card reader, with dozens of different incompatible types to choose from)

    • by kenh ( 9056 ) on Sunday December 04, 2016 @01:18PM (#53420269) Homepage Journal

      Read the linked-to article, only Visa is vulnerable, MasterCard and others detect the widespread fraud after a few attempts and shut it down.

    • by mark-t ( 151149 )
      That could be easily exploited to DOS a credit card
  • Brute-forcing arbitrary card numbers from hundreds of different sites cannot be mitigated, but doing the same for a single number should be quite easy to spot and block. Even setting a timeout of, say 15 minutes, after 3 incorrect attempts would probably be enough to spot the unusual behavior before correct details are guessed. A more robust way would be to force two-factor authentication for all online purchases, rendering knowing random card details useless.
    • by Tukz ( 664339 )

      "verified By VISA" uses a two-factor authentication. I get a code by text I have to enter whenever I use my VISA on a website that have it enabled.

      I really think a system like that should be mandatory for online sales and not just optional.

      Of course, there are circumstances where two-factor might not be feasible, but at the very least have two-factor enabled by default and disable it where necessary and with good reason.

      • I have Verified by Visa as well, but as you say, it only works on websites that have it enabled, which makes it useless for attacks of this sort. One way to prevent them, is to disable web payments for all credit cards, and use virtual prepaid cards instead.
      • Comment removed based on user account deletion
      • I really think a system like that should be mandatory for online sales and not just optional.

        It may be overkill for ALL online transactions. For instance, if I have bought from an online merchant before, and the shipping address matches my billing address, then it very unlikely to be fraud. But if the transaction is for a first time gold bullion purchase shipped to Moldavia, then sure, a text message is a good idea.

      • Strange, MY "verified by Visa" card, when it asks for details, asks me for a password (distinct from the one for the online banking, which I've disabled every time the bank has set it up for me) not send me a text. Not that they know my phone number (any of them) anyway.
    • by swb ( 14022 )

      Why not just build 2 factor authentication into the card itself? They could offer a card with an in-built RSA token or a way to use a smartphone app for cards without token hardware.

      Something tells me this is something we should have, but given the sparring and profiteering over getting chip enabled terminals in the US (I'm STILL swiping at many terminals). I suspect that it's not the two factor part that keeps it from happening but the terminals and merchant software costs combined with a bunch of middl

  • Doesn't the online verification process use an address? I don't see that mentioned here.
  • by Paul Carver ( 4555 ) on Sunday December 04, 2016 @09:51AM (#53419429)

    The article didn't mention billing address, but I don't think I've ever entered my credit card number into any website that didn't include billing address as a set of required fields. Shipping address is always an additional set of optional fields.

    Now, I suppose if the backend doesn't validate billing address then you could use a fake addresses for the brute force part of the job, but when you go to use the card isn't a fake billing address going to be a dead giveaway that the transaction was a fraud and therefore guarantee a successful charge back with zero questions?

    But if Visa has any sense they ought to require billing address verification as part of the preauthorization step for all card not present transactions.

    • In some countries, people are allowed to change their address. This is called "moving" there. What about the people who can and do that?

      • On top of which, comparing addresses can be non-trivial. Is "37-3 St Simeon Ln, L.A., CA" the same address as "37 Saint Simeon Lane, Los Angeles, Calif, Apt 3?"

        • On top of which, comparing addresses can be non-trivial. Is "37-3 St Simeon Ln, L.A., CA" the same address as "37 Saint Simeon Lane, Los Angeles, Calif, Apt 3?"

          There are commercially available data validation software packages for which that is indeed quite trivial to match up.

          • How many of the tens of thousands of small businesses on whose websites crooks are trying millions of credential combinations can afford an annual subscription to said "commercially available data validation software packages"?

        • by Anonymous Coward

          On top of which, comparing addresses can be non-trivial. Is "37-3 St Simeon Ln, L.A., CA" the same address as "37 Saint Simeon Lane, Los Angeles, Calif, Apt 3?"

          Yes, they are the same. "37 Main Street, Apt 52" is also the same. "37 10256th Street, Suite 700" is also the same. Are you seeing a pattern? AVS can only validate 2 numbers, the first number of the address and the zip code. Everything else is completely ignored. Your name, additional address lines, your city, your state, even your country, cannot be validated.

    • by swb ( 14022 )

      Maybe getting the card numbers (card, code, expiry) is just phase I of weakness with limited applicability for in-person transactions. Nobody asks my address at the electronics shop when I have a $800 TV in my cart.

      And perhaps they have other databases that allow them to correlate incomplete card numbers with names and addresses to create useful online transactions where they info can be asked.

      IMHO, the only useful solution to this is two factor RSA-style authentication. Go ahead and know all the card in

      • The solutions to minimize fraudulent credit card are many, so why aren't they implemented? As always, who benefits from the present situation? Merchants and banks [nerdwallet.com] are hit with the bulk of the fraud cost.

        Usually, however, it is the banks that get hurt the most. This includes small regional banks. Visa and MasterCard’s contracts generally put the burden of fraud reimbursement onto the bank.

      • Nobody asks my address at the electronics shop when I have a $800 TV in my cart.

        That is a "card present" transaction. If the card is physically swiped or inserted they don't need your address because they can verify the transaction with the data from the mag-stripe or chip.

        The fraud discussed in TFA is for online "card not present" transactions.

    • Creditcards are tied to people, not to locations. There are many cases where the billing address may want to differ from whereever the card is registered. Buying for a friend, someone else paying an invoice. And god forbid all my cards suddenly stop working at the very critical time of moving house.

      Billing address has never been used to validate a credit card.

      • I hate to double post but in addition to the above concerns there's also the point the a billing address is a horrible choice for security.

        Security should be based on something you have, something you are, and something you know. A billing address by definition needs to be handed over to vendors who may have your credit card. This instantly compromises both bits of information in one attack.

        For proper security you need a process where one piece of information is not handed over to a party. e.g. verified by

    • Speaking as a former merchant, the billing address, security code, expiration date* aren't required to process a credit card transaction. They're tools the credit card companies give merchants to help prevent fraud (while simultaneously passing laws prohibiting merchants from requiring credit card users to show ID to prove it's actually their card**).

      The way it works is that if you're a merchant and you accept a fraudulent/stolen card, the onus is on you to prove that to the best of your knowledge the t
  • I find it hard to believe that they are able to guess my number in 6 seconds. Anyone can guess A single number, and verify if it's a credit card number. And then guess the exp and security codes. The summary is very sensational.
  • by onyxruby ( 118189 ) <onyxruby&comcast,net> on Sunday December 04, 2016 @10:24AM (#53419543)

    This is a good opportunity to talk about why security through obscurity is bad:

    Your typical credit card number has a theoretical 16 digits that are available. That's a huge number (9,999,999,999,999,999) that makes it look effectively impossible to guess. Let's pare that number down to size.

    First, you aren't guessing anywhere near 16 digits. It turns out there's a lot you already know (1st digit is 4 for visa, 5 for mastercard etc.). That reduces the typical address space from 16 to 15 digits. That first number turns out to actually just be part of the bank identification number which is typically 6 digits long. All of the rest of it except for last digit is the actual account number. The last number itself is used for a checksum (Luhn) that is used to verify the number is good.

    In other words to get the account number right you've only got an address space of 999,999,999. That's a significant reduction in magnitude to start with. Now let's go back to that Luhn checksum (it isn't a hash). Due to this detail you can easily validate the number to make sure that you haven't mistyped it (Luhn precedes using magnetic tape for credit cards).

    The Luhn check uses a Mod 10 algorithm that excludes 90% of the previous address space. You now have 99,999,999 numbers to guess against. Your malicious actor isn't starting work in a quadrillion space number, they're working in the millions. All of that is just from the industry standards themselves. Now remember that each bank is going to have their own formulas for generating credit card numbers and that card thieves have data sets of the tens of millions - old dumps are good for providing data that can show patterns. This is a good example of how data at the aggregate level carries risk that it doesn't at the micro level.

    Chances are the account number for the card itself isn't at all random. Chances are really good that the formulas used to generate these numbers for a number of large popular banks have been reverse engineered by any number of parties. You also have policies at many banks such as never reusing a number that also reduce this address space. All the malcious actor has to do is look for patterns. Patterns have a way of reducing the order of magnitude once you learn them.

    The expiration dates themselves are typically within 2 years giving a range of only 24 to pick from for the typical transaction. Guess a valid account number, try it at 24 websites and chances are really good one of them will work. That leaves the CVC2 number itself, which of course isn't random either.

    The system is broken, it's just a matter of time before industry must recalibrate how it works.

    More below for those who are curious:
    http://www.creditcards.com/cre... [creditcards.com]
    http://datagenetics.com/blog/j... [datagenetics.com]
    http://www.darkcoding.net/cred... [darkcoding.net]
    http://blog.opensecurityresear... [opensecurityresearch.com]
    http://www.ibm.com/support/kno... [ibm.com]

    • Yes, but add a chip and now it's uncrackable! That's why in the US we don't even bother with chip and pin, but rather allow chip and sign. Would the industry allow something so seemingly brain-dead if the system weren't secure?

      • Chip and pin really does help for card present transactions. Unfortunately it doesn't do much for card not present transactions (online). The article talks about the issues online merchants face.

        • Re: (Score:2, Informative)

          by Anonymous Coward

          The card-not-present-equivalent of chip and pin is "3D-secure", better known by its card-company-specific brand names like "Verified By Visa". When this is employed, the merchant's website delegates to the card company's website for part of the transaction, where the card company can then employ various techniques to verify the user's identity.

          Exactly what authentication mechanism are used depends on the bank and card company. Some are just "enter another secret number", which at least increases the number

          • Agreed, Chip and pin is better, however it is also broken. The whole thing needs rebuilt.

            2 factor should /always/ be required

    • That leaves the CVC2 number itself, which of course isn't random either.

      Do you have a citation for this assertion that CVV2 numbers are not random?

      • Citations were in the sources I provided.

        • They may not be chosen randomly, but they are indistinguishable from random if you don't have the encryption keys.

          • Every company chooses their own method of generation for this code. Some vendors use weak encryption, some might use strong encryption, some don't use encryption at all, and some issue the codes in batches. It really all comes down to the company, their risk policies and their expertise. That's why large card dumps are risky, they provide material that can be used to look for patterns. It's a bit scary how many companies have told me they secure their product with base64.

    • Thank you for this.

      I've tried to explain this to quite a few people over the years (with limited success) but your explanation was clear and succinct. In the future I'll just send them the text of your post; it'll save a lot of time and misunderstanding.

      As you said, the system is broken. Badly, badly broken.

    • by bws111 ( 1216812 )

      What does any of that have to do with security by obscurity? There is nothing obscure about how credit card transactions work.

      • Credit card transactions are fairly well documented (I'm a big fan of DUKPT myself and that is decently documented). However the process used to generate the account and CVC2 numbers themselves is obscure and proprietary to each bank. Most banks do not have the expertise or will to properly perform this function. They count on malicious actors not looking too hard at how they do things.

        Unfortunately for the banks once you figure out how to generate these numbers you have broken the primary security used to

    • ... then maybe one way to solve it is to have "credit card numbers" be ridiculously large, like 1024 digits. The mag stripe or pin wouldn't care if the number was large for card-present transactions, and you could scan the card number with a camera for online transactions.

      Of course, the next step would be to generate a unique "credit card number" for each transaction, that was valid exactly once.

      • Credit card numbers that long aren't necessary. Changing how they are constructed is. Logically speaking the problem can be fixed (hashing etc.) The problem is that the infrastructure that supports it would also have to be changed and that would be a monumental undertaking. Which is why they are trying to avoid it at all costs. You also have the issue that the typical consumer is not going to tolerate an even longer number than they already have.

        The unique credit card number solution has been offered by som

      • by tepples ( 727027 )

        Do most desktop PCs have a suitable webcam? If not, buying one online may end up a Catch-22 once it comes time to pay.

  • It sounds from the article like having Mastercard would mitigate the attack since they use a centralized system.
  • Geez.... they can't guess your CC# - only your CVV and Expiration Date in 6 seconds.

    The headline is grossly incorrect clickbait. Shame on you, Slashdot, but I know EditorDavid has no shame, nor any journalistic integrity.

  • Kudos to EditorDavid for posting some interesting articles, rather than trolling political fight bait. I was about to give up on /., but maybe there's hope.

  • by kenh ( 9056 ) on Sunday December 04, 2016 @01:30PM (#53420339) Homepage Journal

    Mohammed explains: “Most hackers will have got hold of valid card numbers as a starting point but even without that it’s relatively easy to generate variations of card numbers and automatically send them out across numerous websites to validate them.

    Uh, sure - if you have a valid card number as a starting point, the other data points are trivial... But if you don't, "guessing" the remaining 10 digits of a valid credit card number quickly becomes a non-trivial task because the only way to separate a "correct" credit card number (which can be proven algorithmically) from a validly-issued credit card is to supply the proposed "correct" credit card number to multiple sites with all 60 possible expiry dates and each of the nearly one thousand CVV numbers from the back... (See below)

    “The next step is the expiry date. Banks typically issue cards that are valid for 60 months so guessing the date takes at most 60 attempts.

    “The CVV is your last barrier and theoretically only the card holder has that piece of information – it isn’t stored anywhere else.

    “But guessing this three-digit number takes fewer than 1,000 attempts. Spread this out over 1,000 websites and one will come back verified within a couple of seconds. And there you have it – all the data you need to hack the account.”

    So, when the headline says "Credit Card" they only mean Visa, everyone else blocks cards after as few as a dozen failed attempts, and the key ingredient to "cracking" a credit card is to start with a valid credit card number, all 16 digits, then find a list of e-commerce websites that will let you keep pitching hundreds and hundreds of credit card transactions at them so you can go through all 60,000 combination of expiry date and CVV to find the right one. Oh, then you need to make sure the attempted purchase in under the card's available spending limit.

    But hey, yeah, credit cards are easy to brute-force hack, if you start with a valid, active, complete 16 digit credit card number - as long as it is a Visa card and Visa doesn't update their software.

    • Oh, then you need to make sure the attempted purchase in under the card's available spending limit

      This one is easy. Smash out small transactions until it passes, then spend up to known limits. This happend my last fraud case. A transaction worth $50ish followed immediately bu a transaction worth $4500 on my card with a $5000 limit.

  • by schweini ( 607711 ) on Sunday December 04, 2016 @01:35PM (#53420353)
    But wouldn't this 'attack' be really trivial to detect on the credit card processor's side? There isn't a legitimate use case that would explain multiple attempts at the same time?
    • There's a difference between processor and originating bank. There are many processors, but each card has a single originating bank. The processors themselves only know a fraction of the attempts.

      Processors with good systems underneath might make this harder to do though: For instance, a processor might decline because the ip making this request is suspicious. Websites that use really big processors underneath might have more information on the card colder than you'd think, and be able to see something clo

  • Basically some payment systems allow 10-20 human errors per valid card number before triggering a fraud alert. 10 seems understandable for all those old folks with arthritis and poor eyesight. 20 seems like someone didn't know what they were doing or didn't change it during deployment from QA.

    So what the article is saying is that it is theoretically possible for someone to write a program to submit random numbers to various sites and by the law of big numbers, figure out a valid CC & data in under 6 se

  • Whenever I use my credit card I have to authorize each transaction on my smartphone. Even if a thief stole my wallet, as long as they don't have my unlocked phone they can't use my credit card anyways,.

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...