I predict that this will blow over, and won't be a big deal in a few years time once FOSS drivers for what is effectively just a new breed of TPM are released.
If in five years, it turns out I was wrong, I'll eat my hat. Although defining "my hat" by then might be difficult, as it'll probably be subscription based.
And non-x86 systems? Wasn't there a line of MS Surface devices where secure boot could not be disabled, and users were stuck with Windows? It feels careless to only care about x86, especially as other platforms proliferate.
In any case, lockdown is not the only threat that Trusted Computing presents. Remote attestation itself is dangerous. If we remove our x86 blinkers and look at the mobile world, we see it's already happening, with countless apps, including ones important to modern day life such as banking, refusing to run on rooted phones.
You may say, "Oh, I will use my x86 desktop system at home for Free Computing, and allow phones, consoles, tablets, surface devices, etc etc, to become locked down." Like the old free speech zones, this is a toothless freedom, tamed and neutered. The user-empowering Free Software you will write will have no users - they will be on locked devices.
This is not the end. They'll keep pushing, as slow as they need to, with Windows 11 being the next step. They didn't suddenly lose the incentive, they just met resistance.
The trend for security in desktop computing that's pushed by these large companies is to, over time, approach similar levels of lock down that mobile devices currently have. Both Windows and macOS are approaching the iOS security model that depends on manufacturers blessing what software can run on their products, and banning software they don't want users to run.
For example, with Defender on Windows and Gatekeeper on macOS, developers need to buy certificates from Microsoft and Apple's partners in order to distribute and run their software on users' desktop computers. If developers want their software to run on Windows or macOS, they need to remain in good standing with Microsoft or Apple. If Microsoft or Apple decides they don't like you or your app, all they need to do is to revoke your signing certificate, and Defender and Gatekeeper won't let your software run on Windows or macOS. That, or they can choose to no longer renew your certificates after they expire.
Oh hell yes they did. Look at Intel Boot Guard and all the stuff around that.
...or the fearmongering from up last year regarding TPM and windows 11. People were going hysterical over the thought that TPM might be used for DRM, not realizing that they're already running hardware that does exactly that (intel SGX, amd PSP).
The main issue these days is driver support. The PC platform was an anomaly in backwards compatibility, at least historically. I'm not arguing that it's going to be easy for FOSS. It's going to be an uphill battle, regardless of how locked down they are (and I'm just arguing that they won't be that locked down—see the recent M1 Macs for an example; Apple could easily have locked down those systems in exactly the same manner as iOS/iPadOS devices, but chose not to).
what am I looking for? It looks like you couldn't load third party/modified firmware with that enabled? I suppose it's strictly more locked down than being able to flash whatever firmware you want, but was there a sprawling scene of modified firmware around at that time? Or did everybody essentially run the stock firmware?
All Windows RT devices (32-bit Arm desktop Windows). Not only Secure Boot was locked down there, but apps had to be signed by Microsoft.
64-bit Windows on Arm adopts the security policy of x86_64 Windows, which means that you can turn off Secure Boot on production hardware. (and run your regular apps too)
so shouldn't we be protesting against the systems that are locked down, instead of protesting against largely non-problematic implementations? For instance, with secureboot you can load your own keys, and the TPM isn't some sort of coprocessor that has access to your entire system.
>If Microsoft or Apple decides they don't like you or your app, all they need to do is to revoke your signing certificate, and Defender and Gatekeeper won't let your software run on Windows or macOS.
I'm not sure about gatekeeper, but at least on windows smartscreen can be disabled. I understand how having a gatekeeper sucks, but I also understand the problem of malicious software, which gatekeeping partially mitigates. In the end the fact that you can disable makes it a non-issue for me.
Linux drivers for Qualcomm SoCs don't have extensive ACPI bindings at this point in time though, making the use of a separate devicetree necessary for full functionality. This will be mostly ironed out with time I suppose.
That's been said for years, and hasn't held true. I can boot a Linux kernel on my M1 macbook. Apple could easily have locked it down in exactly the same manner as their iOS/iPadOS devices, yet chose not to. I can still install whatever I want. The default state of the system has a locked down root volume. And the default behaviour is not to install untrusted software, unless you jump through a couple of hoops. Those are good defaults. Those are damn good defaults for most people. If you're running untrusted code in your webbrowser all day long, you want your base system to be as unmalleable as possible, and as untrusting as possible to third party code. But I can still work around that with almost no hassle. Homebrew still installs software as easily as it used to nearly a decade ago; it just might need the occasional --no-quarantine flag for unsigned software.
Even recently they appeared to have actively assisted in the running on non-macOS operating systems on their hardware: removing the requirement for kernel images to be in mach-O format[1].
[1]: https://twitter.com/marcan42/status/1471799568807636994
I did look into what an upgrade to add a TPM would cost. I was looking at over $400 for a like motherboard to support TPM (without an actual TPM chip), but I'd also lose SATA channels I currently use. At the point of having to replace a motherboard, it starts looking attractive to do a full rebuild, but that's difficult with supply shortages and inflated costs currently.
The ideal scenario would be Apple pushing their hardware in the server space; that might create an internal incentive for apple to get Linux running decently (or at the very least make Darwin a new competitor in the datacenter).
Part of the reason for this "fearmongering" (if it's fair to call it that) is that Microsoft has released little information about Pluton, besides a press release. Plus, it's not like the fears are completely unfounded based on Microsoft's messaging; Microsoft's press release says Pluton is based off the Xbox[1] (and this paywalled article mentions the same thing[3]), and they've previous said the major goal of the Xbox security system is piracy prevention [2], i.e. DRM. However, I agree with the overall conclusion of the main article that it's probably not much worse that what already exists.
[1] https://blogs.windows.com/windowsexperience/2022/01/04/ces-2...
[2] https://www.platformsecuritysummit.com/2019/speaker/chen/
I realize it was only introduced as of ~2012 and it's been 10 years, but I'm not sure we can draw a conclusion on this one just yet. Windows 11 took a huge leap in that direction so for all I know it might take another decade; it certainly doesn't look like they've given up on the idea of locking down the desktop just yet.
Yes. That is in fact the problem. They shouldn't have the ability at all. Given the ability it will be done, it is only a question of when and why.
Corps have this ability already and are building in tech to make circumvention even more difficult. We are one update away as it is now.
And as for barring it legally, remember that there are valid uses for locked down systems. It can be a useful security barrier.
seriously? 10 years is an eternity in tech, and if they really did lock down the desktop a few years from now with some new system (eg. pluton), I'm not really sure that you could say "I told you so" or "TPM caused the platform to be more locked down". It'd be like predicting some sort of smallpox attack by china in 2010, then claiming you got it right in 2020 because of corona. The only plausible scenario where you could plausibly blame TPM/UEFI is if OEMs suddenly decided to remove the ability to add user keys and/or disable secureboot.
I might look into it, as it sounds like an interesting rabbit hole.
Maybe if you're talking Java versions, but not in the desktop OS space. (Look at so many old machines running Windows 7 or earlier right now, and look at long old OSes are officially supported, and how long they're still used afterward.) And besides, even if it was, this wouldn't mean anything. Look at the whole Default Browser fiasco that happened in the last few months. Microsoft went back to engaging in practices they had already settled with the Justice Department two decades ago.
Also look at how they finally made Windows 11 64-bit-only. And even now it still runs 32-bit programs, just the OS is 64-bit. It took two decades after 64-bit CPUs came out to get to this point.
They take their time and meander, and it takes a while. Possibly due to corporate sluggishness, possibly due to wanting to boil the frog slowly, possibly due to wanting to test the waters for a while... who knows why. But speed isn't the main criterion.
Since they are not going to do it anyways, they are no worse off, and the customers get a legally binding guarantee resolving their concerns, and it provides just cause to the good actors in Microsoft management to head off or remove any elements besmirching Microsoft’s reputation.
Sounds like all wins to me and it is what any B2B contract with Microsoft would do (well in the contract rather than publicly) if they wanted that guarantee so it is not even a particularly novel legal request.
You only condone the poisoning of the well because you take for granted the pro-socially minded developers willing to sacrifice their time and effort to draw clean water for you.
Think of where we'd be if we didn't need to run to stand still.
> That's been said for years, and hasn't held true.
It certainly has. Unsigned binaries were recently deprecated entirely on M1 Macs. Microsoft even released versions of the Surface that can only run Windows and only run apps blessed by Microsoft. With each iteration on these products, the screws are tightened a bit more.
Software freedom is not just about being able to run Linux. Most Mac users buy Macs because of macOS and its integrations, running Linux doesn't help them out. Software freedom on macOS definitely does, though. As it stands, that freedom has been chipped away at with new releases of Apple's software and hardware.
For example, I'm the author of several open source utilities for macOS. Users had no problem using the utilities a few years ago, but because they're unsigned or not Notarized, macOS tricks users into thinking that they're either broken or malicious. Even self-signing the apps has macOS treating them as if they're radioactive. Users don't understand the scary signing and certificate alerts, so they end up thinking they've downloaded malware. The solution to this is to pay Apple $100 every year, and then regularly have them scan and approve of the apps via Notarization. That's antithetical to software freedom. Regular users who want to use un-Notarized software are left frightened and without having their needs met. Software freedom is important for everyone, not just developers and power users.
> You only condone the poisoning of the well because you take for granted the pro-socially minded developers willing to sacrifice their time and effort to draw clean water for you.
If you're referring to my comment about drivers, then I'd like to remind you that a large amount of work done on the Linux kernel is paid, and isn't performed by volunteers.
And as for those that are volunteers, I don't take them for granted. I regularly donate to various FOSS projects. Related to this context, I'm currently a patreon supporter of marcan42's port of Linux to the M1 Mac, and have donated several hundred euro to OpenBSD over the past two years (not including donations from my hosting provider openbsd.amsterdam, which I'll plug here).
The specific functionality of remote attestation is so that a remote party can demand you prove what software you are running, and make it so that you cannot lie. Right now you're free to answer whatever you'd like, while running whatever actual software you choose, as long as you stick to the protocol. Protocols (especially well-defined open ones) are our traditional way of mediating between parties with mutually diverging interests. Remote attestation throws away such neutral mediation, making it so that the more powerful party can dictate what software the less powerful party is running.
One implication of a usable implementation of remote attestation is that a website could insist that you are running a certain OS, web browser, etc, and become unavailable to you otherwise. For example, banking websites have a clear path to doing this in the quest for their elusive "security". They already do similarly invasive things that alienate a small portion of users (eg complain about a device being "rooted", blocking VPN/datacenter IP ranges), and so it's a reasonable assumption that they'll adopt such technology for the same regressive goals.
And once it starts being a de facto requirement for users to have such functionality and it becomes easy for developers to use, it will trickle down to lower stakes websites - think anything that currently sees fit to harass you with a CAPTCHA. It's not simply Big Bad Microsoft that will push this onto us, but rather the entire market will gradually shift for "security" (ie corporate whims).
Will Free Software and the Open Internet still exist? Of course! Remote attestation does not prevent you from running whatever software you like on your local computer. But it will further bifurcate the Free user-representing world and proprietary WebTV land - imagine not being able to do online banking or shopping from your ergonomic desktop system, and having to do it from your phone that you also have to upgrade every two years. And the idea that some day ISPs will mandate this type of technology to connect to their network is far fetched, but still within the realm of possibility.
One caveat here is that if the remote attestation is only over the contents of the Pluton chip itself, then it cannot be used to dictate what software is running on the main system. I have no idea if this is the case here or not, but either way the integration of the chip onto the same die as the processor does not bode well for future development.
Furthermore, I do not believe the claim elsewhere in this thread that you could proxy such requests, as a secure remote attestation design involves the attestation result being used to generate a decryption key (eg a TLS session key) that does not leave the trusted software environment. So the system performing the attestation is unable to simply relay back what it has learned. There might be design shortcomings that or implementation bugs that allow for doing so, but the straightforward goal is to close those over time as for any vulnerability.
But ARM systems sure did. Remember the whole "OEMs are required to make their ARM Windows devices only trust Microsoft's signing key, and not let the end-user turn off Secure Boot or trust any other keys" scandal?
see: https://news.ycombinator.com/item?id=29860320
>They take their time and meander, and it takes a while. Possibly due to corporate sluggishness, possibly due to wanting to boil the frog slowly, possibly due to wanting to test the waters for a while... who knows why. But speed isn't the main criterion.
But in this case it's not really boiling the frog because it's not really getting worse? All we know so far is that it's TPM but it's easier to update. I suppose this could be used to oppress users by patching jailbreaks faster, but the security benefits at least makes it plausible that they're not doing it as some sort of plan to oppress users.
It's easy to argue "give me software freedom or give me death!" if you're a technically competent user that probably won't fall for a trojan, but what about everyone else? Don't you think there's a reasonable argument to locking down systems to improve security? To be clear, I'm not arguing for sacrificing software freedom wholesale for security, only in default configurations.
Let me also apologize for my manner. I'm inept at expressing what I think is important without alienating those that might be most receptive to it. Truly, I wish I could have said what I needed more gracefully. I didn't mean to give offense.
This is what Android has taught us.
Except bins signed by self-signed certs are still treated basically the same as unsigned binaries were before.
So why would a company want total control on its ecosystem ? Because government don't want social unrest. So if you can ensure your platform is free of "terrorist", then you can discuss with government better. For example, if you're secure, you can position yourself as a reliable player on banking, e-health, etc. That is, you gain a very strong position to shape society in ways you're interested in. Don't forget that big companies have the power to do that and that those who command them are not required to be benevolent. They are private companies so there's no oversight on which interest they serve first.
It's not all doom and gloom though . As computer gets into our lives, more and more government and parliaments will become aware of the issue and there will be a place to fight for our rights. It's already the case.
The only thing that matter is : a computer is a general purpose machine and must stay a "general purpose" machine.
Also, smartscreen is not a naive block of unsigned code. Code blocking is reputation based, and people disabling smartscreen and running a binary contributes to that reputation. Which means that people like gp are actively helping by continuing to use Windows and running safe-but-unsigned apps. So, to reiterate, not an issue.
Fully agreed. This is the most important point. No company or vendor should prevent me from running the software I want, in the way I want, be it modified for my own purposes or not.
Sure, if you only look onto the security side it may be more secure if you can only run approved software, but it is in no circumstances okay to reduce the freedom of a user on his/her private machine. (In a business setting it makes sense to only allow software approved by the IT-Department)
I'm far more worried about companies locking things down due to legitimate concern (security) with malicious intent.
Than being arrested for being mistaken for osama bin laden because I decided to grow a beard.
How did x86 not become more locked down as a consequence of this?
You can disable all of it (on some devices only!) but the war is already lost: most people are not going to do it, so distros have to pass through these hoops.
> That's been said for years, and hasn't held true.
Wanna bet that by 2030 there will be atleast one major commercial bank that enforces attestation on it's E-Banking features even on desktops?
I genuinely wonder if Microsoft will put any people on this for Linux. They purport to 'love it', but aside from a few Embrace Extend and Extinguish[0] strategies like Edge, WSL, VS Code etc. I haven't seen anything that made me jump out of my chair in amazement.
Maybe they'll surprise me.
[0]: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
In my particular case, I stopped upgrading Windows around 7. It is only last year that I decided to upgrade and that was also the year I moved to linux as my main driver. I am not an average user, but I am not kernel contributor either. I am just a guy, who wants some stuff done on a PC I own.
And that might be part of the issue. People need to feel the pain from the devices they have been sold so that they can learn why freedom and ownership is important.
I'm not sure what the "crack down" is when you can disable it fairly easily.
>So why would a company want total control on its ecosystem ? Because government don't want social unrest.
You'd think that if they want to suppress uprisings, the mechanism they use to do so will be slightly more robust than a setting in the developer options.
>The only thing that matter is : a computer is a general purpose machine and must stay a "general purpose" machine.
How is this related to what we're talking about? What gatekeeper/smartscreen is doing is effectively operating a whitelist system. The platform itself is still open, and you could still do whatever you want before. What's more is that you can disable the system, so I'm not seeing what the issue is.
Is there an easy way to disable TPM / Intel IME / Intel SGX / AMD PSP ?
(I'm only aware that Dell can disable Intel IME on request... but only if you're a company buying a large amount of PCs ?)
Those are hardware dependent platform devices. Qualcomm didn’t have another option. (Nor do other manufacturers really)
On x86, a virtual PCIe bus abstraction is heavily used, which is not the case for those SoCs.
(And well, if Linux wants to boycott full support of their SoCs, their choice. They just can’t blame Qualcomm anymore at that point.)
Another thing of note is the use of a PEP (power management plug-in) in the OS instead of having power management done in AML. The ACPI spec allows a manufacturer to do this. It isn’t used only by Qualcomm, but is totally unsupported on Linux today.
> PEP (power management plug-in) in the OS […] ACPI spec allows a manufacturer to do this
Doing management in AML is almost the whole point of ACPI. Microsoft pushing this PEP thing into the ACPI spec is bad. This is the "letter" of ACPI now, unfortunately, but it's very much against the original "spirit" of ACPI :/
For PCIe indeed, but that’s not when the issues are present the most. There’s no standard register interface for integrated GPUs, modems…
> but it's very much against the original "spirit" of ACPI
Yup, it’s what Device Tree does too however, shifting this to the OS.
Another downside is trying to have a good driver-less boot scenario when PEPs are used, for the system to be able to go far enough until drivers can be installed. (N/A to Linux which is hostile to not in-tree drivers, but very much a concern on Windows)
But it doesn't really make sense:
- All the technical work to restrict users could certainly be done in one release: it's not that hard.
- As to market acceptance, I don't think any of the changes re: binary signing are "getting users used to" being restricted.
So, requiring signed binaries doesn't appreciably make the technical or market challenges of restricting unapproved apps easier.
> Even self-signing the apps has macOS treating them as if they're radioactive.
In theory you can. In practice, programs will refuse to run if you do this: https://www.techspot.com/news/91138-valorant-anti-cheat-syst...
That goes for Secure Boot too, btw.
I appreciate that I can both benefit from PKI attestation of apps (for a small degree of protection against malware), and I can override it and run unsigned stuff.