Skip to content
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
5 changes: 5 additions & 0 deletions packages/ded/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
- version: "3.4.0"
changes:
- description: Add file and process influencers to ML jobs and extend the network transform group_by with process and network fields.
type: enhancement
link: https://github.com/elastic/integrations/pull/20335
- version: "3.3.0"
changes:
- description: Update transform source index to scope to the relevant data streams.
Expand Down
2 changes: 1 addition & 1 deletion packages/ded/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

**Source index patterns**: `logs-endpoint.events.network-*` holds network events collected by the [Elastic Defend](https://www.elastic.co/docs/reference/integrations/endpoint) integration, and `logs-network_traffic.*` holds network packet traffic collected by the [Network Packet Capture](https://www.elastic.co/docs/reference/integrations/network_traffic) integration.

**Note**: The transform applies only to network data and does not currently support macOS network logs.
**Note**: The transform applies only to network data and does not currently support macOS network logs. If you use Network Packet Capture as a data source, enable **`monitor_processes`** in the integration policy so network events are enriched with process fields used by the transform and ML jobs. This setting is disabled by default. See [monitor_processes](https://www.elastic.co/docs/reference/integrations/network_traffic#monitor_processes) in the Network Packet Capture documentation.

Check notice on line 48 in packages/ded/docs/README.md

View workflow job for this annotation

GitHub Actions / Lint user-facing content

Elastic.WordChoice: Consider using 'deactivated, deselected, hidden, turned off, unavailable' instead of 'disabled', unless the term is in the UI.

When querying the destination index (`ml_network_ded_ea-<VERSION>`) for network logs, we advise using the alias for the destination index (`ml_network_ded_ea.all`). In the event that the underlying package is upgraded, the alias will aid in maintaining the previous findings.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
name: host.id
- external: ecs
name: user.name
- external: ecs
name: user.id
- external: ecs
name: event.module
- external: ecs
Expand All @@ -22,6 +20,12 @@
name: source.ip
- external: ecs
name: process.name
- external: ecs
name: network.transport
- external: ecs
name: process.executable
- external: ecs
name: process.parent.name
- external: ecs
name: process.code_signature.subject_name
- external: ecs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@

dest:
index: ml_network_ded_ea-3.3.0
index: ml_network_ded_ea-3.4.0
aliases:
- alias: ml_network_ded_ea.latest
move_on_creation: true
- alias: ml_network_ded_ea.all
move_on_creation: false
pipeline: 3.3.0-ml_ded_ingest_pipeline
pipeline: 3.4.0-ml_ded_ingest_pipeline
description: This transform runs every 30 minutes and collects network logs to detect data exfiltration in your environment for the past month up to the runtime.
frequency: 30m
pivot:
Expand All @@ -27,9 +27,7 @@ pivot:
'user.name':
terms:
field: user.name
user.id:
terms:
field: user.id
missing_bucket: true
event.module:
terms:
field: event.module
Expand Down Expand Up @@ -66,6 +64,17 @@ pivot:
'process.name':
terms:
field: process.name
'network.transport':
terms:
field: network.transport
'process.executable':
terms:
field: process.executable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One other thing I picked up, if you are using Network Packet Capture as the data source, do you need to enable the monitor_processes setting in the integration policy?
https://github.com/elastic/integrations/blob/63384ae307ea445e86c064c37c84eebf24815e97/packages/network_traffic/_dev/build/docs/README.md#monitor_processes

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good find, added this under a note in README

'process.parent.name':
terms:
script:
source: "return doc.containsKey('process.parent.name') && !doc['process.parent.name'].isEmpty() ? doc['process.parent.name'].value : ''"
lang: painless
'process.code_signature.subject_name':
terms:
script:
Expand All @@ -77,7 +86,7 @@ pivot:
source: "return doc.containsKey('process.code_signature.trusted') && !doc['process.code_signature.trusted'].isEmpty() ? doc['process.code_signature.trusted'].value.toString() : ''"
lang: painless
source:
index: "logs-endpoint.events.network-*,logs-network_traffic.*"
index: "logs-endpoint.events.network-*,logs-network_traffic*"
query:
bool:
filter:
Expand Down Expand Up @@ -113,5 +122,5 @@ sync:
delay: 120s
field: "@timestamp"
_meta:
fleet_transform_version: 3.3.0
fleet_transform_version: 3.4.0
run_as_kibana_system: false
35 changes: 25 additions & 10 deletions packages/ded/kibana/ml_module/ded-ml.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@
"host.id",
"user.name",
"event.module",
"user.id",
"process.name",
"source.ip",
"destination.ip",
Expand All @@ -81,7 +80,9 @@
"destination.geo.country_iso_code",
"source.bytes",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"process.executable",
"process.parent.name"
]
},
"data_description": {
Expand Down Expand Up @@ -123,13 +124,16 @@
"host.id",
"user.name",
"event.module",
"user.id",
"process.name",
"source.ip",
"destination.ip",
"source.bytes",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"destination.port",
"network.transport",
"process.executable",
"process.parent.name"
]
},
"data_description": {
Expand Down Expand Up @@ -171,14 +175,16 @@
"host.id",
"user.name",
"event.module",
"user.id",
"process.name",
"source.ip",
"destination.ip",
"destination.port",
"source.bytes",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"network.transport",
"process.executable",
"process.parent.name"
]
},
"data_description": {
Expand Down Expand Up @@ -222,15 +228,16 @@
"host.id",
"user.name",
"event.module",
"user.id",
"process.name",
"source.ip",
"destination.ip",
"destination.geo.city_name",
"destination.geo.region_name",
"source.bytes",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"process.executable",
"process.parent.name"
]
},
"data_description": {
Expand Down Expand Up @@ -279,7 +286,11 @@
"process.name",
"file.size",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.extension",
"process.executable",
"process.parent.name",
"file.hash.sha256"
]
},
"data_description": {
Expand Down Expand Up @@ -377,7 +388,11 @@
"process.name",
"file.size",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.extension",
"process.executable",
"process.parent.name",
"file.hash.sha256"
]
},
"data_description": {
Expand Down
2 changes: 1 addition & 1 deletion packages/ded/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 3.0.0
name: ded
title: "Data Exfiltration Detection"
version: 3.3.0
version: 3.4.0
source:
license: "Elastic-2.0"
description: "ML package to detect data exfiltration in your network and file data."
Expand Down
5 changes: 5 additions & 0 deletions packages/dga/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "3.2.0"
changes:
- description: Add runtime_mappings for process signature influencers on the ML datafeed.
type: enhancement
link: https://github.com/elastic/integrations/pull/20335
- version: "3.1.0"
changes:
- description: Add process signature fields as influencers to ML jobs.
Expand Down
18 changes: 16 additions & 2 deletions packages/dga/kibana/ml_module/dga-ml.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
"host.name",
"host.id",
"process.name",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process_code_signature_subject_name",
"process_code_signature_trusted"
]
},
"data_description": {
Expand Down Expand Up @@ -113,6 +113,20 @@
}
]
}
},
"runtime_mappings": {
"process_code_signature_subject_name": {
"type": "keyword",
"script": {
"source": "if (doc.containsKey('process.code_signature.subject_name') && doc['process.code_signature.subject_name'].size() != 0) { emit(doc['process.code_signature.subject_name'].value); } else { emit('None'); }"
}
},
"process_code_signature_trusted": {
"type": "keyword",
"script": {
"source": "if (doc.containsKey('process.code_signature.trusted') && doc['process.code_signature.trusted'].size() != 0) { emit(doc['process.code_signature.trusted'].value.toString()); } else { emit('None'); }"
}
}
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/dga/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 3.0.4
name: dga
title: "Domain Generation Algorithm Detection"
version: 3.1.0
version: 3.2.0
source:
license: "Elastic-2.0"
description: "ML solution package to detect domain generation algorithm (DGA) activity in your network data."
Expand Down
5 changes: 5 additions & 0 deletions packages/lmd/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "3.4.0"
changes:
- description: Add file and session influencers to ML jobs and restrict RDP transform source to Windows hosts.
type: enhancement
link: https://github.com/elastic/integrations/pull/20335
- version: "3.3.0"
changes:
- description: Update transform source index to scope to the relevant data streams.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ source:
- term:
'process.Ext.session_info.logon_type':
value: RemoteInteractive
- term:
'host.os.type':
value: windows
runtime_mappings:
'destination.ip':
type: ip
Expand Down Expand Up @@ -86,5 +89,5 @@ sync:
delay: 60s
field: '@timestamp'
_meta:
fleet_transform_version: 3.3.0
fleet_transform_version: 3.4.0
run_as_kibana_system: false
32 changes: 25 additions & 7 deletions packages/lmd/kibana/ml_module/lmd-ml.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,11 @@
"event.action",
"process.name",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.path",
"file.extension",
"file.name",
"file.hash.sha256"
]
},
"data_description": {
Expand Down Expand Up @@ -113,7 +117,11 @@
"process.name",
"file.size",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.path",
"file.extension",
"file.name",
"file.hash.sha256"
]
},
"data_description": {
Expand Down Expand Up @@ -163,7 +171,9 @@
"file.name",
"process.name",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.path",
"file.hash.sha256"
]
},
"data_description": {
Expand Down Expand Up @@ -211,7 +221,10 @@
"file.path",
"process.name",
"process.code_signature.subject_name",
"process.code_signature.trusted"
"process.code_signature.trusted",
"file.extension",
"file.name",
"file.hash.sha256"
]
},
"data_description": {
Expand Down Expand Up @@ -264,7 +277,9 @@
"user.id",
"source.ip",
"destination.ip",
"session.duration"
"session.duration",
"number_processes_per_session",
"total_length_process_args"
]
},
"data_description": {
Expand Down Expand Up @@ -318,7 +333,8 @@
"user.id",
"source.ip",
"destination.ip",
"session.duration"
"session.duration",
"number_processes_per_session"
]
},
"data_description": {
Expand Down Expand Up @@ -417,7 +433,9 @@
"event.module",
"user.id",
"destination.ip",
"source.ip"
"source.ip",
"session.duration",
"total_length_process_args"
]
},
"data_description": {
Expand Down
2 changes: 1 addition & 1 deletion packages/lmd/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 3.0.0
name: lmd
title: "Lateral Movement Detection"
version: 3.3.0
version: 3.4.0
source:
license: "Elastic-2.0"
description: "ML package to detect lateral movement based on file transfer activity and Windows RDP events."
Expand Down
5 changes: 5 additions & 0 deletions packages/pad/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
- version: "2.4.0"
changes:
- description: Update Windows privilege transform source index to `logs-system.security-*` only.
type: enhancement
link: https://github.com/elastic/integrations/pull/20335
- version: "2.3.0"
changes:
- description: Update transform source index to scope to the relevant data streams.
Expand Down
4 changes: 2 additions & 2 deletions packages/pad/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ To inspect the installed assets, you can navigate to **Stack Management > Data >
| Transform name | Purpose | Source index | Destination index | Alias | Supported Platform |
|-------------------------------------------|-------------------------------------------------------------------|--------------|-------------------------------------------------|-------------------------------------------|--------------------|
| pad.pivot_transform_okta_sessions_ea | Collects user session information for Okta events | `logs-okta.system-*` | ml_okta_multiple_user_sessions_pad_ea-[version] | ml_okta_multiple_user_sessions_pad_ea.all | Okta |
| pad.pivot_transform_win_privilege_list_ea | Collects special privileges assigned to a user for Windows events | `logs-system.security-*,logs-windows.*` | ml_windows_privilege_type_pad_ea-[version] | ml_windows_privilege_type_pad_ea.all | Windows |
| pad.pivot_transform_win_privilege_list_ea | Collects special privileges assigned to a user for Windows events | `logs-system.security-*` | ml_windows_privilege_type_pad_ea-[version] | ml_windows_privilege_type_pad_ea.all | Windows |
**Source index patterns**: `logs-okta.system-*` holds Okta system logs collected by the [Okta](https://www.elastic.co/docs/reference/integrations/okta) integration, `logs-system.security-*` holds Windows security event logs collected by the [System](https://www.elastic.co/docs/reference/integrations/system) integration, and `logs-windows.*` holds Windows event logs collected by the [Windows](https://www.elastic.co/docs/reference/integrations/windows) integration.
**Source index patterns**: `logs-okta.system-*` holds Okta system logs collected by the [Okta](https://www.elastic.co/docs/reference/integrations/okta) integration, and `logs-system.security-*` holds Windows security event logs collected by the [System](https://www.elastic.co/docs/reference/integrations/system) integration.
When querying the destination indices for Okta and Windows logs, we advise using the alias for the destination index (`ml_okta_multiple_user_sessions_pad_ea.all` and `ml_windows_privilege_type_pad_ea.all`). In the event that the underlying package is upgraded, the alias will aid in maintaining the previous findings.
Expand Down
Loading
Loading