[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <651E0DB6-4507-4DA1-AD46-9C26ED9792A8@gmail.com>
Date: Fri, 23 Mar 2018 20:55:49 +0300
From: Ilya Smith <blackzert@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: rth@...ddle.net, ink@...assic.park.msu.ru, mattst88@...il.com,
vgupta@...opsys.com, linux@...linux.org.uk, tony.luck@...el.com,
fenghua.yu@...el.com, ralf@...ux-mips.org, jejb@...isc-linux.org,
Helge Deller <deller@....de>, benh@...nel.crashing.org,
paulus@...ba.org, mpe@...erman.id.au, schwidefsky@...ibm.com,
heiko.carstens@...ibm.com, ysato@...rs.sourceforge.jp,
dalias@...c.org, davem@...emloft.net, tglx@...utronix.de,
mingo@...hat.com, hpa@...or.com, x86@...nel.org,
nyc@...omorphy.com, viro@...iv.linux.org.uk, arnd@...db.de,
gregkh@...uxfoundation.org, deepa.kernel@...il.com,
Michal Hocko <mhocko@...e.com>,
Hugh Dickins <hughd@...gle.com>, kstewart@...uxfoundation.org,
pombredanne@...b.com, Andrew Morton <akpm@...ux-foundation.org>,
steve.capper@....com, punit.agrawal@....com,
aneesh.kumar@...ux.vnet.ibm.com, npiggin@...il.com,
Kees Cook <keescook@...omium.org>, bhsharma@...hat.com,
riel@...hat.com, nitin.m.gupta@...cle.com,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Dan Williams <dan.j.williams@...el.com>,
Jan Kara <jack@...e.cz>, ross.zwisler@...ux.intel.com,
Jerome Glisse <jglisse@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Oleg Nesterov <oleg@...hat.com>, linux-alpha@...r.kernel.org,
LKML <linux-kernel@...r.kernel.org>,
linux-snps-arc@...ts.infradead.org, linux-ia64@...r.kernel.org,
linux-metag@...r.kernel.org, linux-mips@...ux-mips.org,
linux-parisc@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-s390@...r.kernel.org, linux-sh@...r.kernel.org,
sparclinux@...r.kernel.org, Linux-MM <linux-mm@...ck.org>
Subject: Re: [RFC PATCH v2 0/2] Randomization of address chosen by mmap.
> On 23 Mar 2018, at 15:48, Matthew Wilcox <willy@...radead.org> wrote:
>
> On Thu, Mar 22, 2018 at 07:36:36PM +0300, Ilya Smith wrote:
>> Current implementation doesn't randomize address returned by mmap.
>> All the entropy ends with choosing mmap_base_addr at the process
>> creation. After that mmap build very predictable layout of address
>> space. It allows to bypass ASLR in many cases. This patch make
>> randomization of address on any mmap call.
>
> Why should this be done in the kernel rather than libc? libc is perfectly
> capable of specifying random numbers in the first argument of mmap.
Well, there is following reasons:
1. It should be done in any libc implementation, what is not possible IMO;
2. User mode is not that layer which should be responsible for choosing
random address or handling entropy;
3. Memory fragmentation is unpredictable in this case
Off course user mode could use random ‘hint’ address, but kernel may
discard this address if it is occupied for example and allocate just before
closest vma. So this solution doesn’t give that much security like
randomization address inside kernel.
Powered by blists - more mailing lists