security: lsm_audit: add ioctl specific auditing
Subsystems (2)
PATCH 1/2 security: lsm_audit: add ioctl specific auditing
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
include/linux/lsm_audit.h +7 -0
@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct common_audit_data {char type;
@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11union {struct path path;struct dentry *dentry;
@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {
security/lsm_audit.c +15 -0
@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct audit_buffer *ab, }break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode;
Signature · 1 line
2.2.0.rc0.207.ga3a616c
Quoted 4 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>
Quoted 64 lines
--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)include/linux/lsm_audit.h +7
-0@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct common_audit_data {char type;@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11union {struct path path;struct dentry *dentry;@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {security/lsm_audit.c +15
-0@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct audit_buffer *ab, }break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode;
Quoted 4 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>
Quoted 71 lines
--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)include/linux/lsm_audit.h +7
-0@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct common_audit_data {char type;@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11union {struct path path;struct dentry *dentry;@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {security/lsm_audit.c +15
-1@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct audit_buffer *ab, }break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode; --2.2.0.rc0.207.ga3a616c
_______________________________________________
Selinux mailing list
[email protected]
To unsubscribe, send email to [email protected].
To get help, send an email containing "help" to [email protected].
Signature · 1 line
Nick Kralevich | Android Security | [email protected] | 650.214.4037
Paul Moore
maintainerQuoted 8 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
While this isn't specific to a given LSM, at present it only makes sense with the associated SELinux patches. James, unless you have any objections I would prefer if this went in via the SELinux tree.
Quoted 61 lines
include/linux/lsm_audit.h +7
-0@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct common_audit_data {char type;@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11union {struct path path;struct dentry *dentry;@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {security/lsm_audit.c +15
-1@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct audit_buffer *ab, }break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode; --2.2.0.rc0.207.ga3a616c
Signature · 2 lines
paul moore www.paul-moore.com
James Morris
maintainerQuoted 10 lines · Paul Moore
Quoted 8 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
Quoted 3 lines
While this isn't specific to a given LSM, at present it only makes sense with the associated SELinux patches. James, unless you have any objections I would prefer if this went in via the SELinux tree.
Fine by me.
Signature · 2 lines
James Morris <[email protected]>
Paul Moore
maintainerQuoted 8 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>--- include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
No real comment other than we should include the linux-audit list on this patch (added to the To/CC line).
Quoted 1 line
From an audit perspective the only new field would be the ioctl number which
is represented by the "ioctlcmd" name. Does anyone in the audit space have any strong feelings on this one way or another?
Quoted 57 lines
include/linux/lsm_audit.h +7
-0@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct common_audit_data {char type;@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11union {struct path path;struct dentry *dentry;@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {security/lsm_audit.c +15
-0@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct audit_buffer *ab, }break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode;
Signature · 2 lines
paul moore www.paul-moore.com
Quoted 11 lines · Paul Moore
Quoted 9 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>---
include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
Quoted 6 lines
No real comment other than we should include the linux-audit list on this patch (added to the To/CC line).
From an audit perspective the only new field would be the ioctl number which is represented by the "ioctlcmd" name. Does anyone in the audit space have any strong feelings on this one way or another?
Isn't that in arg1 already? I know I wrote interpretations for it.
-Steve
Quoted 79 lines
Quoted 79 lines
include/linux/lsm_audit.h +5
-0@@ -40,6 +40,11 @@ struct lsm_network_audit { } fam; }; +struct lsm_ioctlop_audit { +struct path path; +u16 cmd; +}; +/* Auxiliary data to use in generating the audit record. */ struct
common_audit_data{include/linux/lsm_audit.h +1
-0char type;@@ -53,6 +58,7 @@ struct common_audit_data {#define LSM_AUDIT_DATA_KMOD 8#define LSM_AUDIT_DATA_INODE 9#define LSM_AUDIT_DATA_DENTRY 10 +#define LSM_AUDIT_DATA_IOCTL_OP 11include/linux/lsm_audit.h +1
-0union {struct path path;struct dentry *dentry;@@ -68,6 +74,7 @@ struct common_audit_data { } key_struct;#endif char *kmod_name; +struct lsm_ioctlop_audit *op; } u;/* this union contains LSM specific data */ union {security/lsm_audit.c +0
-0@@ -245,6 +245,21 @@ static void dump_common_audit_data(struct
audit_buffer
*ab, }security/lsm_audit.c +15
-0break ; } +case LSM_AUDIT_DATA_IOCTL_OP : { +struct inode *inode; + +audit_log_d_path (ab," path=" , &a->u.op->path); + + inode = a->u.op->path.dentry->d_inode; +if (inode) { +audit_log_format (ab," dev=" ); +audit_log_untrustedstring (ab, inode->i_sb->s_id); +audit_log_format (ab," ino=%lu" , inode->i_ino); + } + +audit_log_format (ab," ioctlcmd=%hx" , a->u.op->cmd); +break ; + }case LSM_AUDIT_DATA_DENTRY : {struct inode *inode;
Quoted 12 lines · Steve Grubb
Quoted 11 lines · Paul Moore
Quoted 9 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>---
include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)
Quoted 8 lines
Quoted 6 lines
No real comment other than we should include the linux-audit list on this patch (added to the To/CC line).
From an audit perspective the only new field would be the ioctl number which is represented by the "ioctlcmd" name. Does anyone in the audit space have any strong feelings on this one way or another?
Isn't that in arg1 already? I know I wrote interpretations for it.
Only with syscall audit, often not enabled. This is to capture the information on AVC denials for an extension to SELinux to support ioctl whitelisting.
Quoted 20 lines · Stephen Smalley
Quoted 19 lines · Steve Grubb
Quoted 17 lines · Paul Moore
Quoted 9 lines · Jeff Vander Stoep
Add information about ioctl calls to the LSM audit data. Log the file path and command number.
Signed-off-by Jeff Vander Stoep <[email protected]>---
include/linux/lsm_audit.h | 7 +++++++ security/lsm_audit.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+)No real comment other than we should include the linux-audit list on this patch (added to the To/CC line).
From an audit perspective the only new field would be the ioctl number which is represented by the "ioctlcmd" name. Does anyone in the audit space have any strong feelings on this one way or another?
Quoted 5 lines
Quoted 1 line
Isn't that in arg1 already? I know I wrote interpretations for it.
Only with syscall audit, often not enabled. This is to capture the information on AVC denials for an extension to SELinux to support ioctl whitelisting.
OK. ioctlcmd is fine. I'll add it to the lookup table to interpret the value.
-Steve