Thread (41 messages) 41 messages, 10 authors, 2019-05-02

Re: [RFC PATCH 2/7] x86/sci: add core implementation for system call isolation

From: Ingo Molnar <mingo@kernel.org>
Date: 2019-04-26 09:58:11
Also in: linux-mm, lkml

* Ingo Molnar [off-list ref] wrote:
I really don't like it where this is going. In a couple of years I 
really want to be able to think of PTI as a bad dream that is mostly 
over fortunately.

I have the feeling that compiler level protection that avoids 
corrupting the stack in the first place is going to be lower overhead, 
and would work in a much broader range of environments. Do we have 
analysis of what the compiler would have to do to prevent most ROP 
attacks, and what the runtime cost of that is?

I mean, C# and Java programs aren't able to corrupt the stack as long 
as the language runtime is corect. Has to be possible, right?
So if such security feature is offered then I'm afraid distros would be 
strongly inclined to enable it - saying 'yes' to a kernel feature that 
can keep your product off CVE advisories is a strong force.

To phrase the argument in a bit more controversial form:

   If the price of Linux using an insecure C runtime is to slow down 
   system calls with immense PTI-alike runtime costs, then wouldn't it be 
   the right technical decision to write the kernel in a language runtime 
   that doesn't allow stack overflows and such?

I.e. if having Linux in C ends up being slower than having it in Java, 
then what's the performance argument in favor of using C to begin with? 
;-)

And no, I'm not arguing for Java or C#, but I am arguing for a saner 
version of C.

Thanks,

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help