zlacker

[parent] [thread] 18 comments
1. DCKing+(OP)[view] [source] 2019-11-28 13:07:35
This blogpost propagates what I'd like to describe as an urban legend about baseband processors and main memory. The story originates from old times where even fancy phones allowed the baseband to write everywhere in main memory. The myth then becomes that you need the baseband physically separated from your main application processor.

But the world's moved on since those reports were made. It's FUD: https://www.reddit.com/r/CopperheadOS/comments/6wtul0/on_sen...

replies(4): >>alex_d+E >>SeanMa+22 >>Dyslex+o5 >>cartoo+ih
2. alex_d+E[view] [source] 2019-11-28 13:14:19
>>DCKing+(OP)
I know very little about the topic so bearing that in mind:

We're already in a world were we can't quite trust our CPUs, so why trusting baseband chips?

If it does make the design more complicated, it may also reduce the potential attack surface.

replies(2): >>Dyslex+21 >>DCKing+z2
◧◩
3. Dyslex+21[view] [source] [discussion] 2019-11-28 13:17:42
>>alex_d+E
> If it does make the design more complicated, it may also reduce the potential attack surface.

an increase in complexity would rule out reduction of attack surface. in fact attack surface would be guaranteed to increase

replies(1): >>cyphar+a3
4. SeanMa+22[view] [source] 2019-11-28 13:27:30
>>DCKing+(OP)
It's not FUD. It's about different threat models.

General design failures/bugs from assumed acting-in-good-faith silicon/sw designers vs not-acting-in-good-faith silicon/sw designers.

Assuming the radio's are the primary threat to privacy then I'd prefer a design from a privacy activist company who explicityly designs the hw so that the less trustable parts are forced behind physcial and defined interface "firewalls".

replies(1): >>DCKing+K4
◧◩
5. DCKing+z2[view] [source] [discussion] 2019-11-28 13:31:56
>>alex_d+E
We can't fully trust the correctness of modern complicated CPU designs, leading to problems like <insert all speculative bypasses that have affected Intel CPUs the past 2 years>. But despite their complexity, CPUs and the CPU part of a smartphone SoC are usually extremely well understood (relatively speaking). The reason is that you actually need to run your software on these CPUs, so they need to be understood rather well. With better understanding comes better trust.

On the other hand, the baseband processor is mostly unknown, black box hardware, running unknown black box software, that completely controls the transmission of cellular data. Of course it would be horrible if there was no separation between the CPU and baseband. You shouldn't trust that setup. But as it turns out, separation does exist!

replies(1): >>ptx+wF
◧◩◪
6. cyphar+a3[view] [source] [discussion] 2019-11-28 13:38:02
>>Dyslex+21
Well, that isn't generally true if the complexity is actually a security boundary. After all, all security designs are based on layers -- it's hard to add a layer of security without adding complexity.

As a counter-example -- removing all of Linux's privilege checking would make the code a lot less complicated, but the attack surface would increase a million-fold. In this case, the Librem 5's separation of the baseband such that communication is done over USB (a protocol which doesn't have DMA) is a security improvement over giving the baseband DMA access.

replies(2): >>Dyslex+M8 >>megous+8f
◧◩
7. DCKing+K4[view] [source] [discussion] 2019-11-28 13:49:29
>>SeanMa+22
No, it is FUD. Their threat model is explicit:

> Complex parts like the cellular modem or the WiFi can access the very same RAM that is used at runtime to store your most private data, but at the same time they are controlled by binary-only firmware that no one except the manufacturer of that chip has access to.

For the cellular modem, in your run-of-the-mill iPhone or Android phone nowadays, it is simply false that the cellular modem can access arbitrary data in RAM. Can't tell you about WiFi, but I expect a similar situation.

There's a lot of room for improvement in secure smartphone architectures, but the "baseband can read your photos" trope is simply false.

replies(2): >>jcims+x6 >>SeanMa+5I1
8. Dyslex+o5[view] [source] 2019-11-28 13:54:51
>>DCKing+(OP)
the claims on this link to the CopperheadOS reddit post dismisses the importance of baseband security which is pretty insane.

The baseband is permanently attached to a public network. Not having control over whether that connection actually is up is a huge security hole. The entire baseband software stack runs in supervisor mode. There are no non-executable pages, there's no stack protection.

EDIT-1: Qualcomm baseband chips have location tracking baked in. Even with a clean OS and no tracking apps, the baseband does it. The tracking data is commercially available: https://web.archive.org/web/20180514003056/https://www.qualc...

◧◩◪
9. jcims+x6[view] [source] [discussion] 2019-11-28 14:04:02
>>DCKing+K4
I don’t know much about the responsibilities of the baseband but it seems that there are other attack vectors. Can it read storage? What about unencrypted content going over the network?
replies(1): >>yjftsj+e9
◧◩◪◨
10. Dyslex+M8[view] [source] [discussion] 2019-11-28 14:24:57
>>cyphar+a3
> Well, that isn't generally true if the complexity is actually a security boundary.

if the security boundary is baked into the code or the design of the system, and also assuming it doesn't introduce more bugs, then I agree[1]. Security controls that get introduced on top do risk an increase in attack surface. An additional interface is by definition a an additional "surface", the question is if it can be attacked.

[1] you could still argue that more lines of code always means more bugs (but let's assume it's very close to bullet-proof)

replies(1): >>cyphar+Cs
◧◩◪◨
11. yjftsj+e9[view] [source] [discussion] 2019-11-28 14:28:59
>>jcims+x6
Of course the network hardware can see unencrypted network traffic. That's unfixable, except of course by encrypting everything.
replies(1): >>Dyslex+Ka
◧◩◪◨⬒
12. Dyslex+Ka[view] [source] [discussion] 2019-11-28 14:44:58
>>yjftsj+e9
only there is no process isolation so no strong guarantee that secrets aren't leaked. no control over baseband makes the whole environment in which (other privacy protecting) apps are running extremely hostile from a security pov.
replies(1): >>thu211+YE1
◧◩◪◨
13. megous+8f[view] [source] [discussion] 2019-11-28 15:28:50
>>cyphar+a3
USB protocols are often times handled in SW, some in Linux kernel, some in userspace. So if someone discovers RCE over USB in Linux USB stack, modem will have direct memory access, or even RCE on the main CPU with kernel privileges.

I have no experience with PCIe so maybe it's harder with USB to abuse the host system, than with PCIe these days.

You can think of USB as being similar to using a TCP/IP protocol between multiple machines capable of executing code, and having to execute code to handle higher level protocols, like HTTP or whatnot. If there's a code execution bug anywhere, the USB capable device will be able to exploit it.

And by default, there's a code-execution bug on all normally configured Linux machines. If you'll not create a USB "firewall", modem can just create a virtual keyboard and kernel will happily accept all input from it, for example. So modem can just type whatever it wants to your shell. It will be obvious, but, it's still device->host RCE.

replies(1): >>cyphar+rs
14. cartoo+ih[view] [source] 2019-11-28 15:44:55
>>DCKing+(OP)
Aren't the baseband components typically separated because they are a different regulatory domain?

My understanding is that integators buy the baseband module (with FCC and other licenses) and add it to their device so as to not incur the patent fees and oversight required by developing the radio device into every regional handset.

◧◩◪◨⬒
15. cyphar+rs[view] [source] [discussion] 2019-11-28 17:05:00
>>megous+8f
We're not in disagreement (I never claimed or even implied that USB is bug-free) -- but in order to get an RCE or DMA-like access you first need to exploit the USB stack. PCIe gives you that kind of access for free by design (almost -- there is IOMMU these days but there is little evidence that it is nearly as secure as hardware vendors claim, and you'd need to have phone hardware which supports it).
◧◩◪◨⬒
16. cyphar+Cs[view] [source] [discussion] 2019-11-28 17:06:29
>>Dyslex+M8
If the alternative to adding an additional interface is to just give DMA access to the device, I'm not sure I see the downside to using the additional interface. Even if the interface ends up being completely broken, at the very least there was something to break before you get DMA / RCE access. What possible interface breakage could trump free and unrestricted DMA access?
◧◩◪
17. ptx+wF[view] [source] [discussion] 2019-11-28 19:19:59
>>DCKing+z2
> But as it turns out, separation does exist!

The article you linked to says: "There can be an IOMMU with very tight restrictions providing proper isolation or a setup where the IOMMU is effectively not doing anything and permits access to all of the memory. Determining that requires real research."

So it sounds more like separation might or might not exist and you're not likely to find out if it does on your particular device.

◧◩◪◨⬒⬓
18. thu211+YE1[view] [source] [discussion] 2019-11-29 10:07:26
>>Dyslex+Ka
That's not really correct either.

Modern Android/Qualcomm phones have pretty sophisticated security architectures that do indeed isolate the baseband, partly because exploiting baseband bugs was such a common source of phone unlocks in the past. If an app is using SSL then the baseband can't read what's happening.

◧◩◪
19. SeanMa+5I1[view] [source] [discussion] 2019-11-29 10:55:16
>>DCKing+K4
I think we are talking at cross purposes.

If the chips are tightly integrated propriatary black boxes like on most hw then from my POV its _physcially_ possible for them to read anything regardless of what the designers/industry say because I do not trust them.

You trust your sources that say "..simply false that the cellular modem can access arbitrary data in RAM". I don't. Even if you claim to have personally designed, fabbed and shipped that silicon I still have no practical reason to trust.

[go to top]