Skip to content

Latest commit

 

History

History
410 lines (240 loc) · 19.6 KB

attack_pattern.md

File metadata and controls

410 lines (240 loc) · 19.6 KB

AttackPattern Object

AttackPattern Attack Patterns are a type of TTP that describe ways that adversaries attempt to compromise targets.

Property Type Description Required?
description MarkdownString A description of object, which may be detailed.
id String Globally unique URI identifying this object.
schema_version String CTIM schema version for this entity.
short_description MedStringString A single line, short summary of the object.
title ShortStringString A short title for this object, used as primary display and reference value.
type AttackPatternTypeIdentifierString
abstraction_level AttackPatternAbstractionsString The CAPEC abstraction level for patterns describing techniques to attack a system.
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 A list of external references which refer to non-STIX information. This property MAY be used to provide one or more Attack Pattern identifiers, such as a CAPEC ID. When specifying a CAPEC ID, the source_name property of the external reference MUST be set to capec and the external_id property MUST be formatted as CAPEC-[id].
kill_chain_phases KillChainPhase Object List A kill chain is a series of steps that an attacker must go through to successfully achieve their objective. The concept was originally developed by the military, but has been adapted to the cybersecurity field to describe the steps an attacker goes through to compromise a target system and achieve their goal.
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.
revision Integer A monotonically increasing revision, incremented each time the object is changed.
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.
timestamp Inst (Date) The time this object was created at, or last modified.
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.
x_mitre_contributors ShortStringString List ATT&CK Technique.Contributors.
x_mitre_data_sources ShortStringString List ATT&CK Technique.Data Sources.
x_mitre_platforms ShortStringString List ATT&CK Technique.Platforms.

Property abstraction_level ∷ AttackPatternAbstractionsString

The CAPEC abstraction level for patterns describing techniques to attack a system.

Property description ∷ MarkdownString

A description of object, which may be detailed.

  • This entry is required

    • Markdown Markdown string with at most 5000 characters.

Property 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.

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

Property external_references ∷ ExternalReference Object List

A list of external references which refer to non-STIX information. This property MAY be used to provide one or more Attack Pattern identifiers, such as a CAPEC ID. When specifying a CAPEC ID, the source_name property of the external reference MUST be set to capec and the external_id property MUST be formatted as CAPEC-[id].

  • 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 kill_chain_phases ∷ KillChainPhase Object List

A kill chain is a series of steps that an attacker must go through to successfully achieve their objective. The concept was originally developed by the military, but has been adapted to the cybersecurity field to describe the steps an attacker goes through to compromise a target system and achieve their goal.

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

Property 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.

  • This entry is optional

    • 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 short_description ∷ MedStringString

A single line, short summary of the object.

  • This entry is required

    • MedString String with at most 2048 characters.

Property source ∷ MedStringString

Represents the source of the intelligence that led to the creation of the entity.

  • This entry is optional

    • MedString String with at most 2048 characters.

Property source_uri ∷ String

URI of the source of the intelligence that led to the creation of the entity.

  • This entry is optional

    • A URI

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 required

    • ShortString String with at most 1024 characters.

Property 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.

  • This entry is optional

    • Allowed Values:
      • amber
      • green
      • red
      • white

Property type ∷ AttackPatternTypeIdentifierString

  • This entry is required

    • Must equal: "attack-pattern"

Property x_mitre_contributors ∷ ShortStringString List

ATT&CK Technique.Contributors.

  • This entry is optional

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

    • ShortString String with at most 1024 characters.

Property x_mitre_data_sources ∷ ShortStringString List

ATT&CK Technique.Data Sources.

  • This entry is optional

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

    • ShortString String with at most 1024 characters.

Property x_mitre_platforms ∷ ShortStringString List

ATT&CK Technique.Platforms.

  • This entry is optional

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

    • ShortString String with at most 1024 characters.

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.

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.

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

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.

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.

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

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.

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.

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