Android devices can be fatally hacked by malicious Wi-Fi networks
arstechnica.com
arstechnica.com
How in this decade, with all we know and have learned about security and exploits, can this kind of thing still happen?
So, why should Broadcom care?
Not all costs are direct.
The software industry has learned a lot about a security and exploits, certainly.
The hardware industry, including embedded developers, well, not so much...
On the other hand, broadcom is more interesting to attack because there are so much more of them...
If you're not allowed to control and secure your phone yourself, the next best thing is to go with uncommon tech.
Security-by-obscurity seems to be back in fashion :(
I'm also avoiding broadcom as a "vote with my wallet"-type of punishment for being reckless with people's property. If enough people react similarly, broadcom will learn from its mistake. If not, at least I've done my part.
(Say, if, oh I don't know... Knox and My Verizon got disabled or removed, Verizon would have no proof to void my warranty. It was Starbucks' wifi, promise!)
It's somewhat amusing to consider that giving the user full control of the device he/she owns may be regarded by some as malicious...
Doing so requires you to disable many checks and safeguards against other more prevalent kinds of attacks. Having an unlocked bootloader, unsigned OS, modified system partition, and putting all of the power of root behind one closed source binary...
Essentially a worm, but one that patches the exploit it uses to infect, and then after X shares, deletes itself except for the patch. Eventually a "reef" of hardened remains covers the platform.
Illegal, because it is still malware, but an interesting avenue that hacktivists could explore.
http://penguindreams.org/blog/android-fragmentation/
..but the gist is that ARM isn't a PC. There's no platform. You've got random pins connected to random shit and only a subset of devices that use Device Tree. Even the ones that do still tend to have a ton of binary blobs and weird kernel patches that can't be up-streamed.
In a way, Windows/x86 makes a lot more sense. You have a base operating system. Any time you buy a new machine, you can wipe it, install the drivers and you've got a nice bloat free OS (until Win10 Advert edition anyway).
You can't just run AOSP. There have been cases where AOSP releases on master have failed to compile or require binary blobs. Maybe this weird Fuchsia crap Google is working on will provide a standard/stabilized kernel an ABI, but I wouldn't count on it.
At least Microsoft phones required UEFI, but they have locked bootloaders. If we wanted decent 3rd party fully open operating systems, I'd say the old Nokia devices would be the way to go if the bootloaders could be cracked.
Huh? I am pretty sure Google subsidizes their Nexus phones (not that they actually sell many) and I thought they didn't charge volume fees for their licensing program... they pretty much run Android to make sure that Apple doesn't take control of all mobile by having a unified API (which for everyone else had to be cobbled together from a diverse and often competing set of manufacturers: no small task) and then use that power to lock Google out of the thing which actually makes them money, which is advertising revenue from tracking capabilities. Other than "it is great for our software if phones were faster", I can't imagine Google would care, financially, if everyone were using older Android hardware and never sold a new device again as long as they could update their software; do you have any financial mechanism for your assertion? When I have last bothered to really pull apart all of the statements, essentially all of the actual profit in the world of Android goes to Samsung.
I've never seen any indication the google makes a PENNY off of someone disposing of their cell phones.
Throwing away an old phone and buying a new phone doesn't have to directly fund Google for it to be undeniably profitable to Google.
That's not to say at all that Google is trying to arguably brick people's phones to force them to upgrade more. That makes no sense at all. They just don't have enough control over the ecosystem to fix the upgrade problem.
I wouldn't expect master to be stable, for Android or any other project. If you were setting up a new Linux machine and compiling the kernel yourself, surely you wouldn't build master? AOSP has release branches and RCs like android-7.1.1_r38 which will have gone though a bunch of QA.
Most users wouldn't like stock AOSP though, since the built-in apps are very primitive.
(I'm at Google, but don't work on Android.)
Is there any major app (say, at least 1 million SLOC) which has such good automated tests that they're comfortable shipping master without any manual QA? I'd be really surprised if there is.
Even if a team is totally committed to automating all their testing, there are some big challenges with doing so at scale:
- You run into all kinds of rare bugs (with AOSP, the emulator, host OS, etc.). When I worked at Square our biggest app had ~5 hours of automated tests, and these rare bugs made it very hard to keep our builds stable. I imagine thoroughly testing AOSP would take an order of magnitude longer.
- If you want to test on a variety real phones (which seems critical for AOSP), then testing every master commit is cost prohibitive.
- It's hard to automatically detect graphical glitches. You can take screenshots at certain times and validate that they're pixel perfect, but you might still miss a glitch in between screenshots, e.g. during an animation.
Qualcomm needs to provide drivers for many of these devices, and if they don't want to do update them the OS can't be updated.
You could also trust someone on XDA, but that involves trusting a random person.
Android security is abysmal.
And for the record, macbooks had a very similar issue with intel wifi drivers not that many years ago.
Also, remember that this new vulnerability was found by Google not Apple...
Android security isn't abysmal. Third-party (non-Google) Android phones' security might be abysmal, but we should compare it to third party iPhones' security.
It was intended, and certainly branded to device manufacturers as an OS they can use and 'get all the apps'.
The hard/firmware side is part of the OS. By allowing Android to be run on any device w/o decent security, the OS inherits that.
A better solution (to my mind) would have been to restrict manufacturers from using the Android brand unless they guarenteed a certain level of support and security updates, etc.
Also, having a central (google level) set of base packages which get constant updates and are pulled into all phones, regardless of brand.
But it's too late now.
It turns out developing an exploit, chaining it with other exploits to get around the Android security mitigations and then trying to make it work on devices running different OEM builds of Android was more difficult then people originally thought.
Moral of the story? Next time you hear horror stories about how susceptible your device is to an exploit just remember Stagefright and what a dud that turned out to be.
This implies that the exploit can happen when the phone is just scanning for list of available networks.
From reading the actual Project Zero post yesterday, the exploit was figured out using the fast BSS transition which I think is for high frequency p2p transmission, i.e. sending a video to your Chromecast. So you still have to be connected to the same network.
https://googleprojectzero.blogspot.com.au/2017/04/over-air-e...
How many years is it going to take for all the android phones to get patched....
https://source.android.com/security/bulletin/2017-04-01.html
My Nexus (5X) says the most-recent update (security or otherwise) is dated March 5th.
But even so, it should still get security updates. But the update system seems broken.
(".html" missing at the end)
(and I couldn't really find any good 3rd party roms when I checked previously)
Now it could still take a long time for you to get the latest build for your device but that's another story.
Setup a malicious wifi hotspot in a busy place and phwn away. You don't need to target anyone in particular, just wait and see what you got...
Whereas Google can't do that; it'd be up to the handset manufacturer.
Is this an example of the problem Google faces using the Linux kernel in Android? It cedes the kernel to the manufacturer, and wifi (and bluetooth etc) drivers are all kernel space, not user space. So Google can't really do anything here can they?
No. This exploit runs against the firmware of the wireless chipset itself. (That's what's so weird and interesting about it.)
That being said -- the wireless chipset firmware is loaded by the application processor, so it still requires an OS update to fix.
I guess this must work differently on Android handsets with Broadcom wifi, if it's not possible to just push a new firmware bin file into /usr/lib/firmware? Presumably Google could do that, although I'm not sure what the code signing requirments are for firmware blobs such as this.
Savvy users with root can probably patch it themselves, if they can find the correct fixed firmware binary and know where it's stored on their device.
Your first statement isn't congruent with your second statement. That they push it to their devices alone does not mean they "can and did" apply the update to all Android devices. My whole post is that they can't push kernel drivers to handsets that aren't theirs.
Worse is Better strikes again.
Google has nothing close. Even if they tried, it could take a decade to get there.
It's like criticizing Windows, that it doesn't run on Chromebooks or PPC Macs.
The issue is whether it will result in better product, where better is defined as "will it sell more?". Your average cellphone buyer does not care about that. But he cares about thinness and battery life, which would be affected by a more universal platform.
Imagine a 3D chart, where one axis is battery life and small-sized hardware, second is versatility, third showing the sales, with a curve going through, showing a compromise between two trade-offs and total sales for that compromise. We are currently in one point, with few people arguing to change the position to another point, completely ignoring these two other axes.
fwiw: my Nexus does not see the update yet.
The low cost access points don't support it. It's standard on (more expensive) enterprise hardware.