Savitech USB audio drivers install a new root CA certificate
kb.cert.org
kb.cert.org
- generate a fake CA and use it to sign your driver on the fly;
- add the generated root CA to the trusted list
- delete the private key so that nobody else can sign anything with this CA
- now windows will happily consider this driver as worthy of trust and install it.
And now this developer is learning on HN he should remove that line in his resumé.
Or maybe he thought it was a clever idea... Let's call it a learning experience.
If they had a single certificate and used that across devices then the private key could be compromised and used to authenticate malware or pull off a man in the middle attack on an HTTPS site since your system now trusts this new CA. By generating the private key locally and throwing it away, you can be relatively confident that no one has the private key to this new root CA.
What's silly in the first place is that something not trusted to install unsigned drivers still has the perms to install a new root CA but given that constraint, this is a better solution than what Savitech did.
If they had an actual root CA with a private key, they'd sign it locally (on the company machine). In no scenario would the company's private key be given to a customer (unless we're talking about Adobe).
But what do you want to do more?
1) Trust some company to keep a very important private key secure for a long time? (with attackers knowing it's a single high-value target)
2) Or be confident that the private key was used once and destroyed forever? Even if the private key generated on your device could be recovered it would only be good for an attack against you making it a lower priority to attackers.
Doing it that way completely undermines the reason for having a cert in the first place. You might as well not have one at all.
I'd still prefer the latter, given reasonable standards in terms of key handling, but the one-time trust is not completely without merit. It would certainly be more reasonable though to just allow one-time blind trust without forcing the installer to create a certificate that may or may not be as private as advertised.
I can't see how buying an actual cert could be more risky than installing a new root CA. The goal of signing is to ensure origin and anti-tampering: two fails in this case. So now you may have a tampered with driver that doesn't remove the private key and uses the new CA to inspect your TLS traffic, and you wouldn't know.
I don't. Not even Microsoft themselves. There were embarrassing slips.
Alternatively they would need to ship hundreds of different drivers or a single driver that binds to hundreds of different device IDS. Not nice.
I know what you're thinking "Oh, well there could be an exception for when you need it, you'd just use admin to authorize it or something" and that's exactly what this is.
That would be the relatively little known (and new) Windows 10 S, where only apps from the Windows Store can be installed or run. Designed for security (?) and to compete with Chromebooks.
See also Windows RT
Since they have a Chromebox, I do not have any calls regarding viruses or their computer being slow, etc.
Or people don't know/care. Or weighed the comparative downsides of a controlled app platform versus the wild west, and decided the controlled platform is less of a downside for what they want to do. Or lots of options, really.
The alternative is to add gpg keys of the software vendors that you trust. i.e., Every linux distro.
a) Adding a root CA to the cert store requires UAC elevation prompt.
b) The certificates are more useful in verifying if a given driver was issued by the manufacturer it says it was issued from.
Here are some public exploits for it: https://github.com/hfiref0x/UACME
Linux makes you type in the password manually every time for elevation but that will just make the average consumer remove or use unsafe passwords for their accounts.
The point is about a secure & safe way for a common person to authorize an application that wants to make changes to the system and as the defaults stand, sudo prompting for password at every elevation attempt is worse off in my opinion.
> The point is about a secure & safe way for a common person to authorize an application
I'm not sure that's even possible. The common person doesn't tend to fear putting their credit card info into a random online form.
To get a clean, professional-looking installation, you've got to have a primary signature that chains down to a trusted root CA and also a cross-signature, which is a Microsoft cert used to sign the code's root CA's certificate.
Maybe there's something I'm misunderstanding here. I've set up Windows codesigning, but it was according to the specifications of the Windows devs; most of my own work has been in Linux.
The distinction being made across the columns is between installing the driver (i.e. putting it in the right directory and setting up the settings and everything so that it can be loaded) versus actually loading the driver (i.e. telling the kernel to execute the code immediately). They require different permissions. You need to satisfy both for your driver to run, and you can see that MCVR is a requirement for loading a driver on newer Windows versions, i.e. you need trust from Microsoft, not just the user.
Now as some people are pointing out, Microsoft also has a user-mode driver framework which doesn't seem to have the requirements of the kernel module. (On the other hand, it exposes more limited functionality.) So if you're writing a user-mode driver then you might not need trust from Microsoft. But that's not what I generally mean when I say "driver"... to me "driver" implies kernel-mode, or at least the union of the two. It certainly doesn't just refer to the user-mode kind.
I ran into that last night. It was implied in the MS documentation that all kernel-mode drivers in Windows were "loadable kernel modules".
Anyhow, thank you for the clarification. That's kind of the direction I was thinking, but it's nice to see a more concrete description.
I'd also suspected that there was a distinction similar to "kernel-mode driver" and "user-mode driver", but all that I saw in Microsoft's documentation when I was looking last night were the descriptions of the differences between bus, device, and filter drivers.
Reading with a clearer head now, I found some more clarifying material. VxD was the earliest Windows driver model, supplanted close to 20 years ago by WDM. On top of that is the WDF, which sounds like it was first introduced just after WDM, and complementing it. And that's the one that has a separate Kernel-Mode Driver Framework and User-Mode Driver Framework.
From my background, "driver" always implied kernel-mode, unless specifically specified. I mean, I can write a user-mode driver on a Raspberry Pi (or what have you) to communicate with external hardware over the IO pins, but it's a clearly different process than writing a kernel module. For example, I could write user-mode driver code in Python, and don't have to worry about the internal workings of the kernel.
> From my background, "driver" always implied kernel-mode, unless specifically specified.
Right, so it seems correct to say that you cannot load a driver using just a custom root certificate. You need it trusted by a root certificate from Microsoft, which (assuming that is correct) means much of this thread is wrong.
That's madness.
I assume this is what ADB does, using the Microsoft provided WinUSB kernel mode driver and associating it with your mobile phone USB vendor and product ID. There's not a single line of code in such a driver, just some INF descriptors.
There might also be different forms of user mode driver, not sure how they work.
You mean a user-mode application? A user-mode driver is something you write instead of a kernel-mode driver (when it's possible), not on top of it. (?)
KMDF drivers have to be signed with a CA that's not user installed while UMDF drivers may be.
Or maybe forgot all the digital picture frames that hosted viruses.
Thanks to the folks at http://leshcatlabs.net/unifl-unified-leshcat-drivers/ i can put Windows 10 on old laptops with 'unsupported' old AMD and/or Intel gpu's.
When i was modifying my HTPC from Windows 8 to 10 i also experienced that annoying protection. I used the Cmedia BitPerfect drivers on my Windows 8 machine (https://code.google.com/archive/p/cmediadrivers/wikis/Bitper...) to have almost perfect DTS throughput, but couldn't use these on Windows 10 because not signed. The Leshcat people kindly provided me with a signed version.
https://news.ycombinator.com/item?id=12061320
Those worrying about security should remember that device drivers already run in ring 0 and can do anything they damn well please.
Thus I say: Good on Savitech for not being afraid to rebel against; and fuckings to the corporatocracy that is certificate authorities and the authoritarian security industry.
I am with you here, as I've been for many years (you link to a comment of yours that links to a comment of mine, for that effect). I'm even fond of saying, "security vs. fun - pick one". But I start to increasingly understand the arguments from the other side.
Consider: what I consider an essential "fun" of computing is being able to alter software running on my machine as I see fit. If I want to make it so that Windows Notepad is pink, or supports Emacs shortcuts, I should be able to mess with both binary on my hard drive and running process in memory, because it's my computer and my rules. But the same mechanisms allow an evil person to make my mother's Notepad look like her e-mail account login screen and exfiltrate data from that. I dream of having an OS as malleable and tightly integrated as Lisp Machines were, but I wouldn't dare connect it to the Internet these days.
So what can one do? How to approach it? Is there even a way to create a computer that both respects the end-user as its rightful owner and can be safely used to conduct business and pleasure on-line? I honestly don't know if this is even possible in principle. If it is, I would appreciate being pointed towards possible solutions, because this - I believe - is a case worth fighting for.
Sounds interesting, though I fear that at that point, companies won't even bother providing the "general-purpose" mode anymore.
the first ones were released with a physical switch behind the removable (shock horror) battery. Later ones have a magic key press that do the same thing (though one variant that Google sold directly had a flaw where the state was stored in volatile memory).
This is how people install things like Crouton and whole Linux distros.
Note btw that by default a Chromebook updates silently in the background (in a fashion that Android gained with 8.0).
It has two partitions, one is active one is dormant.
when a update is released, it gets applied to the dormant one. And on the next boot, the two a flipped. If the newly updated partition fails to boot, the system will switch them back on next reboot. And if it succeeds, it will become the active one while the older version goes dormant until another update is released.
Keep in mind that little if any state is stored locally.
And frankly, if Mozilla wants to get back in the game they should consider producing a similar system that also offer a set of backend services (or collaboration with others that can offers said services) and the means of bootstrapping such services independently.
Because right now while Chromebooks are being adopted rapidly in USA and Canada, European nations a weary thanks to the question of where the data is stored and who can potentially access them.
My personal approach to the problem is multiple devices. Linux laptop and Windows desktop for my open systems. iPhone and Chromebook for when I don't want to worry.
Take a look at Qubes. It virtualizes almost everything that is done on the system and it had a very solid security model. An example: your banking VM can be clearly marked and distinct from the (potentially one-time) VM you used to pen that dodgy-looking email attachment.
We have to accept that those who need rigid, inflexible computing to protect them far outnumber us. People don’t care if they can rewrite Notepad or read its source code, they care that Facebook works and that they don’t get viruses or added to a botnet. The only way to develop a healthy advocacy here is to understand that the hacker ideals and customizability that we expect of a computing system really make us a vanishing minority and acknowledging that for the now-average user, those ideals make less and less sense as time goes on. We had our run, then everybody else found computers. Times change. It’s not bad.
Is there a way to create your computer? For us, probably. For them, I’m increasingly believing it isn’t. This isn’t a knock against anyone, just an acknowledgment that there are almost certainly two answers to this question and Free Software ideals and beliefs aren’t equipped to handle the much, much larger answer. Proprietary operating systems, walled gardens, Internet centralization, it plays toward all of the ideals Free Software has been holding dear for decades. We have to evolve our thinking, I’m afraid. The less we acknowledge that perhaps Free Software is wrong for the average user, the less we will have a voice at the table; eventually, nobody will listen at all.
Hell, many cars don’t even allow you to work on them any more. Look at Teslas, higher-end Audis, etc. I offered to change my neighbor’s oil in his Audi and he got scared about his warranty.
It's good you brought up cars, as they're a perfect example of conflicting needs. Cars are now computers on wheels, and while I'd love to drive a car I personally modded at firmware level, I would also be against allowing such cars on public roads. One, hackers make mistakes, and two, malicious actors would trick regular people into modding their cars to further their malicious goals. Both reasons create public hazard. Which is obvious in case of cars, but less obvious with computers connected to the Internet.
At this point I fear we might need to fork computing entirely - let the regular users live in "hell" of propertiary, locked down services they don't actually own, while ourselves, we get the "heaven" of free software... that's pretty much not allowed to interact with regular users. I don't see how to keep the two worlds as one, because all features meant for hackers can also be used by malicious actors to pwn people.
Consider e.g. dev console in a web browser. All is cool, because regular users don't know what F12 does and wouldn't even think of pressing it. But then Facebook and others have to put Self-XSS measures into place, because a malicious actor can tell a regular user what F12 does, and how it "can" let them see who viewed their Facebook profile...
I hate the idea of split world. It means I won't be able to e.g. automate my banking or pizza delivery, because those things will have to go through "dumb" computing, to avoid self-pwnage risks. It means that eventually I won't be able to even get a general-purpose computer, because the nature of niche markets is that they generally don't get served with good stuff at accessible prices - they either get served at exorbitant prices, or don't get served at all.
So I don't want that split world. I want an alternative to fight for. But as I previously wrote, I can't see any.
I think split world is livable if that divergence is embraced. Running a Xeon server as a workstation is something a lot of developers do. As clients get more locked down, it's probably the direction we'll have to go, and really differentiating what makes a "server" from a "client".
Never mind that i fear that the black hats of the world will always find a way to break the sandbox of the "safe" computers, and thus we are effectively fucked. Because now they have access on a level the rest of us do not, and thus can't counter their actions.
BTW, i do believe Cory Doctorow has done a couple of speaking tours on this under the titles "The coming war on general purpose computing" and "The coming civil war on general purpose computing".
The first being about government demands for a computer that do everything but some naughty action, and the second about well meaning geeks locking down computers to make them "safer".
And yet the epsilon between "Facebook" and "malware" continues to shrink. I'd personally rather have my phone ownt by an impersonal botnet that's just going to send out some "growth hacking" spam or look for bank passwords, than a person-targetting adversarial application that is designed for the purpose of creating a long term surveillance profile on me. But of course everyone is free to choose their own kinks!
What we have to accept is that "people" actually have no fucking clue what they want. Advertising tells them, and social proof reinforces it. What the Free Software Foundation doesn't "get" is money, as in enough money to carpet bomb their own popularity into public consciousness. While promoting end-user freedom creates massive economic wealth, capturing that wealth predictably is inherently impossible.
Having said that, the surveillance industrial complex will certainly continue catering to this mythical "average user", as they gain when people self-identify into this group and thus resign themselves to sharecropping. But it's foolish to buy into their disempowering least-common-denominator-database-row uniformity paradigm, any more than we need to pretend to do so to eat. The only reason the Free world actually needs to care about the next generation of GoogAppAzon middlemanning is that economics force us to piggyback onto their hardware.
You or I buy a phone and look for a terminal. They buy a phone and go straight to the App Store to install Facebook. And yes, people know what they want. They are on Facebook because that’s what they want. Look at pictures of my newborn, group of friends. Oh, all my friends are on Facebook and it lets me do that. What’s that, GNU Social? I need to figure out what? I need a server? Mail is decentralized. How many average people don’t use a central service like Gmail? People are choosing the things Free Software doesn’t like because for them it is better. Full stop.
Free Software has no competitive answer for anything the big names are doing for the average user. Not one thing. There’s enough people interested in it that competitive answers could be developed and find a market. The problem is unrealistic ideals (decentralization, often; how much of global SMTP traffic is spam, again?) placing unrealistic requirements upon a project and focusing all of its resources on things the average user doesn’t care about. What if I wrote a Facebook that cared about privacy and, somehow, miraculously got billion MAU traction? You’d be right back banging the same drum making you irrelevant about surveillance state apparatus because it’s centralized. Except the whole point of Facebook is network effect. So.
You’re deluding yourself if you think billions of people are clueless and Free Software has all the answers, if only there were a little more budget. Just look at the worldview evident in your comment. That sort of talk will make most anybody glaze over, and you immediately lose your chance to pull them to a better way of doing things. “Only use things to which you can read source code.” What’s source code? Nobody cares about the ideals. Adapt accordingly if you want to effect meaningful change. That’s my point.
There’s literally decades of proof based on what’s successful that we don’t have a firm grasp of how to adapt software freedom to Joe Random. You and I both know it’s better. Now figure out how to tell them and design systems that are palatable to the average user.
That’s my other point: I don’t think a customizable system with Free Software ideals in mind can sufficiently protect and be useful for the average user. I want to be proven wrong.
The FSF itself might specifically not be capable of this (due to an aesthetic formed from decades of waging trench war), but a generic Free software organization certainly would be. What's missing is the billion dollars to develop, refine, and endlessly promote this idea, because there is no scalable profit in actual Free software!
I don't think we're actually disagreeing on the above lead-in topic - we're just coming at this from wildly different paradigms. My comments are not trying to convince "billions" of people - I'm resigned to the fact that people will tend to choose the shiny promoted thing, even when the shininess itself is paid for by the harm being done to them!
But that does not mean that people who should know better (eg programmers) should find justification, or even escape scorn, for creating such things. Eroding users' ultimate control over their devices goes past the paternalism of protecting careless/ignorant users, and into the territory of malfeasance. Such things are against any basic sense of professional ethics - the same type of principle-agent violation as a sysadmin who creates a backdoor for their future self.
To bring this back to something concrete, look at the paradigm of control promulgated by contemporary bootloaders. Verifying running code is a worthwhile goal, but there is no reason this requires trust rooted in manufacturer-kept keys. Rooting the trust in symmetrical algorithms or user-loaded signing keys would accomplish the same exact goal while still preserving user freedom. And then the default scheme of only trusting code signed by the manufacturer would be implemented on top of that. But doing so would require a little more implementation complexity (giving up control inherently makes things harder), and be less profitable.
> There's literally decades of proof based on what's successful that we don’t have a firm grasp of how to adapt software freedom to Joe Random
My above points are essentially refuting your point here. The lack of mass-appeal Free software does not imply we don't know how to make it, as it can also be explained by simply not knowing how to fund it!
There are plenty of things in life that have rough edges and "average users" have ultimately learned to "not do that". Software is at an analogous stage to people putting water in the engine oil because of "one simple trick", but this does not justify welding the hood shut on all new cars!
Corporate proxies today are obscenely intrusive and if anyone even knows what a "root CA" is they have no idea what it's used for. Many places get people to install them on to personal devices and of course most people do as instructed. This is the environment in which most people do their "computing" and it's all they know.
If you don't want to participate in mainstream computing with it's certificate authorities and authoritarianism, there are always alternatives for you to use.
Use Linux, use hardware which focuses on freedom and privacy, these options are freely available.
Not in a proper microkernel, so that's fixable.
>Thus I say: Good on Savitech for not being afraid to rebel against; and fuckings to the corporatocracy that is certificate authorities and the authoritarian security industry.
"Fuck to the CAs" I get.
But there's nothing about what Savitech did that's good.
But the reality is that most people are not software engineers and prefer computers that have proper safeguards against malware.
On smartphones permissions are pretty obvious (Camera, Contacts, Location, Pictures) but even they sometimes have consequences beyond the obvious.
How would would one even begin to word a certificate store permission so that the average person would understand the consequences of it?
> " Mom, just click OK whenever this box pops up"
> Do you trust this program to make security changes to your device? [More details]
Developers get away with this because, 1) individually selecting permissions is growing rare and 2) there's no pressure to explain why a permission is needed, nor specific contracts to agree upon on how the general permission may be utilized.
- Using sys.whatever.whatever [redtext][Should only ever be used for debugging.]
I can't remember what app it was but it had an insane amount of unnecessary permissions even though it was just a simple app. I used to tell people it was my NSA app.
The counter to that is that now I believe there are a bunch of Exchange clients on Android that will simply ignore server policy or where handling of policy can be controlled in the settings, which kind of defeats the point.
The original point of all those policies was to be able to erase supposedly secure content if the device was lost or if someone left the company for whatever reason.
Edit: the Exchange client I was thinking of is TouchDown, now owned (and EOLed) by Symantec but I believe originally from NitroDesk.
Same way you educate people on how to vote: functional literacy [0]. If people are functionally illiterate, they are going to struggle in all sorts of ways. One of the big drawbacks of our society is that its complexity seems to be growing without bound. This places ever-higher demands on people's ability to read, interpret, and act upon important information in their daily lives.
User testing revealed that most users clicked the little cross in the top corner.
:headwall:
Except when it isn't: https://www.extremetech.com/extreme/229040-microsofts-latest...
The original discussion was on the level of "assuming we can trust the OS that it's not trying to trick us, this dialog helps us decide whether to trust the app." As we have seen in the past, Windows no longer upholds this assumption.
Unfortunately all "secure" or "trusted" computing efforts seems to be focused on depriving the owner of permissions and command over the computer, and instead transfer that to large copyright holders.
But I suppose the Android security model would make sense, which seems to be based on a traditional unix security model combined with that each program will run as a separate user and having it's own set of group memberships.
As long as I don't need to install a rootkit on my own computer.
But the problem is the user interface and programming environment is shit for anything past basic stabby finger novelty apps and no one trusts them enough to invest heavily in it. Oh and the store is a desert of turdblossoms.
https://developer.microsoft.com/en-us/windows/bridges/deskto...
UWP is more than capable of supporting advanced, quality desktop apps. The issue is just that while Windows 7 is so prevalent, developers have little reason to prioritize native UWP dev, which won't run on half the Windows userbase.
I trust my distro vendor, but on Windows this likely remain the wild west for years to come.
But device drivers for a desktop machine? The user has paid good money for that device and are going to grant every permission they need to get it working. Asking for each permission individually is just noise.
Consider a user that has no idea what SSL, TLS, Certificates, Encryption, HTTP, drivers, program signing even mean. What do you put in the prompt that would allow the user to make an informed decision about whether a program they downloaded should be able to install a cert?
If Microsoft (or any vendor) wants to sell security, they have to be responsible. Then they have to sign the drivers.
Yes, it's a whole lot of Single Point of Fuck, but that's what it takes. Hence we have the CA model. We have a "few" trusted authorities.
This could be made into a reputation market thing. So the user could buy security from a vendor. If a vendor is too strict, it'll have few users. If a vendor is too lax, we need a negative signal to penalize its reputation, maybe IP packets should contain a sort of fingerprint of the vendor. So if we see a lot of spam/DDoS from a vendor, it should cost them.
Think about it this way. I've never seen anyone complain about full disk encryption on an iPhone 6 or later. Do the same on a Windows machine with 5400 rpm spinning rust...
Notably, some parties in the newly minted government have declared their intention to ignore the referendum. They back this by two arguments "It is needed for security" and "We are going to remove the advisory referendum anyway, so we get to ignore this one".
That second point is kind of interesting, because the referendum is possible due to a rather new law. We had one before that went rather poorly, so now we want to get rid of it.
The actual law is here [1] this site [2] advocates for the referendum. I'm afraid I don't know of any english sources.
Quoting from the law, and applying my own translation
>>
Article 45. Member 1
The services are authorized to:
a. (Basically, do exploratory searches of networks)
b. Use false signals, false keys, false identity or intervention by third parties to gain acces to automated systems. This can be done with the help of technical tooling.
Article 45. Member 2 The authorization from member 1b above also authorizes:
a. The defeating of any security measures
b. Installing technical measures to reverse encryption on data stored or processed by automated systems. c. (references article 40)
d. To copy data stored or processed by an automated system.
Article 45 Member 2 (summarized, the government needs to give written permission for any of the above to happen)
>>
This seems to be the referenced passage based on a preliminary search.
[1] https://zoek.officielebekendmakingen.nl/kst-34588-A.html
Most of this separation is done on good-faith already, but it should be done in a more discrete manner.
"[T]he term 'protected computer' means a computer [...] which is used in or affecting interstate or foreign commerce or communication, including a computer located outside the United States that is used in a manner that affects interstate or foreign commerce or communication of the United States"
"[T]he term 'damage' means any impairment to the integrity or availability of data, a program, a system, or information"
The correct solution would be for microsoft to allow unsigned drivers (perhaps with a warning.)
In a sense, your security becomes dependent on the security of Savitech. I imagine their private key is not as securely stored as a real CA would store theirs. (e.g. with Superfish, Lenovo included the private key on all laptops, for anyone to grab[1])
[1] https://en.wikipedia.org/wiki/Superfish#Lenovo_security_inci...
You can also add your own cert to the root certs list of any of the browser, then any site's key's signed by your cert is gonna be trusted. Next time, check whenever your browser says "Don't trust this site", then explore the key chain.
Other applications like Firefox have their own independent root CA store.
We are looking for somebody who can run aforesaid event fifty times a year for the general public without anybody falling in any of the machinery. In hindsight drunk people in an industrial workplace was a mistake, and so we can and should demand they do their best to make it safe, but perfection just isn't to be expected.
Microsoft should mark these as malicious and quarantine them using their built-in AV. If the end user needs them he can remove them from quarantine. Posting advisories no end user will ever see isn't helping much.
And what kind of odds do I get on the certs having a EKU for anything but driver signing?
However, once you have installed your own root CA certificate on a computer means you can read all HTTPS traffic originating from that computer, and fake responses. Likely, thanks to having installed that certificate you can read someone's emails, move money out their bank account, and view any files they have stored online.
The effect of installing a certificate is broadly similar to the effect of installing a keylogger, and in neither case have you been given a right to do so. In both cases you have altered someone's computer in such a way that you are able to read their encrypted communications, which is certainly in the spirit of what malware means to me.
I'm sure that the intent in this case was not malicious, but we would not accept software installing a keylogger because they wish to measure your typing speed, and we should not accept this.
What other explanation is there? Is there a valid reason for an audio driver to silently install a CA cert?
Some of your competitors have had their current root certs in device preinstalled for a lot longer than you. Entrust and GlobalSign have 2048 bit roots with Not Before before 2000.
If I'm going to go with a Johnny come lately root, I may as well use LetsEncrypt because it doesn't cost money. Also, audio drivers may get you desktop share, but getting into the platform store on mobile is a lot harder.
Purposes other than TLS server and /maybe/ S/MIME are not subject to any meaningful public oversight, you are entirely trusting Microsoft. Which for drivers, or Xbox games is probably fine but it's worth keeping in the back of your mind.
I prefer RCC (root certificate checker) and have used it in the past, but the website seems to be suspended.
curl https://example.com/some_script.sh | bash
A lot of people don't check those. Use the non-OSS nvidia or ATI drivers? You have binary blobs (don't for ATI btw, the OSS ones are 10x better). Use bluetooh/Wi-Fi on Linux, congratulations you are using closed binary blobs.I still love Linux, but I don't hate windows. We're not in the 90s. Bill Gates isn't master of the Borg.
No, its not the 90s. Now its worse!