From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
To: "Kirill A. Shutemov" <kirill@shutemov.name>,
Konstantin Khlebnikov <koct9i@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andy Lutomirski <luto@amacapital.net>
Subject: Re: [PATCH RFC] mm: protect suid binaries against rowhammer with copy-on-read mappings
Date: Wed, 18 Mar 2015 14:41:00 +0300 [thread overview]
Message-ID: <5509644C.40502@yandex-team.ru> (raw)
In-Reply-To: <20150318095702.GA2479@node.dhcp.inet.fi>
On 18.03.2015 12:57, Kirill A. Shutemov wrote:
> On Wed, Mar 18, 2015 at 11:30:40AM +0300, Konstantin Khlebnikov wrote:
>> From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
>>
>> Each user gets private copy of the code thus nobody will be able to exploit
>> pages in the page cache. This works for statically-linked binaries. Shared
>> libraries are still vulnerable, but setting suid bit will protect them too.
>
> Hm. Do we have suid/sgid semantic defiend for non-executables?
>
> To me we should do this for all file private mappings of the suid process
> or don't do it at all.
Yeah, this patch doesn't provide full protection.
That's just a proof-of-concept.
>
> And what about forked suid process which dropped privilages. We still have
> code pages shared.
User can get access to that private copy later but new suid
applications will get their own copy at exec.
Original page-cache pages are never exposed in pte.
>
> I don't think it worth it. The only right way to fix the problem is ECC
> memory.
>
ECC seems good protection until somebody figure out how to break it too.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
To: "Kirill A. Shutemov" <kirill@shutemov.name>,
Konstantin Khlebnikov <koct9i@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andy Lutomirski <luto@amacapital.net>
Subject: Re: [PATCH RFC] mm: protect suid binaries against rowhammer with copy-on-read mappings
Date: Wed, 18 Mar 2015 14:41:00 +0300 [thread overview]
Message-ID: <5509644C.40502@yandex-team.ru> (raw)
In-Reply-To: <20150318095702.GA2479@node.dhcp.inet.fi>
On 18.03.2015 12:57, Kirill A. Shutemov wrote:
> On Wed, Mar 18, 2015 at 11:30:40AM +0300, Konstantin Khlebnikov wrote:
>> From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
>>
>> Each user gets private copy of the code thus nobody will be able to exploit
>> pages in the page cache. This works for statically-linked binaries. Shared
>> libraries are still vulnerable, but setting suid bit will protect them too.
>
> Hm. Do we have suid/sgid semantic defiend for non-executables?
>
> To me we should do this for all file private mappings of the suid process
> or don't do it at all.
Yeah, this patch doesn't provide full protection.
That's just a proof-of-concept.
>
> And what about forked suid process which dropped privilages. We still have
> code pages shared.
User can get access to that private copy later but new suid
applications will get their own copy at exec.
Original page-cache pages are never exposed in pte.
>
> I don't think it worth it. The only right way to fix the problem is ECC
> memory.
>
ECC seems good protection until somebody figure out how to break it too.
next prev parent reply other threads:[~2015-03-18 11:41 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-18 8:30 [PATCH RFC] mm: protect suid binaries against rowhammer with copy-on-read mappings Konstantin Khlebnikov
2015-03-18 8:30 ` Konstantin Khlebnikov
2015-03-18 9:57 ` Kirill A. Shutemov
2015-03-18 9:57 ` Kirill A. Shutemov
2015-03-18 11:41 ` Konstantin Khlebnikov [this message]
2015-03-18 11:41 ` Konstantin Khlebnikov
2015-03-19 13:04 ` Vlastimil Babka
2015-03-19 13:04 ` Vlastimil Babka
2015-03-19 13:24 ` Konstantin Khlebnikov
2015-03-19 13:24 ` Konstantin Khlebnikov
2015-03-18 14:11 ` Dave Hansen
2015-03-18 14:11 ` Dave Hansen
2015-03-18 15:08 ` Konstantin Khlebnikov
2015-03-18 15:08 ` Konstantin Khlebnikov
2015-03-18 15:45 ` Dave Hansen
2015-03-18 15:45 ` Dave Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5509644C.40502@yandex-team.ru \
--to=khlebnikov@yandex-team.ru \
--cc=akpm@linux-foundation.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=koct9i@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@amacapital.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.