Event rule attributes

The following tables, grouped by event type, detail the event attributes available for use in rules.

Clipboard paste event (Windows only)

Clipboard paste events are generated in response to the pasting of data from the clipboard. The following table describes the events attribute, allowed values, and description for each clipboard paste event type.

Universal Windows Platform apps, also known as Windows Store apps and Metro-style apps, are designed to run in Windows AppContainers. Applications running in Windows AppContainers do not have direct access to the Windows clipboard. Their access to the Windows clipboard is brokered through another process. Due to this architecture, Adaptive Security may not be able to monitor clipboard activity performed by these applications.

Clipboard attribute name

Allowed values

Description

clipboard.pid

pid

The process id for the process performing the paste operation.

clipboard.processname

string

The path of the executable for the process performing the paste operation.

clipboard.windowtitle

string

The window title for the process performing the paste operation.

clipboard.userid

string

Security identifier (SID) string representing the user associated with the paste operation. Well known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…).

clipboard.producer.pid

pid

The process id for the process that originally placed the data onto the clipboard. In some cases this may be zero if the data was placed onto the clipboard before the Adaptive Security agent was running.

clipboard.producer.processname

string

The path of the executable for the process that originally placed the data onto the clipboard. In some cases this may be empty if the data was placed onto the clipboard before the Adaptive Security agent was running.

 

clipboard.producer.windowtitle

string

The window title for the process that originally placed the data onto the clipboard. In some cases this may be zero if the data was placed onto the clipboard before the Adaptive Security agent was running.

 

clipboard.datatimestamp

uint64

The timestamp indicating when the data was originally placed onto the clipboard. This will be zero is the data was placed onto the clipboard before the Adaptive Security agent was running.

clipboard.format

CB_FORMAT_STRING

CB_FORMAT_JPEG

CB_FORMAT_FILE_LIST

The format of the data that is being pasted. CB_FORMAT_STRING indicates that text data is being pasted. CB_FORMAT_JPEG indicates that an image is being pasted. CB_FORMAT_FILE_LIST indicates that files are being pasted on the explorer desktop.

clipboard.data.string

string

If clipboard.format is CB_FORMAT_STRING, this field will contain the string data.

clipboard.data.string

string

If clipboard.format is CB_FORMAT_FILE_LIST, this field will contain a comma separated list of file paths.

clipboard.timestamp

uint64

The timestamp of the event.

‎ 

Event type (Windows, macOS)

These attributes exist to allow an entire event class to be specified at once. These are appropriate for use in suppress rules to suppress the writing of an entire class of events to the DVR or for use in forwarding rules to forward an entire class of events to the server.

The following table describes the event attribute, allowed values, and description for each event type.

Event attribute

Allowed values

Description

eventtype.process

TRUE or FALSE

Process events

eventtype.file

TRUE or FALSE

File events

eventype.inspectfilematch

TRUE or False

Inspect file match events (Windows only)

eventtype.session

TRUE or FALSE

Session events

eventtype.media

TRUE or FALSE

Media events

eventtype.thread

TRUE or FALSE

Thread events

eventtype.imageload

TRUE or FALSE

Image load events

eventtype.object

TRUE or FALSE

Object events

eventtype.registry

TRUE or FALSE

Registry events

eventtype.print

TRUE or FALSE

Print events

eventtype.namespace

TRUE or FALSE

Namespace events

eventtype.network

TRUE or FALSE

Network events

eventtype.keystroke

TRUE or FALSE

Keystroke events

eventtype.defender

TRUE or FALSE

Microsoft Defender events

eventtype.clipboard

TRUE or FALSE

Clipboard events

eventtype.url

TRUE or FALSE

URL events
‎ 

File event (Windows, macOS, Linux)

File events are generated when the following occurs:

A file is closed if the file has had content written to it.

A file is renamed.

A file is deleted.

A file is opened.

A volume is mounted.

Note: The macOS agent does not generate events for files written through command line redirection in the shell. For example, the shell command “cat myfile > output.txt” will not generate a file write event for the file output.txt.

The following table describes the file attribute, allowed values, and description for each file event type.

File attribute name

Allowed values

Description

file.event

FILE_WRITE

FILE_RENAME

FILE_DELETE

FILE_OPEN

Indicates the file event type.

FILE_WRITE is generated at the time a file is closed if the file was written to.

FILE_DELETE is generated when a file is deleted.

FILE_RENAME is generated in response to files being renamed.

FILE_OPEN is generated in response to a non-directory file, not ending in .exe or .dll, that is opened for reading or writing of data.

file.path

string

Indicates the full path of the file that was written for FILE_WRITE operations or the full path of the newly renamed file for FILE_RENAME operations.

file.size

uint64

Indicates the size of the file after the file was written to and closed for FILE_WRITE operations or the size of the file that was deleted for FILE_DELETE operations. This will be 0 for FILE_RENAME operations.

file.md5

md5digest

The MD5 hash digest for the file after the file was written and closed for FILE_WRITE operations or the hash digest of the file that was deleted for FILE_DELETE operations. This will be 0 for FILE_RENAME and FILE_OPEN operations.

file.originalpath

string

Indicates the full path of the original filename for FILE_RENAME operations.

file.creationdisposition

FILE_CREATE_NEW

FILE_CREATE_ALWAYS

FILE_OPEN_EXISTING

FILE_OPEN_ALWAYS

Indicates the disposition with which the file was opened. This Windows-only field is valid only for FILE_WRITE and FILE_OPEN operations. This is only available on Windows.

file.shareaccess

FILE_SHARE_READ

FILE_SHARE_WRITE

FILE_SHARE_DELETE

A bitmask indicating the shared access with which the file was opened. This field is valid only for FILE_WRITE and FILE_OPEN operations. This is only available on Windows.

file.desiredaccess

FILE_READ_DATA

FILE_LIST_DIRECTORY

FILE_WRITE_DATA

FILE_ADD_FILE

FILE_APPEND_DATA

FILE_ADD_SUBDIRECTORY

FILE_CREATE_PIPE_INSTANCE

FILE_READ_EA

FILE_WRITE_EA

FILE_EXECUTE

FILE_TRAVERSE

FILE_DELETE_CHILD

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

FILE_ALL_ACCESS

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_GENERIC_EXECUTE

A bitmask indicating the access with which the file was opened. This field is only valid for FILE_WRITE and FILE_OPEN operations. This is only available on Windows.

file.pid

pid

The process id associated with the file action.

file.entropy

double

The entropy of the file that was written for FILE_WRITE operations or deleted for FILE_DELETE operations.

file.usersid

string

Security identifier (SID) string representing the user associated with the file operation. Well-known SIDs are represented using Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…). This is only available on Windows.

file.userid

uint64

The numeric user id of the user associated with the file operation. This is only available on macOS.

file.devicepath

string

The kernel device path associated with the file, for example. \device\harddiskvolume1, or similar. This is only available on Windows.

file.timestamp

uint64

The timestamp of the event.

file.labels

string

Contains a key/value pair list of sensitivity labels from a Microsoft Office document. This field is only populated for Microsoft Office documents for FILE_WRITE and FILE_RENAME operations.


 

Imageload event (Windows, macOS, Linux)

Imageload events are generated whenever an executable image is loaded on the endpoint. This includes the loading of executable images and dynamic link libraries that take place whenever a new process is started. It also includes the loading of dynamic link libraries, which can occur after a process has started through the use of the Win32 LoadLibrary/LoadLibraryEx APIs or the macOS/Linux dlopen API.

The following table describes the ImageLoad attribute, allowed values, and description for each ImageLoad event type

Imageload attribute name

Allowed values

Description

imageload.imagepath

string

Indicates the full path of the image that was loaded.

imageload.baseaddr

uint64

Indicates the base address where the image was loaded. This is only available on Windows.

imageload.imagesize

uint64

Indicates the image size that was loaded.

imageload.loadstate

IMAGE_LOADED

IMAGE_EXISTING

IMAGE_LOADED indicates that the image has been loaded.

IMAGE_EXISTING is used in image load attributes generated for images already loaded at the time the endpoint agent started.

imageload.md5

string

Indicates the MD5 digest of the image that was loaded. This is only available on Windows.

imageload.usersid

string

Security identifier string representing the user associated with the image load operation. Well-known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…). This is only available on Windows.

imageload.pid

pid

The process id for the process performing the image load.

image.timestamp

uint64

The timestamp of the event.


 

InspectFileMatch event (Windows only)

InspectFileMatch events are generated whenever one or more regular expressions matches occur as the result of an InspectFile rule action. Only one InspectFileMatch event is returned per InspectFile action regardless of how many matches occurred within that file.

The following table describes the InspectFileMatch attribute, allowed values, and description for each InspectFileMatch event type.

InspectFileMatch attribute name

Allowed values

Description

inspectfilematch.path

string

Indicates the full path of the file that was inspected.

inspectfilematch.label

string

The label string corresponding to the label string used in the InspectFile rule action that resulted in this match event.

inspectfilematch.pid

pid

The process id for the process that triggered the inspect rule.

inspectfilematch.timestamp

uint64

The timestamp of the event.


‎ 

Keystroke event (Windows only)

Keystroke events are generated in response to keystrokes entered on the endpoint machine, but not for each individual keystroke entered. Instead, keystrokes are collected into a buffer, and then keystroke events are generated at specific tear points, that include when the following occurs:

The user presses the enter/return key.

The user presses a control sequence that includes any of the following keys: ALT, CTRL, WIN, F1-F24, ESCAPE, PRINT SCREEN.

The user shifts focus to another window and enters a keystroke in that window.

The keystroke log buffer has reached its maximum buffered keys limit.

The timeout keystroke buffer periodic flush timer has elapsed.

Note: The keystroke periodic flush timer and the keystroke maximum buffered keys limit can be configured on a per endpoint basis from the Nuix Adaptive Security console.

The following table describes the keystroke attribute, allowed values, and description for each keystroke event type.

Keystroke attribute name

Allowed values

Description

keystroke.pid

pid

The process id for the application receiving the keystrokes.

keystroke.windowtitle

string

The contents of the title bar for the application window receiving the keystrokes.

keystroke.usersid

string

Security identifier (SID) string representing the user associated with the process creation. Well-known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…).

keystroke.keydata

string

A string of captured keystroke data. This is a decoded representation of the virtual keys codes captured from the operating system. When representing non-alphanumeric keys and control key sequences a special notation is used. See Appendix A: Keystroke Event Special Character Notation for more details and examples.

keystroke.timestamp

uint64

The timestamp of the event.
‎ 

Media event (Windows, macOS, Linux)

Media events are generated in response to the insertion or removal of removable media, which includes USB thumb drives as well as external hard drives connected by USB or Firewire.

The following table describes the removable media attribute, allowed values, and description for each media event type.

Removable media attribute name

Allowed values

Description

media.event

DEVICE_INSERTED

DEVICE_REMOVED

Indicates whether a removable media device is being inserted or removed from the system.

media.rootpathname

string

The pathname where the removable media device is mounted.

On Windows, the path is displayed in the format [DriveLetter]:\. ("e:\", "f:\").

On macOS, the path is displayed as a volume path such as “/Volumes/mydevice”.

media.bustype

BUS_FIREWIRE

BUS_USB

BUS_ESATA

The type of bus the removable media device was attached to.

media.filesystemname

string

The name of the file system used to format the volume, which is usually one of the following: "NTFS", "FAT32", for example, FAT”, “HFS”, or “APFS”. On Linux, exFat and NTFS file system may appear with the name “fuseblk”. See Filesystem in Userspace.

media.volumelabel

string

The volume label assigned to the removable media volume. A user can set the volume labels anytime during or after formatting a volume. The volume label may give insight as to what the storage volume contains.

media.volumeserial

string

The volume serial number is a 32-bit value assigned to a volume by Windows at the time a volume is formatted. It is one way of tracking media volumes, although the volume serial number can potentially be changed by a user with enough effort. It is displayed in the header of the output from the command prompt "dir" command.

media.volumefreebytes

uint64

Indicates the number of free bytes on the removable media storage volume.

media.volumetotalbytes

uint64

Indicates the total size in bytes of the removable media storage volume.

media.deviceserial

string

For USB thumb drives, the serial number is embedded in the hardware by the manufacturer. An example serial number taken from a SanDisk thumb drive is: "SNDKAA03743213606705".

media.devicepid

string

The device product id string value. The value is set by the device manufacturer. An example pid string from a SanDisk Cruzer Mini thumb drive is: "Cruzer Mini".

media.devicevid

string

The device vendor id string. The value is set by the device manufacturer. An example vendor string from a SanDisk Cruzer Mini thumb drive is: "SanDisk".

media.devicepath

string

The kernel device path associated with the mounted drive, for example, \device\harddiskvolume4, or similar.

media.timestamp

uint64

The timestamp of the event.


 

Memory scan injection event (Windows only)

Memory scan injection events are generated in response to instances of covertly injected portable executable (PE) modules discovered when executing the memscan rule action on the endpoint.

The following table describes the injected image attribute, allowed values, and description for each memory scan injection event type.

Injected image attribute name

Allowed values

Description

injectedImage.timestamp

uint64

The timestamp of the event.

injectedImage.pid

pid

The process id of the process in which the injected module was found.

injectedImage.imagepath

string

The full path of the process executable in which the injected module was found.

injectedImage.baseaddress

uint64

The base virtual address where the injected module is loaded in memory.

injectedImage.checksum

uint32

The checksum of the injected PE module as pulled from the Checksum field in the PE headers of the injected module in memory.

injectedImage.sizeofimage

uint32

The size of the injected PE module, as pulled from the SizeOfImage field in the PE headers of the injected module in memory.

injectedImage.owner

MEMSCAN_OWNER_UNKNOWN

MEMSCAN_OWNER_NUIX

Indicates the source or owner of the injected module:

MEMSCAN_OWNER_UNKNOWN indicates that the source of this injected module is unknown and may be malicious.

MEMSCAN_OWNER_NUIX indicates that this is an injected module that belongs to Nuix Adaptive Security and is not a security threat.


 

Memory scan patch event (Windows only)

Memory scan patch events are generated in response to instances of code patches discovered when executing the memscan rule action on the endpoint.

The following table describes the patched image attribute, allowed values, and description for each memory scan patch event type.

Patched image attribute name

Allowed values

Description

patchedImage.timestamp

uint64

The timestamp of the event.

patchedImage.pid

pid

The process id of the process in which the patched code was found.

patchedImage.imagepath

string

The full path of the process executable in which the injected module was found.

patchedImage.modulepath

string

The full path of the process executable in which the injected module was found.

patchedImage.baseaddress

uint64

Indicates the virtual address in memory where the patch begins.

patchedImage.length

uint64

The length in bytes of the patch.

patchedImage.inlinehook

bool

Indicates that the patch represents an inline hook used to redirect the flow of execution code to another location in memory.

patchedImage.eathook

bool

Indicates that the patch is a patch of the PE export address table.

patchedImage.targetaddress

uint64

If patchedImage.inlinehook or patchedImage.eathook is TRUE, this field contains the target virtual address for the hook.

patchedImage.targetsymbol

string

Symbolic name representing the target address in the event of an Export Address Table (EAT) hook or inline hook. Depending on the amount of symbolic data that can be resolved. the content of the string will vary. An example of symbolic data for an inline hook pointing into a non-exported function within chrome.exe is shown below:

\Device\HarddiskVolume3\Program Files (x86)\Google\Chrome\Application\chrome.exe!0x00000000000bd9f0

patchedImage.patchsymbol

string

Symbolic name representing the address where the patch begins. Depending on the amount of symbolic data that can be resolved, the content of the string will vary. An example of symbolic data for a patch that occurs in a function exported from ntdll.dll is shown below:

\Device\HarddiskVolume3\Windows\System32\ntdll.dll!NtOpenSymbolicLinkObject+0x00000020

patchedImage.owner

MEMSCAN_OWNER_UNKNOWN

MEMSCAN_OWNER_NUIX

Indicates the source or owner of the patch.

MEMSCAN_OWNER_UNKNOWN indicates that the source of this patch is unknown and may be malicious.

MEMSCAN_OWNER_NUIX indicates that this is a patch installed by Nuix Adaptive Security and is not a security threat.


 

Microsoft Defender events (Windows only)

The endpoint agent interacts with Microsoft Defender to identify active threats on the endpoint. When the endpoint agent starts, the endpoint agent polls Microsoft Defender for active threats. After startup, the endpoint agent periodically polls (using a 30-second interval) Microsoft Defender to identify subsequent threats. For each threat reported by Microsoft Defender, the endpoint agent generates an event and sends the event to the filter engine for processing. 

The following table describes the defender attribute, allowed values, and description.

Defender attribute name

Allowed values

Description

defender.timestamp

uint64

The timestamp of the event.

defender.threatid

uint64

GUID uniquely identifying a threat for Microsoft Defender.

Note: Windows 7 and versions of Windows greater than Windows 8 use different domains for their GUIDs.

defender.threatname

string

Name of the threat.

defender.threatstatus

THREAT_STATUS_UNKNOWN

THREAT_STATUS_DETECTED

THREAT_STATUS_CLEANED

THREAT_STATUS_QUARANTINED

THREAT_STATUS_REMOVED

THREAT_STATUS_ALLOWED

THREAT_STATUS_BLOCKED

THREAT_STATUS_CLEAN_FAILED

THREAT_STATUS_QUARANTINE_FAILED

THREAT_STATUS_REMOVE_FAILED

THREAT_STATUS_ALLOW_FAILED

THREAT_STATUS_ABANDONED

THREAT_STATUS_BLOCK_FAILED

THREAT_STATUS_INVALID

The status of the threat at the time the event was received by the filter engine. It is important to understand that Microsoft Defender often cleans/removes/quarantines active threats automatically. If a threat event indicates DETECTED, the threat event may be cleaned automatically in very short order.

DETECTED: Threat is discovered, but not remediated.

CLEANED: Threat has been eliminated, likely including multiple steps (killing a malicious process and deleting a file).

QUARANTINED: Threat has been moved and access has been restricted in a way that it is mitigated presently.

REMOVED: Threat has been deleted. Often just deleting a file, otherwise, the status would likely be CLEANED.

ALLOWED: The user was prompted with a warning and authorized the threat to proceed.

BLOCKED: The threat was prevented, blocked execution, for example, through user action or automatically.

THREAT_STATUS_*_FAILED: An attempt was made to perform the action, but that attempt did not succeed.

defender.detectiontime

uint64

The timestamp of when Microsoft Defender detected the threat.

defender.remediationtime

uint64

The timestamp of when Microsoft Defender cleaned/quarantined/removed the threat.

defender.threattype

THREAT_TYPE_UNKNOWN

THREAT_TYPE_KNOWN_BAD

THREAT_TYPE_BEHAVIOR

THREAT_TYPE_KNOWN_GOOD

THREAT_TYPE_NIS

Microsoft Defender characterizes threat types as follows:

KNOWN_BAD: Microsoft Defender matched a threat signature.

BEHAVIOR: Microsoft Defender noticed a behavior.

KNOWN_GOOD: Microsoft Defender matched a signature, but the "threat" is not a problem (likely used for their testing).

NIS: Microsoft Defender observed a network attack (or attempt to attack).

defender.threatorigin

THREAT_ORIGIN_UNKNOWN

THREAT_ORIGIN_LOCAL_MACHINE

THREAT_ORIGIN_NETWORK_SHARE

THREAT_ORIGIN_INTERNET

THREAT_ORIGIN_OUTBOUND

THREAT_ORIGIN_INBOUND

Where the threat came from.

LOCAL_MACHINE, NETWORK_SHARE, and INTERNET are derived from the NTFS Zone ADS on the threat originating file.

OUTBOUND and INBOUND are only applications for NIS-detected events and indicate the direction of network traffic associated with the threat.

defender.threatexecutionstatus

THREAT_EXECUTION_STATUS_UNKNOWN

THREAT_EXECUTION_STATUS_BLOCKED

THREAT_EXECUTION_STATUS_ALLOWED

THREAT_EXECUTION_STATUS_EXECUTING

THREAT_EXECUTION_STATUS_NOT_EXECUTING

Whether or not the threat has executed.

UNKNOWN: Microsoft Defender does not know if the threat ran.

BLOCKED: Microsoft Defender blocked the threat from running.

ALLOWED: The threat was allowed to run.

EXECUTING: The threat is currently executing.

NOT EXECUTING: The threat is not currently executing.

For a threat that was detected as Microsoft Defender attempted to execute, you should see BLOCKED or ALLOWED. For a threat that was detected after Microsoft Defender was already running, you should see EXECUTING. You would perhaps then expect to see NOT_EXECUTING for a threat that was found on disk that was not presently executing or discovered when Microsoft Defender was attempting to execute, but that has never been observed in testing. In that case, UNKNOWN is observed.

defender.detectionsource

THREAT_DETECTION_SOURCE_UNKNOWN

THREAT_DETECTION_SOURCE_USER_SCAN

THREAT_DETECTION_SOURCE_SYSTEM_SCAN

THREAT_DETECTION_SOURCE_REALTIME

THREAT_DETECTION_SOURCE_IE_OUTLOOK

THREAT_DETECTION_SOURCE_NETWORK_INSPECTION

THREAT_DETECTION_SOURCE_IE_BHO

THREAT_DETECTION_SOURCE_ELAM

THREAT_DETECTION_SOURCE_LOCAL_ATTESTATION

THREAT_DETECTION_SOURCE_REMOTE_ATTESTATION

THREAT_DETECTION_SOURCE_AMSI

How did Microsoft Defender come to learn about this threat?

UNKNOWN: Have not seen this occur.

USER_SCAN: The user requested a scan and the threat was found.

SYSTEM_SCAN: A regular recurring scan found the threat.

REALTIME: Real-time protection mechanisms.

IE_OUTLOOK: Found while scanning browser downloads or email attachments.

NETWORK_INSPECTION: Found looking at network traffic.

IE_BHO: IExtensionValidation failed to validate a web control.

ELAM: Early Load Anti-Malware detected a threat.

LOCAL_ATTESTATION: System integrity did not validate based on a local attestation client.

REMOTE_ATTESTATION: System integrity did not validate based on a remote attestation client.

AMSI: Anti-Malware Scan Interface (used by third-party applications to ask Microsoft Defender to scan resources for them).

defender.detectiontype

THREAT_DETECTION_TYPE_UNKNOWN

THREAT_DETECTION_TYPE_CONCRETE

THREAT_DETECTION_TYPE_HEURISTIC

THREAT_DETECTION_TYPE_GENERIC

THREAT_DETECTION_TYPE_SUSPICIOUS

THREAT_DETECTION_TYPE_FASTPATH

A nuanced field considering the threattype field; this field is basically a clarifying or subcategory of that threattype.

If a threat is THREAT_TYPE_KNOWN_BAD and THREAT_DETECTION_TYPE_CONCRETE that means that a "concrete" signature (byte pattern or some other unambiguous attribute) was matched to declare the threat a KNOWN_BAD.

If the threat is KNOWN_BAD, but the detection type is THREAT_DETECTION_TYPE_HEURISTIC, then the threat matched a heuristic, non-concrete, signature.

A THREAT_DETECTION_TYPE_SUSPICIOUS indicates lower confidence that the threat event is a serious risk.

It is unknown when THREAT_DETECTION_TYPE_GENERIC or THREAT_DETECTION_TYPE_FASTPATH are used.


 

Namespace event (Windows only)

Namespace events are generated in response to Domain Name System queries generated on the endpoint.

Note: Keep the following in mind when capturing namespace Insights: All Namespace events are displayed in the Insights list, including blocked namespace events. Some namespace events, like ns lookup, cannot be captured or blocked.

To know when a namespace is blocked, add an alert. Use the following as an example:

`rulegroup NamespaceAlert

(author="Nuix",

type="Namespace")

{

#

# Alert for Blocked Namespace Event

#

rule(name="Blocked Namespace Event",

description="A blocked namespace event was generated.")

{

alert when namespace.blocked == true;

}

}`


The following table describes the namespace attribute, allowed values, and description for each namespace type.

Namespace attribute name

Allowed values

Description

namespace.processname

string

The full path of the program that generated the request, for example, "c:\program files\Internet Explorer\iexplore.exe" or similar.

namespace.query

string

The name to be resolved, for example, "go.microsoft.com", "wpad", www.nuix.com.

namespace.pid

pid

Process id associated with the namespace activity.

namespace.timestamp

uint64

The timestamp of the event.

namespace.results

ipaddr

This attribute contains a list of IP addresses returned as a result of a successful query.

namespace.blocked

TRUE

FALSE

Indicates whether the namespace query was blocked or not.


 

Network event (Windows, macOS, Linux)

Network events are generated when a network connection is established or terminated. Events are also generated periodically during the lifetime of a connection to provide updated statistics on the amount of data transferred to date. Finally, events are generated for certain socket state events of interest such as entering the listening state.

The following table describes the network attribute, allowed values, and description for each network event type.

Network attribute name

Allowed values

Description

network.action

NETFLOW_ESTABLISHED

NETFLOW_TERMINATED

NETFLOW_HEARTBEAT

NETFLOW_OTHER

Indicates the type of netflow event to match against.

NETFLOW_ESTABLISHED: A new TCP session, or the flow of UDP or ICMP traffic between source and destination addresses/ports that have not been seen in the past 60 seconds.

NETFLOW_TERMINATED: Termination of a TCP session, or a UDP or ICMP session over which traffic has not flowed in the past 60 seconds.

NETFLOW_HEARTBEAT: A heartbeat event, which is generated on a periodic basis (every 10 minutes) for established network connections.

NETFLOW_OTHER: Used to indicate socket state change events generated separately from connection establishment/termination events, including when a socket is placed into listening mode. The network.socketstate attribute indicates the state.

network.socketstate

SOCKET_ESTABLISHED

SOCKET_CLOSED

SOCKET_LISTEN

SOCKET_BOUND

Indicates the state of the socket associated with the network event.

SOCKET_ESTABLISHED: Expected for network actions of NETFLOW_ESTABLISHED or NETFLOW_HEARTBEAT.

SOCKET_CLOSED: Expected for actions of NETFLOW_TERMINATED.

When network.action is NETFLOW_OTHER, the SOCKET_BOUND and SOCKET_LISTEN states can indicate that the socket has been bound to a local IP address and port, for example, the socket bind API has been called on the socket or has been placed in a listening state, for example, the socket listen API has been called on the socket.

SOCKET_LISTEN can be useful in detecting processes that are listening for remote connections even if no connections have been established yet.

Note: The macOS agent only reports the SOCKET_LISTEN state. No other socket state changes are reported from macOS agents.

network.direction

INBOUND

OUTBOUND

Indicates the direction of the flow associated with the event.

INBOUND: Traffic initiated from a remote system to the system running the endpoint client.

OUTBOUND: Traffic initiated from the endpoint client system to a remote system.

network.ipversion

IPV4

IPV6

Indicates the version of the IP protocol associated with the event.

network.local.ipaddr

ipaddr

Local address or netmask associated with an inbound or outbound network connection.

network.remote.ipaddr

ipaddr

The remote address or netmask associated with an inbound or outbound network connection.

network.local.port

uint32

Local port associated with an inbound or outbound network connection.

network.remote.port

uint32

Remote port associated with an inbound or outbound network connection.

network.icmp.type

uint32

ICMP type value associated with an inbound or outbound ICMP packet.

network.icmp.code

uint32

ICMP code value associated with an inbound or outbound ICMP packet.

network.proto

PROTO_ICMP

PROTO_TCP

PROTO_UDP

The protocol associated with an inbound or outbound network connection.

network.pid

pid

Process id associated with network activity.

network.socketstate

SOCKET_UNKNOWN

SOCKET_CLOSED

SOCKET_LISTEN

SOCKET_BOUND

 

network.preexisting

bool

When TRUE, indicates that this network event corresponds to a network state that was pre-existing when the endpoint agent started. For example, the endpoint agent generates network events with an action value of NETFLOW_ESTABLISHED for each existing network connection found when the endpoint agent starts. This field is set to TRUE for each of those events in that scenario.

network.sent.bytes

uint64

Total bytes of data sent over a network connection. This count does not include network or transport layer headers for TCP and UDP traffic. For ICMP traffic, the count does not include the network layer header, but it does include the full ICMP message (ICMP header plus the data portion of the ICMP message).

network.sent.packets

uint64

Total packets sent over the network connection.

network.recv.bytes

uint64

Total bytes of data sent over a network connection. This count does not include network or transport layer headers for TCP and UDP traffic. For ICMP traffic, the count does not include the network layer header, but the count does include the full ICMP message (ICMP header plus the data portion of the ICMP message).

network.recv.packets

uint64

Total packets received over the network connection.

network.sent.bytes.differential

uint64

Bytes sent over the network connection since the last network event generated for this connection.

network.sent.packets.differential

uint64

Packets sent over the network connection since the last network event generated for this connection.

network.recv.bytes.differential

uint64

Bytes received over the network connection since the last network event generated for this connection.

network.recv.packets.differential

uint64

Packets received over the network connection since the last network event generated for this connection.

network.timestamp

uint64

The timestamp of the event.


 

Object event (Windows only)

Object events are generated when the Windows kernel object manager creates a new process handle. This occurs when a user process opens a handle to another process. It also happens when a user process creates a child process. A typical use of an object event in a rule is to identify a process attempting to open a handle to a non-child process with access privileges that would allow it to manipulate the memory space of the target process. An example would be a process opening a handle to lsass.exe with access privileges that allow reading of memory from lsass. This is a technique sometimes used to steal credentials. The following table describes the object attribute, allowed values, and description for each object type.

Object attribute name

Allowed values

Description

object.operation

OBJECT_CREATE

A new object was created.

object.callingprocess

string

The full path to the executable associated with the process attempting to obtain a handle to another process, for example, \Device\HarddiskVolume1\Windows\explorer.exe or similar.

object.targetobjecttype

OBJECT_TYPE_PROCESS

 

The type of object being operated on.

object.targetprocess

string

The full path to the executable associated with the process whose handle is being obtained, for example, \Device\HarddiskVolume1\Windows\explorer.exe or similar.

object.accessmask

PROCESS_TERMINATE

PROCESS_CREATE_THREAD

PROCESS_SET_SESSIONID

PROCESS_VM_OPERATION

PROCESS_VM_READ

PROCESS_VM_WRITE

PROCESS_DUP_HANDLE

PROCESS_CREATE_PROCESS

PROCESS_SET_QUOTA

PROCESS_SET_INFORMATION

PROCESS_QUERY_INFORMATION

PROCESS_SUSPEND_RESUME

PROCESS_QUERY_LIMITED_INFORMATION

PROCESS_SET_LIMITED_INFORMATION

PROCESS_SYNCHRONIZE

PROCESS_ALL_ACCESS

The access mask requested when creating the new object. These values are used to form a bitmask representing the access mask and are not enums.

object.targetpid

pid

The process id of the process whose object is the target of the operation.

object.sourcepid

pid

The process id of the process performing the operation.

object.userid

string

Security identifier (SID) string representing the user associated with the object operation. Well-known SIDs are represented using the Microsoft Security Definition Language. Other SIDS use the standard string representation of a SID (S-R-I-S-S…).

object.timestamp

uint64

The timestamp of the event.


 

Print events are generated in response to the completion of a print job and are generated only for print jobs sent through print queues defined on the system where the agent is running.

The following table describes the print event attribute, allowed values, and description for each print event type.

Print event attribute name

Allowed values

Description

print.event

JOB_PRINTED

Indicates the type of print event.

print.totalbytes

uint32

Total bytes in the print job.

print.totalpages

uint32

Total pages in the print job.

print.printername

string

The name of the printer to which the document is printed.

print.machinename

string

The name of the machine from which the print job is initiated.

print.username

string

The user name of the user who initiated the print job.

print.documentname

string

The name of the document printed. The name usually corresponds to the name in the title bar of the application from which the document was printed.

print.timestamp

uint64

The timestamp of the event.


 

Process event (Windows, macOS, Linux)

Process events are generated in response to processes starting and processes terminating. In addition, when the endpoint agent starts up, the agent enumerates all existing processes on the system and generates events. 

The following table describes the process attribute, allowed values, and description for each process event type.

Process attribute name

Allowed values

Description

process.state

PROCESS_EXITED

PROCESS_STARTING

PROCESS_STARTED

PROCESS_EXISTING

Indicates the process state.

PROCESS_STARTING: Process is starting, subject to block rules.

PROCESS_STARTED: Process has started.

PROCESS_EXITED: Process has exited.

PROCESS_EXISTING: Used in process events generated for processes that were in existence at the time the endpoint agent started.

process.path

string

Indicates the full path of the executable associated with this process event, for example, \device\harddiskvolume1\windows\system32\calc.exe, or similar.

process.devicepath

string

The kernel device path associated with the executable, for example, \device\harddiskvolume1, or similar. This is only available on Windows.

process.parentpath

string

Indicates the full path of the executable associated with the parent process.

process.md5

md5digest

Indicates the MD5 digest of the executable associated with this process.

process.pid

pid

Process id for the process being created.

process.ppid

uint32

Process id for the parent process.

process.cmdline

string

Command-line string associated with the process.

process.usersid

string

Security identifier (SID) string representing the user associated with the process creation. Well-known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…). This is only available on Windows.

process.elevation

PROCESS_ELEVATION_UNKNOWN

PROCESS_NOT_ELEVATED

PROCESS_ELEVATED

Indicates whether the process is elevated. Windows considers a process to be elevated when running at an integrity level above medium. UAC elevated processes run with an integrity level of high.

process.timestamp

uint64

The timestamp of the event.


 

Registry event (Windows Only)

Registry events are generated in response to creating new registry keys, renaming existing registry keys, and setting values under registry keys.

The following table describes the registry attribute, allowed values, and description for each registry event type.

Registry attribute name

Allowed values

Description

registry.operation

REG_SET_VALUE

REG_RENAME_KEY

REG_PRE_CREATE_KEY_EX

Indicates the registry operation.

registry.valuetype

REG_NONE

REG_SZ

REG_EXPAND_SZ

REG_BINARY

REG_DWORD

REG_DWORD_LITTLE_ENDIAN

REG_DWORD_BIG_ENDIAN

REG_LINK

REG_MULTI_SZ

REG_RESOURCE_LIST

REG_FULL_RESOURCE_DESCRIPTOR

REG_RESOURCE_REQUIREMENTS_LIST

REG_QWORD

REG_QWORD_LITTLE_ENDIAN

Indicates the type of data being written in the operation. This is REG_NONE for operations other than REG_SET_VALUE.

registry.valuesize

uint32

The size in bytes of the value being set in a REG_SET_VALUE operation.

registry.value.dword

uint32

The uint32 value being set in a REG_SET_VALUE operation when the registry.valuetype is REG_DWORD. This field is empty for other registry operation types.

registry.value.qword

uint64

The uint64 value being set in a REG_SET_VALUE operation when the registry.valuetype is REG_QWORD. This field is empty for other registry operation types.

registry.value.string

string

The string value is set in a REG_SET_VALUE operation when the registry.valuetype is REG_SZ. This field is empty for other registry operation types.

registry.keyname

string

The full path of the registry key associated with the registry action. In the case of a REG_RENAME_KEY operation, this field represents the original key name.

registry.renamedkeyname

string

If the registry operation is REG_RENAME_KEY, this field contains the new name of the key. This field is empty for other registry operation types.

registry.valuename

string

Contains the name of the value being set or deleted in a REG_SET_VALUE or REG_DELETE_VALUE operation. This field is empty for other registry operation types.

registry.usersid

string

Security identifier (SID) string representing the user associated with the registry operation. Well known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…).

registry.pid

uint32

The process id associated with the registry activity.

registry.timestamp

uint64

The timestamp of the event.

‎ 

Session event (Windows, macOS, Linux)

Session events are generated in response to logins such as console logins and RDP logins on Windows, and terminal logins and SSH sessions on macOS.

The following table describes the session attribute, allowed values, and description for each session event type.

Session attribute name

Allowed values

Description

session.event

SESSION_LOGON

SESSION_LOGOFF

SESSION_LOCK

SESSION_UNLOCK

SESSION_CONNECT

SESSION_DISCONNECT

Indicates the type of session event. SESSION_LOGON and SESSION_LOGOFF correspond to logging on and logging off. Both the Mac and Windows agents generate these alerts.

The remaining types correspond only to Windows machines.

SESSION_LOCK and SESSION_UNLOCK correspond to locking and unlocking a Windows workstation.

SESSION_CONNECT occurs before the login to a new Windows session or when reconnecting to a pre-existing session using the Windows "Switch User" feature or Windows Terminal Services.

SESSION_DISCONNECT occurs on Windows when:

A user logs out.

The Windows “Switch User” feature is used to switch to another session.

A Terminal Services session is disconnected (rather than logging out).

session.type

SESSION_TYPE_CONSOLE

SESSION_TYPE_REMOTE

SESSION_TYPE_SERVICE

SESSION_TYPE_TERMINAL

Indicates the type of session.

SESSION_TYPE_CONSOLE indicates a console logon (a logon to the desktop of a Windows or macOS machine).

SESSION_TYPE_REMOTE indicates a remote login such as RDP logins or SSH logins.

SESSION_TYPE_SERVICE is used for logons performed by Windows services.

SESSION_TYPE_TERMINAL is used for macOS and represents a new terminal login, typically associated with a new instance of a terminal window.

session.domain

string

The domain name associated with the session event. This is only available on Windows.

session.username

string

The user name associated with the session event.

session.locked

TRUE

FALSE

Indicates the current locked state of the session.

session.preexisting

TRUE

FALSE

When TRUE, indicates that this session event corresponds to a session that was pre-existing when the endpoint agent started. For example, the endpoint agent generates session events with an event value of SESSION_LOGON for each existing session found when the endpoint agent starts. This field is set to TRUE for each of those events in that scenario. Currently, only the Windows agent generates events for pre-existing sessions. The macOS agent does not.

session.ipaddr

ipaddr

When session.type is SESSION_TYPE_REMOTE, this attribute indicates the IP address of the remote client.

session.timestamp

uint64

The timestamp of the event.


Thread event (Windows only)

Thread events are generated each time a thread is started or exits.

Thread attribute name

Allowed values

Description

thread.state

THREAD_EXITED

THREAD_STARTED

Indicates whether the thread event is for a start or exit.

thread.pid

pid

The process id for the process in which the thread is running.

thread.timestamp

uint64

The timestamp of the event.

thread.tid

utin32

The thread id.

‎ 

URL event (Windows, macOS, and Linux)

URL events are generated whenever a user clicks a link or enters a URL into the browser’s address bar when using the Edge, Chrome, Firefox and Vivaldi web browsers. URL events effectively mirror the entries recorded in the browser’s history file. If a user types in a URL that does not resolve, it will not show up in the URL events.

The following table describes the events attribute, allowed values, and description for each URL event type.

Clipboard attribute name

Allowed values

Description

url.pid

pid

The process id for the browser used to visit the URL.

url.visit_time

uint64

The timestamp corresponding to the time the URL was visited.

url.url

string

The URL visited. For example, “http://www.nuix.com”.

url.usersid

string

Security identifier (SID) string representing the user associated with the URL operation. Well known SIDs are represented using the Microsoft Security Definition Language. Other SIDs use the standard string representation of a SID (S-R-I-S-S…).

url.title

string

The title of the web page visited. Corresponds with the text that is typically shown in the browser's title bar or in the page's tab.

url.timestamp

uint64

The timestamp of the event.

 


‎