Live data from Hacker News

Devuan considers machine IDs

distrowatch.com

21–30 of 76 posts

Re: Devuan considers machine IDs

#21
post #20

Why would anyone worry that applications like chrome abuse that file? If chrome wants a unique identifier it could generate it itself.

Because the machine-id by default never changes after OS installation.

Neither does a file Chrome generates. Not even if reinstalled.

Re: Devuan considers machine IDs

#22
post #20

Earlier quoted context omitted.

Because the machine-id by default never changes after OS installation.

Neither does a file Chrome generates. Not even if reinstalled.

Huh?

Even if you do

    $ sudo apt-get -y purge chrome
[or whatever its package name is]?

And if necessary, find and delete everything that it created.

Re: Devuan considers machine IDs

#23
Removing it just makes it more difficult to write legit programs that has use of such features while anything nefarious will be able to find other things to use as fingerprints, including hardware serials, MACs and their own fingerprint files spread across the filesystem in non-standard locations.

Unless the OS is meant to be built for privacy and has a goal to run every app in a sandbox where nothing is fingerprintable, removing easily available fingerprintes would be a disservice to all.

Re: Devuan considers machine IDs

#24
Doesn't a MAC address lookup or disk UUID lookup provide similar fingerprinting capabilities? Even the contents of one's .bashrc file could be used for fingerprinting.

I mean, if you start blocking one thing, where do you stop?

Re: Devuan considers machine IDs

#25
post #7

OK, from the man page: > The /etc/machine-id file contains the unique machine ID of the local system that is set during installation. The machine ID is a single newline-terminated, hexadecimal, 32-character, lowercase ID. When decoded from hexadecimal, this corresponds to a 16-byte/128-bit value. > The machine ID is usually generated from a random source during system installation and stays constant for all subsequen…

It's not clear that would make anyone happy.

You might really want to track machines in your fleet, in a way that persists across reboots. Let's say you can access a machine remotely but you got all your ethernet cables tangled up, so you don't know which physical machine you SSHed into.

Or if you are being concerned about being tracked by a third party, you don't want this identifier to exist at all, even if it doesn't persist through reboots.

I agree there are other solutions in both cases.

Re: Devuan considers machine IDs

#26

can't you simply symlink /etc/machine-id to /dev/random?

That won't work because /etc/machine-id is supposed to return a 32 character hex string, but I like the idea. You could do something like this:

  # rm -f /etc/machine-id
  # mkfifo /etc/machine-id
  # while true; do head -c 16 /dev/urandom | od -A n -x | tr -d ' ' > /etc/machine-id; done &

Re: Devuan considers machine IDs

#27
What is it with the fetish for inflicting Truenaming in cyberspace?

It's incredibly annoying. It needlessly bloats digital footprints, and it creates an opportunity for exploitation by nefarious actors.

Leave the Truenaming to the User's that need it. It doesn't do any good being baked in by default. If they really need it, they'll figure out a way to implement it. If they definitely cannot afford it, and aren't aware it is there by default, you are doing more harm putting It in than you would be by leaving well enough alone.

Re: Devuan considers machine IDs

#28
post #22

Earlier quoted context omitted.

Neither does a file Chrome generates. Not even if reinstalled.

Huh? Even if you do $ sudo apt-get -y purge chrome [or whatever its package name is]? And if necessary, find and delete everything that it created.

apt doesn't know about any file the application might have ever created in your home directory.

Re: Devuan considers machine IDs

#29
post #11

If a file on your computer is being used by a program to send information to someone, the answer isn't to destroy/randomize the file and break other applications, the answer is to not use the program that is sending your information somewhere.

Chromium reads it, but are we sure it's sending it somewhere? Maybe it uses it for bookkeeping of local sessions or something like that.

I checked the Chromium source and for Linux they explicitly mention not being allowed to send it externally[0]; they hash it via SHA1, encode it as base64, and use that value.

Interestingly for Windows they pull the machine id from the registry[1] and (at first glance) it doesn't seem like they're doing any hashing. The raw value gets used.

Haven't checked if the value gets sent externally but based upon the comment on the Linux code I'd bet it's a yes.

[0]: https://github.com/chromium/chromium/blob/aae20fb7d3616de40e...

[1]: https://github.com/chromium/chromium/blob/01a03aab2d89c93c15...

Re: Devuan considers machine IDs

#30
post #11

If a file on your computer is being used by a program to send information to someone, the answer isn't to destroy/randomize the file and break other applications, the answer is to not use the program that is sending your information somewhere.

Chromium reads it, but are we sure it's sending it somewhere? Maybe it uses it for bookkeeping of local sessions or something like that.

/etc/machine-id reading was implemented in service of the Chromium "Enterprise" component:

https://bugs.chromium.org/p/chromium/issues/detail?id=812641

Comment 26 implements Linux support for reading the machine's unique identifier:

https://chromium.googlesource.com/chromium/src.git/+/15dc90a...

That patch is Linux-only support in service of the greater patch:

https://chromium.googlesource.com/chromium/src.git/+/81a7040...

And having read several rounds of "Device enrollment" phrases now, while the design document is non-public, I would hazard a guess that this is the essential components of enterprise device management.

Google hashes the ID before making use of it, so the actual ID remains disguised, but this absolutely would be necessary if they were trying to implement ChromeOS enterprise device management. (You need a unique identifier per enterprise machine, etc.)

Presumably they only care about this id file with respect to enterprise ChromeOS installations, since they make no effort at all to locate the file in any other location than the one.

It looks more like they simply don't care about reading the file in non-enterprise circumstances, since either the machine is enterprise-managed or it isn't, and as they only transmit hashes of the ID rather than the ID itself, they're in compliance with the FreeDesktop guidelines that require this file to be present:

https://www.freedesktop.org/software/systemd/man/machine-id....

Post reply on HN