question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Introduce display_name for threat.indicator

See original GitHub issue

Summary

Introduce Display Name for an Indicator of Compromise (IoC) in the Threat Intelligence part of ECS

Motivation:

In the Threat Intelligence capabilities of the Security Solution, our team is working on the data grid for IoCs (Indicator of Compromise) where we have an “Indicator” column, which serves as a “Display name” for an indicator. The value of this column currently depends on the indicator type and every type has its own logic. The best example is the File indicator. It can have different hashes, eg. sha256, md5, etc. We take sha256 for display name when available, if not then md5 and so on. For other types there is not much logic involved, we take different values from different threat.indicator* attributes per type. The problem with this approach is that this Display Name is not available as an attribute on Elasticsearch documents coming from Threat Intelligence integrations, therefore users won’t be able to filter by it and perform other standard operations they can do for existing ECS attributes. This can be solved partly with runtime fields, but we think adding Display Name to the schema might make sense and want to kick off the discussion about it Features dependant on having display_name field:

  1. Filter in/out the Indicator of Compromise view by display_name
  2. Add Indicator display_name to a Timeline
  3. Create an Indicator of Compromise event renderer in Timelines
  4. Create a pre-built Timeline template for investigating IoCs

Detailed Design:

Introduce threat.indicator.display_name with the following logic per threat.indicator.type

file: 
threat.indicator.file.hash.* (sha256 | md5 | sha1 | sha224 | sha3-224 | sha256 | sha3-256 | sha384 | sha3-384 | sha512 | sha3-512 | sha512/224 | sha512/256 | ssdeep | tlsh | impfuzzy | imphash | pehash | vhash)

url: 
threat.indicator.url.original

email-addr: 
threat.indicator.email.address

email (subj?): 
the suitable field is missing, map to _id?
 
email-message:
the suitable field is missing, map to _id?

domain-name:
threat.indicator.url.domain

domain:
threat.indicator.url.domain

ipv4-addr: 
threat.indicator.ip

ipv6-addr: 
threat.indicator.ip

x509-certificate:
threat.indicator.x509.serial_number

x509 Serial:
threat.indicator.x509.serial_number

windows-registry-key:
threat.indicator.registry.key

autonomous-system:
threat.indicator.as.number

mac-addr:
threat.indicator.mac

unknown:
map to _id

Data examples can be found in AbuseCH, Anomali, Cybersixgill, MISP, OTX, Recorded Future and ThreatQ integrations

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:23 (10 by maintainers)

github_iconTop GitHub Comments

2reactions
peaseadcommented, Jul 26, 2022

I think that threat.indicator.name would align with other ECS fieldsets (host.name ,user.name, etc.)

Also, here’s the email ECS fieldset https://github.com/elastic/ecs/blob/main/schemas/email.yml, which could be nested under threat.indicator.

1reaction
maxcoldcommented, Nov 21, 2022

@ebeahan btw what is usually the approach for backfilling the data if a new ECS field is introduced (or if there is another change in the schema)? Is there a common way to handle such cases? Specifically for threat.indicator.name it would be good to provide a way for users to add this field to the already existing data. Is it a good idea in general? how should we handle this?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Threat Intelligence Indicator - REST API (Azure Sentinel)
Threat Intelligence Indicator - Create Indicator. Reference. Feedback. Service: Sentinel ... Display name of a threat intelligence entity.
Read more >
DisplayName - NinjaScript - NinjaTrader 8
Definition · Determines the text display on the chart panel. This is also listed in the UI as the "Label" which can be...
Read more >
Using Event Threat Detection | Security Command Center
Go to the Security Command Center Findings page in the Google Cloud console. · Next to View by, click Source Type. · In...
Read more >
Change Auditor Threat Detection User Guide - Quest Software
Introduction to Change Auditor Threat Detection. 7. Threat indicators. Indicators define risky activity, such as suspicious user logons, brute-force ...
Read more >
CrowdStrike ThreatGraph - Maltego Support
To read more click here. CrowdStrike ThreatGraph Transforms. [ThreatGraph] Get Sensors. Transform Settings. Display Name ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found