News for hackers. Stuff that matters.
Re:Requiring MFA on popular gem maintainers by paulmd on Tuesday August 16, 2022 @12:56PM (#32485577)
SMS is part of the service frame - every time your phone talks to the cell tower to go "here I am, I am IMEI 12345 and I have sim ABCDE!" there is a 160-character frame for it to send a SMS message, and every time the tower goes "hello IMEI 12345/SIM ABCDE, I see that you are in cell ZXCV!" to track your equipment's location, there is a 160-character frame for it to send a SMS message to your phone.

Well, we can't just trust your phone that its plan is valid, so there is also a service frame where the tower says "Sorry 12345/ABCDE, your plan is inactive!" that uses the same frame... and it has a 160-character frame for SMS too.

SMS is literally free for providers to implement, it is just an inherent part of the phone's ping/pong process of talking to towers. So there is certainly no requirement for an active plan of any kind. As long as your phone is on the network it is notionally capable of sending or receiving an SMS, the provider just won't let it... but usually service messages ("your plan is inactive, go to this website to top up!") will be allowed.

This is on top of emergency service - 911 calls (or local equivalents) will work regardless of plan status. Actually I'm not even sure you need a SIM card at all, or if that can be done simply by IMEI...

Basically: just because a sim doesn't have an active plan, doesn't mean the SIM or the phone isn't active itself. There is still information interchange happening, and that carries SMS frames.

Re:Requiring MFA on popular gem maintainers by deelowe on Wednesday August 17, 2022 @01:25AM (#32492667)
But you don’t have a phone number. Who does the sender send the text to? How exactly this work in other countries where an inactive account can receive a text?
Re:Requiring MFA on popular gem maintainers by duckmysick on Wednesday August 17, 2022 @03:20AM (#32493281)
Typically a person has a phone number and they were paying but stopped. They can't make phone calls or send text messages but they can receive both.

The account is still active (say, for six months since your last payment) and there will be even more time before the phone number is recycled.

Re:Requiring MFA on popular gem maintainers by paulmd on Wednesday August 17, 2022 @04:04PM (#32501061)
This is all very confusing because you're mixing up your definitions of what precisely is "inactive" here.

It's like the OSI model, there are multiple layers here representing different things. An IMEI is a representation of piece of equipment. A SIM is a representation of a subscriber (or, to be more precise, it's a cryptographic 2fa token that a subscriber carries), so a piece of equipment may have multiple SIMs and a subscriber may have multiple SIMs each associated with at most 1 piece of equipment (at a time). A SIM may be associated with a phone number, and may be associated with a plan which may be active or inactive.

The data model is really:

user <-one to many-> SIM token <-many to one-> IMEI

And a phone number is an at-most-one feature of a particular SIM token.

The fact that you didn't pay your bill this month doesn't mean your phone number is inactive - someone who dials that will get a "call cannot be connected" message because the phone network still knows it's you. The carrier just chooses not to connect your call, the phone number is still actually mapped underneath.

And even if your number eventually gets reallocated, the fact that your SIM doesn't have a number associated with it is irrelevant - the network still knows you by your SIM and knows your phone by its IMEI.

The phone number is really like a domain - it's a human-readable abstraction for the physical reality of the routing layer (SIM/IMEI). And the SIM is a representation of what user-token (a user may have many tokens, but a token has at most 1 user) is using a particular IMEI.

At the network level, they don't care about your phone number - that's just used for a "DNS lookup" of what equipment needs to ring. And they can send a message to that equipment even if there's no actual phone number associated with it. You can also have a IOT SIM where there is no actual 9-digit phone number to ring it (although that's a US-specific routing scheme, other countries do it different) and the network just talks to it via its SIM.

And even if you don't have a SIM (subscriber-token) the phone still talks to the network, and can still make e-911 calls and similar, you can initiate outbound traffic too, because your phone is still connected to the network even if there's not only no phone number, no plan, but even without a SIM. It's still an IMEI in a cell talking to some particular tower even if there's not a SIM in it, and can both send/receive metadata traffic or even real traffic (e-911 calls).

I'm probably getting the finer details wrong here too... it's a very complex model with a lot of entities and relationships.

For some fun tangential stuff on the topic, especially surrounding the SIM card, check out this DEFCON video. It goes into the 2fa nature of the SIM - actually the SIM is a full security processor (javacard) that can execute arbitrary javacard applets sent by the network, and push/poke stuff into the SOC or baseband directly, it is like an "Intel management engine for phones" and it has a huge amount of power over what the SOC can do and see on the network.

https://www.youtube.com/watch?v=31D94QOo2gY