As someone who's worked in the financial industry for years, I'm fascinated by methods used by phishers to encourage people to part with their money. Most of us can easily recognize and avoid the more obvious and clumsy phishing attacks (419 scams, emails in broken English claiming to be from "PayPaI," etc.), but how equipped are we do deal with the threat of rogue IVR systems?
IVR (Interactive Voice Response) is a technology that lets humans communicate with computers over a phone line, using voice recognition or touch-tones from a phone's keypad. We've all had experience with IVR systems: the automated attendants and phone menus we love to hate are implementations of IVR technology.
Your financial institution's promise to never ask for your personal information in an email doesn't really stop determined phishers; it just forces them to be more creative. That's where rogue IVR systems come in. Phishers can trick their victims into entering their personal information by emulating the legitimate IVRs of real financial institutions.
Building your own IVR is actually quite simple. Take Asterisk, for instance. Get the hardware, get the software, install and configure Asterisk on your Linux machine, and you've got yourself an IVR, ready to go. Get a cheap 800 number and you're two-thirds of the way to ruining someone's day.
The general attack model goes something like this. Using their own IVR systems, attackers send victims emails or SMS text messages nearly identical to real financial institution alerts regarding fraud detection or similar. The fake message is careful to substitute the phone number of the financial institution with the attacker's number, however. The victim calls the provided number and enters their personal information when prompted by the fake IVR.
The lazy phisher won't care how the real financial institution's IVR works; he'll just prompt the victim to enter their information but reject their credentials every time. This may net him several passwords and PINs, but it will raise red flags with victims when they realize their credentials aren't working when they should.
A somewhat more ambitious phisher will call the financial institution's real number and record the prompts and responses given by the IVR's automated system. He then uses this recorded audio to add an element of professional believability to the attack.
Now let's take a look at the most transparent (and most impressive)implementation of a rogue IVR. At DEF CON 20, this attack was demonstrated to a room full of hackers at the Social Engineering CTF. The first part of the attack is the same as above: get the victim to call your IVR by dialing your number instead of their financial institution's number. But when the call comes in, make your IVR divert the call to – wait for it – their actual financial institution! The victim will hear legitimate prompts coming from the legitimate IVR and enter his personal information – while your IVR captures that information as it plays man-in-the-middle. Unless the victim sees his financial institution's phone number later and realizes he dialed something different, he will have no idea he's been had.
The moral of this story? The only way to consistently defeat phishers and their rogue IVRs is to never dial a phone number provided in an email or SMS, even if it looks legit. Instead, save your financial institution's phone number to your contacts list and dial it from there.