DataSecurityFinding

Struct DataSecurityFinding 

Source
#[non_exhaustive]
pub struct DataSecurityFinding {
Show 78 fields pub action: Option<String>, pub action_id: Option<i64>, pub activity_id: Option<i64>, pub activity_name: Option<String>, pub actor: Option<Box<Actor>>, pub api: Option<Box<Api>>, pub assignee: Option<Box<User>>, pub assignee_group: Option<Box<Group>>, pub attacks: Option<Vec<Attack>>, pub authorizations: Option<Vec<Authorization>>, pub category_name: Option<String>, pub category_uid: Option<i64>, pub class_name: Option<String>, pub class_uid: Option<i64>, pub cloud: Option<Box<Cloud>>, pub comment: Option<String>, pub confidence: Option<String>, pub confidence_id: Option<i64>, pub confidence_score: Option<i64>, pub count: Option<i64>, pub data_security: Option<Box<DataSecurity>>, pub database: Option<Box<Database>>, pub databucket: Option<Box<Databucket>>, pub device: Option<Box<Device>>, pub disposition: Option<String>, pub disposition_id: Option<i64>, pub dst_endpoint: Option<Box<NetworkEndpoint>>, pub duration: Option<i64>, pub end_time: Option<i64>, pub end_time_dt: Option<String>, pub enrichments: Option<Vec<Enrichment>>, pub file: Option<Box<File>>, pub finding_info: Option<Box<FindingInfo>>, pub firewall_rule: Option<Box<FirewallRule>>, pub impact: Option<String>, pub impact_id: Option<i64>, pub impact_score: Option<i64>, pub is_alert: Option<bool>, pub is_suspected_breach: Option<bool>, pub malware: Option<Vec<Malware>>, pub malware_scan_info: Option<Box<MalwareScanInfo>>, pub message: Option<String>, pub metadata: Option<Box<Metadata>>, pub observables: Option<Vec<Observable>>, pub osint: Option<Vec<Osint>>, pub policy: Option<Box<Policy>>, pub priority: Option<String>, pub priority_id: Option<i64>, pub raw_data: Option<String>, pub raw_data_hash: Option<Box<Fingerprint>>, pub raw_data_size: Option<i64>, pub resources: Option<Vec<ResourceDetails>>, pub risk_details: Option<String>, pub risk_level: Option<String>, pub risk_level_id: Option<i64>, pub risk_score: Option<i64>, pub severity: Option<String>, pub severity_id: Option<i64>, pub src_endpoint: Option<Box<NetworkEndpoint>>, pub src_url: Option<String>, pub start_time: Option<i64>, pub start_time_dt: Option<String>, pub status: Option<String>, pub status_code: Option<String>, pub status_detail: Option<String>, pub status_id: Option<i64>, pub table: Option<Box<Table>>, pub ticket: Option<Box<Ticket>>, pub tickets: Option<Vec<Ticket>>, pub time: Option<i64>, pub time_dt: Option<String>, pub timezone_offset: Option<i64>, pub type_name: Option<String>, pub type_uid: Option<i64>, pub unmapped: Option<Value>, pub vendor_attributes: Option<Box<VendorAttributes>>, pub verdict: Option<String>, pub verdict_id: Option<i64>,
}
Expand description

Data Security Finding

A Data Security Finding describes detections or alerts generated by various data security products such as Data Loss Prevention (DLP), Data Classification, Secrets Management, Digital Rights Management (DRM), Data Security Posture Management (DSPM), and similar tools. These detections or alerts can be created using fingerprinting, statistical analysis, machine learning or other methodologies. The finding describes the actors and endpoints who accessed or own the sensitive data, as well as the resources which store the sensitive data. Note: if the event producer is a security control, the security_control profile should be applied and its attacks information, if present, should be duplicated into the finding_info object.
Note: If the Finding is an incident, i.e. requires incident workflow, also apply the incident profile or aggregate this finding into an Incident Finding.

[UID:2006] Category: findings | Name: data_security_finding

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§action: Option<String>

Action

The normalized caption of action_id.

optional

§action_id: Option<i64>

Action ID

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.

recommended

§activity_id: Option<i64>

Activity ID

The normalized identifier of the Data Security Finding activity.

required

§activity_name: Option<String>

Activity

The Data Security finding activity name, as defined by the activity_id.

optional

§actor: Option<Box<Actor>>

Actor

Describes details about the actor implicated in the data security finding. Either an actor that owns a particular digital file or information store, or an actor which accessed classified or sensitive data.

recommended

§api: Option<Box<Api>>

API Details

Describes details about a typical API (Application Programming Interface) call.

optional

§assignee: Option<Box<User>>

Assignee

The details of the user assigned to an Incident.

optional

§assignee_group: Option<Box<Group>>

Assignee Group

The details of the group assigned to an Incident.

optional

§attacks: Option<Vec<Attack>>

MITRE ATT&CK® and ATLAS™ Details

An array of MITRE ATT&CK® objects describing identified tactics, techniques & sub-techniques. The objects are compatible with MITRE ATLAS™ tactics, techniques & sub-techniques.

optional

§authorizations: Option<Vec<Authorization>>

Authorization Information

Provides details about an authorization, such as authorization outcome, and any associated policies related to the activity/event.

optional

§category_name: Option<String>

Category

The event category name, as defined by category_uid value: Findings.

optional

§category_uid: Option<i64>

Category ID

The category unique identifier of the event.

required

§class_name: Option<String>

Class

The event class name, as defined by class_uid value: Data Security Finding.

optional

§class_uid: Option<i64>

Class ID

The unique identifier of a class. A class describes the attributes available in an event.

required

§cloud: Option<Box<Cloud>>

Cloud

Describes details about the Cloud environment where the event or finding was created.

required

§comment: Option<String>

Comment

A user provided comment about the finding.

optional

§confidence: Option<String>

Confidence

The confidence, normalized to the caption of the confidence_id value. In the case of ‘Other’, it is defined by the event source.

optional

§confidence_id: Option<i64>

Confidence ID

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.

recommended

§confidence_score: Option<i64>

Confidence Score

The confidence score as reported by the event source.

optional

§count: Option<i64>

Count

The number of times that events in the same logical group occurred during the event Start Time to End Time period.

optional

§data_security: Option<Box<DataSecurity>>

Data Security

The Data Security object describes the characteristics, techniques and content of a Data Loss Prevention (DLP), Data Loss Detection (DLD), Data Classification, or similar tools’ finding, alert, or detection mechanism(s).

recommended

§database: Option<Box<Database>>

Database

Describes the database where classified or sensitive data is stored in, or was accessed from. Databases are typically datastore services that contain an organized collection of structured and/or semi-structured data.

recommended

§databucket: Option<Box<Databucket>>

Databucket

Describes the databucket where classified or sensitive data is stored in, or was accessed from. The data bucket object is a basic container that holds data, typically organized through the use of data partitions.

recommended

§device: Option<Box<Device>>

Device

Describes the device where classified or sensitive data is stored in, or was accessed from.

recommended

§disposition: Option<String>

Disposition

The disposition name, normalized to the caption of the disposition_id value. In the case of ‘Other’, it is defined by the event source.

optional

§disposition_id: Option<i64>

Disposition ID

Describes the outcome or action taken by a security control, such as access control checks, malware detections or various types of policy violations.

recommended

§dst_endpoint: Option<Box<NetworkEndpoint>>

Destination Endpoint

Describes the endpoint where classified or sensitive data is stored in, or was accessed from.

recommended

§duration: Option<i64>

Duration Milliseconds

The event duration or aggregate time, the amount of time the event covers from start_time to end_time in milliseconds.

optional

§end_time: Option<i64>

End Time

The time of the most recent event included in the finding.

optional

§end_time_dt: Option<String>

End Time

The time of the most recent event included in the finding.

optional

§enrichments: Option<Vec<Enrichment>>

Enrichments

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”}}]

optional

§file: Option<Box<File>>

File

Describes a file that contains classified or sensitive data.

recommended

§finding_info: Option<Box<FindingInfo>>

Finding Information

Describes the supporting information about a generated finding.

required

§firewall_rule: Option<Box<FirewallRule>>

Firewall Rule

The firewall rule that pertains to the control that triggered the event, if applicable.

optional

§impact: Option<String>

Impact

The impact , normalized to the caption of the impact_id value. In the case of ‘Other’, it is defined by the event source.

optional

§impact_id: Option<i64>

Impact ID

The normalized impact of the incident or finding. Per NIST, this is the magnitude of harm that can be expected to result from the consequences of unauthorized disclosure, modification, destruction, or loss of information or information system availability.

optional

§impact_score: Option<i64>

Impact Score

The impact as an integer value of the finding, valid range 0-100.

optional

§is_alert: Option<bool>

Alert

Indicates that the event is considered to be an alertable signal. For example, an activity_id of ‘Create’ could constitute an alertable signal and the value would be true, while ‘Close’ likely would not and either omit the attribute or set its value to false. Note that other events with the security_control profile may also be deemed alertable signals and may also carry is_alert = true attributes.

recommended

§is_suspected_breach: Option<bool>

Suspected Breach

A determination based on analytics as to whether a potential breach was found.

optional

§malware: Option<Vec<Malware>>

Malware

A list of Malware objects, describing details about the identified malware.

optional

§malware_scan_info: Option<Box<MalwareScanInfo>>

Malware Scan Info

Describes details about the scan job that identified malware on the target system.

optional

§message: Option<String>

Message

The description of the event/finding, as defined by the source.

recommended

§metadata: Option<Box<Metadata>>

Metadata

The metadata associated with the event or a finding.

required

§observables: Option<Vec<Observable>>

Observables

The observables associated with the event or a finding.

recommended

§osint: Option<Vec<Osint>>

OSINT

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.

required

§policy: Option<Box<Policy>>

Policy

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.

optional

§priority: Option<String>

Priority

The priority, normalized to the caption of the priority_id value. In the case of ‘Other’, it is defined by the event source.

optional

§priority_id: Option<i64>

Priority ID

The normalized priority. Priority identifies the relative importance of the incident or finding. It is a measurement of urgency.

recommended

§raw_data: Option<String>

Raw Data

The raw event/finding data as received from the source.

optional

§raw_data_hash: Option<Box<Fingerprint>>

Raw Data Hash

The hash, which describes the content of the raw_data field.

optional

§raw_data_size: Option<i64>

Raw Data Size

The size of the raw data which was transformed into an OCSF event, in bytes.

optional

§resources: Option<Vec<ResourceDetails>>

Additional Resources

Describes details about additional resources, where classified or sensitive data is stored in, or was accessed from.

You can populate this object, if the specific resource type objects available in the class (database, databucket, table, file) aren’t sufficient; OR
You can also choose to duplicate uid, name of the specific resources objects, for a consistent access to resource uids across all findings.

recommended

§risk_details: Option<String>

Risk Details

Describes the risk associated with the finding.

optional

§risk_level: Option<String>

Risk Level

The risk level, normalized to the caption of the risk_level_id value.

optional

§risk_level_id: Option<i64>

Risk Level ID

The normalized risk level id.

optional

§risk_score: Option<i64>

Risk Score

The risk score as reported by the event source.

optional

§severity: Option<String>

Severity

The event/finding severity, normalized to the caption of the severity_id value. In the case of ‘Other’, it is defined by the source.

optional

§severity_id: Option<i64>

Severity ID

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.

required

§src_endpoint: Option<Box<NetworkEndpoint>>

Source Endpoint

Details about the source endpoint where classified or sensitive data was accessed from.

recommended

§src_url: Option<String>

Source URL

A Url link used to access the original incident.

recommended

§start_time: Option<i64>

Start Time

The time of the least recent event included in the finding.

optional

§start_time_dt: Option<String>

Start Time

The time of the least recent event included in the finding.

optional

§status: Option<String>

Status

The normalized status of the Finding set by the consumer normalized to the caption of the status_id value. In the case of ‘Other’, it is defined by the source.

optional

§status_code: Option<String>

Status Code

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.

recommended

§status_detail: Option<String>

Status Detail

The status detail contains additional information about the event/finding outcome.

recommended

§status_id: Option<i64>

Status ID

The normalized status identifier of the Finding, set by the consumer.

recommended

§table: Option<Box<Table>>

Table

Describes the table where classified or sensitive data is stored in, or was accessed from. The table object represents a table within a structured relational database, warehouse, lake, or similar.

recommended

§ticket: Option<Box<Ticket>>

Ticket

The linked ticket in the ticketing system.

optional

§tickets: Option<Vec<Ticket>>

Tickets

The associated ticket(s) in the ticketing system. Each ticket contains details like ticket ID, status, etc.

optional

§time: Option<i64>

Event Time

The normalized event occurrence time or the finding creation time.

required

§time_dt: Option<String>

Event Time

The normalized event occurrence time or the finding creation time.

optional

§timezone_offset: Option<i64>

Timezone Offset

The number of minutes that the reported event time is ahead or behind UTC, in the range -1,080 to +1,080.

recommended

§type_name: Option<String>

Type Name

The event/finding type name, as defined by the type_uid.

optional

§type_uid: Option<i64>

Type ID

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.

required

§unmapped: Option<Value>

Unmapped Data

The attributes that are not mapped to the event schema. The names and values of those attributes are specific to the event source.

optional

§vendor_attributes: Option<Box<VendorAttributes>>

Vendor Attributes

The Vendor Attributes object can be used to represent values of attributes populated by the Vendor/Finding Provider. It can help distinguish between the vendor-provided values and consumer-updated values, of key attributes like severity_id.
The original finding producer should not populate this object. It should be populated by consuming systems that support data mutability.

optional

§verdict: Option<String>

Verdict

The verdict assigned to an Incident finding.

recommended

§verdict_id: Option<i64>

Verdict ID

The normalized verdict of an Incident.

recommended

Trait Implementations§

Source§

impl Clone for DataSecurityFinding

Source§

fn clone(&self) -> DataSecurityFinding

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataSecurityFinding

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DataSecurityFinding

Source§

fn default() -> DataSecurityFinding

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for DataSecurityFinding

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DataSecurityFinding

Source§

fn eq(&self, other: &DataSecurityFinding) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for DataSecurityFinding

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for DataSecurityFinding

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,