24 ms·
`mitigations=off` in your GRUB_CMDLINE_LINUX_DEFAULT to disable Spectre/Meltdown mitigations, in case anyone is wondering. This page has a pretty decent write-u
by neilsimp1 5y ago
`mitigations=off` in your GRUB_CMDLINE_LINUX_DEFAULT to disable Spectre/Meltdown mitigations, in case anyone is wondering. This page has a pretty decent write-up on it: https://leochavez.org/index.php/2020/11/16/disabling-intel-and-amd-cpu-vulnerability-mitigations/ https://leochavez.org/index.php/2020/11/16/disabling-intel-a....
- dijit 5y agoI love that this is a toggle like this, having control of my system is why I love Linux. But I must caution desktop users against doing this for performance, it's _much_ better to have some kind of build server somewhere else with this kernel flag than to run it on your desktop. Why? because your desktop executes untrusted and rather arbitrary code pretty often, not just in the form of Javascript but that's the largest example I can think of. Right now there's a kind of herd immunity for these things, nobody would really attack spectre because everyone is running mitigations, but if you make the target large enough there will be working exploits. For isolated machines running trusted workloads (thinking: databases or webservers serving static content) then it's a really nice flag to have on-hand.
- tyingq 5y agoNice 3rd party toggle for windows: https://www.grc.com/inspectre.htm https://www.grc.com/inspectre.htm Or a Powershell script from MS: https://support.microsoft.com/en-us/topic/understanding-get-speculationcontrolsettings-powershell-script-output-fd70a80a-a63f-e539-cda5-5be4c9e67c04 https://support.microsoft.com/en-us/topic/understanding-get-...
- rkagerer 5y agoI'd like some more technical details on what exactly InSpectre does (specifically for the Meltdown patch). e.g. Does it just flip a registry key? Rewrite a microcode patch somewhere? Couldn't find an explanation in the software (even under Show Tech Details) or on their site; could you point me to it? Also, do all the major browsers now have their own mitigations built in?
- rkagerer 5y agoAnswering my own Question #1: Looks like it sets values for FeatureSettingsOverride and FeatureSettingsOverrideMask under the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" registry key. FeatureSettingsOverride is a bit field where bit 0 controls the mitigation for CVE-2017-5715 (Spectre) and bit 1 controls it for CVE-2017-5754 (Meltdown). If the bit value is 0 the corresponding mitigation is enabled, if 1 it's disabled. FeatureSettingsOverrideMask is simply a mask to control which bits of FeatureSettingsOverride to apply. So, for example, FeatureSettingsOverride = 2 and FeatureSettingsOverrideMask = 3 would enable the Spectre mitigation (if available) and disable the Meltdown one. More info here: https://support.microsoft.com/en-us/topic/windows-server-guidance-to-protect-against-speculative-execution-side-channel-vulnerabilities-2f965763-00e2-8f98-b632-0d96f30c8c8e https://support.microsoft.com/en-us/topic/windows-server-gui... https://gist.github.com/daBONDi/6f86210e54c68e84e85372fc4d1f0d82 https://gist.github.com/daBONDi/6f86210e54c68e84e85372fc4d1f... Haven't checked if the program emits different behavior for other CPU's or OS versions.
- Datagenerator 5y agoPropitiatory big brother OS has some cryptic setting, so? Linux and BSD give the user all sorts of freedom Microsoft never will. Freedom to research the source, ability to disable telemetry if that would exist and so on.
- asdfasgasdgasdg 5y agoFor anyone considering whether to disable these for desktop performance, I tried to do some research on how much it helps, at least for my workload. From what I was able to read, for gaming, the performance differences are negligible. There also seems to be some indication that disabling mitigations is also harmful to performance on more recent CPUs, since more and more of the mitigations are being baked into the silicon. https://www.reddit.com/r/intel/comments/kp6b6i/how_bad_is_it_to_disable_specter_and_meltdown/ https://www.reddit.com/r/intel/comments/kp6b6i/how_bad_is_it...
- ncann 5y agoThat Powershell script seems to show the current status only, and not have any option to turn the protections on/off?
- IshKebab 5y agoKind of feels like apps should opt in to (or out of) mitigations individually. Obviously a web browser needs it, but does Clang? VSCode? Zoom? Probably not.
- dijit 5y agoThree main things here: 1) we can’t trust people to categorise their own apps because the incentive for performance over security is a trade off we’ve all made time and time again. 2) efforts to address mandatory access controls have a coloured history here: selinux and apparmor both have very low adoption rates no matter your personal anecdotes. 3) These mitigation’s are so thorough that it would be more expensive on performance to even _check_ per application than it would be just to enable it everywhere.
- staticassertion 5y agoI don't think that (3) is true.
- dijit 5y agoHow would you implement such a change? Considering that you have: A) some list of allowed applications/programs B) a run of this check on every syscall C) to be faster than a TLB flush
- staticassertion 5y agoI don't know but I can't imagine a highly predictable branch being slower than a TLB flush.
- dijit 5y agoWell consider the fact that checking a table of “ok” programs is a branch and a lookup in of itself.
- dustingetz 5y agoyour desktop is already rooted by Zoom
- bostonsre 5y agoSeriously. I hate zoom, there are so many features that smell like malware (how when a call starts sometimes my system level volume no longer is controllable and I have to go to zoom settings to control it. I have windows+wsl, but it's happened on macs in my company as well). Google gets a lot of hate, but I like their meeting tool because they keep it simple and it works.
- matsemann 5y agoI just changed company. Wish I could go back to Zoom. Google Meet is horrible. I have to open Chrome for all meetings, as it (probably intentionally) runs worse in other browsers. But even in Chrome there are issues. Some workloads (like running tests) can take 5x as long on my system if I'm sharing my screen on Meet. Making working with others more hassle than it should be.
- jacquesm 5y agoThis is fair, but at least you're sure that when you close the window that it's gone and that is as far as I'm concerned its biggest feature. Oh, and that it seems to work well on all platforms.
- cj 5y ago“Close browser tab” - immediately exits a Google Meet. Closing a Zoom/Webex meeting, who knows since it’s still running in the background. I also like meetings sandboxed in a browser so weird things like “automatically take control of your screen and maximize window” doesn’t happen when someone in a Zoom meeting starts sharing their screen. Even at the expense of more CPU.
- teddyh 5y ago
- josefx 5y ago> not just in the form of Javascript but that's the largest example I can think of. As far as I understand browsers still get owned at every pwn2own. So you might want to stop running untrusted JavaScript anyway.
- swiley 5y agoI'm continually shocked that people are so ok with automatically executing any code random sites they connect to shove at them.
- alisonkisk 5y agoCode is data. Data is code.
- bruce343434 5y agoViral bacteria are matter. Matter is viral bacteria.
- swiley 5y agoIt's more or less impossible to express recursion (in the same ways you can with js) with pure css/html. If you want to be overly reductionist then you can argue nothing matters because your just staring at a box with lights in it.
- dijit 5y agoI don't want to go into this topic because frontend developers are very defensive of their capability to Javascript on people, they often cite javascript adoption numbers as proof that it's fine to make it mandatory or cite complex web applications as a reason for it to be mandatory for all sites, which I personally find to be a false dichotomy. I tend to agree with what you're saying but the ship has sailed very much and running without javascript is a losing proposition these days. (my web browser starts up with javascript disabled except for some whitelisted sites and it usually only takes 15 minutes for me to find something completely broken on the internet and re-enable javascript entirely).
- temac 5y ago> I love that this is a toggle like this, having control of my system is why I love Linux. You can disable mitigations on Windows too.
- SteveNuts 5y agoYeah but the next update will probably turn it back on silently...
- a1369209993 5y agoUnlikely; Windows updates (mostly) only turn things you disabled back on if they're harmful to you.
- saurik 5y agoYeah: and disabling mitigations for an attack certainly wouldn't be considered "harmful" by anyone.
- toomanyducks 5y agoidk about this, my anecdotal experience suggests otherwise - irrelevant things (i.e., monitor resolutions, mouse acceleration curves, and I think DNS settings at one point) can be thrown around by updates a bit too frequently in my experience.
- Causality1 5y agoI have a tablet that was unusable before I installed WuMgr and blocked auto-updates because every 24 hours Windows Update would force-install a broken touchscreen driver. Windows Update is the single most embarrassing, half-assed software project of the 21st century.
- porphyra 5y agoPhoronix has comprehensive benchmarks on the impact of spectre mitigations if you want to find out how much of a difference it will actually make before exposing your system: https://www.phoronix.com/scan.php?page=search&q=Spectre https://www.phoronix.com/scan.php?page=search&q=Spectre
- kurikuri 5y ago>desktop executes untrusted and rather arbitrary code pretty often Aren’t the most affected group of users cloud users (and providers), not desktop users? I thought the biggest risk of specter attacks is the ability to glean information on other server residents who should be segmented off. There are many more concerns in user space which make attacking a desktop with specter pretty cumbersome for low reward wrt opportunity cost. The performance savings of speculative execution do seem to be worth the risk on a desktop IMO.
- foobarbazetc 5y agoYeah, this is mostly an issue in the cloud where you share SMT threads with other people.
- chithanh 5y agoTo be more precise, running different cloud customers on different SMT threads of the same core allows them to attack each other. This is also the case with Spectre-related vulnerabilities such as L1TF.
- tcoff91 5y agoI was under the impression that spectre is is much more limited in scope than Meltdown. I think you have to be in a position to influence the execution of the program you are trying to extract information from. Like JavaScript engines running in browsers. One example is your JS can be used to get the browser to speculatively execute something that leaks data. I think that it’d be pretty hard for one VM to set up a spectre attack on another arbitrary VM. Meltdown however does expose everything.
- tabokie 5y agoAt least on AWS EC2, malicious neighbors won't be an issue. "This issue has been addressed for AWS hypervisors, and no instance can read the memory of another instance, nor can any instance read AWS hypervisor memory. We have not observed meaningful performance impact for the overwhelming majority of EC2 workloads."[1] [1] https://aws.amazon.com/speculative-execution-os-updates/ https://aws.amazon.com/speculative-execution-os-updates/
- Abishek_Muthian 5y ago> I love that this is a toggle like this, having control of my system is why I love Linux. The need to keep telling this loud and clear for the manufacturers to hear is more needed now than ever since computers are becoming closed systems like smartphones and Manufacturers are claiming 'Customers not having to make hard decisions' to do so.
- nemetroid 5y agoIn your kernel command line, to be more precise. If you use Grub as your boot loader, this can be achieved by adding it to GRUB_CMDLINE_LINUX_DEFAULT.
- amelius 5y agoWhat if your system is virtualized?
- rbanffy 5y agoIf you are pinned to a core, as non burstable instances should be, you are still pretty much vulnerable. Having noisy neighbours will pollute caches and make extracting data harder, but, eventually, everything will leak out. I’ve been thinking what would happen if cores would be pinned to separate security domains - all kernel processes run on one set of cores and user processes on others. I imagine microkernel OSs could go that way much easier. If kernel and user space communicate only by messages and shared data, there’s no reason they’d need to even share an ISA.
- amelius 5y agoIsn't the entire memory hierarchy (caches) part of the problem?
- rbanffy 5y agoYes. You’d need to split caches by security context too.
- lanstin 5y agoMaybe each security context needs to be in its own cloud account and own network. Long ago it was an axiom that if you share a call stack in a process you trust each other. Perhaps the current truth is if you share hardware you trust each other.
- rbanffy 5y agoThat should work with multiple services, but not in a user/kernel split as we have today.
- lumost 5y agohas there been any research on what hardware changes would be necessary to reclaim performance? I've noticed extreme stutter events on desktop OSX for the last 2 years. Would be curious if its related.
- jodrellblank 5y agoSeems like there’s a lot of people with stuttering macOS https://apple.stackexchange.com/questions/245429/cursor-freezes-for-a-split-second-around-every-10-seconds https://apple.stackexchange.com/questions/245429/cursor-free... USB-C and USB 3.0 devices are one common cause, Bluetooth mouse interference by USB another, and external monitors after sleep/wake another.
- desert_boi 5y agohttps://apple.stackexchange.com/questions/407177/windowserver-high-cpu-using-external-monitor-big-sur/408444#408444 https://apple.stackexchange.com/questions/407177/windowserve... started happening in Big Sur to me.
- davidwf 5y agoI know this is random but my Bluetooth mouse was driving me absolutely nuts, and this workaround (which involves a GUI instead of running some random script off the internet) was an absolute lifesaver: https://apple.stackexchange.com/questions/377853/macos-catalina-blueoothd-high-cpu-iobluetoothbroadcomschedulerworkaround-issue?rq=1 https://apple.stackexchange.com/questions/377853/macos-catal...
- foobiekr 5y agoYou can turn macOS into Windows 3.1 reading a floppy by mounting an SMB share with a ton of small files and running an rclone sync between it and an external drive that has previously completed a sync. The stat() operations make the kernel go crazy. It’s the most appalling thing I’ve seen and has been broken like this since Catalina where it arrived as a massive performance regression.
- 5y ago
- BeeOnRope 5y agoIt's worth noting that mitigations=off doesn't even restore all the performance, compared to kernel versions before Spectre mitigations were added at all. mitigations=off can only "patch out" some expensive instructions in the syscall path, or sometimes take a different path entirely, but it can't go back to the simple code before this was added in the first place. It also can't undo effects of compiler flags like -mindirect-branch which change the compiled code. I haven't tested it recently, but when I looked at this more than a year ago, the numbers for a simple syscall (which doesn't do much work beyond the syscall mechanics itself) were something like 130ns, 250ns, 700ns for a "pre mitigation kernel", "new kernel with mitigations=off" and "new kernel with mitigations=on". Some of the numbers have improved since then as better mitigations have been found, and/or improved CPU support for mitigations via microcode updates.
- blarg1 5y agoI wonder if I would be safe to use this if I removed all my sensitive passwords from the browser's password manager and/or harddrive? Does anyone know what is at risk from these exploits?