Re: [PATCH] sysctl: add config to make randomize_va_space RO

From: David Hildenbrand
Date: Fri May 05 2023 - 11:16:01 EST


On 05.05.23 09:46, Sam James wrote:

David Hildenbrand <david@xxxxxxxxxx> writes:

On 04.05.23 23:30, Michael McCracken wrote:
Add config RO_RANDMAP_SYSCTL to set the mode of the randomize_va_space
sysctl to 0444 to disallow all runtime changes. This will prevent
accidental changing of this value by a root service.
The config is disabled by default to avoid surprises.

Can you elaborate why we care about "accidental changing of this value
by a root service"?

We cannot really stop root from doing a lot of stupid things (e.g.,
erase the root fs), so why do we particularly care here?

(I'm really not defending the utility of this, fwiw).

In the past, I've seen fuzzing tools and other debuggers try to set
it, and it might be that an admin doesn't realise that. But they could
easily set other dangerous settings unsuitable for production, so...

At least fuzzing tools randomly toggling it could actually find real problems. Debugging tools ... makes sense that they might be using it.

What I understand is, that it's more of a problem that the system continues running and the disabled randomization isn't revealed to an admin easily.

If we really care, not sure what's better: maybe we want to disallow disabling it only in a security lockdown kernel? Or at least warn the user when disabling it? (WARN_TAINT?)

--
Thanks,

David / dhildenb