Indicator An indicator is a test, or a collection of judgements that define criteria for identifying the activity, or presence of malware, or other unwanted software.
We follow the STiX IndicatorType closely, with the exception of not including observables within the indicator, and preferring a specification object encoded in JSON as opposed to an opaque implementation block.
Additional, you will want to either define judgements against Observables that are linked to this indicator, with the ID in the indicators field of those Judgements, or you can provide a specification value.
Property | Type | Description | Required? |
---|---|---|---|
id | String | Globally unique URI identifying this object. | ✓ |
producer | ShortStringString | ✓ | |
schema_version | String | CTIM schema version for this entity. | ✓ |
type | IndicatorTypeIdentifierString | The fixed value indicator | ✓ |
valid_time | ValidTime Object | The time range during which this Indicator is considered valid. | ✓ |
composite_indicator_expression | CompositeIndicatorExpression Object | ||
confidence | HighMedLowString | level of confidence held in the accuracy of this Indicator. | |
description | MarkdownString | A description of object, which may be detailed. | |
external_ids | String List | It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners. | |
external_references | ExternalReference Object List | Specifies a list of external references which refers to non-CTIM information. Similar to external_ids field with major differences: - external_ids field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The external_ids field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. - external_references field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The external_references field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier. | |
indicator_type | IndicatorTypeString List | Specifies the type or types for this Indicator. | |
kill_chain_phases | KillChainPhase Object List | Relevant kill chain phases indicated by this Indicator. | |
language | ShortStringString | The language field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages. For example, if an incident involves an attack on a system in a country where a specific language is predominant, the language field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The language field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting. | |
likely_impact | LongStringString | Likely potential impact within the relevant context if this Indicator were to occur. | |
negate | Boolean | Specifies the absence of the pattern. | |
revision | Integer | A monotonically increasing revision, incremented each time the object is changed. | |
severity | SeverityString | ||
short_description | MedStringString | A single line, short summary of the object. | |
source | MedStringString | Represents the source of the intelligence that led to the creation of the entity. | |
source_uri | String | URI of the source of the intelligence that led to the creation of the entity. | |
specification | JudgementSpecification Object | ||
tags | ShortStringString List | Descriptors for this indicator. | |
test_mechanisms | MedStringString List | Test Mechanisms effective at identifying the cyber Observables specified in this cyber threat Indicator. | |
timestamp | Inst (Date) | The time this object was created at, or last modified. | |
title | ShortStringString | A short title for this object, used as primary display and reference value. | |
tlp | TLPString | TLP stands for Traffic Light Protocol, which indicates precisely how a resource is intended to be shared, replicated, copied, etc. It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know. For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as red , indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as amber or green , indicating that it can be shared more broadly within an organization. |
level of confidence held in the accuracy of this Indicator.
This entry is optional
A description of object, which may be detailed.
This entry is optional
It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners.
Specifies a list of external references which refers to non-CTIM information.
Similar to external_ids
field with major differences:
external_ids
field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The external_ids
field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems.
external_references
field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The external_references
field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier.
Globally unique URI identifying this object.
This entry is required
https://www.domain.com/ctia/judgement/judgement-de305d54-75b4-431b-adb2-eb6b9e546014
for a Judgement. This ID type compares to the STIX id field. The optional STIX idref field is not used.Specifies the type or types for this Indicator.
This entry is optional
This entry's type is sequential (allows zero or more values)
Relevant kill chain phases indicated by this Indicator.
The language
field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages.
For example, if an incident involves an attack on a system in a country where a specific language is predominant, the language
field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The language
field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting.
This entry is optional
Likely potential impact within the relevant context if this Indicator were to occur.
This entry is optional
Specifies the absence of the pattern.
This entry is required
Dev Notes: TODO - Document what is supposed to be in this field!
A monotonically increasing revision, incremented each time the object is changed.
This entry is optional
CTIM schema version for this entity.
This entry is required
This entry is optional
A single line, short summary of the object.
This entry is optional
Represents the source of the intelligence that led to the creation of the entity.
This entry is optional
URI of the source of the intelligence that led to the creation of the entity.
This entry is optional
This entry is optional
Descriptors for this indicator.
This entry is optional
This entry's type is sequential (allows zero or more values)
Test Mechanisms effective at identifying the cyber Observables specified in this cyber threat Indicator.
This entry is optional
This entry's type is sequential (allows zero or more values)
Dev Notes: simplified
The time this object was created at, or last modified.
This entry is optional
A short title for this object, used as primary display and reference value.
This entry is optional
TLP stands for Traffic Light Protocol, which indicates precisely how a resource is intended to be shared, replicated, copied, etc.
It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know.
For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as red
, indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as amber
or green
, indicating that it can be shared more broadly within an organization.
This entry is optional
The fixed value indicator
This entry is required
The time range during which this Indicator is considered valid.
ExternalReference External references are used to describe pointers to information represented outside of CTIM. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.
Property | Type | Description | Required? |
---|---|---|---|
source_name | MedStringString | The source within which the external-reference is defined (system, registry, organization, etc.) | ✓ |
description | MarkdownString | ||
external_id | String | An identifier for the external reference content. | |
hashes | String List | Specifies a dictionary of hashes for the contents of the url. | |
url | String | A URL reference to an external resource. |
This entry is optional
An identifier for the external reference content.
Specifies a dictionary of hashes for the contents of the url.
The source within which the external-reference is defined (system, registry, organization, etc.)
This entry is required
A URL reference to an external resource.
This entry is optional
ValidTime Period of time when a cyber observation is valid.
Property | Type | Description | Required? |
---|---|---|---|
end_time | Inst (Date) | If end_time is not present, then the valid time position of the object does not have an upper bound. | |
start_time | Inst (Date) | If not present, the valid time position of the indicator does not have an upper bound. |
If end_time is not present, then the valid time position of the object does not have an upper bound.
This entry is optional
If not present, the valid time position of the indicator does not have an upper bound.
This entry is optional
Property | Type | Description | Required? |
---|---|---|---|
indicator_ids | String List | ✓ | |
operator | BooleanOperatorString | ✓ |
This entry is required
This entry's type is sequential (allows zero or more values)
This entry is required
KillChainPhase The kill-chain-phase represents a phase in a kill chain, which describes the various phases an attacker may undertake in order to achieve their objectives.
Property | Type | Description | Required? |
---|---|---|---|
kill_chain_name | String | The name of the kill chain. | ✓ |
phase_name | String | The name of the phase in the kill chain. | ✓ |
The name of the kill chain.
This entry is required
The name of the phase in the kill chain.
This entry is required
JudgementSpecification An indicator based on a list of judgements. If any of the Observables in it's judgements are encountered, than it may be matches against. If there are any required judgements, they all must be matched in order for the indicator to be considered a match.
Property | Type | Description | Required? |
---|---|---|---|
judgements | String List | ✓ | |
required_judgements | RelatedJudgement Object List | ✓ | |
type | JudgementSpecificationTypeString | ✓ |
This entry is required
This entry's type is sequential (allows zero or more values)
This entry is required
Property | Type | Description | Required? |
---|---|---|---|
judgement_id | String | ✓ | |
confidence | HighMedLowString | ||
relationship | String | ||
source | String |
This entry is optional
This entry is required
ThreatBrainSpecification An indicator which runs in threatbrain...
Property | Type | Description | Required? |
---|---|---|---|
type | ThreatBrainSpecificationTypeString | ✓ | |
variables | String List | ✓ | |
query | String |
This entry is required
SnortSpecification An indicator which runs in snort...
Property | Type | Description | Required? |
---|---|---|---|
snort_sig | String | ✓ | |
type | SnortSpecificationTypeString | ✓ |
This entry is required
SIOCSpecification An indicator which runs in snort...
Property | Type | Description | Required? |
---|---|---|---|
SIOC | String | ✓ | |
type | SIOCSpecificationTypeString | ✓ |
This entry is required
OpenIOCSpecification An indicator which contains an XML blob of an openIOC indicator.
Property | Type | Description | Required? |
---|---|---|---|
open_IOC | String | ✓ | |
type | OpenIOCSpecificationTypeString | ✓ |
This entry is required
Can you improve this documentation? These fine people already did:
Stephen Sloan, Ag Ibragimov, Yann Esposito (Yogsototh), Guillaume Erétéo, Ambrose Bonnaire-Sergeant, Guillaume Buisson, Matthieu Sprunck, Craig Brozefsky & Yann EspositoEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close