HN2new | past | comments | ask | show | jobs | submit | tech234a's commentslogin

The webpage would have to scan the entire UUID space to create this fingerprint, which seems unlikely.


Just have a database of UUIDs. Seems pretty trivial to generate and sort as it's only 16 bytes each.


That's actually a bright idea! Have you ever thought about applying for VC funds?

Once you deliver that, you can also think about a database of natural numbers!


But that has no moat. Anyone can generate a database of natural numbers using SOTA models.


lol

Let's go a step further and just iterate through them on the client. I plan on having this phone well past the heat death of the universe, so this is guaranteed to finish on my hardware.

  function* uuidIterator() {
   const bytes = new Uint8Array(16); 
   while (true) {
     yield formatUUID(bytes);

     let carry = 1;
     for (let i = 15; i >= 0 && carry; i--) {
       const sum = bytes[i] + carry;
       bytes[i] = sum & 0xff;
       carry = sum > 0xff ? 1 : 0;
     }
 
     if (carry) return;
   }
 }
 
 function formatUUID(b) {
   const hex = [...b].map(x => x.toString(16).padStart(2, "0"));
   return (
     hex.slice(0, 4).join("") + "-" +
     hex.slice(4, 6).join("") + "-" +
     hex.slice(6, 8).join("") + "-" +
     hex.slice(8, 10).join("") + "-" +
     hex.slice(10, 16).join("")
   );
 }
This is free. Feel free to use it in production.


What license is this? Company policy says we can't use Apache licensed stuff.


Free space heater



The write-up for it is surprisingly interesting! https://eieio.games/blog/writing-down-every-uuid/#toc:entrop...


Woosh


someone took your joke and made it real


16 bytes is a lot. 4 bytes are within reach, we can scan all of them quickly, but even 8 bytes are already too much.

Kolmogorov said that computers do not help with naturally hard tasks; they raise a limit compared to what we can fo manually, but above that limit the task stays as hard is it was.



"Just" have a database, and then what? I can set up a database of all UUIDs very easily, but I don't think it's helpful.


Where are you storing them, a black hole?


All you need is basic compression, like storing the start and stop points of each block of UUIDs in the database.

Wait, you already linked to everyuuid. Do you think the server it's on uses black hole storage?


Fast writes, very slow reads.


I would store them as offsets within the digits of pi.



See also: a demo page for the same technique that can enumerate many extensions installed in your browser: https://browserleaks.com/chrome


Yuck. Disgusting that extension detection is possible.


No. Firefox always randomizes the extension ID used for URLs to web accessible resources on each restart [1]. Apparently, manifest v3 extensions on Chromium can now opt into similar behavior [2].

[1]: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

[2]: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...


That's a different form of defense. The original claim in this thread was that LinkedIn's fingerprinting implementation was making cross-site requests to Chrome Web Store, and that they were reading back the response of those requests.

Firefox isn't susceptible to that, because that's not how Firefox and addons.mozilla.org work. Chrome, as it turns out, isn't susceptible to it, either, because that's also not how Chrome and the Chrome Web Store work. (And that's not what LinkedIn's fingerprinting technique does.)

(Those randomized IDs for content-accessible resources, however, do explain why the technique that LinkedIn actually uses is is a non-starter for Firefox.)


An additional improvement added in manifest v3 in both Chromium and Firefox is that extensions can choose to expose web accessible resources to only certain websites. Previously, exposing a web accessible resource always made that resource accessible to all websites.


Notably Notepad++ was recently shipping unsigned/self-signed updates, apparently overlapping with the time of this incident, see releases 8.8.2-8.8.6: https://notepad-plus-plus.org/news/


The lack of signing and/or checking the signature when updating is the real issue here. But the write up blames the attack on the hosting server. That doesn't bode well for future security.


So they just conveniently decided not to sign their releases right around the time they were supposedly "hacked"?

Something doesn't seem right here.


Code signing certs are unfortunately expensive


$0 at SignPath. Quite a few OSS projects use it.


You don't even need a certificate to prevent update tampering like this. The updates could have shipped with an ECDSA signature and this wouldn't have happened. It's also free and doable in an afternoon.


$700+ at Sectigo for two years

Something of Notepad++ size might think about it now


"of Notepad++ size" is basically one guy in his free time, no?


"But look at those downloads, they magically print money"


Notepad++ is Windows-based and could use the Windows store instead of the built in updater. Microsoft charges a one time fee. It would pass SmartScreen checks. His website has a bunch of ads integrated which I assume are there to help pay for hosting.

Mr. Ho already has hosting charges and he uses GitHub. For those who use GitHub, he could continue his GnuPG method for signing. Additionally, GitHub integrates with Sigstore. Windows wouldn’t trust his signature but at least there would be better traceability. Version 8.8.7 labeled “authenticity guaranteed” is a step in that direction.

The real “issue” here was his outside hosting platform for updates from my reading of the article.


the issue was not the money, but that it was difficult to get a certificate without having some sort of legal entity



It was negligence. You don't need a certificate to prevent update tampering.


Delaware LLCs are "cheap," but you're still looking at $300-500 a year in fees.


Even that won't last forever. Notably, Edge is only guaranteeing updates until October 2028 [1], coinciding with the end of Windows 10's 3-year ESU period. Previously, Chromium ended support for Windows 7 at the end of its ESU period (which was also the end of support for Windows 8.1) [2]. However, Firefox continues to support Windows 7/8.1 by providing security updates for an older ESR version of Firefox 115; they appear to be re-evaluating whether to continue support every 6 months, currently set to end in March 2026.

[1]: https://learn.microsoft.com/en-us/deployedge/microsoft-edge-...

[2]: https://support.google.com/chrome/thread/185534985/sunsettin...

[3]: https://whattrainisitnow.com/release/?version=esr


I have patched Firefox 115 to run on XP, so no doubt it would be much easier to continue doing it for something as new as Win10.


The Web Archive also uses the Certificate Transparency logs, some websites that aren't linked anywhere end up in the Wayback Machine this way: https://archive.org/details/certificate-transparency?tab=abo...


I don't believe an IPSW for 18.7.3 was released except for devices that couldn't upgrade to iOS 26. I believe this is done to prevent downgrades.


Correct, both are the same build (22H217). BetaWiki has this build labeled as both the RC and the actual release: https://betawiki.net/wiki/IOS_18


It is also available as a public beta, which you can register for at https://beta.apple.com/


Maybe this could be an option to enable in profile settings?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: