News for hackers. Stuff that matters.
Re:I Love Arch, but GNU Guix Is My New Distro by marcodiego on Saturday November 20, 2021 @09:30AM (#29288366)
> "removes security warnings informing users that they need to update their CPU microcode"

If you update your CPU microcode to something that can't be checked, you're already sacrificing security.

EDIT:

But yes, I understand people complaining that FSF rejects proprietary software but is OK with some forms of ROM which in turn may be very similar to "proprietary software you can't change".

Well, I never asked their reasons to someone from inside the FSF, so I my knowledge about it can improve. Nevertheless, I can see some points:

  - AFAIK, the form of accepted code is only for "secondary processors" and can't take over the system or compromise it,
  - having things in ROM forces manufacturers to maximally simplify it,
  - having things in ROM forces manufacturers to implement more features in software that can be checked and
  - having things in ROM forces manufacturers to be extra careful when implementing it.
I don't think FSF would consider IME acceptable if it was ROM.

But indeed, it would be very good if someone from FSF could better explain it.

Re:I Love Arch, but GNU Guix Is My New Distro by WastingMyTime89 on Saturday November 20, 2021 @09:35AM (#29288408)
Non sense. I trust my CPU provider or I wouldn’t have bought this CPU. I would much rather use an updated microcode than one known to be insecure. I wouldn’t check the microcode anyway and I don’t really trust the people who might more than the company providing my CPU.

Sure it might contain code making me vulnerable to a state actor but that’s not a threat profile I care about.

Re:I Love Arch, but GNU Guix Is My New Distro by marcodiego on Saturday November 20, 2021 @09:43AM (#29288487)
If you have enough trust in proprietary software distributors to not care to use software that can't be checked, then you're probably not part of this discussion.

I don't check all the software I use myself. But I use open-source software with the peace of mind of someone who knows that the incentives to abuse me are simply not there and the fact that right now that are hundreds of people/bots checking it.

> Sure it might contain code making me vulnerable to a state actor but that’s not a threat profile I care about.

State actors are not the only threat. Think about arbitrarily disabled features, DRM, programmed obsolescence or simply not allowing anybody to improve/fix it after the device is abandoned by the manufacturer.

Re:I Love Arch, but GNU Guix Is My New Distro by kaba0 on Saturday November 20, 2021 @10:35AM (#29288962)
> the fact that right now that are hundreds of people/bots checking it.

As has been shown plenty of times, “more eyes looking at the code” is a fallacy as those eyes are very much not looking to find security vulnerabilities. Also, the lack of security in userspace GNU/linux codebases is something really worrying, much much more so than hypothetical hardware attack when you can just append to the end of .bashrc from a goddamn npm install and basically do anything you want, including streaming every single keypress?

Re:I Love Arch, but GNU Guix Is My New Distro by marcodiego on Saturday November 20, 2021 @10:53AM (#29289127)
> As has been shown plenty of times, “more eyes looking at the code” is a fallacy as those eyes are very much not looking to find security vulnerabilities.

There are also automated scans of a long list of FLOSS. Google runs OSS-Fuzz, you can check LibreOffice to see lots of commits to fix defects detected by OSS-Fuzz, coverity and other static analyzers. Access to the code, at the least allows determined users to more easily find where or why the bug happens. And yes, people do it.

> hypothetical hardware attack when you can just append to the end of .bashrc from a goddamn npm install and basically do anything you want, including streaming every single keypress?

Yes, this is more serious. But would need a compromise on packagers side and an uninformed (or automated) update on my side. Considering an update with such a vulnerability would affect initially a small fraction of users before being discovered, it is very unlikely that this hypothetical would have a big impact.

Re:I Love Arch, but GNU Guix Is My New Distro by kaba0 on Saturday November 20, 2021 @11:04AM (#29289226)
It was just one example, but running everything under the user’s user is just terrible.

Also, your automatic checker examples are related to the project’s size and importance, not to FOSS alone. It is very welcome but your average one-person C project that is installed on everyone’s system doesn’t benefit from such tools.

Re:I Love Arch, but GNU Guix Is My New Distro by fsflover on Saturday November 20, 2021 @05:23PM (#29292382)
> As has been shown plenty of times, “more eyes looking at the code” is a fallacy

This is debatable: https://en.wikipedia.org/wiki/Comparison_of_open-source_and_.... Any links to your argument?

Re:I Love Arch, but GNU Guix Is My New Distro by kaba0 on Sunday November 21, 2021 @06:03AM (#29295435)
Your link says they are comparable, with another study claiming better quality for open source software. While I really don’t think that grouping together vastly different softwares based on this one quality is meaningful (is a proprietary CRUD app made in 5 months with an ad-hoc architecture comparable to an open source database with proper planning and domain-expert programmers working on it?), I also didn’t claim that they were worse off, just that more eyes won’t find more/all bugs, because in fact, they don’t actually look for them in the first place.

The fact remains, every type of software is ripe for bugs and security measures must be taken so those bugs won’t become exploitable.

Re:I Love Arch, but GNU Guix Is My New Distro by fsflover on Sunday November 21, 2021 @08:52AM (#29296219)
Re:I Love Arch, but GNU Guix Is My New Distro by fsflover on Saturday November 20, 2021 @09:53AM (#29288576)
I do not trust my CPU provider. Where do I find an alternative based exclusively on free software?
Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Saturday November 20, 2021 @10:26PM (#29293941)
If you do not trust your CPU provider, your only option is a design that assumes an adversarial manufacturer. The only credible design I've seen for this scenario is Precursor, which works because generic backdoors for FPGAs (i.e. those that work with arbitrary randomized designs) are arguably impractical, since you'd need a huge amount of compute power to attempt to analyze the design and figure out how to backdoor it. It's likely even an unsolvable problem in the general case.

https://www.crowdsupply.com/sutajio-kosagi/precursor

Of course, then you get a RISC-V running at 100MHz. If you want something faster, you need to trust your CPU provider. There's no way around that; silicon is not end-user introspectable.

Re:I Love Arch, but GNU Guix Is My New Distro by marcodiego on Saturday November 20, 2021 @10:18AM (#29288813)
Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Saturday November 20, 2021 @10:19PM (#29293906)
Every single laptop in the RYF list includes proprietary unauditable microcode. So do many of the other products there, e.g. that Bluetooth dongle which probably has about half a megabyte of proprietary firmware.
Re:I Love Arch, but GNU Guix Is My New Distro by nix23 on Saturday November 20, 2021 @10:17AM (#29288798)
Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Saturday November 20, 2021 @10:29PM (#29293967)
There is no reason to trust IBM not to include a silicon backdoor in POWER9 more than Intel not to include a silicon or microcode backdoor in their x86 chips. TALOS is a lot freer than most designs, but you still need to trust every manufacturer whose silicon went into that motherboard.
Re:I Love Arch, but GNU Guix Is My New Distro by nix23 on Sunday November 21, 2021 @06:10AM (#29295481)
>There is no reason to trust IBM not to include a silicon backdoor

Yeah ok now we are in the religion side of things, since you cannot check the silicon...well i stop here, not worth my time.

BTW: The power microcode is opensource.

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Monday November 22, 2021 @12:23AM (#29303058)
You can backdoor silicon just as well as you can backdoor software or microcode. Why do you only care about trusting the latter?
Re:I Love Arch, but GNU Guix Is My New Distro by fsflover on Monday November 22, 2021 @10:00AM (#29306956)
Because the perfect is the enemy of the good: https://news.ycombinator.com/item?id=27897975.
Re:I Love Arch, but GNU Guix Is My New Distro by nix23 on Monday November 22, 2021 @03:33AM (#29304151)
>>since you cannot check the silicon...

READ.

The microcode is opensource..

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Monday November 22, 2021 @09:38AM (#29306704)
The silicon - the rest of the logic that makes the CPU - isn't. There's more to CPUs than microcode. Besides, how can you audit that the open source microcode is what the manufacturer actually put into the CPU? Microcode is usually ROM-based with only runtime patches.

Open source microcode does not change the fact that you need to trust the CPU manufacturer not to backdoor your CPU. There is literally no way around that that does not involve using FPGAs and restricting yourself to 100MHz CPUs.

By the way, I googled POWER9 microcode and was not able to find any source or reference to it. The source code for the firmware running on various auxiliary cores is open source. However, the CPU cores do contain microcode for executing more complex instructions, and I am not finding any reference to this being open source.

Re:I Love Arch, but GNU Guix Is My New Distro by nix23 on Monday November 22, 2021 @03:46PM (#29311405)
I understand that you have problems reading so i repeat it for you the third time:

>>>since you cannot check the silicon...

And since you have problems using google too:

https://www.sbir.gov/node/1620879

>>A small business has already shown that a completely open source solution (to include CPU firmware, CPU Microcode, Baseboard Management Controller (BMC), BIOS boot code, power management, etc.) based on a high performance CPU is possible.

Imagine who that "small business" is?

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Monday November 22, 2021 @10:29PM (#29314300)
Where's the link to the source?

FYI, IBM loves to use the term "microcode" to include side CPU firmware and such. This is different from Intel "microcode" which strictly refers to the instruction dispatch part. Is the instruction dispatch microcode in POWER9 open source or not?

None of these are it: https://wiki.raptorcs.com/wiki/OpenPOWER_Firmware

Re:I Love Arch, but GNU Guix Is My New Distro by nix23 on Tuesday November 23, 2021 @10:43AM (#29319113)
https://git.raptorcs.com/git/

>>CPU Internal Firmware

>>CPU External Firmware

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Tuesday November 23, 2021 @12:39PM (#29320668)
SBE, OCC, HCODE. Those are from the list I linked. None of them are the instruction dispatch microcode.

Maybe it's time for you to have the realization that POWER9 has proprietary microcode just like Intel. At least it seems they probably have less of it, and they do vaguely document it in the CPU manual (they have micro-op classes and counts) but it's there, and I don't see any real source code anywhere. They also have patch registers, so you can't even say it's not updatable. The POWER9 manual mentions six Instruction Mask Registers per core, but these registers are documented nowhere (I just spent a good 30 minutes digging through the giant register documentation PDFs and HCODE source, but I couldn't find anything).

Is this better than Intel? Yes. Is it "fully free"? No. Nothing's fully free. Which is why we need nuanced analysis, not the nonsense arbitrary lines the FSF draws in the sand.

Re:I Love Arch, but GNU Guix Is My New Distro by medo-bear on Saturday November 20, 2021 @09:58AM (#29288619)
why is it nonsense? i think not trusting vendors that dont let you verify their product is quite sensible. note this is not paranoia to think that they are doing something malicious. its just as simple as dont trust strangers
Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Saturday November 20, 2021 @10:32PM (#29293975)
There is no way to verify silicon. This applies to every single chip. If you are using off the shelf hard cores in silicon, you need to trust the vendor. That's just how it is. It's not practical for end users to take silicon chips into a SEM, delayer them, and verify that the design is what they expect. Verifiability aside, there aren't even any high performance CPUs with fully open RTL/netlists available.
Re:I Love Arch, but GNU Guix Is My New Distro by medo-bear on Sunday November 21, 2021 @02:47AM (#29294806)
> If you are using off the shelf hard cores in silicon, you need to trust the vendor

if i dont have options for alternatives, i think its completely rational to use something without trusting it. i would say that this should be a default attitude

Re:I Love Arch, but GNU Guix Is My New Distro by alexvoda on Sunday November 21, 2021 @07:22AM (#29295846)
Sandboxing and fencing off untrusted parts is fine. I find the approach of Librem 5 understandable.

However the distinction between blob on chip flash and blob on system storage is nonsensical to me. I would much rather have a sandboxed untrusted part I can update rather than a sandboxed untrusted part that I can not update.

Unfortunately I have not seen anyone actually give a reason why the line should be drawn there instead of closed source blobs are not ok period. Doesn't matter where they live. None of us are arguing in favour of blobs.

Re:I Love Arch, but GNU Guix Is My New Distro by medo-bear on Sunday November 21, 2021 @02:06PM (#29298781)
>Unfortunately I have not seen anyone actually give a reason why the line should be drawn there instead of closed source blobs are not ok period

this makes it sound like FSF supports these blobs. how i understood the situation is that they tolerate them until an alternative presents itself. this is a valid position to take and does not make them hypocrites/cult/religion etc

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Monday November 22, 2021 @12:25AM (#29303072)
They are literally endorsing Bluetooth dongles with half a megabyte of proprietary ROM as "respecting your freedom". That goes a little beyond "tolerating", don't you think?
Re:I Love Arch, but GNU Guix Is My New Distro by medo-bear on Monday November 22, 2021 @03:06AM (#29303993)
'Respects Your Freedom' is a (trademarked?) label that comes with clear and readily available certification rules. according to FSF, these are products that are simply the best options available as far as FSF's free-software ethics are concerned. in this sense it is simmilar to 'fair trade' labels you find on products. since you guys love extreme examples, i could ask you if when you use an Apple computer do you expect to be able to eat it

actually since you work with macs, do you think Apple respects your freedom or do you think they are more ethical than FSF?

Re:I Love Arch, but GNU Guix Is My New Distro by alexvoda on Wednesday December 01, 2021 @08:44PM (#29411534)
I will answer your last question. Apple absolutely does not respect your freedom. They infringe on your freedom. Depending on the definition of ethical, they are vastly less ethical than the FSF.

But they also never claimed to be ethical. They never claimed to guard a moral ideal. They have claimed many things (protect privacy of users, guarantee security of users) which they did not act upon, and they have received flack for that. But they didn't claim to be ethical. Not even in a aspirational way like Googles "Don't be evil" moto.

The FSF, however, claims that ethics is it's prime driver. And by endorsing hardware with proprietary blobs (placed on chip flash instead of system storage) they display hypocrisy. They choose the very pragmatism they criticise others for choosing.

And that is something religions do aswell.

I have asked you why is the line there and you have not answered.

Re:I Love Arch, but GNU Guix Is My New Distro by marcan_42 on Monday November 22, 2021 @10:29AM (#29307377)
I think Apple are a corporation with interests that happen to result in them building secure, high performance, quite trustable hardware. Since they have the motive to do so, and since everything I've seen suggests they indeed are, and since their hardware officially allows me to run my own software on it, I would much rather use their hardware (with my own OS/software) than whatever the FSF labels as RYF, which is a label that, in my view, says nothing I care about, not even about my freedom.

Whether Apple is ethical or not is a different question. There is plenty of criticism to be fired at them for various issues. That's a personal call for people to make. I'm not saying you should go buy Apple hardware. I'm saying it's significantly more trustworthy from a security and privacy standpoint than x86 machines. Do they respect my software freedom? About as much as the RYF machines. They both let me run my own OS and they both rely on proprietary firmware for various things. The FSF's certification criteria do nothing for my software freedom (which has nothing to do with whether blobs are in ROM or RAM), they just hurt security, which is something else I care about.

We all have to make our own decisions about what to purchase based on the information available to us. That is why having such information is so important. If you value repairability more than anything, you should probably get a Framework. If you value security above all, you should get a Precursor device. If you want a trustable machine that's still high performance, you should get a Mac. If you want to run Windows games, you should get a gaming PC. If you value your freedom... there isn't anything truly free out there. RYF machines certainly aren't it, nor more free than many others by practical measures, nor transparent about their design.

Hence why I criticize the program. It's not achieving anything positive. It's just a feel good thing; the FSF says it respects my freedom so I can feel good about being Free™ while running more proprietary firmware than many other off the shelf machines.

Just to put things into perspective, I believe Google have done more for computing device freedom than the FSF, because the Chromebook team is notoriously pretty much the only large team which actually pushes for open source everything pretty hard, and they're important enough that some vendors listen, and they have the money to develop things themselves. For example, if you look for an open boot/OS stack for the Tegra X1, the closest you're going to get is the Chromebook Pixel's. Only the RAM training blob is closed source (and there is a reverse engineered replacement these days). Everything from the low level bootloader to the GPU drivers are open. This is no thanks to Nvidia - for pretty much all other customers they offer proprietary bootloaders. Also, I'm pretty sure some Chromebooks even have open source EC firmware, which those ThinkPads the FSF loves so much don't.

Re:I Love Arch, but GNU Guix Is My New Distro by Qwertious on Sunday November 21, 2021 @02:59AM (#29294852)
Hardware operates differently to software - it's impossible to verify hardware after it's been manufactured+shipped to you, so you need to trust the ENTIRE manufacturing and ownership chain of EVERY SINGLE COMPONENT. This is true of both open- and closed-source hardware.

Look, don't take my word for it - take the word (and more importantly, the reasoning) of the guys behind the Novena open laptop: https://www.bunniestudios.com/blog/?p=5706

Re:I Love Arch, but GNU Guix Is My New Distro by medo-bear on Sunday November 21, 2021 @03:17AM (#29294928)
understood. but does not restricting blobs to a place where verification is impossible isolate the problem? to me this approach still seems reasonable from a free software (as per FSF) point of view

also i am confused why this issue isnt being taken with the hardware manufacturers? if i purchased their product, and if their user license did not forbid me from using linux-libre, and if this update is absolutely vital for my safety, then it makes much more sense to take issue with the manufactures. they should open source the update in this case

Re:I Love Arch, but GNU Guix Is My New Distro by seoaeu on Saturday November 20, 2021 @01:13PM (#29290410)
The question is why proprietary microcode that ships with your CPU is fine, but microcode patches released later are non-free? According to the FSF, you should never apply a vendor's microcode patch and instead you should buy a newer processor from them which will ship with the microcode patch already burned in.

You can't even argue that it is a difference of being stored in ROM vs. RAM because the existence of patches means that microcode is upgradeable.

Re:I Love Arch, but GNU Guix Is My New Distro by pdpi on Saturday November 20, 2021 @09:55AM (#29288589)
> If you update your CPU microcode to something that can't be checked, you're already sacrificing security.

You're not sacrificing security, you're making a tradeoff.

If I update my CPU microcode to something I can't check myself, I'm explicitly choosing to trust my CPU provider, under the assumption that the risk of a microcode-based attack from my CPU provider is smaller than the risk of a cpu bug-based attack by an unknown attacker.

Re:I Love Arch, but GNU Guix Is My New Distro by Qwertious on Sunday November 21, 2021 @03:02AM (#29294866)
>You're not sacrificing security, you're making a tradeoff.

If you don't trust your CPU provider then you have zero security from them already. Even if the entire design of the CPU is open-source. https://www.bunniestudios.com/blog/?p=5706

Re:I Love Arch, but GNU Guix Is My New Distro by tzs on Saturday November 20, 2021 @10:19AM (#29288821)
> If you update your CPU microcode to something that can't be checked, you're already sacrificing security.

You are already running CPU microcode that can't be checked when you are running Guix on x86. That ship sailed when you decided to use x86.