2017-03-12 02:25:04

by Richard Guy Briggs

[permalink] [raw]
Subject: [PATCH v2] audit: log module name on delete_module

When a sysadmin wishes to monitor module unloading with a syscall rule such as:
-a always,exit -F arch=x86_64 -S delete_module -F key=mod-unload
the SYSCALL record doesn't tell us what module was requested for unloading.

Use the new KERN_MODULE auxiliary record to record it.
The SYSCALL record result code will list the return code.

See: https://github.com/linux-audit/audit-kernel/issues/37
https://github.com/linux-audit/audit-kernel/issues/7
https://github.com/linux-audit/audit-kernel/wiki/RFE-Module-Load-Record-Format

Signed-off-by: Richard Guy Briggs <[email protected]>
---
kernel/module.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 5432dbe..633f6da 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -943,6 +943,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
return -EFAULT;
name[MODULE_NAME_LEN-1] = '\0';

+ audit_log_kern_module(name);
+
if (mutex_lock_interruptible(&module_mutex) != 0)
return -EINTR;

--
1.7.1


2017-03-13 14:16:22

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH v2] audit: log module name on delete_module

On Sat, Mar 11, 2017 at 9:24 PM, Richard Guy Briggs <[email protected]> wrote:
> When a sysadmin wishes to monitor module unloading with a syscall rule such as:
> -a always,exit -F arch=x86_64 -S delete_module -F key=mod-unload
> the SYSCALL record doesn't tell us what module was requested for unloading.
>
> Use the new KERN_MODULE auxiliary record to record it.
> The SYSCALL record result code will list the return code.
>
> See: https://github.com/linux-audit/audit-kernel/issues/37
> https://github.com/linux-audit/audit-kernel/issues/7
> https://github.com/linux-audit/audit-kernel/wiki/RFE-Module-Load-Record-Format
>
> Signed-off-by: Richard Guy Briggs <[email protected]>
> ---
> kernel/module.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)

Jessica? If there are no objections to this patch on your side I'll
merge this into the audit/next tree.

> diff --git a/kernel/module.c b/kernel/module.c
> index 5432dbe..633f6da 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -943,6 +943,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
> return -EFAULT;
> name[MODULE_NAME_LEN-1] = '\0';
>
> + audit_log_kern_module(name);
> +
> if (mutex_lock_interruptible(&module_mutex) != 0)
> return -EINTR;
>
> --
> 1.7.1
>
> --
> Linux-audit mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/linux-audit

--
paul moore
http://www.paul-moore.com

2017-03-13 16:33:08

by Jessica Yu

[permalink] [raw]
Subject: Re: [PATCH v2] audit: log module name on delete_module

+++ Paul Moore [13/03/17 10:16 -0400]:
>On Sat, Mar 11, 2017 at 9:24 PM, Richard Guy Briggs <[email protected]> wrote:
>> When a sysadmin wishes to monitor module unloading with a syscall rule such as:
>> -a always,exit -F arch=x86_64 -S delete_module -F key=mod-unload
>> the SYSCALL record doesn't tell us what module was requested for unloading.
>>
>> Use the new KERN_MODULE auxiliary record to record it.
>> The SYSCALL record result code will list the return code.
>>
>> See: https://github.com/linux-audit/audit-kernel/issues/37
>> https://github.com/linux-audit/audit-kernel/issues/7
>> https://github.com/linux-audit/audit-kernel/wiki/RFE-Module-Load-Record-Format
>>
>> Signed-off-by: Richard Guy Briggs <[email protected]>
>> ---
>> kernel/module.c | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>
>Jessica? If there are no objections to this patch on your side I'll
>merge this into the audit/next tree.

Looks good to me:

Acked-by: Jessica Yu <[email protected]>

>> diff --git a/kernel/module.c b/kernel/module.c
>> index 5432dbe..633f6da 100644
>> --- a/kernel/module.c
>> +++ b/kernel/module.c
>> @@ -943,6 +943,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
>> return -EFAULT;
>> name[MODULE_NAME_LEN-1] = '\0';
>>
>> + audit_log_kern_module(name);
>> +
>> if (mutex_lock_interruptible(&module_mutex) != 0)
>> return -EINTR;
>>
>> --
>> 1.7.1
>>
>> --
>> Linux-audit mailing list
>> [email protected]
>> https://www.redhat.com/mailman/listinfo/linux-audit
>
>--
>paul moore
>http://www.paul-moore.com

2017-03-15 19:57:28

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH v2] audit: log module name on delete_module

On Mon, Mar 13, 2017 at 12:31 PM, Jessica Yu <[email protected]> wrote:
> +++ Paul Moore [13/03/17 10:16 -0400]:
>>
>> On Sat, Mar 11, 2017 at 9:24 PM, Richard Guy Briggs <[email protected]>
>> wrote:
>>>
>>> When a sysadmin wishes to monitor module unloading with a syscall rule
>>> such as:
>>> -a always,exit -F arch=x86_64 -S delete_module -F key=mod-unload
>>> the SYSCALL record doesn't tell us what module was requested for
>>> unloading.
>>>
>>> Use the new KERN_MODULE auxiliary record to record it.
>>> The SYSCALL record result code will list the return code.
>>>
>>> See: https://github.com/linux-audit/audit-kernel/issues/37
>>> https://github.com/linux-audit/audit-kernel/issues/7
>>>
>>> https://github.com/linux-audit/audit-kernel/wiki/RFE-Module-Load-Record-Format
>>>
>>> Signed-off-by: Richard Guy Briggs <[email protected]>
>>> ---
>>> kernel/module.c | 2 ++
>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
>>
>> Jessica? If there are no objections to this patch on your side I'll
>> merge this into the audit/next tree.
>
>
> Looks good to me:
>
> Acked-by: Jessica Yu <[email protected]>

Merged, thanks everyone.

--
paul moore
http://www.paul-moore.com