News for hackers. Stuff that matters.
Re:A call to reconsider memory address-space isolation in Linux by 323 on Friday September 30, 2022 @09:44AM (#33034751)
Windows already does this for a number of years.

Drivers which run in kernel space are not allowed anymore to access whatever they want, and Windows own kernel space data structures are protected against modifications by other kernel mode running code (kernel patch protection).

Re:A call to reconsider memory address-space isolation in Linux by hinkley on Friday September 30, 2022 @11:39AM (#33036337)
And Windows needed that feature much, much earlier.

One of the open secrets about windows is that in the 3.1 to 98 era, quite a large percentage of system crashes were actually caused by Creative Labs’ audio drivers. Those guys could not produce stable software if their lives depended on it.

But I don’t blame CL for Windows being crash prone. Microsoft made a choice and a compromise to get popular. A permissive driver model made them more popular with customers. If you pander, then the rewards and the consequences are both yours to enjoy.

MS tried to have their cake and eat it too back then. They wanted everyone to think they were the most sophisticated and powerful company because they were the smartest company in the world (which was the internal dialog at the time according to insiders I interviewed), but at the same time that it was all dumb luck and they couldn’t control anything.

Re:A call to reconsider memory address-space isolation in Linux by Stamp01 on Friday September 30, 2022 @02:07PM (#33038408)
Many successful companies and individuals fall into that trap of being unable to differentiate between talent and luck. I'm certainly not saying Microsoft doesn't employ plenty of very talented individuals. But it also takes some fortunate twists of fate to succeed, which were completely out of Microsoft's control. Success is never guaranteed.
Re:A call to reconsider memory address-space isolation in Linux by hinkley on Friday September 30, 2022 @04:50PM (#33040607)
Probably didn't help that Microsoft was founded at the end of the Corporate Raider era either. If you ran a company and decided that one of your big successes was being in the right place at the right time, you might keep a bigger war chest to get you through your next bad luck window. But that pile of liquid assets paints a big bullseye on your forehead.

It was 'better' to just assume you were awesome and hope your luck held for years on end. And if it didn't, then you could tell a story about how talent got you big and bad luck took you out. No, it was luck both ways or skill both ways.

Re:A call to reconsider memory address-space isolation in Linux by dralley on Friday September 30, 2022 @12:26PM (#33036944)
The same was true with Windows Vista and Nvidia graphics drivers

https://www.engadget.com/2008-03-27-nvidia-drivers-responsib...

Re:A call to reconsider memory address-space isolation in Linux by swinglock on Friday September 30, 2022 @12:58PM (#33037374)
Audio drivers being the bane of Windows stability didn't truly stop until Microsoft took Creatives toys away by force with Vista's new audio stack. Instead the new GPU drivers indeed took over that role, but at least more temporarily.
Re:A call to reconsider memory address-space isolation in Linux by delusional on Friday September 30, 2022 @02:43PM (#33038919)
Intel Rapid Storage technology is another absolute trash piece of software.
Re:A call to reconsider memory address-space isolation in Linux by wtallis on Friday September 30, 2022 @07:47PM (#33042193)
Fortunately, Microsoft is effectively killing off those storage driver messes by having DirectStorage only support the standard Microsoft NVMe driver
Re:A call to reconsider memory address-space isolation in Linux by rafale on Friday September 30, 2022 @09:50AM (#33034819)
That's super interesting. Does it use some special CPU feature? The CPU usually let code running in kernel context do whatever it wants.
Re:A call to reconsider memory address-space isolation in Linux by 323 on Friday September 30, 2022 @10:19AM (#33035191)
In Windows 10/11 the core of the Windows kernel can run in a virtual machine totally separated from the rest of the kernel.

> HyperGuard takes advantage of VBS – Virtualization Based Security

> Having memory that cannot be tampered with even from normal kernel code allows for many new security features

> This is also what allows Microsoft to implement HyperGuard – a feature similar to PatchGuard that can’t be tampered with even by malicious code that managed to elevate itself to run in the kernel.

https://windows-internals.com/hyperguard-secure-kernel-patch...

Re:A call to reconsider memory address-space isolation in Linux by forgotpwd16 on Saturday October 01, 2022 @03:55AM (#33044858)
Very nice. Windows kernel devs is of the few good things Microsoft retains.
Re:A call to reconsider memory address-space isolation in Linux by leeter on Friday September 30, 2022 @10:20AM (#33035211)
Not a Windows Kernel Dev. But my understanding is it's more a tripwire than anything else unless virtualization based security is turned on. If that is activated then the Kernel has complete isolation from non-MS drivers and can prevent them from accessing critical data structures. MS has a list of known drivers that don't work with this and prevents users from activating it if it will break things.
Re:A call to reconsider memory address-space isolation in Linux by maldev on Friday September 30, 2022 @11:08AM (#33035907)
Ya, you can look at the bugcheck codes and see the mechanism that does this. Since patchguard will always throw that bugcheck code, I think it's 0x109? It just does random scans and sees if it matches, it's nothing fancy. Even with VBS(virtualization based security) it functions the same and will still allow a driver to modify it, then crash. In windbg you can see this by "!analyze -show 0x109" assuming that its 0x109.
Re:A call to reconsider memory address-space isolation in Linux by mmis1000 on Friday September 30, 2022 @02:54PM (#33039076)
I think VBS's role is ensuring you can no longer patch the PatchGuard itself? Because the guard itself is no longer in the kernel and you can do nothing with it.

But I heard VBS has a ~10% overhead compared to not enable it. I wonder what does cost this. Enable hyperv itself didn't really cause observable difference though.

Re:A call to reconsider memory address-space isolation in Linux by maldev on Friday September 30, 2022 @04:37PM (#33040476)
VBS's role is to mirror the kernel and wall it off through a hypervisor. So your kernel/usermode can't access the secure version. This basically lets it compare the "secure" kernel and the regular kernel structures. Things like the process list, Driver executable regions, signatures, and such are mirrored. So when a process spawns and it's added to the process/threadlist. Those operations are mirrored in the secure kernel then randomly checked for security.

VBS also secures things like the scan timer/event and some other methods people used to use to disable it. http://uninformed.org/index.cgi?v=8&a=5&p=18 .

The performance impact shouldn't really be noticeable at all. All you have is some memory operations which are "Duplicated", but not really since COW. But i'm not that much of an expert on patchguard besides the really basic functions.

Re:A call to reconsider memory address-space isolation in Linux by galangalalgol on Friday September 30, 2022 @10:07AM (#33035012)
I'm curious what software is telling the kernel no. What enforces this?
Re:A call to reconsider memory address-space isolation in Linux by ape4 on Friday September 30, 2022 @10:19AM (#33035198)
Why the kernel of course (joke attempt, I am wondering too)
Re:A call to reconsider memory address-space isolation in Linux by salawat on Friday September 30, 2022 @10:26AM (#33035282)
Probably firmware/hardware.
Re:A call to reconsider memory address-space isolation in Linux by monocasa on Friday September 30, 2022 @10:53AM (#33035696)
It's the type 1 hypervisor it wants to run on top of.
Re:A call to reconsider memory address-space isolation in Linux by salawat on Friday September 30, 2022 @12:52PM (#33037286)
Then would not the type 1 Hypervisor then become the "kernel" seing as we've defined kernels as "that chunk of code capable of unrestricted access to machine state"?
Re:A call to reconsider memory address-space isolation in Linux by monocasa on Friday September 30, 2022 @01:28PM (#33037845)
The line blurs for sure.

I would say it's 'a' kernel. The idea of there only being one kernel is probably a concept that makes for nice layered diagrams, but doesn't come close to describing reality because of the combinatorial complexity of options for different morphs of layering. Sort of like the OSI network layers model in that way.

Re:A call to reconsider memory address-space isolation in Linux by jandrese on Friday September 30, 2022 @12:26PM (#33036933)
The memory mapper. One of the side benefits of relocatable code is the ability to enforce policy at point of access.
Re:A call to reconsider memory address-space isolation in Linux by badrabbit on Friday September 30, 2022 @11:07AM (#33035891)
Windows actually uses a cpu feature for kernel patch protection right? I remember trying to figure out why Linux doesn't.
Re:A call to reconsider memory address-space isolation in Linux by pjmlp on Friday September 30, 2022 @01:44PM (#33038109)
On modern Windows, it actually always runs as guest on Hyper V, and thus many such protection mechanisms ping back on virtualization.

Secure kernel and driver guard are another features with similar protection level.

Re:A call to reconsider memory address-space isolation in Linux by badrabbit on Friday September 30, 2022 @02:09PM (#33038442)
Are you talking about VBS/HVCS? Isn't that optional or is it on by default for kernel stuff?
Re:A call to reconsider memory address-space isolation in Linux by pjmlp on Friday September 30, 2022 @02:12PM (#33038490)
Optional on Windows 10, compulsory on Windows 11.

One of the reasons for the hardware requirements.

Re:A call to reconsider memory address-space isolation in Linux by badrabbit on Friday September 30, 2022 @04:10PM (#33040123)
Wow, didn't know thanks.
Re:A call to reconsider memory address-space isolation in Linux by l33t233372 on Friday September 30, 2022 @02:36PM (#33038810)
How can code be running in kernel mode if it doesn’t have unrestricted memory access?
Re:A call to reconsider memory address-space isolation in Linux by johntb86 on Friday September 30, 2022 @02:45PM (#33038940)
The page tables can be set up so kernel-mode code doesn't have access to all of memory. You could get around this by modifying the cr3 register to point to a different page directory, but that could cause problems whenever a context switch happens and cr3 is reverted. Microsoft also has PatchGuard, which could probably detect changes like that.

In theory you could work around all these protections, but it would be difficult and fragile.

Re:A call to reconsider memory address-space isolation in Linux by josephcsible on Friday September 30, 2022 @09:58AM (#33034907)
> Drivers which run in kernel space are not allowed anymore to access whatever they want

I don't like this. It's one thing to have memory the kernel doesn't usually need be unmapped by default, but it's another to prevent you from mapping it when you do need it. This reeks of DRM.

Re:A call to reconsider memory address-space isolation in Linux by colejohnson66 on Friday September 30, 2022 @10:39AM (#33035509)
Prior to Microsoft changing things with Vista, drivers were free to rummage about and break systems. Blue screens were a common thing back then because drivers weren't careful. It's why Vista had such a bad rap for breaking systems; It exposed the driver authors who didn't care about safety.

Also, why does every kernel-safety measure have to be seen as anti-user or DRM? You're free to disable it[0] if you wish, just like Apple's SIP. It's there to keep users who don't know anything safe. Would you like it if an innocent looking piece of software was able to hide itself from the user (read: you) and the OS?[1] Preventing such attacks doesn't sound anti-user to me.

[0]: https://windowsloop.com/disable-enable-device-guard-windows-...

[1]: https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...

Re:A call to reconsider memory address-space isolation in Linux by blibble on Friday September 30, 2022 @12:29PM (#33036983)
> Also, why does every kernel-safety measure have to be seen as anti-user or DRM? You're free to disable it[0] if you wish,

OP's point was about kernel patch protection

how do I disable that?

Re:A call to reconsider memory address-space isolation in Linux by 0xbadcafebee on Friday September 30, 2022 @10:46AM (#33035604)
> but it's another to prevent you from mapping it when you do need it

How do you know if it's a user needing to use it, or an attacker pretending to be a user needing to use it?

Re:A call to reconsider memory address-space isolation in Linux by josephcsible on Friday September 30, 2022 @02:59PM (#33039158)
I'm willing to accept that if a malicious kernel driver gets loaded, I'm completely pwned.
Re:A call to reconsider memory address-space isolation in Linux by matheusmoreira on Friday September 30, 2022 @10:43AM (#33035562)
No idea why you're being downvoted. This does sound like an anti-user feature. Stuff like this exists to protect third party software from our analysis and "tampering".
Re:A call to reconsider memory address-space isolation in Linux by marcosdumay on Friday September 30, 2022 @12:06PM (#33036726)
It is anti-driver-freedom.

Most users don't want driver-freedom. They want user-freedom, that is easily achieved by keeping the kernel open source and replaceable.

If you want to break some in-kernel protection, you can just patch the kernel and remove it.

Re:A call to reconsider memory address-space isolation in Linux by josephcsible on Saturday October 01, 2022 @09:43AM (#33046537)
> They want user-freedom, that is easily achieved by keeping the kernel open source and replaceable.

The original comment I replied to was about the Windows kernel.

Re:A call to reconsider memory address-space isolation in Linux by dagmx on Friday September 30, 2022 @10:55AM (#33035734)
Can you elaborate how this feels anti-user?
Re:A call to reconsider memory address-space isolation in Linux by matheusmoreira on Friday September 30, 2022 @12:04PM (#33036700)
As the owner of the machine, I should have total access to everything. There should be no protected memory I can't read, no execution I can't trace. The number one user of such security features are "rights holders" that consider me hostile and want to protect their software from me, the owner of the machine it is running on. The result is a computer that is factory pwned. It's not really my computer, they're just "generously" allowing me to run software on it as long as it doesn't harm their bottom line.

Virtualization based security, the technology enabling this, also enables DRM. It is currently required by Netflix for 4k resolution streaming.

Re:A call to reconsider memory address-space isolation in Linux by dagmx on Friday September 30, 2022 @01:21PM (#33037733)
How do you propose having security in that world? Should any process be able to access the memory of any other process? Should you opening a web page allow you a security issue there to be able to access your running applications?

I guess my question is, you seem to have a very hardline “everything” take that I don’t think extends to the real world

Re:A call to reconsider memory address-space isolation in Linux by josephcsible on Friday September 30, 2022 @03:00PM (#33039167)
You're confusing "I" should have access to all the data on my machine, with "anything running on my machine" should have access to all the data on my machine.
Re:A call to reconsider memory address-space isolation in Linux by ikiris on Friday September 30, 2022 @06:12PM (#33041465)
Ahh right, I forgot about the "user requested" security flag. Makes sense.
Re:A call to reconsider memory address-space isolation in Linux by matheusmoreira on Friday September 30, 2022 @04:11PM (#33040131)
> Should any process be able to access the memory of any other process?

Any process? No. My processes? Yes. That includes "sensitive" memory like cryptographic keys.

Re:A call to reconsider memory address-space isolation in Linux by saagarjha on Friday September 30, 2022 @09:18PM (#33042826)
What distinguishes your processes?
Re:A call to reconsider memory address-space isolation in Linux by mckeed on Friday September 30, 2022 @02:29PM (#33038712)
Still build the security protections but allow the administrator to selectively disable/override them.
Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @02:06PM (#33038404)
If you're the admin of the system you can just load up your own kernel, or kernel modules, etc.
Re:A call to reconsider memory address-space isolation in Linux by threeseed on Friday September 30, 2022 @08:24PM (#33042456)
> I should have total access to everything

You do have total access. You chose to install an OS that wants to limit it.

Re:A call to reconsider memory address-space isolation in Linux by reacharavindh on Friday September 30, 2022 @09:35AM (#33034644)
Not a kernel developer. It sounds like a useful feature in some contexts(shared hosts, multi-tenant setups etc.), but useful to run without these constraints when it doesn't apply(HPC doing one thing using all available resources). Couldn't this feature be implemented as a feature flag in the kernel to say enable this if you need(and disable if you know what you're doing)?

As a side benefit, over time if smart folks find a way to reduce the overhead from this feature close to negligible levels, the feature flag would become unnecessary..

Re:A call to reconsider memory address-space isolation in Linux by m000 on Friday September 30, 2022 @09:20AM (#33034494)
> Sometimes, though, there will be a need to access sensitive memory. An important observation here, Weisse said, is that speculative execution will never cause a page fault. So, if the kernel faults while trying to do something with sensitive memory, the access is known to not be speculative; the kernel responds by mapping the sensitive ranges and continuing execution.

So, is the isolation patch a real solution to speculative execution attacks? Or is it just adding another hurdle for the attacker to jump?

I.e. (if I interpret this correctly) the attacker would just be forced to add a "priming" stage, where they will trick the kernel to map the sensitive ranges they need for their speculative attack. So the effectiveness of the patch boils down to (a) the feasibility of this priming stage, and (b) for how long can the attacker keep the mapped memory in place.

Re:A call to reconsider memory address-space isolation in Linux by e63f67dd-065b on Friday September 30, 2022 @09:32AM (#33034608)
I think the idea is that faults on sensitive pages are known to be good, because they can only come when running kernel code. They are unmapped when exiting from kernel code, so in theory there's no way for userspace to speculatively execute on those pages and leak sensitive memory.

It does seem to be a good fix for the root cause of the problem, but I'm skeptical about the details. I haven't look through the patch set, but narrowing down what's sensitive and what isn't is going to be a monumental task.

Re:A call to reconsider memory address-space isolation in Linux by pas on Friday September 30, 2022 @11:42AM (#33036398)
unmapped pages cannot be speculatively executed "into"? (due to TLB flush? which happens during unmapping?)
Re:A call to reconsider memory address-space isolation in Linux by simcop2387 on Friday September 30, 2022 @01:13PM (#33037599)
My understanding is that this is because the tlb update can't be speculated through. That means that once speculative execution hits that barrier it will stop and can't then look at data that would be mapped in if speculation kept going. Basically there's a hard fence there that it won't/can't go past so if you do hit a page fault in kernel space on one of the unmapped pages you know it will be from an active and not speculative thread running.
Re:A call to reconsider memory address-space isolation in Linux by mhh__ on Friday September 30, 2022 @09:34AM (#33034636)
"Good" speculative execution shouldn't be able to speculate isolated memory - isolation does work against Spectre.

Meltdown-type exploits (Older Intel and arm) can "see" across this isolation in some cases, which is why they were such an egregious mistake. Spectre is kind of inevitable whereas Meltdown isn't.

Re:A call to reconsider memory address-space isolation in Linux by kramerger on Friday September 30, 2022 @09:17AM (#33034459)
2-14% performance drop sounds high, I understand people are sceptical. Maybe the subsystems can be structured in a different way to ease the effects of ASI?

Personally, I would rather see a kernel side MPU in feature CPUs

Re:A call to reconsider memory address-space isolation in Linux by tptacek on Friday September 30, 2022 @09:44AM (#33034744)
It's 2-14% offset potentially by whatever the cost is of the other mitigations that it replaces, for whatever that's worth.
Re:A call to reconsider memory address-space isolation in Linux by Filligree on Friday September 30, 2022 @10:03AM (#33034959)
I’m just going to keep turning all mitigations off, thanks.
Re:A call to reconsider memory address-space isolation in Linux by Veliladon on Friday September 30, 2022 @10:28AM (#33035319)
You do you but I hope you've also turned off JavaScript in your web browser.
Re:A call to reconsider memory address-space isolation in Linux by coldpie on Friday September 30, 2022 @12:08PM (#33036756)
Is there any evidence of anyone actually attempting such an attack outside a carefully controlled research scenario? The number of stars that have to align for this theoretical attack to work in practice is so high that I don't think any normal desktop end-user has reason to worry about it. (Shared servers, co-hosted VMs, etc are a different story.)
Re:A call to reconsider memory address-space isolation in Linux by Veliladon on Friday September 30, 2022 @12:59PM (#33037393)
True there isn't at the moment but do you really want to be the first to find out because you left the back door open?
Re:A call to reconsider memory address-space isolation in Linux by coldpie on Friday September 30, 2022 @01:31PM (#33037914)
I'd liken it to refusing to leave your house because you're worried a meteor may strike you down. You're giving up a lot for not much reason.
Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @02:09PM (#33038436)
Not quite. A meteor is an object with no drive or desire. Attackers are adversarial and thoughtful. You can't liken a random event to a purposeful act like this.

It's more like saying "refusing to leave your house because you're worried you might get mugged", which might actually be very reasonable if you live in a bad neighborhood, you're a common target of crime, etc. It may not be reasonable for many others.

But analogies are pretty rough in general.

Re:A call to reconsider memory address-space isolation in Linux by coldpie on Friday September 30, 2022 @02:46PM (#33038945)
No, I think meteor is closer. Mugging is in the realm of possibility, this javascript driveby theoretical attack is wildly implausible. Like, take the time to spell it out: what sequence of events has to occur for this attack to be successfully pulled off?
Re:A call to reconsider memory address-space isolation in Linux by asveikau on Friday September 30, 2022 @09:16PM (#33042817)
Mugging isn't a good analogy also because software attacks, once possible, can be automated and distributed widely, are "wormable", and mugging is harder to do at scale.
Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @09:27PM (#33042877)
Yes I hate analogies.
Re:A call to reconsider memory address-space isolation in Linux by asveikau on Saturday October 01, 2022 @12:54AM (#33044006)
I was going to say a new virus emerging was a good example.

In both cases: We know they are theoretically possible. We cannot say for sure when they'll emerge. Once they emerge, they can spread by themselves and become common.

I guess the place it doesn't hold up is that in the exploit case, they're intentionally engineered, and for a virus, well there's the Wuhan bioweapon conspiracy theory but no, it's more like random mutations cause it.

Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @02:58PM (#33039151)
Which attack are you referring to? There have already been POCs for many speculative execution attacks.
Re:A call to reconsider memory address-space isolation in Linux by coldpie on Friday September 30, 2022 @03:08PM (#33039294)
Whatever one Veliladon was referring to when they asserted one must run either mitigations or no javascript. My point is those POCs are not sufficient evidence that mitigations with real performance impact are justified for the typical desktop end-user. Again:

> The number of stars that have to align for this theoretical attack to work in practice is so high that I don't think any normal desktop end-user has reason to worry about it.

Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @03:19PM (#33039450)
Oh ok. So, no, the stars don't have to align at all. The attack is straightforward, the POCs show that.

The reason we don't see these attacks is because everyone patched the major issues immediately. Further, attackers don't need to really go for these sorts of attacks, there are more reliable, well-worn methods for attacking browsers.

Re:A call to reconsider memory address-space isolation in Linux by coldpie on Friday September 30, 2022 @03:45PM (#33039822)
> So, no, the stars don't have to align at all. The attack is straightforward, the POCs show that.

Please spell it out for me. Suppose I'm a typical desktop user, how is important information going to be stolen if I have mitigations turned off and JavaScript enabled? What state does my browser have to be in, and what actions do I have to take (or not take) for the attack to succeed? What likelihood is it that someone has deployed an attack that meets those requirements?

> Further, attackers don't need to really go for these sorts of attacks, there are more reliable, well-worn methods for attacking browsers.

So we agree it's OK to leave mitigations off and browse the web?

Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @05:00PM (#33040732)
> Suppose I'm a typical desktop user, how is important information going to be stolen if I have mitigations turned off and JavaScript enabled?

https://github.com/google/security-research-pocs/tree/master...

I don't imagine I'm going to explain it better than the many others who have already done so.

> What state does my browser have to be in, and what actions do I have to take (or not take) for the attack to succeed?

Your browser would have to be pretty old/ outdated since they've been updated to mitigate these attacks. Otherwise it's just necessary that you visit the attacker controlled website.

> What likelihood is it that someone has deployed an attack that meets those requirements?

That's not a simple question. Threat landscapes change based on a lot of factors. As I said earlier, we won't see these attacks because people have already patched and attackers have other methods.

> So we agree it's OK to leave mitigations off and browse the web?

You can do whatever you want, idk what you're trying to ask here. What is "OK" ? You will be vulnerable but unlikely to be attacked for the reasons mentioned. If you are "OK" with that that's up to you.

Re:A call to reconsider memory address-space isolation in Linux by coldpie on Saturday October 01, 2022 @08:36AM (#33046145)
Yeah again, that's a carefully controlled research setup. These attacks are not going to dump your bank passwords straight to badguys.com. They're going to get some random chunks of memory that very probably don't contain anything of value. Browser renderer process don't contain contiguous memory chunks that say like, "BANK_PASSWORD_IS:asdf1234", it would take an incredibly amount of luck and further investigation of every single memory chunk retrieved to possibly gain anything of value. That's not how drive-by attacks work.

It's a really impractical attack outside of extremely targeted scenarios. It's not something real desktop end-users need to worry about. The mitigations slow down your system for zero benefit.

> You can do whatever you want, idk what you're trying to ask here. What is "OK" ?

Maybe re-read the thread from the start? The first guy I responded to was making an assertion that running without spectre/etc mitigations means you should turn off javascript.

Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Saturday October 01, 2022 @09:35AM (#33046485)
> Yeah again, that's a carefully controlled research setup.

The POC runs in visitors browsers lol it's a public demo that runs in your browser, not in a "carefully controlled research setup".

> that very probably don't contain anything of value

Lots of things are valuable other than passwords. Even just leaking addresses can be useful for further exploitation. The main issue is it's a violation of a security boundary.

> The first guy I responded to was making an assertion that running without spectre/etc mitigations means you should turn off javascript.

They said "I hope you <do that>". Presumably because it would also mitigate the issue.

Re:A call to reconsider memory address-space isolation in Linux by renewiltord on Friday September 30, 2022 @09:19PM (#33042831)
I am going to tell you guys something magical. There are multiple hundreds of millions of cryptocurrency running on hardware with spectre/meltdown mitigations off. Go get them.
Re:A call to reconsider memory address-space isolation in Linux by totony on Friday September 30, 2022 @05:08PM (#33040842)
Browser lowered timer resolution to mitigate most speculative execution attacks. Probably why there aren't useful exploits. I remember a js payload when the first spectre appeared.
Re:A call to reconsider memory address-space isolation in Linux by garaetjjte on Friday September 30, 2022 @04:14PM (#33040163)
I think there might be herd immunity effect to that: because mitigations are enabled by default, there isn't much focus for developing attacks for it.
Re:A call to reconsider memory address-space isolation in Linux by netr0ute on Friday September 30, 2022 @10:39AM (#33035514)
I keep my important info on paper.
Re:A call to reconsider memory address-space isolation in Linux by intelVISA on Friday September 30, 2022 @12:37PM (#33037081)
I've memorized my private key it's the only way to be safe in 2022.
Re:A call to reconsider memory address-space isolation in Linux by coolspot on Friday September 30, 2022 @04:41PM (#33040524)
Let’s test your memory, what is it?
Re:A call to reconsider memory address-space isolation in Linux by fooker on Friday September 30, 2022 @08:58PM (#33042686)
md5(hunter2)
Re:A call to reconsider memory address-space isolation in Linux by astrange on Friday September 30, 2022 @12:59PM (#33037385)
Why do you want to let driver memory bugs overwrite random kernel memory?
Re:A call to reconsider memory address-space isolation in Linux by anvic on Friday September 30, 2022 @01:18PM (#33037699)
For most of us driver memory bugs are extremely rare and therefore a 2-14% performance drop is bonkers.
Re:A call to reconsider memory address-space isolation in Linux by mrguyorama on Friday September 30, 2022 @05:04PM (#33040786)
My AMD GPU driver bugs out pretty regularly. Hardware companies are not known for their bulletproof driver code.
Re:A call to reconsider memory address-space isolation in Linux by astrange on Friday September 30, 2022 @02:03PM (#33038365)
Anything you're not testing regresses, and any driver you let out of jail is going to regress too.

Properly engineered security fixes don't cause performance regressions, either because you find improvements to pay for them, or you get the hardware updated to make them cheaper. (That'd be PCID in this case.)

Re:A call to reconsider memory address-space isolation in Linux by saagarjha on Friday September 30, 2022 @09:20PM (#33042835)
Both of these cost money.
Re:A call to reconsider memory address-space isolation in Linux by junon on Friday September 30, 2022 @12:58PM (#33037382)
No. This is unavoidable. Mapping physical pages into a local page table is expensive no matter how you spin it. Depending on the data structures, this means doubling the time in some cases to allocate a physical page, which is typically 4KiB. Large allocations mean multiple page allocations. It adds up.
Re:A call to reconsider memory address-space isolation in Linux by hinkley on Friday September 30, 2022 @11:46AM (#33036462)
Correct me if I’m wrong, but wouldn’t complicated page mapping affect the cost of system calls the most? Because each call causes two alterations to the MMU state.

I wonder how this patch interacts with io_uring. If kernel call overhead keeps going up it will force people to find ways to avoid the overhead.

Re:A call to reconsider memory address-space isolation in Linux by gpderetta on Friday September 30, 2022 @12:34PM (#33037040)
If I understand correctly the patch at the moment doesn't affect system calls at all, only entering and exiting virtual machines.
Re:A call to reconsider memory address-space isolation in Linux by 0xbadcafebee on Friday September 30, 2022 @10:54AM (#33035704)
Personally I would rather we just lean more into microVMs. From a cloud computing perspective, I don't care what security Linux claims to have, because I just assume it is ineffective and move forward from there. We build systems using loosely-coupled, strongly-authenticated, temporary sessions, and it's very easy to enforce separation of concerns (and thus minimize attack surface).
Re:A call to reconsider memory address-space isolation in Linux by slt2021 on Friday September 30, 2022 @01:31PM (#33037901)
your code may be secure, but your cloud neighbor or VM host may be not. if VM host machine is taken over, then your VMs are at risk too https://unit42.paloaltonetworks.com/azure-container-instance...
Re:A call to reconsider memory address-space isolation in Linux by 0xbadcafebee on Friday September 30, 2022 @01:58PM (#33038294)
True, but it's pretty rare for hypervisors to be exploited. In that Azure case the node itself maintained a connection to each VM, which kind of defeats the purpose of using VMs for isolation.... It's like having strong memory guarantees in Linux and then having an open socket from a root-owned process to every other process... like, maybe giving them a new attack vector to a SPOF isn't a great idea
Re:A call to reconsider memory address-space isolation in Linux by slt2021 on Friday September 30, 2022 @11:30PM (#33043597)
hypervisor exploitation exist, just as container escapes and every other runtime escape and escalation. Which is natural for cloud native app development.

remember the shared security model, the lower stack of infra depends on cloud vendor, and it critically depends on hypervisor/OS/container runtime security and configuration hardening

Re:A call to reconsider memory address-space isolation in Linux by staticassertion on Friday September 30, 2022 @12:04PM (#33036702)
It would be nice to have a more trustworthy stack at every ring, I think.
Re:A call to reconsider memory address-space isolation in Linux by fsflover on Friday September 30, 2022 @01:50PM (#33038200)
If you care about security, Qubes OS is more secure, with its hardware virtualization: https://qubes-os.org.
Re:A call to reconsider memory address-space isolation in Linux by UI_at_80x24 on Friday September 30, 2022 @10:16AM (#33035146)
If I understand correctly, OpenBSD has done this for years too. IIRC Around the time that the first Specter vulnerability was announced OpenBSD patched all those possible variations too.
Re:A call to reconsider memory address-space isolation in Linux by hinkley on Friday September 30, 2022 @11:49AM (#33036495)
Somewhere, Andrew Tanenbaum is chewing popcorn. Loudly.
Re:A call to reconsider memory address-space isolation in Linux by marcosdumay on Friday September 30, 2022 @12:10PM (#33036775)
Next in line, a plea for splitting the source tree into different repositories. Followed by a plea for stabilizing the core kernel API...

Then we can replace the core API with a secl4 emulator.

Re:A call to reconsider memory address-space isolation in Linux by intelVISA on Friday September 30, 2022 @12:38PM (#33037095)
muh MINIX backdoor
Re:A call to reconsider memory address-space isolation in Linux by astrange on Friday September 30, 2022 @01:01PM (#33037422)
That's already running on the Intel PCH.
Re:A call to reconsider memory address-space isolation in Linux by aaaaaaaaaaab on Friday September 30, 2022 @03:30PM (#33039593)
This is a good opportunity for Rust!
Re:A call to reconsider memory address-space isolation in Linux by colejohnson66 on Friday September 30, 2022 @03:40PM (#33039735)
Not arguing with you, but how? Rust is about memory safety, not memory isolation. It keeps me from writing out of bounds, but it does nothing to stop a malicious kernel module from stealing `SECRET_KEY` out of the kernel's local memory.
Re:A call to reconsider memory address-space isolation in Linux by fooker on Friday September 30, 2022 @09:05PM (#33042736)
This is good for Bitcoin.
Re:A call to reconsider memory address-space isolation in Linux by cztomsik on Sunday October 02, 2022 @11:52AM (#33057006)
rust has absolutely nothing to do with prevention of side-channel attacks
Re:A call to reconsider memory address-space isolation in Linux by anonymouse008 on Friday September 30, 2022 @11:58AM (#33036619)
I’m not smart enough to understand kernels, or how memory works at an operating system level, but does this have anything to do with Apple‘s recent announcement that all unallocated memory will be zeroed out?

I’ve been wondering, albeit naïvely, if TikTok and Facebook have been scraping unallocated memory allocations to achieve “without achieving” listening in on our microphones and cameras. Siri is always listening / camera sometimes pops up before accessing photos and the unallocated recordings / visuals could still be there? It could explain the uncanny awareness and specificity of their ads / algos.

Re:A call to reconsider memory address-space isolation in Linux by valleyer on Friday September 30, 2022 @12:58PM (#33037383)
Just in case the downvotes didn't answer your question: no. Memory was already zeroed out before it crossed process boundaries. Apple's recent change is about zeroing it out even before it's reused within a process. (Freeing memory doesn't always give it back to the operating system; the userland allocator usually keeps a list of free blocks to be reused quickly.)

Therefore, the attack you are describing doesn't work.

Re:A call to reconsider memory address-space isolation in Linux by anonymouse008 on Friday September 30, 2022 @06:22PM (#33041530)
Thanks kind stranger, I appreciate your patience!