Live data from Hacker News

Pixel phones are sold with bootloader unlocking disabled

fitzsim.org

121–130 of 359 posts

Re: Pixel phones are sold with bootloader unlocking disabled

#121

Earlier quoted context omitted.

That's exactly the purpose of this measure - to prevent consumers from fully owning their device. Presumably the carriers are selling you the device at some discount for longer term loyalty (through constraining the phone). This is not a security measure and government agencies being able to bypass it seems irrelevant.

You are confusing Verizon's motives with Google's motives. Verizon disabling the bootloader on phones that users are still paying off, or bought at a discount together with special terms of condition, is something that might be defensible. Google however made it so that any Pixel phone bought anywhere , even by customers who pay 100% of the price themselves with no carrier involved are not actually owned by those use…

> is something that might be defensible.

I would like to propose that it never is, and only seems so sometimes because our society is insane.

Re: Pixel phones are sold with bootloader unlocking disabled

#122
post #119

> connect the device to the Internet before they are allowed to install the operating system they want Phoning home before undertaking such an activity takes away the ownership rights from the customers. They do not actually own these devices even after they have purchased them. The reason is that an important part of their ownership rights, i.e. the freedom to use the software of their choice, has been withheld from…

Can Pi Hole block these "phoning home" attempts?

I assume the device isn't just phoning home, but is expecting some sort of response, and likely isn't static.

Re: Pixel phones are sold with bootloader unlocking disabled

#123
post #119

Earlier quoted context omitted.

Can Pi Hole block these "phoning home" attempts?

I assume the device isn't just phoning home, but is expecting some sort of response, and likely isn't static.

So I guess one should activate the phone at some Wifi cafe first before unlocking bootloader and flashing a new OS otherwise Google could make a direct link to ownership during the lifetime of the device.

Re: Pixel phones are sold with bootloader unlocking disabled

#124
In case anyone is curious which Android components are responsible for this:

* There are 3 boolean states:

    1. whether the bootloader is unlocked
    2. whether the bootloader unlocking ability is enabled by the user ("OEM unlocking" toggle)
    3. whether the bootloader unlocking ability is allowed to be enabled (carrier restriction)
* The Android Settings app grays out the "OEM unlocking" toggle if `isOemUnlockAllowedByCarrier()` returns false [1].

* The state of `isOemUnlockAllowedByCarrier()` is changed by a call to `setOemUnlockAllowedByCarrier(boolean allowed, @Nullable byte[] signature)`, which is done by the `android.apps.work.oobconfig` package (/product/priv-app/OTAConfigNoZeroTouchPrebuilt/OTAConfigNoZeroTouchPrebuilt.apk) on the Pixel's stock firmware. This is the same package that handles the Android Enterprise zero-touch provisioning. It's not obfuscated and can be trivially reverse engineered. Prior to the December 2022 update, it was actually possible to bypass the check just by disabling this package via `pm` [2]. This is now blocked both by [3] and also the bootloader's requirement of a signed blob to lift the carrier restriction. This package is also responsible for preventing the removal of the carrier restriction (for the bootloader) when the SIM is locked.

* The Android framework talks to `android.apps.work.oobconfig` at all because the stock firmware ships an overlay (/product/overlay/framework-res__auto_generated_rro_product.apk) that contains `com.google.android.apps.work.oobconfig`.

* The communication with the bootloader is done via the `oemlock` HAL: /vendor/lib64/android.hardware.oemlock@1.0-impl.nos.so. Its implementation of `setOemUnlockAllowedByCarrier()` seems to require a signed blob from Google (passed in from `android.apps.work.oobconfig`) before the state of the setting can be changed (see: `carrierUnlockFromSignature()`). Once unlocking is allowed, the setting is persisted by the bootloader unless something calls `setOemUnlockAllowedByCarrier()` again to disable it. Without the carrier restriction, the bootloader allows the user to freely toggle the "OEM unlocking" state.

I don't know for sure since I haven't tested, but I believe even SIM-unlocked Pixels purchased from the Google Store use this "carrier" restriction mechanism. It's just that when the device asks Google's servers for the signed blob to lift the carrier restriction, it's always granted. (EDIT: Though there are reports that refurbished devices from warranty claims for bootloader-unlockable devices may sometimes have a carrier restriction that Google's servers don't allow removing.)

[1] https://cs.android.com/android/platform/superproject/+/andro...

[2] https://nvd.nist.gov/vuln/detail/CVE-2022-20611

[3] https://android.googlesource.com/platform/frameworks/base/+/...

Re: Pixel phones are sold with bootloader unlocking disabled

#125
"Here is the rest of the network activity, all of which is TLS-encrypted by keys buried in the stock Google operating system, and thus not controlled by the device purchaser:

   Hostname Downloaded to phone Uploaded from phone
   storage.googleapis.com 383 MiB 8 MiB
   fonts.gstatic.com 137 MiB 3 MiB
   afwprovisioning-pa.googleapis.com 18 MiB 1 MiB
   www.gstatic.com 8 MiB 287 kiB
   googlehosted.l.googleusercontent.com 8 MiB 345 kiB
   ota-cache1.googlezip.net 3 MiB 175 kiB
   dl.google.com 3 MiB 86 kiB
   instantmessaging-pa.googleapis.com 1 MiB 300 kiB
   www.google.com 46 kiB 24 kiB
   ssl.gstatic.com 25 kiB 3 kiB
   ota.googlezip.net 17 kiB 6 kiB
   digitalassetlinks.googleapis.com 17 kiB 4 kiB
   clients.l.google.com 14 kiB 7 kiB
   gstatic.com 13 kiB 3 kiB
   mobile-gtalk.l.google.com 8 kiB 1 kiB
   mobile.l.google.com 5 kiB 1 kiB
   lpa.ds.gsma.com 5 kiB 4 kiB
   connectivitycheck.gstatic.com 3 kiB 3 kiB
   app-measurement.com 1 kiB 0 bytes
   time.android.com 180 bytes 180 bytes
Only Google knows precisely what all that data is and what it is used for."

Why should the owner of the computer be allowed to see what is being sent to Google? (Maybe the strange folks at Google cannot think of any reasons.)

Who pays for transport of the data to Google? (Is there any reason Google should not pay?)

Putting the data sent aside, there is the question of whether the computer owner should have a choice in whether they want to send it, and there is the fact that these unauthorised connections are all pings to the mothership.

Using NetGuard, it's possible to block all these connections without rooting or installing GrapheneOS. It's also possible to log all the DNS lookups and attempted connections, without rooting or installing GrapheneOS. The log will indicate which software is making the connection attempts. One can also create PCAP files showing the patterns of network activity, again without rooting or installing GrapheneOS. It's relatively easy to determine what connections are actually necessary for the computer to work as desired.

After installing GrapheneOS, I wonder if it is possible to selectively stop connections to GrapheneOS servers. There are probably some connections to Graphene servers enabled by default.

Would be fun to compare PCAP files from a device running NetGuard versus one running GrapheneOS.

Re: Pixel phones are sold with bootloader unlocking disabled

#126

Earlier quoted context omitted.

2 is probably not legal. The onus is on a manufacturer to prove that the customer's changes caused damage sufficient to negate their warranty responsibilities.

When you buy a new car they have the VIN of the car and log any recall repairs done. So not sure how you think the same wouldn't be legal on a phone? Having a device in their database as NEVER_UNLOCKED takes away any onus from having to look for this in the first place for a large % of users. Additionally this is kind of important for a company that's had a history of selling devices with hardware defects. It'd be ve…

Maybe make a phone that cannot be bricked by any software? A phone that can always be reset to a clear state with a factory reset?

I'd argue that it's possible in 2023.

Re: Pixel phones are sold with bootloader unlocking disabled

#127

I got a Samsung S21 FE 5G as an award on a programming competition. OEM unlocking wasn't even an option in the developer settings until I connected the phone to the internet and set the date to one month in the past (I assume this has something to do with the warranty -- you can't even unlock the bootloader right away). An internet connection was required before even using the phone on the Android initial setup scree…

I liked my Samsung phones but after the a couple of them went end of life despite being very usable I am never buying one of their devices again and sticking with Pixel. There should be an Android code of ethics or regulation to unlock bootloaders of these devices when discontinued to minimize eWaste.

Re: Pixel phones are sold with bootloader unlocking disabled

#128
post #48

> connect the device to the Internet before they are allowed to install the operating system they want Phoning home before undertaking such an activity takes away the ownership rights from the customers. They do not actually own these devices even after they have purchased them. The reason is that an important part of their ownership rights, i.e. the freedom to use the software of their choice, has been withheld from…

Xiaomi does the same (or at least did until my latest phone change i.e. around 3 years ago). You must unlock the bootloader before being able to install a custom recovery image such as TWRP, which itself is used to install custom ROMs. This unlock involves: creating a user account in the Xiaomi services website, logging into that account from your phone's system, then having the phone logged in for at least 7 days ,…

The rationale for the hoops and waiting period is IIRC that shady sellers were tampering with phones sold through AliExpress etc.

Re: Pixel phones are sold with bootloader unlocking disabled

#129

If I wanted to buy a new phone that I could root, install a custom ROM on, and use without voiding the warranty, what's the current best bet? One Plus used to be pretty good, but they've gone down in freedoms and up in price. Samsung are an obvious no. The entire design of the iPhone is specifically aimed at keeping the user out of it. Linux phones aren't usable yet. The shop on the /e/ foundation website seems to be…

[deleted]

Re: Pixel phones are sold with bootloader unlocking disabled

#130

Earlier quoted context omitted.

That just sounds like "you don't get to own your device"

This is correct, people generally don't get to own a device provided by their employer. Not allowing the bootloader to be unlocked on company-owned devices seems like a very desirable feature.

But the provisioning check is forced on everyone.

I don't think it's reasonable to enforce a provisioning process on every single person just because a small number of the devices go to enterprise-sized companies that want "zero touch" and Google (and their distributors) don't want the expense of stocking two SKUs, one set to require provisioning, and another not.

I shouldn't have to prove ownership of my device to said device straight out of the box.

A company should not have the ability to render millions of devices useless because they purposefully or accidentally shut off a provisioning service

All this bullshit is so that Google and their enterprise customers save a few dollars.

Post reply on HN