News for hackers. Stuff that matters.
Re:Introducing Project Mu by AceJohnny2 on Wednesday December 19, 2018 @05:04PM (#18720195)
What is "Firmware as a Service" ?

In my mind, firmware is the low-level software that's embedded in a device, and is both hard to change and unlikely to need to change, because it provides utility foundational to using your hardware. How do you turn that into a service?

Edit: apparently I can't read because it was right in there: "Firmware as a Service optimizes UEFI and other system firmware for timely quality patches that keep firmware up to date and enables efficient development of post-launch features." So basically, take the limitations I mentioned and get rid of them.

Re:Introducing Project Mu by geofft on Wednesday December 19, 2018 @05:09PM (#18720248)
"As a service" in this context means the mental model / delivery pipeline is more like subscribing to a service than purchasing individual software. I'm sure this makes more sense to Microsoft folks; open-source folks are more likely to call it "continuous deployment" or "living at HEAD" or something. They compare it to Windows-as-a-service, the idea that you run the current version of Windows, not the version you paid for and future updates involve change control and procurement and other bureaucracy.

Firmware does change and often has security vulnerabilities, so you do need to be keeping it up to date the way you keep your OS up to date. Among other things, it includes processor microcode / errata fixes like some of the Spectre, Meltdown, etc. mitigations. It would be nice if we lived in a world where this doesn't need to change, but it does, and thankfully it is firmware and not hardware.

Re:Introducing Project Mu by ddispaltro on Wednesday December 19, 2018 @05:39PM (#18720553)
I hate to admit that I just realized the hard -> firm -> soft ware analogy.
Re:Introducing Project Mu by teddyh on Thursday December 20, 2018 @06:56AM (#18724134)
Hardware met Software on the road to Changtse. Software said: “You are yin and I am yang. If we travel together we will become famous and earn vast amounts of money.” And so they set forth together, thinking to conquer the world.

Presently they met Firmware, who was dressed in tattered rags and hobbled along propped on a thorny stick. Firmware said to them: “The Tao lies beyond yin and yang. It is silent and still as a pool of water.

It does not seek fame, therefore nobody knows its presence. It does not seek fortune, for it is complete within itself. It exists beyond space and time.”

Hardware and Software, ashamed, returned to their homes.

— The Tao of Programming, Geoffrey James, 1987

Re:Introducing Project Mu by disqard on Thursday December 20, 2018 @01:05PM (#18727317)
That made my morning! Thank you for sharing.
Re:Introducing Project Mu by shafyy on Wednesday December 19, 2018 @07:35PM (#18721450)
OMG me too. Always thought it's because of "firm" as in a "company". Like, the software the company puts on the device and a user can't change. Haha.
Re:Introducing Project Mu by ethbro on Wednesday December 19, 2018 @10:03PM (#18722174)
Per Wikipedia, it was coined in 1967 to refer to the glue code that existed at the boundary of hardware and software.

Or, in other words, any code which hooks directly to the hardware on one side and exposes abstractions (like an instruction set) that software can code against on the other.

I always assumed "firm" stuck, as in "You'll have a helluva time changing it, because it's the code that has to deal with all the complex electrical engineering stuff."

(E.g. processor errata, patched board mistakes via fuse or EEPROM, side effects of power supply undervolting or clock skew, or pre-initialized system murkiness)

https://en.m.wikipedia.org/wiki/Firmware#History

Re:Introducing Project Mu by keerthiko on Wednesday December 19, 2018 @10:41PM (#18722314)
It keeps going

* hard -> firm -> soft -> wet ware

https://en.wikipedia.org/wiki/Wetware_(brain)

Although this one is usually just referred to as the "user" ;)

Re:Introducing Project Mu by potyl on Wednesday December 19, 2018 @11:41PM (#18722559)
Lets not forget vaporware.
Re:Introducing Project Mu by pizza on Thursday December 20, 2018 @01:17AM (#18722864)
Let's get some plasmaware to market!
Re:Introducing Project Mu by ElijahLynn on Thursday December 20, 2018 @01:44AM (#18722964)
And today I learned (TIL) too!

But only because you pointed it out in your comment, thanks.

Re:Introducing Project Mu by subcosmos on Thursday December 20, 2018 @02:08AM (#18723031)
Just wait until you encounter vaporware, and it's upcoming block chain variant: plasmaware

It's the newest thing, and it's going thermonuclear!

Re:Introducing Project Mu by wolfgke on Thursday December 20, 2018 @06:55AM (#18724132)
> Just wait until you encounter vaporware, and it's upcoming block chain variant: plasmaware

But then please introduce also the relevant variants of realtime (in analogy of hard, firm and soft realtime): vapor realtime and plasma realtime.

Re:Introducing Project Mu by NikolaNovak on Wednesday December 19, 2018 @07:12PM (#18721299)
wow... I... I've been in IT for 25 years, a computer geek for 35, and... never even questioned it :O
Re:Introducing Project Mu by snek on Wednesday December 19, 2018 @09:48PM (#18722108)
holy shit my life is a lie
Re:Introducing Project Mu by eckza on Wednesday December 19, 2018 @06:42PM (#18721105)
Oh my god so did I
Re:Introducing Project Mu by charlietango92 on Wednesday December 19, 2018 @05:46PM (#18720617)
better late than never.

Cheers :)

Re:Introducing Project Mu by pjc50 on Thursday December 20, 2018 @07:55AM (#18724486)
You may also encounter "stiffware", which is software you'd like to update but can't.
Re:Introducing Project Mu by solarkraft on Thursday December 20, 2018 @04:44AM (#18723593)
Oh, damn.
Re:Introducing Project Mu by mastre_ on Wednesday December 19, 2018 @09:59PM (#18722155)
mind blown
Re:Introducing Project Mu by monocasa on Wednesday December 19, 2018 @05:45PM (#18720599)
So succinctly translating for FOSS folks: imagine if Coreboot/uBoot updates were integrated into the normal default package manager repositories.
Re:Introducing Project Mu by ronjouch on Wednesday December 19, 2018 @10:21PM (#18722245)
Not exactly coreboot/uBoot, but it already is:

https://fwupd.org/

https://github.com/hughsie/fwupd

It's integrated into recent distros, seamlessly shipping firmwares for supported vendors (Dell came first, HP arrived soon after, and I think I read Lenovo was being worked on) like this MS project does, or Apple has been doing for years.

Re:Introducing Project Mu by bpye on Wednesday December 19, 2018 @10:58PM (#18722392)
On a Surface device (and maybe some others?) you can get firmware (UEFI) updates via Windows Update.
Re:Introducing Project Mu by Procrastes on Wednesday December 19, 2018 @09:45PM (#18722084)
Great analogy and great idea!
Re:Introducing Project Mu by kitd on Thursday December 20, 2018 @04:51AM (#18723628)
When I switched from Windows to Linux, seeing security updates that included CPU microcode firmware was a bizarre experience.
Re:Introducing Project Mu by SXX on Thursday December 20, 2018 @05:43AM (#18723835)
Why is that? Windows Update also ship CPU microcode uodates since forever.
Re:Introducing Project Mu by kitd on Thursday December 20, 2018 @08:22AM (#18724654)
They do, but Windows updates are much more opaque (IME). Seeing microcode being updated brought home how small the distance between hardware/firmware and software, which was OP's point.
Re:Introducing Project Mu by ChuckMcM on Wednesday December 19, 2018 @05:07PM (#18720231)
And at the same time creating a side channel that can be interposed on so that malware can be loaded right into the flash on the mother board :-)

Seriously though, being "hard to change" on some parts of the system can be a feature.

Re:Introducing Project Mu by phkahler on Wednesday December 19, 2018 @07:24PM (#18721375)
Correct. If they push a little more it will just become part of the OS. Firmware should consist of minimal hardware init and a boot loader and nothing more.
Re:Introducing Project Mu by SmellyGeekBoy on Thursday December 20, 2018 @04:04AM (#18723438)
BIOS firmware has been flashable from the OS since, what, the Windows 98 days? I'm sure I remember updating the BIOS on an old Pentium III ThinkPad in this manner.
Re:Introducing Project Mu by kortilla on Thursday December 20, 2018 @04:56AM (#18723655)
I remember when it used to require a jumper change so it couldn’t be triggered by malware. How I miss those days
Re:Introducing Project Mu by vthriller on Thursday December 20, 2018 @06:35AM (#18724046)
Not to mention BIOS-destroying viruses from that era: https://en.wikipedia.org/wiki/CIH_(computer_virus)
Re:Introducing Project Mu by viraptor on Wednesday December 19, 2018 @06:18PM (#18720903)
> In my mind, firmware is the low-level software that's embedded in a device, and is both hard to change and unlikely to need to change

That may be a model suitable for a single machine. Once you get to hundreds, you get intimately familiar with how to update everything and how common firmware bugs are.

Re:Introducing Project Mu by mtgx on Thursday December 20, 2018 @03:43AM (#18723373)
This sounds like a good thing overall, considering most OEMs can't even be bothered to update devices for Spectre that are older than 2 years.

However, I can't help but think that this is yet another thing on NSA/FBI's wishlist to Microsoft, just as most of the tracking stuff in Windows 10 seems to be. Say hello to "targeted malicious updates" by the U.S. government.

Yes, I know this was probably possible with the Windows updates already, but I imagine the malicious firmware will be much less likely to detect = the agencies can use this against many more people.

Re:Introducing Project Mu by bno1 on Wednesday December 19, 2018 @07:44PM (#18721500)
>"Firmware as a Service optimizes UEFI and other system firmware for timely quality patches that keep firmware up to date and enables efficient development of post-launch features." sounds like an excuse to deliver unfinished software. remember that Microsoft got rid of its Windows testers and moved the burden of testing on the users.