Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add attested user and groups to process #2050

Merged
merged 6 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.next.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Thanks, you're awesome :-) -->
* Adding `process.io.*` as beta fields. #1956, #2031
* Adding `process.tty.rows` and `process.tty.columns` as beta fields. #2031
* Changed `process.env_vars` field type to be an array of keywords. #2038
* `process.attested_user` and `process.attested_groups` as beta fields. #2050
* Added `risk.*` fieldset to beta. #2051

#### Improvements
Expand Down
22 changes: 22 additions & 0 deletions docs/fields/field-details.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -4621,6 +4621,8 @@ type: keyword
The `group` fields are expected to be nested at:


* `process.attested_groups`

* `process.group`

* `process.real_group`
Expand Down Expand Up @@ -7766,6 +7768,24 @@ Note also that the `process` fields may be used directly at the root of the even
// ===============================================================


| `process.attested_groups.*`
| <<ecs-group,group>>| beta:[ Reusing the `group` fields in this location is currently considered beta.]

The externally attested groups based on an external source such as the Kube API.

Note: this reuse should contain an array of group field set objects.

// ===============================================================


| `process.attested_user.*`
| <<ecs-user,user>>| beta:[ Reusing the `user` fields in this location is currently considered beta.]

The externally attested user based on an external source such as the Kube API.

// ===============================================================


| `process.code_signature.*`
| <<ecs-code_signature,code_signature>>
| These fields contain information about binary code signatures.
Expand Down Expand Up @@ -11631,6 +11651,8 @@ The `user` fields are expected to be nested at:

* `destination.user`

* `process.attested_user`

* `process.real_user`

* `process.saved_user`
Expand Down
23 changes: 23 additions & 0 deletions experimental/generated/beats/fields.ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5334,6 +5334,29 @@
indication of suspicious activity.'
example: 4
default_field: false
- name: entry_leader.attested_groups.name
level: extended
type: keyword
ignore_above: 1024
description: Name of the group.
default_field: false
- name: entry_leader.attested_user.id
level: core
type: keyword
ignore_above: 1024
description: Unique identifier of the user.
example: S-1-5-21-202424912787-2692429404-2351956786-1000
default_field: false
- name: entry_leader.attested_user.name
level: core
type: keyword
ignore_above: 1024
multi_fields:
- name: text
type: match_only_text
description: Short name or login of the user.
example: a.einstein
default_field: false
- name: entry_leader.command_line
level: extended
type: wildcard
Expand Down
4 changes: 4 additions & 0 deletions experimental/generated/csv/fields.csv
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,10 @@ ECS_Version,Indexed,Field_Set,Field,Type,Level,Normalization,Example,Description
8.6.0-dev+exp,true,process,process.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
8.6.0-dev+exp,true,process,process.entry_leader.args,keyword,extended,array,"[""/usr/bin/ssh"", ""-l"", ""user"", ""10.0.0.16""]",Array of process arguments.
8.6.0-dev+exp,true,process,process.entry_leader.args_count,long,extended,,4,Length of the process.args array.
8.6.0-dev+exp,true,process,process.entry_leader.attested_groups.name,keyword,extended,,,Name of the group.
8.6.0-dev+exp,true,process,process.entry_leader.attested_user.id,keyword,core,,S-1-5-21-202424912787-2692429404-2351956786-1000,Unique identifier of the user.
8.6.0-dev+exp,true,process,process.entry_leader.attested_user.name,keyword,core,,a.einstein,Short name or login of the user.
8.6.0-dev+exp,true,process,process.entry_leader.attested_user.name.text,match_only_text,core,,a.einstein,Short name or login of the user.
8.6.0-dev+exp,true,process,process.entry_leader.command_line,wildcard,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
8.6.0-dev+exp,true,process,process.entry_leader.command_line.text,match_only_text,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
8.6.0-dev+exp,true,process,process.entry_leader.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
Expand Down
39 changes: 39 additions & 0 deletions experimental/generated/ecs/ecs_flat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7615,6 +7615,45 @@ process.entry_leader.args_count:
original_fieldset: process
short: Length of the process.args array.
type: long
process.entry_leader.attested_groups.name:
dashed_name: process-entry-leader-attested-groups-name
description: Name of the group.
flat_name: process.entry_leader.attested_groups.name
ignore_above: 1024
level: extended
name: name
normalize: []
original_fieldset: group
short: Name of the group.
type: keyword
process.entry_leader.attested_user.id:
dashed_name: process-entry-leader-attested-user-id
description: Unique identifier of the user.
example: S-1-5-21-202424912787-2692429404-2351956786-1000
flat_name: process.entry_leader.attested_user.id
ignore_above: 1024
level: core
name: id
normalize: []
original_fieldset: user
short: Unique identifier of the user.
type: keyword
process.entry_leader.attested_user.name:
dashed_name: process-entry-leader-attested-user-name
description: Short name or login of the user.
example: a.einstein
flat_name: process.entry_leader.attested_user.name
ignore_above: 1024
level: core
multi_fields:
- flat_name: process.entry_leader.attested_user.name.text
name: text
type: match_only_text
name: name
normalize: []
original_fieldset: user
short: Short name or login of the user.
type: keyword
process.entry_leader.command_line:
dashed_name: process-entry-leader-command-line
description: 'Full command line that started the process, including the absolute
Expand Down
67 changes: 67 additions & 0 deletions experimental/generated/ecs/ecs_nested.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6189,6 +6189,14 @@ group:
normalize:
- array
short_override: An array of supplemental groups.
- as: attested_groups
at: process
beta: Reusing the `group` fields in this location is currently considered beta.
full: process.attested_groups
normalize:
- array
short_override: The externally attested groups based on an external source such
as the Kube API.
top_level: true
short: User's group relevant to the event.
title: Group
Expand Down Expand Up @@ -9336,6 +9344,45 @@ process:
original_fieldset: process
short: Length of the process.args array.
type: long
process.entry_leader.attested_groups.name:
dashed_name: process-entry-leader-attested-groups-name
description: Name of the group.
flat_name: process.entry_leader.attested_groups.name
ignore_above: 1024
level: extended
name: name
normalize: []
original_fieldset: group
short: Name of the group.
type: keyword
process.entry_leader.attested_user.id:
dashed_name: process-entry-leader-attested-user-id
description: Unique identifier of the user.
example: S-1-5-21-202424912787-2692429404-2351956786-1000
flat_name: process.entry_leader.attested_user.id
ignore_above: 1024
level: core
name: id
normalize: []
original_fieldset: user
short: Unique identifier of the user.
type: keyword
process.entry_leader.attested_user.name:
dashed_name: process-entry-leader-attested-user-name
description: Short name or login of the user.
example: a.einstein
flat_name: process.entry_leader.attested_user.name
ignore_above: 1024
level: core
multi_fields:
- flat_name: process.entry_leader.attested_user.name.text
name: text
type: match_only_text
name: name
normalize: []
original_fieldset: user
short: Short name or login of the user.
type: keyword
process.entry_leader.command_line:
dashed_name: process-entry-leader-command-line
description: 'Full command line that started the process, including the absolute
Expand Down Expand Up @@ -12504,6 +12551,8 @@ process:
group: 2
name: process
nestings:
- process.attested_groups
- process.attested_user
- process.code_signature
- process.elf
- process.entry_leader
Expand Down Expand Up @@ -12618,6 +12667,13 @@ process:
- array
schema_name: group
short: An array of supplemental groups.
- beta: Reusing the `group` fields in this location is currently considered beta.
full: process.attested_groups
normalize:
- array
schema_name: group
short: The externally attested groups based on an external source such as the
Kube API.
- full: process.hash
schema_name: hash
short: Hashes, usually file hashes.
Expand Down Expand Up @@ -12647,6 +12703,11 @@ process:
full: process.real_user
schema_name: user
short: The real user (ruid). Identifies the real owner of the process.
- beta: Reusing the `user` fields in this location is currently considered beta.
full: process.attested_user
schema_name: user
short: The externally attested user based on an external source such as the Kube
API.
- full: process.parent
schema_name: process
short: Information about the parent process.
Expand Down Expand Up @@ -21991,6 +22052,12 @@ user:
beta: Reusing the `user` fields in this location is currently considered beta.
full: process.real_user
short_override: The real user (ruid). Identifies the real owner of the process.
- as: attested_user
at: process
beta: Reusing the `user` fields in this location is currently considered beta.
full: process.attested_user
short_override: The externally attested user based on an external source such
as the Kube API.
top_level: true
reused_here:
- full: user.group
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,31 @@
"args_count": {
"type": "long"
},
"attested_groups": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"attested_user": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"fields": {
"text": {
"type": "match_only_text"
}
},
"ignore_above": 1024,
"type": "keyword"
}
}
},
"command_line": {
"fields": {
"text": {
Expand Down
25 changes: 25 additions & 0 deletions experimental/generated/elasticsearch/legacy/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -2760,6 +2760,31 @@
"args_count": {
"type": "long"
},
"attested_groups": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"attested_user": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"fields": {
"text": {
"type": "match_only_text"
}
},
"ignore_above": 1024,
"type": "keyword"
}
}
},
"command_line": {
"fields": {
"text": {
Expand Down
23 changes: 23 additions & 0 deletions generated/beats/fields.ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5284,6 +5284,29 @@
indication of suspicious activity.'
example: 4
default_field: false
- name: entry_leader.attested_groups.name
level: extended
type: keyword
ignore_above: 1024
description: Name of the group.
default_field: false
- name: entry_leader.attested_user.id
level: core
type: keyword
ignore_above: 1024
description: Unique identifier of the user.
example: S-1-5-21-202424912787-2692429404-2351956786-1000
default_field: false
- name: entry_leader.attested_user.name
level: core
type: keyword
ignore_above: 1024
multi_fields:
- name: text
type: match_only_text
description: Short name or login of the user.
example: a.einstein
default_field: false
- name: entry_leader.command_line
level: extended
type: wildcard
Expand Down
4 changes: 4 additions & 0 deletions generated/csv/fields.csv
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@ ECS_Version,Indexed,Field_Set,Field,Type,Level,Normalization,Example,Description
8.6.0-dev,true,process,process.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
8.6.0-dev,true,process,process.entry_leader.args,keyword,extended,array,"[""/usr/bin/ssh"", ""-l"", ""user"", ""10.0.0.16""]",Array of process arguments.
8.6.0-dev,true,process,process.entry_leader.args_count,long,extended,,4,Length of the process.args array.
8.6.0-dev,true,process,process.entry_leader.attested_groups.name,keyword,extended,,,Name of the group.
8.6.0-dev,true,process,process.entry_leader.attested_user.id,keyword,core,,S-1-5-21-202424912787-2692429404-2351956786-1000,Unique identifier of the user.
8.6.0-dev,true,process,process.entry_leader.attested_user.name,keyword,core,,a.einstein,Short name or login of the user.
8.6.0-dev,true,process,process.entry_leader.attested_user.name.text,match_only_text,core,,a.einstein,Short name or login of the user.
8.6.0-dev,true,process,process.entry_leader.command_line,wildcard,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
8.6.0-dev,true,process,process.entry_leader.command_line.text,match_only_text,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
8.6.0-dev,true,process,process.entry_leader.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
Expand Down
39 changes: 39 additions & 0 deletions generated/ecs/ecs_flat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7546,6 +7546,45 @@ process.entry_leader.args_count:
original_fieldset: process
short: Length of the process.args array.
type: long
process.entry_leader.attested_groups.name:
dashed_name: process-entry-leader-attested-groups-name
description: Name of the group.
flat_name: process.entry_leader.attested_groups.name
ignore_above: 1024
level: extended
name: name
normalize: []
original_fieldset: group
short: Name of the group.
type: keyword
process.entry_leader.attested_user.id:
dashed_name: process-entry-leader-attested-user-id
description: Unique identifier of the user.
example: S-1-5-21-202424912787-2692429404-2351956786-1000
flat_name: process.entry_leader.attested_user.id
ignore_above: 1024
level: core
name: id
normalize: []
original_fieldset: user
short: Unique identifier of the user.
type: keyword
process.entry_leader.attested_user.name:
dashed_name: process-entry-leader-attested-user-name
description: Short name or login of the user.
example: a.einstein
flat_name: process.entry_leader.attested_user.name
ignore_above: 1024
level: core
multi_fields:
- flat_name: process.entry_leader.attested_user.name.text
name: text
type: match_only_text
name: name
normalize: []
original_fieldset: user
short: Short name or login of the user.
type: keyword
process.entry_leader.command_line:
dashed_name: process-entry-leader-command-line
description: 'Full command line that started the process, including the absolute
Expand Down
Loading