Re: [PATCH] mm: optionally disable brk()

From: Topi Miettinen
Date: Wed Oct 07 2020 - 05:43:58 EST


On 5.10.2020 15.25, David Laight wrote:
From: David Hildenbrand
Sent: 05 October 2020 13:19

On 05.10.20 13:21, David Laight wrote:
From: David Hildenbrand
Sent: 05 October 2020 10:55
...
If hardening and compatibility are seen as tradeoffs, perhaps there
could be a top level config choice (CONFIG_HARDENING_TRADEOFF) for this.
It would have options
- "compatibility" (default) to gear questions for maximum compatibility,
deselecting any hardening options which reduce compatibility
- "hardening" to gear questions for maximum hardening, deselecting any
compatibility options which reduce hardening
- "none/manual": ask all questions like before

I think the general direction is to avoid an exploding set of config
options. So if there isn't a *real* demand, I guess gluing this to a
single option ("CONFIG_SECURITY_HARDENING") might be good enough.

Wouldn't that be better achieved by run-time clobbering
of the syscall vectors?

You mean via something like a boot parameter? Possibly yes.

I was thinking of later.
Some kind of restricted system might want the 'clobber'
mount() after everything is running.

Perhaps suitably privileged tasks should be able to install global seccomp filters which would disregard any NoNewPrivileges requirements and would apply immediately to all tasks. The boot parameter would be also nice so that initrd and PID1 would be also restricted. Seccomp would also allow more specific filtering than messing with the syscall tables.

-Topi