Liking cljdoc? Tell your friends :D

Indicator Object

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.

PropertyTypeDescriptionRequired?
idStringGlobally unique URI identifying this object.
producerShortStringString
schema_versionStringCTIM schema version for this entity
typeIndicatorTypeIdentifierStringThe fixed value indicator
valid_timeValidTime ObjectThe time range during which this Indicator is considered valid.
composite_indicator_expressionCompositeIndicatorExpression Object
confidenceHighMedLowStringlevel of confidence held in the accuracy of this Indicator
descriptionMarkdownStringA description of object, which may be detailed.
external_idsString List
external_referencesExternalReference Object ListSpecifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems.
indicator_typeIndicatorTypeString ListSpecifies the type or types for this Indicator
kill_chain_phasesKillChainPhase Object Listrelevant kill chain phases indicated by this Indicator
languageShortStringStringThe human language this object is specified in.
likely_impactLongStringStringlikely potential impact within the relevant context if this Indicator were to occur
negateBooleanspecifies the absence of the pattern
revisionIntegerA monotonically increasing revision, incremented each time the object is changed.
severityHighMedLowString
short_descriptionMedStringStringA single line, short summary of the object.
sourceMedStringString
source_uriString
specificationJudgementSpecification Object
tagsShortStringString ListDescriptors for this indicator
test_mechanismsMedStringString ListTest Mechanisms effective at identifying the cyber Observables specified in this cyber threat Indicator
timestampInst (Date)The time this object was created at, or last modified.
titleShortStringStringA short title for this object, used as primary display and reference value
tlpTLPStringSpecification for how, and to whom, this object can be shared.

Property composite_indicator_expression ∷ CompositeIndicatorExpression Object

  • This entry is optional

Property confidence ∷ HighMedLowString

level of confidence held in the accuracy of this Indicator

  • This entry is optional

    • Allowed Values:
      • Critical
      • High
      • Info
      • Low
      • Medium
      • None
      • Unknown
    • Reference: HighMedLowVocab

Property description ∷ MarkdownString

A description of object, which may be detailed.

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property external_ids ∷ String List

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property external_references ∷ ExternalReference Object List

Specifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems.

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property id ∷ String

Globally unique URI identifying this object.

  • This entry is required

    • IDs are URIs, for example 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.

Property indicator_type ∷ IndicatorTypeString List

Specifies the type or types for this Indicator

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • Allowed Values:
      • Anonymization
      • C2
      • Compromised PKI Certificate
      • Domain Watchlist
      • Exfiltration
      • File Hash Watchlist
      • Host Characteristics
      • IMEI Watchlist
      • IMSI Watchlist
      • IP Watchlist
      • Login Name
      • Malicious E-mail
      • Malware Artifacts
      • Private Threat Feed
      • URL Watchlist
    • Reference: IndicatorTypeVocab

Property kill_chain_phases ∷ KillChainPhase Object List

relevant kill chain phases indicated by this Indicator

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)
  • Dev Notes: simplified

Property language ∷ ShortStringString

The human language this object is specified in.

  • This entry is optional

    • ShortString String with at most 1024 characters

Property likely_impact ∷ LongStringString

likely potential impact within the relevant context if this Indicator were to occur

  • This entry is optional

    • LongString String with at most 5000 characters

Property negate ∷ Boolean

specifies the absence of the pattern

  • This entry is optional

Property producer ∷ ShortStringString

  • This entry is required

  • Dev Notes: TODO - Document what is supposed to be in this field!

    • ShortString String with at most 1024 characters

Property revision ∷ Integer

A monotonically increasing revision, incremented each time the object is changed.

  • This entry is optional

    • Zero, or a positive integer

Property schema_version ∷ String

CTIM schema version for this entity

  • This entry is required

    • A semantic version matching the CTIM version against which this object should be valid.

Property severity ∷ HighMedLowString

  • This entry is optional

    • Allowed Values:
      • Critical
      • High
      • Info
      • Low
      • Medium
      • None
      • Unknown
    • Reference: HighMedLowVocab

Property short_description ∷ MedStringString

A single line, short summary of the object.

  • This entry is optional

    • MedString String with at most 2048 characters

Property source ∷ MedStringString

  • This entry is optional

    • MedString String with at most 2048 characters

Property source_uri ∷ String

  • This entry is optional

    • A URI

Property specification ∷ Either

  • This entry is optional

    • Only one of the following schemas will match

Property tags ∷ ShortStringString List

Descriptors for this indicator

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • ShortString String with at most 1024 characters

Property test_mechanisms ∷ MedStringString List

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

    • MedString String with at most 2048 characters

Property timestamp ∷ Inst (Date)

The time this object was created at, or last modified.

  • This entry is optional

    • ISO8601 Timestamp Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the ISO8601 standard.

Property title ∷ ShortStringString

A short title for this object, used as primary display and reference value

  • This entry is optional

    • ShortString String with at most 1024 characters

Property tlp ∷ TLPString

Specification for how, and to whom, this object can be shared.

  • This entry is optional

    • TLP TLP stands for Traffic Light Protocol, which indicates precisely how this resource is intended to be shared, replicated, copied, etc.
    • Default: green
    • Allowed Values:
      • amber
      • green
      • red
      • white

Property type ∷ IndicatorTypeIdentifierString

The fixed value indicator

  • This entry is required

    • IndicatorTypeIdentifier The fixed value "indicator"
    • Must equal: "indicator"

Property valid_time ∷ ValidTime Object

The time range during which this Indicator is considered valid.

  • This entry is required

ExternalReference Object

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.

PropertyTypeDescriptionRequired?
source_nameMedStringStringThe source within which the external-reference is defined (system, registry, organization, etc.)
descriptionMarkdownString
external_idStringAn identifier for the external reference content.
hashesString ListSpecifies a dictionary of hashes for the contents of the url.
urlStringA URL reference to an external resource

Property description ∷ MarkdownString

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property external_id ∷ String

An identifier for the external reference content.

  • This entry is optional

Property hashes ∷ String List

Specifies a dictionary of hashes for the contents of the url.

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property source_name ∷ MedStringString

The source within which the external-reference is defined (system, registry, organization, etc.)

  • This entry is required

    • MedString String with at most 2048 characters

Property url ∷ String

A URL reference to an external resource

  • This entry is optional

    • A URI

ValidTime Object

ValidTime Period of time when a cyber observation is valid.

PropertyTypeDescriptionRequired?
end_timeInst (Date)If end_time is not present, then the valid time position of the object does not have an upper bound.
start_timeInst (Date)If not present, the valid time position of the indicator does not have an upper bound

Property end_time ∷ Inst (Date)

If end_time is not present, then the valid time position of the object does not have an upper bound.

  • This entry is optional

    • ISO8601 Timestamp Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the ISO8601 standard.

Property start_time ∷ Inst (Date)

If not present, the valid time position of the indicator does not have an upper bound

  • This entry is optional

    • ISO8601 Timestamp Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the ISO8601 standard.

CompositeIndicatorExpression Object

PropertyTypeDescriptionRequired?
indicator_idsString List
operatorBooleanOperatorString

Property indicator_ids ∷ String List

  • This entry is required

  • This entry's type is sequential (allows zero or more values)

    • A URI leading to an indicator

Property operator ∷ BooleanOperatorString

  • This entry is required

    • Allowed Values:
      • and
      • not
      • or

KillChainPhase Object

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.

PropertyTypeDescriptionRequired?
kill_chain_nameStringThe name of the kill chain.
phase_nameStringThe name of the phase in the kill chain.

Property kill_chain_name ∷ String

The name of the kill chain.

  • This entry is required

    • SHOULD be all lowercase (where lowercase is defined by the locality conventions) and SHOULD use hyphens instead of spaces or underscores as word separators.
    • Must equal: "lockheed-martin-cyber-kill-chain"
    • Reference: Open Vocabulary

Property phase_name ∷ String

The name of the phase in the kill chain.

  • This entry is required

    • SHOULD be all lowercase (where lowercase is defined by the locality conventions) and SHOULD use hyphens instead of spaces or underscores as word separators.
    • Allowed Values:
      • actions-on-objective
      • command-and-control
      • delivery
      • exploitation
      • installation
      • reconnaissance
      • weaponization
    • Reference: Open Vocabulary

JudgementSpecification Object

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.

PropertyTypeDescriptionRequired?
judgementsString List
required_judgementsRelatedJudgement Object List
typeJudgementSpecificationTypeString

Property judgements ∷ String List

  • This entry is required

  • This entry's type is sequential (allows zero or more values)

    • A URI leading to a judgement

Property required_judgements ∷ RelatedJudgement Object List

  • This entry is required
  • This entry's type is sequential (allows zero or more values)

Property type ∷ JudgementSpecificationTypeString

  • This entry is required

    • Must equal: "Judgement"

RelatedJudgement Object

PropertyTypeDescriptionRequired?
judgement_idString
confidenceHighMedLowString
relationshipString
sourceString

Property confidence ∷ HighMedLowString

  • This entry is optional

    • Allowed Values:
      • Critical
      • High
      • Info
      • Low
      • Medium
      • None
      • Unknown
    • Reference: HighMedLowVocab

Property judgement_id ∷ String

  • This entry is required

    • A URI leading to a judgement

Property relationship ∷ String

  • This entry is optional

Property source ∷ String

  • This entry is optional

ThreatBrainSpecification Object

ThreatBrainSpecification An indicator which runs in threatbrain...

PropertyTypeDescriptionRequired?
typeThreatBrainSpecificationTypeString
variablesString List
queryString

Property query ∷ String

  • This entry is optional

Property type ∷ ThreatBrainSpecificationTypeString

  • This entry is required

    • Must equal: "ThreatBrain"

Property variables ∷ String List

  • This entry is required
  • This entry's type is sequential (allows zero or more values)

SnortSpecification Object

SnortSpecification An indicator which runs in snort...

PropertyTypeDescriptionRequired?
snort_sigString
typeSnortSpecificationTypeString

Property snort_sig ∷ String

  • This entry is required

Property type ∷ SnortSpecificationTypeString

  • This entry is required

    • Must equal: "Snort"

SIOCSpecification Object

SIOCSpecification An indicator which runs in snort...

PropertyTypeDescriptionRequired?
SIOCString
typeSIOCSpecificationTypeString

Property SIOC ∷ String

  • This entry is required

Property type ∷ SIOCSpecificationTypeString

  • This entry is required

    • Must equal: "SIOC"

OpenIOCSpecification Object

OpenIOCSpecification An indicator which contains an XML blob of an openIOC indicator..

PropertyTypeDescriptionRequired?
open_IOCString
typeOpenIOCSpecificationTypeString

Property open_IOC ∷ String

  • This entry is required

Property type ∷ OpenIOCSpecificationTypeString

  • This entry is required

    • Must equal: "OpenIOC"

Can you improve this documentation? These fine people already did:
Stephen Sloan, Yann Esposito (Yogsototh), Guillaume Buisson, Guillaume Erétéo, Ambrose Bonnaire-Sergeant, Craig Brozefsky, Matthieu Sprunck & Yann Esposito
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close