-
Notifications
You must be signed in to change notification settings - Fork 20
Description
The number_observed attribute of observed-data incurs a linear cost to the matcher which seems to be related to the way it is used internally to multiply the SDO. Below are some profiles of the same test but using 1000 vs 10000 number_observed. The profiles look a bit different just because the profiler includes more in the call graph due to longer execution time.
The examples below use 1000 & 10000 just to be illustrative with a single SDO (and it makes it easier to capture the relevant bits in the profile). I realize that is extreme, but smaller values of number_observed in a larger SDO list could also add up.
1 SDO with 1000 number_observed * 50 patterns

1 SDO with 10000 number_observed * 50 patterns

The SDO list looks like
[
{
"id": "observed-data--107c9a2d-12e9-4599-8a0c-2021a88b472d",
"type": "observed-data",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae3ee",
"last_observed": "2020-08-25T20:01:28.567Z",
"first_observed": "2020-08-25T20:01:28.567Z",
"number_observed": 10000,
"created": "2020-08-26T13:23:57.728Z",
"modified": "2020-08-26T13:23:57.728Z",
"objects": {
"0": {
"type": "windows-registry-key",
"key": "HKLM\\SYSTEM\\CurrentControlSet\\Control\\MiniNt",
},
"1": {
"type": "process",
"name": "powershell.exe",
"pid": 8816,
"x_ecs_entity_id": "{747f3d96-6e04-5f45-9d00-000000003800}",
"binary_ref": "3",
"x_ecs_event_ref": "6",
},
"2": {"type": "process", "child_refs": ["1"]},
"3": {
"type": "file",
"name": "powershell.exe",
"parent_directory_ref": "4",
},
"4": {
"type": "directory",
"path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0",
},
"5": {
"type": "x-ecs-host",
"hostname": "MSEDGEWIN10",
"os_name": "Windows 10 Enterprise Evaluation",
"os_version": "10.0",
"os_platform": "windows",
"ip": ["fe80::c50d:519f:96a4:e108", "10.0.2.15"],
"name": "MSEDGEWIN10",
"id": "747f3d96-68a7-43f1-8cbe-e8d6dadd0358",
"mac": ["08:00:27:e6:e5:59"],
"architecture": "x86_64",
},
"6": {
"type": "x-event",
"code": 12,
"provider": "Microsoft-Windows-Sysmon",
"created": "2020-08-25T20:01:28.591Z",
"kind": "event",
"module": "sysmon",
"action": "CreateKey",
},
},
}
]Where number_observed is changed between the two tests above.