Skip to content

Commit

Permalink
Add entity_id for process and process.parent (#747)
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewstucki committed Feb 18, 2020
1 parent 007f604 commit feb6a46
Show file tree
Hide file tree
Showing 10 changed files with 272 additions and 56 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.next.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Thanks, you're awesome :-) -->
#### Added
* Added `dll.*` fields (#679)
* Fieldset for PE metadata. #731
* Globally unique identifier `entity_id` for `process` and `process.parent`. (#747)

#### Improvements

Expand Down
20 changes: 20 additions & 0 deletions code/go/ecs/process.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions docs/field-details.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -3862,6 +3862,23 @@ example: `/usr/bin/ssh -l user 10.0.0.16`

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

| process.entity_id
| Unique identifier for the process.

The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process.

Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.

type: keyword



example: `c2c455d9f99375d`

| extended

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

| process.executable
| Absolute path to the process executable.

Expand Down Expand Up @@ -3971,6 +3988,23 @@ example: `/usr/bin/ssh -l user 10.0.0.16`

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

| process.parent.entity_id
| Unique identifier for the process.

The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process.

Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.

type: keyword



example: `c2c455d9f99375d`

| extended

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

| process.parent.executable
| Absolute path to the process executable.

Expand Down
30 changes: 30 additions & 0 deletions generated/beats/fields.ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2737,6 +2737,21 @@
Some arguments may be filtered to protect sensitive information.'
example: /usr/bin/ssh -l user 10.0.0.16
default_field: false
- name: entity_id
level: extended
type: keyword
ignore_above: 1024
description: 'Unique identifier for the process.
The implementation of this is specified by the data source, but some examples
of what could be used here are a process-generated UUID, Sysmon Process GUIDs,
or a hash of some uniquely identifying components of a process.
Constructing a globally unique identifier is a common practice to mitigate
PID reuse as well as to identify a specific process over time, across multiple
monitored hosts.'
example: c2c455d9f99375d
default_field: false
- name: executable
level: extended
type: keyword
Expand Down Expand Up @@ -2869,6 +2884,21 @@
Some arguments may be filtered to protect sensitive information.'
example: /usr/bin/ssh -l user 10.0.0.16
default_field: false
- name: parent.entity_id
level: extended
type: keyword
ignore_above: 1024
description: 'Unique identifier for the process.
The implementation of this is specified by the data source, but some examples
of what could be used here are a process-generated UUID, Sysmon Process GUIDs,
or a hash of some uniquely identifying components of a process.
Constructing a globally unique identifier is a common practice to mitigate
PID reuse as well as to identify a specific process over time, across multiple
monitored hosts.'
example: c2c455d9f99375d
default_field: false
- name: parent.executable
level: extended
type: keyword
Expand Down
2 changes: 2 additions & 0 deletions generated/csv/fields.csv
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ ECS_Version,Indexed,Field_Set,Field,Type,Level,Normalization,Example,Description
1.5.0-dev,true,process,process.code_signature.valid,boolean,extended,,true,Boolean to capture if the digital signature is verified against the binary content.
1.5.0-dev,true,process,process.command_line,keyword,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
1.5.0-dev,true,process,process.command_line.text,text,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
1.5.0-dev,true,process,process.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
1.5.0-dev,true,process,process.executable,keyword,extended,,/usr/bin/ssh,Absolute path to the process executable.
1.5.0-dev,true,process,process.executable.text,text,extended,,/usr/bin/ssh,Absolute path to the process executable.
1.5.0-dev,true,process,process.exit_code,long,extended,,137,The exit code of the process.
Expand All @@ -361,6 +362,7 @@ ECS_Version,Indexed,Field_Set,Field,Type,Level,Normalization,Example,Description
1.5.0-dev,true,process,process.parent.code_signature.valid,boolean,extended,,true,Boolean to capture if the digital signature is verified against the binary content.
1.5.0-dev,true,process,process.parent.command_line,keyword,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
1.5.0-dev,true,process,process.parent.command_line.text,text,extended,,/usr/bin/ssh -l user 10.0.0.16,Full command line that started the process.
1.5.0-dev,true,process,process.parent.entity_id,keyword,extended,,c2c455d9f99375d,Unique identifier for the process.
1.5.0-dev,true,process,process.parent.executable,keyword,extended,,/usr/bin/ssh,Absolute path to the process executable.
1.5.0-dev,true,process,process.parent.executable.text,text,extended,,/usr/bin/ssh,Absolute path to the process executable.
1.5.0-dev,true,process,process.parent.exit_code,long,extended,,137,The exit code of the process.
Expand Down

0 comments on commit feb6a46

Please sign in to comment.