API events describe general CRUD (Create, Read, Update, Delete) API activities, e.g. (AWS Cloudtrail)
- Category: Application Activity
- Extends:
application - UID:
6003
Attributes
Section titled “Attributes”Classification
Section titled “Classification”activity_id
- Type:
integer_t - Requirement: required
- Values:
0-Unknown: The event activity is unknown.1-Create: The API call in the event pertains to a ‘create’ activity.2-Read: The API call in the event pertains to a ‘read’ activity.3-Update: The API call in the event pertains to a ‘update’ activity.4-Delete: The API call in the event pertains to a ‘delete’ activity.99-Other: The event activity is not mapped. See theactivity_nameattribute, which contains a data source specific value.
The normalized identifier of the activity that triggered the event.
category_uid
- Type:
integer_t - Requirement: required
- Values:
6-Application Activity: Application Activity events report detailed information about the behavior of applications and services.
The category unique identifier of the event.
class_uid
- Type:
integer_t - Requirement: required
- Values:
6003-API Activity: API events describe general CRUD (Create, Read, Update, Delete) API activities, e.g. (AWS Cloudtrail)
The unique identifier of a class. A class describes the attributes available in an event.
severity_id
- Type:
integer_t - Requirement: required
- Values:
0-Unknown: The event/finding severity is unknown.1-Informational: Informational message. No action required.2-Low: The user decides if action is needed.3-Medium: Action is required but the situation is not serious at this time.4-High: Action is required immediately.5-Critical: Action is required immediately and the scope is broad.6-Fatal: An error occurred but it is too late to take remedial action.99-Other: The event/finding severity is not mapped. See theseverityattribute, which contains a data source specific value.
The normalized identifier of the event/finding severity.The normalized severity is a measurement the effort and expense required to manage and resolve an event or incident. Smaller numerical values represent lower impact events, and larger numerical values represent higher impact events.
type_uid
- Type:
long_t - Requirement: required
- Values:
600300-API Activity: Unknown600301-API Activity: Create: The API call in the event pertains to a ‘create’ activity.600302-API Activity: Read: The API call in the event pertains to a ‘read’ activity.600303-API Activity: Update: The API call in the event pertains to a ‘update’ activity.600304-API Activity: Delete: The API call in the event pertains to a ‘delete’ activity.600399-API Activity: Other
The event/finding type ID. It identifies the event’s semantics and structure. The value is calculated by the logging system as: class_uid * 100 + activity_id.
activity_name
- Type:
string_t - Requirement: optional
The event activity name, as defined by the activity_id.
category_name
- Type:
string_t - Requirement: optional
The event category name, as defined by category_uid value: Application Activity.
class_name
- Type:
string_t - Requirement: optional
The event class name, as defined by class_uid value: API Activity.
severity
- Type:
string_t - Requirement: optional
The event/finding severity, normalized to the caption of the severity_id value. In the case of ‘Other’, it is defined by the source.
type_name
- Type:
string_t - Requirement: optional
The event/finding type name, as defined by the type_uid.
Context
Section titled “Context”metadata
- Type:
metadata - Requirement: required
The metadata associated with the event or a finding.
confidence_id security_control
- Type:
integer_t - Requirement: recommended
- Values:
0-Unknown: The normalized confidence is unknown.1-Low2-Medium3-High99-Other: The confidence is not mapped to the defined enum values. See theconfidenceattribute, which contains a data source specific value.
The normalized confidence refers to the accuracy of the rule that created the finding. A rule with a low confidence means that the finding scope is wide and may create finding reports that may not be malicious in nature.
confidence security_control
- Type:
string_t - Requirement: optional
The confidence, normalized to the caption of the confidence_id value. In the case of ‘Other’, it is defined by the event source.
confidence_score security_control
- Type:
integer_t - Requirement: optional
The confidence score as reported by the event source.
enrichments
- Type:
enrichment - Requirement: optional
The additional information from an external data source, which is associated with the event or a finding. For example add location information for the IP address in the DNS answers:[{"name": "answers.ip", "value": "92.24.47.250", "type": "location", "data": {"city": "Socotra", "continent": "Asia", "coordinates": [-25.4153, 17.0743], "country": "YE", "desc": "Yemen"}}]
raw_data
- Type:
string_t - Requirement: optional
The raw event/finding data as received from the source.
raw_data_hash
- Type:
fingerprint - Requirement: optional
The hash, which describes the content of the raw_data field.
raw_data_size
- Type:
long_t - Requirement: optional
The size of the raw data which was transformed into an OCSF event, in bytes.
risk_details security_control
- Type:
string_t - Requirement: optional
Describes the risk associated with the finding.
risk_level security_control
- Type:
string_t - Requirement: optional
The risk level, normalized to the caption of the risk_level_id value.
risk_level_id security_control
- Type:
integer_t - Requirement: optional
- Values:
0-Info1-Low2-Medium3-High4-Critical99-Other: The risk level is not mapped. See therisk_levelattribute, which contains a data source specific value.
The normalized risk level id.
risk_score security_control
- Type:
integer_t - Requirement: optional
The risk score as reported by the event source.
unmapped
- Type:
object - Requirement: optional
The attributes that are not mapped to the event schema. The names and values of those attributes are specific to the event source.
Occurrence
Section titled “Occurrence”time
- Type:
timestamp_t - Requirement: required
The normalized event occurrence time or the finding creation time.
timezone_offset
- Type:
integer_t - Requirement: recommended
The number of minutes that the reported event time is ahead or behind UTC, in the range -1,080 to +1,080.
count
- Type:
integer_t - Requirement: optional
The number of times that events in the same logical group occurred during the event Start Time to End Time period.
duration
- Type:
long_t - Requirement: optional
The event duration or aggregate time, the amount of time the event covers from start_time to end_time in milliseconds.
end_time
- Type:
timestamp_t - Requirement: optional
The end time of a time period, or the time of the most recent event included in the aggregate event.
end_time_dt datetime
- Type:
datetime_t - Requirement: optional
The end time of a time period, or the time of the most recent event included in the aggregate event.
start_time
- Type:
timestamp_t - Requirement: optional
The start time of a time period, or the time of the least recent event included in the aggregate event.
start_time_dt datetime
- Type:
datetime_t - Requirement: optional
The start time of a time period, or the time of the least recent event included in the aggregate event.
time_dt datetime
- Type:
datetime_t - Requirement: optional
The normalized event occurrence time or the finding creation time.
Primary
Section titled “Primary”actor
- Type:
actor - Requirement: required
The actor object describes details about the user/role/process that was the source of the activity. Note that this is not the threat actor of a campaign but may be part of a campaign.
api
- Type:
api - Requirement: required
Describes details about a typical API (Application Programming Interface) call.
cloud cloud
- Type:
cloud - Requirement: required
Describes details about the Cloud environment where the event or finding was created.
osint osint
- Type:
osint - Requirement: required
The OSINT (Open Source Intelligence) object contains details related to an indicator such as the indicator itself, related indicators, geolocation, registrar information, subdomains, analyst commentary, and other contextual information. This information can be used to further enrich a detection or finding by providing decisioning support to other analysts and engineers.
src_endpoint
- Type:
network_endpoint - Requirement: required
Details about the source of the activity.
action_id security_control
- Type:
integer_t - Requirement: recommended
- Values:
0-Unknown: The action was unknown. Thedisposition_idattribute may still be set to a non-unknown value, for example ‘Custom Action’, ‘Challenge’.1-Allowed: The activity was allowed. Thedisposition_idattribute should be set to a value that conforms to this action, for example ‘Allowed’, ‘Approved’, ‘Delayed’, ‘No Action’, ‘Count’ etc.2-Denied: The attempted activity was denied. Thedisposition_idattribute should be set to a value that conforms to this action, for example ‘Blocked’, ‘Rejected’, ‘Quarantined’, ‘Isolated’, ‘Dropped’, ‘Access Revoked, etc.3-Observed: The activity was observed, but neither explicitly allowed nor denied. This is common with IDS and EDR controls that report additional information on observed behavior such as TTPs. Thedisposition_idattribute should be set to a value that conforms to this action, for example ‘Logged’, ‘Alert’, ‘Detected’, ‘Count’, etc.4-Modified: The activity was modified, adjusted, or corrected. Thedisposition_idattribute should be set appropriately, for example ‘Restored’, ‘Corrected’, ‘Delayed’, ‘Captcha’, ‘Tagged’.99-Other: The action is not mapped. See theactionattribute which contains a data source specific value.
The action taken by a control or other policy-based system leading to an outcome or disposition. An unknown action may still correspond to a known disposition. Refer to disposition_id for the outcome of the action.
device host
- Type:
device - Requirement: recommended
An addressable device, computer system or host.
disposition_id security_control
- Type:
integer_t - Requirement: recommended
- Values:
0-Unknown: The disposition is unknown.1-Allowed: Granted access or allowed the action to the protected resource.2-Blocked: Denied access or blocked the action to the protected resource.3-Quarantined: A suspicious file or other content was moved to a benign location.4-Isolated: A session was isolated on the network or within a browser.5-Deleted: A file or other content was deleted.6-Dropped: The request was detected as a threat and resulted in the connection being dropped.7-Custom Action: A custom action was executed such as running of a command script. Use themessageattribute of the base class for details.8-Approved: A request or submission was approved. For example, when a form was properly filled out and submitted. This is distinct from1‘Allowed’.9-Restored: A quarantined file or other content was restored to its original location.10-Exonerated: A suspicious or risky entity was deemed to no longer be suspicious (re-scored).11-Corrected: A corrupt file or configuration was corrected.12-Partially Corrected: A corrupt file or configuration was partially corrected.13-Uncorrected: A corrupt file or configuration was not corrected.14-Delayed: An operation was delayed, for example if a restart was required to finish the operation.15-Detected: Suspicious activity or a policy violation was detected without further action.16-No Action: The outcome of an operation had no action taken.17-Logged: The operation or action was logged without further action.18-Tagged: A file or other entity was marked with extended attributes.19-Alert: The request or activity was detected as a threat and resulted in a notification but request was not blocked.20-Count: Counted the request or activity but did not determine whether to allow it or block it.21-Reset: The request was detected as a threat and resulted in the connection being reset.22-Captcha: Required the end user to solve a CAPTCHA puzzle to prove that a human being is sending the request.23-Challenge: Ran a silent challenge that required the client session to verify that it’s a browser, and not a bot.24-Access Revoked: The requestor’s access has been revoked due to security policy enforcements. Note: use theHostprofile if theUserorActorrequestor is not present in the event class.25-Rejected: A request or submission was rejected. For example, when a form was improperly filled out and submitted. This is distinct from2‘Blocked’.26-Unauthorized: An attempt to access a resource was denied due to an authorization check that failed. This is a more specific disposition than2‘Blocked’ and can be complemented with theauthorizationsattribute for more detail.27-Error: An error occurred during the processing of the activity or request. Use themessageattribute of the base class for details.99-Other: The disposition is not mapped. See thedispositionattribute, which contains a data source specific value.
Describes the outcome or action taken by a security control, such as access control checks, malware detections or various types of policy violations.
dst_endpoint
- Type:
network_endpoint - Requirement: recommended
The network destination endpoint.
http_request
- Type:
http_request - Requirement: recommended
Details about the underlying http request.
http_response
- Type:
http_response - Requirement: recommended
Details about the underlying http response.
is_alert security_control
- Type:
boolean_t - Requirement: recommended
Indicates that the event is considered to be an alertable signal. Should be set to true if disposition_id = Alert among other dispositions, and/or risk_level_id or severity_id of the event is elevated. Not all control events will be alertable, for example if disposition_id = Exonerated or disposition_id = Allowed.
message
- Type:
string_t - Requirement: recommended
The description of the event/finding, as defined by the source.
observables
- Type:
observable - Requirement: recommended
The observables associated with the event or a finding.
resources
- Type:
resource_details - Requirement: recommended
Details about resources that were affected by the activity/event.
status
- Type:
string_t - Requirement: recommended
The event status, normalized to the caption of the status_id value. In the case of ‘Other’, it is defined by the event source.
status_code
- Type:
string_t - Requirement: recommended
The event status code, as reported by the event source.
For example, in a Windows Failed Authentication event, this would be the value of ‘Failure Code’, e.g. 0x18.
status_detail
- Type:
string_t - Requirement: recommended
The status detail contains additional information about the event/finding outcome.
status_id
- Type:
integer_t - Requirement: recommended
- Values:
0-Unknown: The status is unknown.1-Success2-Failure99-Other: The status is not mapped. See thestatusattribute, which contains a data source specific value.
The normalized identifier of the event status.
trace trace
- Type:
trace - Requirement: recommended
The trace object contains information about distributed traces which are critical to observability and describe how requests move through a system, capturing each step’s timing and status.
action security_control
- Type:
string_t - Requirement: optional
The normalized caption of action_id.
attacks security_control
- Type:
attack - Requirement: optional
An array of MITRE ATT&CK® objects describing identified tactics, techniques & sub-techniques. The objects are compatible with MITRE ATLAS™ tactics, techniques & sub-techniques.
authorizations security_control
- Type:
authorization - Requirement: optional
Provides details about an authorization, such as authorization outcome, and any associated policies related to the activity/event.
disposition security_control
- Type:
string_t - Requirement: optional
The disposition name, normalized to the caption of the disposition_id value. In the case of ‘Other’, it is defined by the event source.
firewall_rule security_control
- Type:
firewall_rule - Requirement: optional
The firewall rule that pertains to the control that triggered the event, if applicable.
malware security_control
- Type:
malware - Requirement: optional
A list of Malware objects, describing details about the identified malware.
malware_scan_info security_control
- Type:
malware_scan_info - Requirement: optional
Describes details about the scan job that identified malware on the target system.
policy security_control
- Type:
policy - Requirement: optional
The policy that pertains to the control that triggered the event, if applicable. For example the name of an anti-malware policy or an access control policy.