This post is about securing the firmware that runs on these little processors. When baseband firmware is compromised, it can lead to complete device compromise.
This post is about securing the firmware that runs on these little processors. When baseband firmware is compromised, it can lead to complete device compromise.
That is mindblowing to me. Full credit to the poster for becoming the canonical answer, but I'm not sure how I feel about Google picking comments without even some kind of page-rank-weighted attempt at deciding what is 'best'.
Google, please use less grug brained explanation of baseband processors [2]. ty
I think the parent comment is almost more informative.
"Baseband is the firmware that controls the cellular radio functions of an Android device. It is responsible for things like connecting to mobile networks, making phone calls, and sending/receiving SMS messages. [1][2]
The baseband firmware resides on the same storage (eMMC) as the Android operating system but runs independently on a separate baseband processor. It communicates with the Android OS through shared memory and AT commands. [3][4]
Baseband versions are different from Android build numbers. The baseband version refers specifically to the firmware running the cellular radio hardware. [5]
Baseband firmware has been found to contain vulnerabilities that could allow remote command execution if exploited. However, Android devices from reputable manufacturers like Google/Pixel generally receive frequent baseband updates to address such issues. [6][7][8]"
[1] https://www.quora.com/What-do-baseband-version-and-kernel-ve...
[2] https://www.reddit.com/r/AndroidQuestions/comments/1wzmp7/wh...
[3] https://android.stackexchange.com/questions/219230/where-is-...
[4] https://stackoverflow.com/questions/24569075/how-mobile-os-t...
[5] https://forums.androidcentral.com/threads/difference-between...
[6] https://techcrunch.com/2019/11/08/android-baseband-flaws/
[7] https://www.reddit.com/r/GrapheneOS/comments/11op7yz/remote_...
[8] https://news.ycombinator.com/item?id=38616922
And the last link is this hackernews post!
With Linux not being a microkernel there’s a high likelihood the device driver expects to run in kernel mode. We probably will need to have a little a Linux VM containing the driver, and create a system that propagates its I/O back to the host. It’s a lot of overhead, but I’m not sure if there any other way of ensuring secure device drivers on Linux.
[1] Ancient device drivers expected full unrestricted DMA, i.e. full unlimited read/write access to RAM. But IOMMUs (VT-d on Intel) let us pretend to give such device drivers full DMA while isolating them.
Note though, OEMs are known to run 'device management' stuff with elevated privileges (not just the Baseband). Ex: see this write-up on Samsung RKP (realtime kernel protection): https://archive.is/6ClWm
As for 'drivers', the GPU drivers have also a viable attack vector: https://news.ycombinator.com/item?id=34490471
lile they had on the flagship pixels just 8mo ago.
the csv google downgraded the severity because there was a work around of "disabling 5/4g" in a market that offset 3g. heh.
https://googleprojectzero.blogspot.com/2023/03/multiple-inte...
> The four most severe of these eighteen vulnerabilities ... allowed for Internet-to-baseband remote code execution
Affected the Pixel 6 and 7, among other devices.
also, it was the first update to be delayed over 40days from the usual calendar. because the issue was seen in the wild a week before the release date so they scrambled to include a patch and delayed everything
baffles me that people here fall for this simplistic excuse of "it just corrupt memory"
or things like "the modem is isolated from the phone". sigh. how do you think they configure your phone via a text message? the protocol is safe but the payload is crazy powerful and trivial to abuse.
no phone expects the modem to be an adversary. and every modem firmware is wide open. everyone just pretend it's not and hope the NDAs will work keeping the modem security holes from falling into the wrong hands. heh.
I believe that’s generally only still true for Android and fixing that is what this is talking about. I don’t actually know but I recall when I worked at Apple many years ago that the baseband was firewalled already for this exact reason.
Edit: can’t find any reports of a baseband compromise for iPhones although I wouldn’t rely on a 30 second DuckDuckGo search to state something definitively.
Some android manufacturers also have an MMU but others connect the baseband directly to main memory, leading to total device takeover when the baseband is compromised.
yes but iff with the qualifier of "in old systems, where permissions were a tree-like state where root/uid0 could see what unpriviledged users would do - by design"
It's a dated design. More separation is needed, like what was achieved for virtualization or containers (namespaces)
> it's firmware is practically required by regulations to be an opaque blob
That's another problem, but I think it also comes from thinking in a tree-like state system.
Ideally, a device shouldn't be able to take down a well designed network: if you plug a bad appliance in your AC, it will not crash the power grub: it'll just trip a fuse.