Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 26 Sep 2018 08:32:49 +0000
From: "Reshetova, Elena" <elena.reshetova@...el.com>
To: Carter Cheng <cartercheng@...il.com>,
	"kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>
CC: Hans Liljestrand <liljestrandh@...il.com>
Subject: RE: temporal and spatial locality in the kernel


>I suspect any modification would have to be made on the compiler side as some sort of compiler plugin since skimming over the papers in the area most optimize by doing some sort of dataflow analysis(removing runtime checks when not needed). To >produce something like this would require reading through some of the literature and open source and constructing the compiler transform pass in gcc or clang. Is gcc currently preferred for something like this?

Hi,

We have tried to do some of this via gcc plugin and using existing (still last year) Intel MPX technology to prevent spatial memory errors in kernel. 
Unfortunately MPX support has been now dropped out of both gcc and kernel, so our exercise is more like a past example now.
However our code is still here: https://github.com/ssg-kernel-memory-safety/linux-mpxk

And the paper is here: https://onlinelibrary.wiley.com/doi/full/10.1002/spe.2638

If you are interested to continue on this direction, let me know, Hans and me can at least share the experience and knowledge we got while doing this with you. 

Best Regards,
Elena.

On Sat, Sep 22, 2018 at 2:41 AM Kees Cook <keescook@...omium.org> wrote:
On Fri, Sep 21, 2018 at 10:25 AM, Carter Cheng <cartercheng@...il.com> wrote:
> Hi,

Welcome!

> I recently attended a computer security conference for the first time and
> have developed some interest in kernel hardening issues after one of the
> presenters demonstrated a kernel exploit based partly around a use after
> free bug.
>
> After scanning the literature a little bit and looking at some papers I have
> encountered before on CCured and Cyclone. I was curious to what extent full
> memory saftety checks are now possible.

CONFIG_KASAN covers a lot of this, but wasn't itself designed for
"production use". The primary concern, yes, is performance.

> There are many papers going back quite a bit on spatial safety
> implementations and some on temporal safety but they mainly target user
> space. I am curious why such things don't exist in the linux kernel at least
> as some sort of compile option. Is the slow down the main concern?
>
> It seems recent work has got the performance bound down to 1.29 is this
> considered too slow for many things?

This sounds lovely! :) I'd be curious to see patches implementing the
checks you're talking about.

-Kees

-- 
Kees Cook
Pixel Security

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.