schemas/v0/process.yaml (336 lines of code) (raw):

--- title: Endgame Process Events embedded: true fields: # ECS - name: "@timestamp" type: date description: > Date/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events. - name: message type: text description: > For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. - name: host description: > The host fields are used to describe the host that's publishing data. fields: - name: os description: > The description of the operating system. fields: - name: platform type: keyword description: > Currently we just try use the non-normalized "name" (i.e. macos). See https://www.elastic.co/guide/en/ecs/current/ecs-os.html for how we should be mapping this example: darwin - name: name type: keyword description: > Currently we just normalize the name (i.e. macOS, Windows, Linux). See https://www.elastic.co/guide/en/ecs/current/ecs-os.html for how we should be mapping this example: Mac OS X - name: version type: keyword description: > Operating system version as a raw string. example: 10.14.1 - name: ip type: ip description: > The IP address of the sensor, currently this is the IP that the SMP sees. example: 10.0.1.5 - name: hostname type: keyword description: > The hostname of the sensor, currently this is the hostname that the SMP sees. example: laptop-mbp - name: name type: keyword description: > The name of the sensor, currently this is the hostname that the SMP sees. example: laptop-mbp - name: event description: > The event fields are used to describe the event metadata. fields: - name: id type: keyword description: > Unique ID to describe the event. example: 8a4f500d - name: module type: keyword description: > Currently hardcoded to "endgame". example: endgame - name: dataset type: keyword description: > Currently hardcoded to "esensor". example: esensor - name: action type: keyword description: > The event action. example: process_created_event - name: kind type: keyword description: > The event kind. example: event - name: category type: keyword description: > The event category. example: process - name: type type: keyword description: > The event type. example: process_start - name: labels description: > Metadata labels for Endgame data. type: object object_type: keyword example: '{"account_id": 12321,"endpoint_id": 12321}' - name: agent description: > The agent fields are used to describe by which endgame sensor information was collected. fields: - name: version type: keyword description: > Version of the endgame sensor publishing the event. example: 5.31.2 - name: type type: keyword description: > Endgame. example: endgame - name: id type: keyword description: > Unique sensor identifier. example: 8a4f500d - name: user description: > The user fields are used to describe by which user the event belongs to. fields: - name: group description: > The group fields are used to describe by which user group the event belongs to. fields: - name: id type: keyword description: > Unique identifier for the group on the system/platform. - name: name type: keyword description: > Name of the group. - name: id type: keyword description: > One or multiple unique identifiers of the user. - name: name type: keyword description: > Short name or login of the user. example: albert - name: process description: > The process fields are used to describe by which process the event belongs to. fields: - name: pid type: long description: > Process id. - name: ppid type: long description: > Parent process' pid. - name: name type: keyword description: > Process name. Sometimes called program name or similar. - name: executable type: keyword description: > Absolute path to the process executable. - name: args type: keyword object_type: keyword description: > Array of process arguments. May be filtered to protect sensitive information. - name: thread description: > The thread fields are used to describe by which process thread the event belongs to. fields: - name: id type: long description: > Thread ID. - name: hash description: > The hash fields are used to describe the hash values for a particular process. fields: - name: md5 type: keyword description: > MD5 hash. - name: sha1 type: keyword description: > SHA1 hash. - name: sha256 type: keyword description: > SHA256 hash. # Our current stuff - name: endgame description: > The current endgame fields. fields: # BaseDataBuffer - name: serial_event_id type: long # this is a uint64 right now description: "" - name: opcode type: integer # this is a uint32 right now description: "" - name: event_type_full type: keyword description: "" - name: event_subtype_full type: keyword description: "" # GenericDataBuffer - name: timestamp type: date # this is a uint64 right now description: "" - name: timestamp_utc type: keyword description: "" - name: event_message type: keyword description: "" - name: unknown_properties type: keyword # this is a generic object right now, we should get rid of it description: "" - name: pid type: integer # this is a uint32 right now description: "" - name: process_path type: keyword description: "" - name: process_name type: keyword description: "" - name: unique_pid type: long # this is a uint64 right now description: "" # GenericDataBuffer: Windows - name: user_name type: keyword description: "" - name: user_domain type: keyword description: "" - name: user_sid type: keyword description: "" - name: tid type: integer # this is a uint32 right now description: "" # GenericDataBuffer: Posix - name: real_user_name type: keyword description: "" - name: effective_user_name type: keyword description: "" - name: real_group_name type: keyword description: "" - name: effective_group_name type: keyword description: "" - name: real_uid type: integer # this is a uint32 right now description: "" - name: effective_uid type: integer # this is a uint32 right now description: "" - name: real_gid type: integer # this is a uint32 right now description: "" - name: effective_gid type: integer # this is a uint32 right now description: "" # ProcessDataBuffer - name: ppid type: integer # this is a uint32 right now description: "" - name: exit_code type: integer # this is a uint32 right now description: "" - name: command_line type: keyword description: "" - name: parent_process_name type: keyword description: "" - name: parent_process_path type: keyword description: "" - name: md5 type: keyword description: "" - name: sha1 type: keyword description: "" - name: sha256 type: keyword description: "" - name: unique_ppid type: long # this is a uint64 right now description: "" # ProcessDataBuffer: Windows - name: authentication_id type: long # this is a uint64 right now description: "" - name: package_name type: keyword description: "" - name: signature_signer type: keyword description: "" - name: signature_status type: keyword description: "" - name: original_file_name type: keyword description: "" - name: integrity_level type: keyword description: "" - name: elevated type: boolean description: "" - name: elevation_type type: keyword description: "" - name: true_ppid type: integer # this is a uint32 right now description: "" - name: unique_true_ppid type: long # this is a uint64 right now description: "" # ProcessDataBuffer: Posix - name: session_id type: integer description: "" - name: exit_code_full type: integer # this is a uint32 right now description: ""