Re: [PATCH v1 1/1] Kernel Config to make randomize_va_space read-only.
From: Greg KH
Date: Thu Feb 25 2021 - 06:41:48 EST
On Thu, Feb 25, 2021 at 04:42:28AM +0000, Lan Zheng (lanzheng) wrote:
> From ba2ec52f170a8e69d6c44238bb578f9518a7e3b7 Mon Sep 17 00:00:00 2001
> From: lanzheng <lanzheng@xxxxxxxxx>
> Date: Tue, 23 Feb 2021 22:49:34 -0500
Why is this here?
> Subject: [PATCH] This patch adds a kernel build config knob that disallows
> changes to the sysctl variable randomize_va_space.It makes harder for
> attacker to disable ASLR and reduces security risks.
I think you need to read the documentation for how to write a good
changelog text.
>
> Signed-off-by: lanzheng <lanzheng@xxxxxxxxx>
> Reviewed-by: Yongkui Han <yonhan@xxxxxxxxx>
> Tested-by: Nirmala Arumugam <niarumug@xxxxxxxxx>
> ---
> kernel/sysctl.c | 4 ++++
> security/Kconfig | 8 ++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index c9fbdd848138..2aa9bc8044c7 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -2426,7 +2426,11 @@ static struct ctl_table kern_table[] = {
> .procname = "randomize_va_space",
> .data = &randomize_va_space,
> .maxlen = sizeof(int),
> +#if defined(CONFIG_RANDOMIZE_VA_SPACE_READONLY)
> + .mode = 0444,
> +#else
> .mode = 0644,
> +#endif
> .proc_handler = proc_dointvec,
> },
> #endif
> diff --git a/security/Kconfig b/security/Kconfig
> index 7561f6f99f1d..18b9dff4648c 100644
> --- a/security/Kconfig
> +++ b/security/Kconfig
> @@ -7,6 +7,14 @@ menu "Security options"
>
> source "security/keys/Kconfig"
>
> +config RANDOMIZE_VA_SPACE_READONLY
> + bool "Disallow change of randomize_va_space"
> + default y
This should only be "default y" if you can not boot here without this
option.
But why is this even needed to be an option at all? What is causing
this to be turned off? Can't you keep this from being changed by root
through other means today?
thanks,
greg k-h