Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Carrier injecting ads into SMS '2FA' texts (9to5google.com)
69 points by exabrial on July 1, 2021 | hide | past | favorite | 76 comments


Google (who isn’t at fault) is named like 5 times in the Twitter thread. At a glance it as though they are to blame even though further reading shows they aren’t. Despite this, the carrier is kept anonymous? Strange.


Yep.. naming and shaming the carried should be the first thing in the article. They'll probably disable this feature, apologize, and act as if they did nothing wrong.


The carrier hasn't been shared with the reporting website so far as I can tell.


Looks it has.

>Google is investigating and looking into responsible (Australian) carrier. We’ve also reached out to the company for more details and to confirm that it’s not adding “SMS ADs” into the verification code process.


Aw, my mistake, I missed that.


Seems like a smear campaign. Like the carrier figured out they could and are using it to make google look bad for some reason.


It’s a canary. Gmail isn’t secure. People need to know that.


> Gmail isn’t secure.

This indicates nothing as to the security of Gmail itself.

It is however an -excellent- reminder that SMS is -not- secure.


Gmail tells its users to use sms. So if it’s true what you say, sms is not secure, and it’s true that Gmail pushes users to use it, then it’s must therefore be true that Gmail isn’t secure.

Correct my logic, please.


Gmail has never mentioned SMS to me, or even suggested it could make sense, presumably because it doesn't.

Google do tell people that they should have a second factor. Mine are my FIDO Security Keys.


If Gmail uses an insecure method (SMS) to do password resets, then I think I would have to agree with you.


What a ridiculous conclusion.


Google is to blame though. They are sending sms over a 3rd party which is probably using some shady service on that country for sms termination.

They are avoiding carrier termination fee, basically being cheap.

Google has power to by contract force third party to make deals directly with carriers.

If I charge my clients on my website with some shady CC processor and they are scammed, everyone would blame me.


is this known? It kinda sounds like the carrier might be the one doing this


I don’t think carrier would do this, otherwise guy reported this would see this a lot in other service sms’s too.

Usually when you send bulk sms, it is changing many hands on the way. From your provider, to some aggregator, then to carrier in target country or some illegal termination with sim cards.

SMS is not a secure platform.

Here is an article about it:

https://www.gms-worldwide.com/blog/grey-routes-a2p-traffic-m...


> I don’t think carrier would do this, otherwise guy reported this would see this a lot in other service sms’s too.

That would depend on the size of the original texts. If Google's verication messages are shorter than most, they might have room for ads where some other service doesn't.

I agree that an intermediary adding something is likely. Maybe Google has enough scale to self-manage 100% direct routes, but in general it's hard to avoid aggregators, and it's hard to track message delivery. And if you need worldwide delivery, it's hard to avoid grey routes.

As I used to tell people who wondered why I built a system to pick from multiple aggregators: All the aggregators will tell you they've got worldwide coverage and that they're the best; but they're all full of bs.

I should also add that they'll tell you that they all say they have 100% direct routes and that they don't use aggregators. One of the most amusing things I remember was when aggregator X had a big outage, several hours of not accepting messages (let alone delivering them), aggregator Y's success dropped by about half. It was clear they were using that aggregator for a significant amount of traffic. But sometimes it costs less to pay Y to submit messages to X than to pay X directly. shrug


Yeah I totally agree, but on Google scale and for OTP codes, using middleman is not good practice. Especially with MNO blacklists etc, as they are actively fighting grey routes.

Also with direct carrier connections you have options like one-shot SMS. If it is not delivered it is not retried. (which is useful for delays)

Delay is a big problem when you have many middleman, imagine you are sending OTP code, let's say route is delayed somehow, user didn't get the message, he requested another one, then first one is delivering, but you've already invalidated that, user enters wrong code, requests again, until he locks out :)


> I don’t think carrier would do this, otherwise guy reported this would see this a lot in other service sms’s too.

There are US carriers which inject their own banners into websites. Why do you think carrier wouldn't do this?


Injecting your own vs someone else's is big liability difference. Especially on Twitter it was mentioned that link is pretty shady. Also why only on google SMS, I am sure he is also getting a lot of SMS from other companies.


Could it technically be possible that a malicious app is reading the content of the original SMS, then deleting this original SMS, and then creating a new one with the modified content? Like SMS backup/restore apps could do?


Is there some kind of limit to how obnoxious advertisers can become?


Effective regulators can deliver such limits. For example, Americans are used to obnoxious TV adverts for medicines they don't need and financial investments that are a bad idea, because their regulator says that is OK. In many countries neither of these would be allowed, the TV channel and the advertiser might be fined so they wouldn't even try.

This needn't be too expensive if done right. The ASA in the UK (which regulates print advertising, billboards, that sort of thing) is not the government, it's funded by the advertising industry itself under the threat that the government might find it easier to just outlaw whole swathes of their industry if they get out of hand. So ASA "rulings" are like a slap on the wrist from your mother in two senses. They seem like a big deal if you didn't realise what you were doing is naughty, but also, if you're intentionally naughty enough because you know there aren't real consequences just a slap on the wrist, the next step may be you're off to jail instead. Some advertisers will deliberately do something that gets negative attention, knowing they'll get free secondary advertising from press coverage of a "ban" and the ASA is no big deal, but even if they stray over the lines it's pretty clear where those lines are.


I would suggest watching Black Mirror to see that the answer is no


One million merits is my favorite black mirror episode.


I'm not sure it's permissible to have a favourite Black Mirror episode which isn't San Junipero.


If there was, we would have already hit it.


SMS 2FA is an antipattern. Many people know this, but it's not percolated down to everyone just quite yet.


I don’t know. It is maybe not as secure as possible but it is certainly more secure than a password.

I think it’s a baby step. I see other threads under the parent comment recommend banning SMS 2FA altogether. Surely this would be a step back. I suspect most people and companies would think, “well, I guess we won’t do 2FA anymore” rather than, “I guess we will use a proper Authenticator instead”.


> it is certainly more secure than a password.

I disagree. I can safely store a long, complex, and unique password. I cannot prevent anyone from social engineering my cell phone service provider and doing a SIM swap.


2FA is a layer of security on top of your password. Nothing stops you from using a strong password stored in an encrypted place.


In all the cases I've seen, the password can be bypassed with a password reset using SMS, thus SMS becomes 1FA.

What if someone stole my phone and I'm unable to instantly get a replacement? I don't want to be locked out of my account either.


You're just thinking of security -- and there are many valid concerns around using SMS-based cleartext messages as a 2nd factor.

But additionally, a big issue is reliability of the 2FA mechanism. Especially when your service provider is overseas, or you're roaming, the SMSes may simply not arrive in time.


"SMS 2FA is an antipattern. Many people know this ..."

Much SMS 2FA in the world is used not for your security but to solve the difficult problem of spam/scam/sockpuppet accounts.

Of course it is labeled as being for your security but it's not about that at all.

Bad actors are relentless and forcing them to burn a SIM chip any SIM chip to participate at least slows down the onslaught.


It's better than just a password. Not perfect, but works 99% of the time (eg with password reuse, dumb keyloggers, over-the-shoulder spying,...)


There is a real risk to giving a company your phone-number for SMS 2FA. That is that the company might, at some point, use the SMS as a single factor. This has happened a few times, sometimes it requires social engineering. In general, the risk is there.

Combine this with the time Facebook started using the mobile phone number for more than just 2FA (suggesting friends IIRC), and there is a decent argument for preferring plain password over enabling SMS 2FA.


It is not better than just a password (in fact, it is worse). Providers have been known to reset accounts with just SMS 2FA, and passwords are harder to steal than SIMjacking.


> Providers have been known to reset accounts with just SMS 2FA

But this turns the 2FA into 1FA, and that "1" is just an SMS.

Using SMS as a second factor is great, using it as an only one, is not.

If someone hacks eg linkedin (again), and gets all the passwords, they can just hack literally millions of accounts on other services just because of password reuse. SMS 2FA prevents that very effectively.

But I agree that companies use things made to deal with "issue A" to deal with "issue B", even if the thing is totally inappropriate for "issue B". I've heard from people that some places in USA use SSN, date of birth, mothers maiden name, etc. to authenticate and verify the user (instead of doing stuff in person with an ID card)... most of those things are (almost) impossible to change, and once someone knows them, you're fscked. Same with fingerprints as means of authentication... once someone makes a mould, you're done, because they can use them, and you can't change them.


> But this turns the 2FA into 1FA, and that "1" is just an SMS.

Sure, but the fact that an explanation exists is unlikely to be of help if you get your account compromised by this.

> If someone hacks eg linkedin (again), and gets all the passwords, they can just hack literally millions of accounts on other services just because of password reuse. SMS 2FA prevents that very effectively.

Hacking a specific service is much harder than simjacking. Use an alternate method of 2FA (a FIDO2 USB key would be best).


> Hacking a specific service is much harder than simjacking. Use an alternate method of 2FA (a FIDO2 USB key would be best).

If you have someones linkedin email+password, how is it hard to "hack" into their facebook account, if they use the same email+password combo there?


If you have someone's credentials for a service, it is easy to use them to log in to that service, no matter what they used for authentication.

Moving the goalposts until only your argument is valid is nice if you like to be tautologically correct, but is not very useful.


I agree about FIDO2 USB keys. As a matter of practice though, what happens if you lose the key?


Immediately? You need to find some other way to prove you're still you. Many sites which enable WebAuthn have a pile of single use random text codes you can use to do this, write at least a few down somewhere safe.

The specification for WebAuthn (and presumably U2F but that's legacy and shouldn't be used for green field deployments) explicitly tells Relying Parties (that'd be the web site you're enrolling with) to allow multiple authenticators to be enrolled†

They are keys after all, so it probably feels reasonable to have a key you're carrying and one spare at home. Maybe if you lose your keys a lot, buy three just in case.

Unless you've got a FIDO2 device (not just FIDO) enrolled for usernameless authentication, the device doesn't even know who you are. So if you lost it on the train, or at a crowded event, relax, even if somebody found it intact and is curious the device can't help them log in as you since it doesn't even tell its new owner who you are. In fact it actually works perfectly well for them too, to secure their Facebook or whatever, in this way it's more like if you lose a quarter than if you lose your car keys.

† Now somebody will point out that AWS doesn't do this, and somehow this fact will be a justification for why an entire technology is bad, rather than yet another shortcoming of AWS...


Personally, I just have multiple. I also enroll my devices (phone, laptop), so there's a good bit of redundancy.


2FA with only SMS is a contradiction. A single verification is by definition not actually 2FA.

If both are actually being used then an attack has to compromise the password and the SMS, which is going to be harder than just the password.


But how often does that happen? Who's going to try that for a service that doesn't offer access to banking accounts or secrets? For those, SMS can be perfectly viable (IMO).


SMS 2FA is equally as resistant as TOTP to phishing (basically not at all). It is also considerably more accessible. Phishing is a much much much bigger concern than SIM-swapping, since it scales easily. Using SMS 2FA instead of TOTP does not change your risk that much.

I'd buy these complaints much more easily if people actually mentioned this stuff when TOTP comes up. But they don't.

The only meaningful jump in security is when moving to a yubikey or equivalent.


How is 2 factor authentication 2 factor when I can reset my password with just my phone number?


That's a policy issue, not specific to SMS; it's no different than getting someone to reset your password over the phone with poor ID validation.

SMS 2FA is shitty for unrelated reasons.



Somebody else in the same twitter thread named the carrier as 'boost' (which I never heard about).

https://twitter.com/saltajose/status/1410538739588292609


if its boost moblie I can't say im very surprised. basically tracfone level trash


> The advertisement — for a VPN — includes a quick message and short URL.

~ Amazing ~


Google appends a very easily identifiable per-app random string, which was probably somebody's dream to farm 2FA codes.

By making 2fa codes per-app identifiable, the situation was only made worse.


I hope Apple, Google, et all will step using SMS as required 2FA, or regulation comes down the pipeline to eliminate this practice.


NIST attempted to indicate SMS was not usable for 2FA sometime in 2016. Since other methods were not common yet (and maybe because banks had just barely gotten SMS 2FA deployed?) they were pressured to "soften" their recommendation.

Their followup blog post https://www.nist.gov/blogs/cybersecurity-insights/questionsa...

Edit: https://pages.nist.gov/800-63-3/sp800-63b.html#pstnOOB

    5.1.3.3 Authentication using the Public Switched Telephone Network
    Use of the PSTN for out-of-band verification is RESTRICTED as described in this section and in Section 5.2.10. If out-of-band     verification is to be made using the PSTN, the verifier SHALL verify that the pre-registered telephone number being used is     associated with a specific physical device. Changing the pre-registered telephone number is considered to be the binding of a new     authenticator and SHALL only occur as described in Section 6.1.2.
    
    Verifiers SHOULD consider risk indicators such as device swap, SIM change, number porting, or other abnormal behavior before using the PSTN to deliver an out-of-band authentication secret.


That blog post was really interesting. I'm going to save it for future reference.


Good to know even they're toothless, now..


NIST isn't a regulatory agency, so they aren't meant to have "teeth."


not only does Google not require 2fa, it offers multiple other methods of 2fa besides sms


Google does not require SMS 2FA. Not sure if Apple does, they prefer to use other devices logged into iCloud as 2FA.


"I'm electing not to state the carrier for privacy reasons"

Cool, so this entire brouhaha was for nothing? You just wanted to pistol-whip Google for something they had nothing to do with, and then you're refusing the publicly persecute the real bad actor?


The purpose of most 2FA schemes is not to secure things, but to get a unique identifier of the user.

The 2FA craze is overblown, for most applications a random password with length 16 would be completely fine. Of course, since cloud providers constantly have security holes and leak databases, perhaps 2FA is for covering up their bad practices, too.


2FA is more to protect users from phishing attempts than for securing a database, at least in my view. If you fall for a phishing attempt, it means your attacker will need to take the extra step of breaching/replicating your 2FA setup, and the service provider can note the login attempts and notify you (giving you a chance to change your password, rendering the result of the initial attack unusable).

2FA is not for securing a database -- salted+hashed passwords do that.


2FA only prevents phishing if you are using something like a yubikey. The phisher can just ask for your SMS code or your TOTP code. You can go buy tools that completely automate this on the black market.


> 2FA is more to protect users from phishing attempts

Usually, 2FA enables phishing. People generally know not to share their passwords. But scammers are now triggering the password reset mechanism and phishing people for the 2FA code. People are not as careful with that code as they are with their password.

My grandmother almost told her SMS 2FA to some scammer on the phone claiming to be from her bank. If they asked her password she would have immediately understood the scam.

So I feel 2FA is worse than useless for preventing phishing attempts.


I think you're conflating two things here:

- 2FA one-time passwords shouldn't be used for anything but verifying a normal login attempt, not a password reset. Independent of a login, they should be totally useless.

- If someone is phishing via a phone call, I'd expect that they already have the password in-hand, either because the bank themselves have been breached or because your grandmother was re-using the username/password combination on another website that got breached (a situation that should be taken into account as a common case when designing login systems nowadays).

Again, 2FA isn't to _prevent_ a phishing attempt, it's to throw up additional barriers to someone attempting to phish. 2FA is also great for situations where someone else has been breached, since an attacker can't then immediately take a re-used password and shove it into a third-party system to get access.


> If someone is phishing via a phone call, I'd expect that they already have the password in-hand,

That's not how it works most of the times. Click forgot password on Gmail and it will use your second factor as a way to let you change the password.

Most websites use the second factor as a backup, including bank websites.


> My grandmother almost told her SMS 2FA to some scammer on the phone claiming to be from her bank. If they asked her password she would have immediately understood the scam.

For a second factor to be useful, they would already have to have her password.


In a theorethical world where 2fa means 2fa, but in reality the sms code is often enough by itself.


Okay, then that's not a problem with 2FA, and certainly doesn't fit in an anti-2FA rant, because it isn't 2FA.


No, you just need to know the account number and you can click something to the tune of "forgot password".


> Usually, 2FA enables phishing. People generally know not to share their passwords. But scammers are now triggering the password reset mechanism and phishing people for the 2FA code. People are not as careful with that code as they are with their password.

But this makes the SMS a single factor of authentication, which is bad. Combined with a password, it's still a good method, a lot better then just a password.

If I forget my bank password, I have to go to my bank with my ID and reset the password there. I think they added a videocall + id option because of the plague, but going there in person was the only option back when i signed my contract.


> The 2FA craze is overblown, for most applications a random password with length 16 would be completely fine.

There isn't a 2FA craze. There is a slow and painful acceptance from companies that 2FA is one of the more effective things they can implement. It is slow and painful because the login logic is threaded throughout most organizations. Moreover, it requires changing how all users work, and that always meets a lot of resistance.

Despite all that, it is still growing. That is because password stuffing and password stealing are rather effective, and the number 2 cause of most infections (with the leading issue being phishing mails). 2FA, in one stroke, protects against these measures. It means password re-use by your users (which is inevitable) is a much lower risk. It means shoulder-surfing and keylogging are much lower risk.

2FA is one of the most effective security controls.


> The 2FA craze is overblown, for most applications a random password with length 16 would be completely fine.

Yes, but its very hard to enforce a requirement that a password actually be random; meanwhile, it is very easy to enforce the use of 2FA.


Most people recycle passwords. You can say they are doing the wrong thing but it's the reality. When that recycled password inevitably gets pwned, 2FA makes the account more secure.


> for most applications a random password with length 16 would be completely fine

Yes. If we could figure out how to actually get people to do this universally we'd be in good shape. But nobody knows how to make this happen at scale.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: