Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Bug Communications IOS Iphone Security Apple

iPhone Bug Allows SMS Spoofing 92

Trailrunner7 writes "The iPhone SMS app contains a quirky bug that could allow someone to send a user a text message that appears to come from any number that the sender specifies. The researcher who discovered the bug said it could be used by attackers to spoof messages from a bank or credit card company and send the victim to a target site controlled by the attacker. The issue lies in the way iOS implements a section of the SMS message called User Data Header, which has a number of options, one of which allows the user to change the phone number that the text message appears to come from. The advent of mobile banking apps, some of which use SMS messages for out-of-band authentication, makes this kind of attack vector perhaps more worrisome and useful for attackers than it would seem at first blush."
This discussion has been archived. No new comments can be posted.

iPhone Bug Allows SMS Spoofing

Comments Filter:
  • by Anonymous Coward

    Pretty much iOS hides the SMS equivilent of the From: field, and only shows the Reply To: field

    Lovely fail there since a lot of sites use SMS for some sort of authentication, Google, and Blizzard among them.

    • by stephanruby ( 542433 ) on Friday August 17, 2012 @05:27PM (#41030083)

      Lovely fail there since a lot of sites use SMS for some sort of authentication, Google, and Blizzard among them.

      Yes, but even if you can spoof the sms from header? How are you going to guess the code they send you?

      Notice, the same thing can be done with emails and even http requests. It's easy to forge the headers on those, but if a site implements only half of a handshake without sending back a token to the originating address for two-way verification, then it's the web site that is deemed insecure, not the client.

      • by Anonymous Coward

        Notice, the same thing can be done with emails and even http requests. It's easy to forge the headers on those, but if a site implements only half of a handshake without sending back a token to the originating address for two-way verification...

        E-mail and HTTP requests don't do handshaking in the manner in which you appear to be thinking. There is no two-way verification involved.

        HTTP != SSL, and while there are certain things that can be done to help verify identity with e-mail (SPF, reverse DNS, et cetera), these aren't - as much as people would like them to be - part of SMTP itself.

        Yes, but even if you can spoof the sms from header? How are you going to guess the code they send you?

        Erm, please click this link to log in and change your password?

        • Erm, please click this link to log in and change your password?

          Ah ok! Now, I get it. I had not thought of that scenario. I was thinking of the account set up process when they first send you an email, or an sms, with a code in there for you to reenter in the web site, or send back to them.

          Indeed, you're right. What you're describing is a problem.

      • by ls671 ( 1122017 )

        You can add callerid on phone calls which is funnily trusted enough by banks and others, when you activate your credit card for example. Callerid is easily spoofed if you get a VOIP account for a few cents.

        Many VOIP providers even give you a 25 cents credit to try the system for free without verifying your identity. Yet, many people believe callerid as the plain truth when they see a call coming in.

        There is so many weak authentication scheme that are trusted by the majority of people and institutions, some

    • Sure if you ignore that the From: field is also set entirely by the sender to anything they want.

    • Any authentication that authenticates the user using SMS (which is the only SMS authentication I'm aware of) will be unaffected, since it isn't like sending a fake code that looks like it is from Google will do anything more than a fake code from some random number. No, the only case where it can do real damage is in phishing attacks, by sending the user to a fake site to do a password reset or the like. Which, really, people should have learned not to do anyways, with how often stuff like that happens in e

      • My bank has made a big deal about having an iPhone app, being able to do photo deposits of checks with an iPhone, etc. So I can see both the motivation for exploiting this and how such an exploit might be successful.

    • by morcego ( 260031 )

      Pretty much iOS hides the SMS equivilent of the From: field, and only shows the Reply To: field

      Lovely fail there since a lot of sites use SMS for some sort of authentication, Google, and Blizzard among them.

      Actually, all e-mail fields can be forged. Which is why digital signatures are so important.

      • Digital signatures can also be faked and sometimes even forged... it's just a bit more difficult.
        Are you really going to suspect a perfectly legit looking email signed as coming from "Blizzard Entertainment Plc."? Unless you happen to already know that all communication from them comes from "Blizzard Entertainment Corp." the signature likely wouldn't help much. Plus, I've seen a LOT of corporate stuff using signatures that are expired or do not belong to them -- and this is legitimate stuff.

    • by ethanms ( 319039 )

      Lovely fail there since a lot of sites use SMS for some sort of authentication, Google, and Blizzard among them.

      So? This doesn't affect them I don't think--the SMS based authentication I've seen with my bank and Google all involve them sending me a code which I enter on their site. This issue wouldn't cause any problems with that.

      • by adolf ( 21054 )

        This doesn't affect them I don't think--the SMS based authentication I've seen with my bank and Google all involve them sending me a code which I enter on their site. This issue wouldn't cause any problems with that.

        This being Slashdot, you are probably fairly immune to phishing attacks by virtue of approaching every unexpected communique with a measured level of mistrust. However, the rest of the world is not necessarily so-afflicted.

        It will affect folks exactly as much as email-based phishing attacks wi

    • by msauve ( 701917 ) on Friday August 17, 2012 @07:18PM (#41031331)
      "a lot of sites use SMS for some sort of authentication, Google, and Blizzard among them"

      Their problem. They have poorly designed systems. The spoof mentioned is no different from what anyone can do with email, simply.

      There are legitimate reasons to allow a sender to signify a different "from" number. One example might be someone using Google Voice, where they want to send an SMS via the carriers network (where a different phone number is associated), but have it appear as coming from the GV number to the recipient (or same, via an SMS gateway from a PC, etc.).

      For security, similar to the common password reset procedures via email, sites might accept a request via SMS, but then return a necessary confirmation code to the "from" number. Even if you can send an SMS which appears to be from an arbitrary number, you can't get the reply (and confirmation code) unless you're actually associated with that number.
  • by Bradmont ( 513167 ) on Friday August 17, 2012 @05:15PM (#41029907) Homepage
    I'm no apple fanboy by any stretch of the imagination, but this seems like a security vulnerability with the cell phone system, not with the app. No client should ever be trusted in a network security context, and this is no different. It may have shown up as a bug in the iPhone software, but it is the cell networks that should have protection against these sorts of things...
    • It is sort of design flaw in the cell phone system that the phone has any say in the matter, but that's a done deal and now this is a bug in the phone. This is the sort of thing that should be firmware-controlled.

      • Re: (Score:3, Funny)

        Apple doesn't make mistakes, it's not a bug, it's a feature.
      • I'm more inclined to describe it as an inherent SMS vulnerability that one particular product happened to touch.

        Will fixing the iPhone make this vulnerability go away? No. Anyone who wants to exploit it simply has to find a hackable cell phone, or engineer one for themselves.
    • Since it's relatively easy to 'spoof' the caller-id that is transmitted when you make a call (so your call appears to come from someone else), it seems rather surprising a similar spoof of the ID on a txt msg would be likewise easy.

      Of course I don't know how to do the former but I watched Mitnick do it on Leo Laporte's TechTV show in about 30 seconds...

      I also don't know that SMS would be likewise spoofable, but it would seem to follow since both are going over the same network no?

      • Of course I don't know how to do the former but I watched Mitnick do it on Leo Laporte's TechTV show in about 30 seconds...

        Ooh, I'll have to find this. I have my work PBX forward calls to my cell and it really sucks that the callerID gets lost.

    • by Anonymous Coward

      No, the receiving IPhone is using data that comes from the sending phone rather than the tower. This is definitely an IPhone issue. This is why Apple is pushing for security so hard recently: it was laughable a few years ago, as is trusting data from a remote phone.

      • by Obfuscant ( 592200 ) on Friday August 17, 2012 @05:54PM (#41030449)

        No, the receiving IPhone is using data that comes from the sending phone rather than the tower. This is definitely an IPhone issue.

        Not limited to iPhone. I have yet to find an Android SMS app that doesn't discard the sending "number" in favor of anything that looks like an email address in the body of the message.

        T-Mobile has an email to SMS gateway that copies the From and Subject headers into the front of the message separated by '/'. They send these SMS from a number in the 3-4 thousand range, and keep a back-mapping so a reply to that SMS number will go back to the email sender. EVERY SMS app I've seen on Android pulls the email address from the body of the SMS message and throws away the reply-to number. That means I can never reply to an email I get via SMS, except through the phone's email app. Which has a different email address associated with it.

        Anyone know an SMS app for Android that does NOT do this?

        • Google Voice?

          • Not the same thing at all. That appears to be a VOIP app that runs on your phone, creating its own phone number from which you can send text messages (not sure if they're SMS or MMS or what.) I'm talking about being able to send SMS TO the number an SMS came from, and not having that number stripped from the incoming message.
    • by sjames ( 1099 )

      It isn't. This is the SMS version of a reply-to field. There is no problem if the actual source AND the reply-to are displayed. The problem comes in when the iPhone shows the reply-to number as the source.

      Sorta like if you hang your house key on a hook next to the doorknob on the outside, it isn't the door or the lock that is defective.

      • The problem comes in when the iPhone shows the reply-to number as the source.

        No, the problem is when the phone (Android in my case) throws away the reply-to number and displays some email address. That breaks the ability to reply via SMS. If you don't have the number, you don't know what number to use to reply, huh?

      • That reminds me: I've got to make myself a bunch of random keys and hang them around my neighbours house.

        I wouldn't do it to my own, as anyone attempting to use them might eventually get frustrated and just break the lock or smash a window....

        I agree though; the problem isn't that the iPhone can set the originating SMS value, it's that the receiving devices choose to trust the end user over the tower's data (which they also receive as part of the handshake).

    • by guruevi ( 827432 )

      Correct, the SMS specification allows for one to set their own header. All you have to do is write your own app to send SMS'es or use any of the random SMS gateways all which allow you to set your from field. Even Google Voice allows you to do it (although they verify your phone number first)

  • by Anonymous Coward on Friday August 17, 2012 @05:17PM (#41029941)

    I don't understand why people even do banking on a device that is so easily lost. And before people start screaming at me, please know that this is coming from someone who had his bank account broken into from using only legitimate ATMs from actual banks(didn't even know there was such a thing as a card skimmer).

    • I don't understand why people even do banking on a device that is so easily lost.

      Because it's also more easily wiped.

      You'd really be better off banking only on mobile devices with proper passcodes set, and knowing how to remote-wipe on demand.

      Your desktop or laptop could easily be stolen too, but is harder for most people to set up a real remote-wipe on.

      • by Dan541 ( 1032000 )

        If you use whole drive encryption then you don't need to remote wipe your laptop.

        • If you use whole drive encryption then you don't need to remote wipe your laptop.

          Since the new owner has an infinite amount of time to brute force the login that decrypts the whole drive, why is that really better than being sure?

          • by Dan541 ( 1032000 )

            Because whole drive encryption guarantees they can't get in. While remote wipe is throwing all caution to the wind and hoping for the best.

            Ideally the ability to shut down an encrypted laptop should be in place in case it's stolen while unlocked. But encryption is the only thing that can really protect data that's in the hands of a thief.

            • Because whole drive encryption guarantees they can't get in. While remote wipe is throwing all caution to the wind and hoping for the best.

              No.

              iOS remote wipe is based on whole drive encryption. It scrambles the decryption block so nothing can get in, ever.

              So you have only whole drive encryption, vs. whole drive encryption where you can ALSO tell the system to toast the whole storage instantly.

              Because whole drive encryption guarantees they can't get in.

              What part of "infinite time to brute force the password

              • by Dan541 ( 1032000 )

                What part of "infinite time to brute force the password" did I not make clear?

                It's a moot point to talk about infinite time. You might as talk about an attacker using magic spells because neither exist. If someone want's dedicate thousands of centuries trying to break into my laptop I say let them at it. They are going to run out of time, which is certainly not infinite.

                In the statistically impossible event that they did decrypt my drive what they now have is.... an encrypted drive. In total they need to decrypt it three times to get at the data.

                • by mjwx ( 966435 )

                  What part of "infinite time to brute force the password" did I not make clear?

                  It's a moot point to talk about infinite time. You might as talk about an attacker using magic spells because neither exist. If someone want's dedicate thousands of centuries trying to break into my laptop I say let them at it. They are going to run out of time, which is certainly not infinite.

                  In the statistically impossible event that they did decrypt my drive what they now have is.... an encrypted drive. In total they need to decrypt it three times to get at the data.

                  Actually, time is infinite.

                  You are finite, I am finite, the entire planet is finite. Time is infinite.

                  But I don't ever buy into something that is "uncrackable". We've had claims about "uncrackable" encryption before and every time technology improves or some flaw is found that allows the encryption to be cracked in short order. So to claim any encryption is "uncrackable" is foolish because it assumes that cracking technology and methods will not improve in the future.

                  Also when it comes to iphones,

      • Because it's also more easily wiped.

        Wrong.

        So very wrong.

        Once I have your device, I simply disconnect it from the network. Plug it into a machine I control, copy the data wholesale (bit by bit) and take my time on reading it. Both Android and Iphone have a bootloader that allows this. As all the Jailbreaking groups have shown us, it's trivial to break Apple's security.

        Phones are emphatically not safe, any data you store on there is much easier for an attacker to get to simply because an attacker can get a phone easier than your laptop

    • I don't understand why people even do banking on a device that is so easily lost.

      So we avoid situations like yours below.

      And before people start screaming at me, please know that this is coming from someone who had his bank account broken into from using only legitimate ATMs from actual banks(didn't even know there was such a thing as a card skimmer).

      Assuming I don't lose my phone, if someone ever makes an unauthorized transaction on my account -- I'll know it within 5 to 10 seconds.

      What about you?

      How long did it take *you* to find out someone was using your account? And if I do lose my phone, I'm assuming that my pin isn't a good means of security either, but usually if my phone is missing, I'll notice that it is missing within the hour.

      Now I'm not saying my set up is secure by any means, it's not, but then again

      • by Zarian ( 797222 )
        Not sure why it posted as AC. It took me a day. When I tried to use atm card and found that my entire bank account was emptied out. The bank was supposed to call me, it then took over 1 month to get my money back, thank goodness I had friends and family to help me out. I made damn well sure to never use that bank again. I'm not talking about security through obscurity, where did I talk about that? All I asked was why do people trust doing banking on their cell phone or any electronic device? I don't use
    • by Zarian ( 797222 )
      Damn mean to not post as AC
    • by mjwx ( 966435 )

      I don't understand why people even do banking on a device that is so easily lost. And before people start screaming at me, please know that this is coming from someone who had his bank account broken into from using only legitimate ATMs from actual banks(didn't even know there was such a thing as a card skimmer).

      This is why I don't use "apps" for banking on my mobile.

      I do use my mobile for banking but I use the banks website and never, ever store my username or password in the device itself (this is true for all devices I bank on). This way they never have a complete picture of my account number, let alone my password. They may know I bank with NAB from my bookmarks and browser history but that's it.

      With a decent mobile site, which my bank has a dedicated banking application is completely superfluou

  • That's not news (Score:5, Informative)

    by psergiu ( 67614 ) on Friday August 17, 2012 @05:32PM (#41030149)

    As long as you are allowed to mess with the SMS message header, you can do this on ANY phone - it's part of the GSM standard - Small Message Service was intended for testing & internal use, nowhere is stated that the "Sender" field must be the actual sending phone number. In fact, that field is alphanumerical, you can put anything in there, not just numbers. Also, there's nothing in the GSM network to prevent this, the message is routed by destination, not by sender.

    I was sending "faked" messages like those over 10 years ago using the "service" menus on old Nokia & Motorola GSM phones.

    Anyone relying on those SMS headers for authentication is either stupid or malicious.

    • by Anonymous Coward

      So why can't the networks stuff in the true sender's ph# when passing the sms?

      • by guruevi ( 827432 )

        Why bother? Does your e-mail provider modify your e-mail headers?

      • by KZigurs ( 638781 )

        Because SMS is a store and forward system. There is no way to authenticate origin, only destination (well, implicitly, by it being reachable).

    • by ethanms ( 319039 )

      Mod this one up... def. is not anything new.

    • by Anonymous Coward

      Actually, there is something the GSM network can do. All messages are routed through an SMSC, and that knows who you are, so there is nothing stopping the network from ignoring what you say and set what it knows about you as the sender instead.
      Infact, most sane networks do this.

      Not that it makes any difference though, since any network that has an agreement with your network can send any sender it wants, and there are hundreds of networks out there you should never trust what the sender of an SMS says.

    • This is no different that faking caller id info been able to do that since i first got access to a isdn line (caller id info is send as part of call setup on pretty much any digital phone system) that does not mean it's untraceable.

      As to security if you bank is doing more than sending you a one time pin to your cellphone they have issues. Granted a shared secret pin generator is probably a better idea but sending a sms works to nearly everything now no app required on the client side.

    • by anethema ( 99553 )

      It is news, because you are misunderstanding what the bug is.

      The "sender" is not what is being spoofed here. What the bug is, is the "reply-to" field, if filled in, will be displayed as the sender.

      So say 555-555-5555 sends a text, but fills in reply-to as 444-444-4444. On any sane phone, the phone would show the source, AND the reply to, and prob give you the option of who to actually reply to.

      Instead the iPhone simply discards the source if it sees a reply-to and shows the reply-to field AS the source in y

  • The only thing SMS authentication stuff is used for is for the bank/etc to send you an SMS with a code in it that you need to enter to login. How does someone else being send you a non-working code at a time you likely aren't trying to login to your bank/etc anyway possibly matter in the slightest?

    Sure some people probably though they could trust the sender information on an SMS, and it not being might enable some shenanigans (sending X a rude/etc message that seems to be from Y), but I can't see how it dam

    • Re:So what? (Score:5, Insightful)

      The method is:
      1) send you a fake email telling you to log into your account to update your settings/read the policy change/etc.
      2) link to a phishing site, which pulls all the assets from the legit bank, but redirects the password form
      3) trigger an SMS event just like the real bank, to send you the token needed to log in to the phishing site
      4) harvest your account info.
      5) Profit!

      However, it'd make more sense to just make the phishing site a proxy and let the actual bank send the SMS token to the customer. That way, the customer logs in for them, and they can then do whatever they want....

  • The cell phone system itself doesn't look in the user data header. It's in the text area, and an in-band extension to SMS. Many programmable phones let applications send whatever they want in the user data header.

    This is only a problem for phones and SMS gateways dumb enough to believe any ID information in the user data header. Now if Apple displays the source in the user data header in place of the telco-provided source, they're doing it wrong.

    • by ark1 ( 873448 )
      Exactly, complaining about spoofing of an SMS orginator phone number from iPhone is similar to complaining about spoofing of the "From" field of an email address.
  • The dude who tracked down his stolen bike in Seattle used "Burner" app to spoof his CallerID... http://www.engadget.com/2012/08/09/burner-iphone-app-disposable-number/ [engadget.com] http://www.youtube.com/watch?v=9-GVpIaPEGM [youtube.com]
  • It sounds like following standard practices are in order. You should have all secure sites you visit bookmarked. Safari and chrome synchs the bookmarks between devices. One should never go to a secure site from an email or text. I can't tell you how may emails I get trying to get me to log into ebay or paypal or a bank using a almost legitimate URL.

    The one thing I use SMS for is as a one time pad. A code is sent to me, which I enter as a secondary login credential. Nothing in the text leads me to th

  • by Dunbal ( 464142 ) *
    Aren't you glad you're in the walled garden? Look who you've been walled in with...
    • by jo_ham ( 604554 )

      Aren't you glad you're in the walled garden? Look who you've been walled in with...

      Yes, I am worried we're walled in with the GSM standard...

      That's the issue here, of course.

      But mentioning the iPhone in relation to stuff like this is this season's "on a computer!!!!" appended to the end of a "new" patent that was all the rage a few years ago.

      Spoofed headers in SMS messages have been possible since the adoption of the GSM standard - the SMS system was simply never designed with its eventual use in mind in the first place. No one imagined users would be using it to send messages to each ot

  • It isn't new, and it isn't an iPone app bug, it's the way the SMS system was built. The process that most SMS pin things work is that you are accessing the bank via another means and the bank sends you a pin via SMS, faking the sender serves no purpose. Sending an SMS requesting your details should be ignored, like similar emails. The researcher who 'discovered' the bug needs to learn about GSM and SMS.

  • iOS shows you who will actually receive the message if you reply, which given the choices is probably the best option.

    This hole is not unique to iOS, nor new. In fact it is only a hole insofar as you open a hyperlink from the message.

    The real bug is that the carrier gateways don't validate the messages.

  • This just in, a flaw has been discovered in Email, allowing an attacker to arbitrarily spoof the From: address.

    All hell is bound to break loose.

  • "The issue lies in the way iOS implements a section of the SMS message called User Data Header, which has a number of options, one of which allows the user to change the phone number that the text message appears to come from."

    That's not a security flaw, that's just unbelievably stupid design. Didn't they learn how big of a problem caller ID spoofing was? It should never have been put in there. I guess Apple really is sincerely bad at security.
  • by dackroyd ( 468778 ) on Friday August 17, 2012 @10:57PM (#41032885) Homepage

    Totally non-authenticated communication method found to be not authenticated ! More details at 11.

    I can't believe that this is news to anyone. Do you really think that people who send marketing, information or run 'adult' services via SMS have a huge bank of mobile handsets with people sitting typing messages into them?

    No - they have computers that connect to a bulk SMS supplier (e.g. the company I used to work for http://www.dialogue.net/sms_toolkit/ [dialogue.net]) that allows them to send SMS with any Originating Address that they choose whether that's someone's phone, a shortcode or the name of the company.

    Mobile phone operators do sometimes implement limits on what can be set for the O.A. for messages entering their network but there just isn't the infrastructure in place to authenticate what is set for the O.A. within the network.

Two can Live as Cheaply as One for Half as Long. -- Howard Kandel

Working...