OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

cti-stix message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [cti-stix] Kill Chains in STIX

Hey Allan,


I agree w/ you that we can’t standardize on a single kill chain. The idea behind the open vocabulary would be to let people use whichever kill chain they want to use, or multiple kill chains. For example, you could do something like this:



  "type": "bundle",

  "indicators": [


      "type": "indicator",

      "id": "indicator--8445a039-6ba6-4e42-9011-467093d5b29e",

      "spec_version": "2.0",

      "created_time": "2016-05-27T15:47:14Z",

      "modified_time": "2016-05-27T15:47:14Z",

      "created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",

      "revision": 1,

      "title": "Downloader URLs",

      "labels": ["malicious-activity"],

      "pattern": "url.value = 'http://example.com/download.exe'",

      "kill_chain_phases": [


          "kill_chain_name": "lockheed-martin-cyber-kill-chain",

          "phase_name": "delivery"



          "kill_chain_name": "mandiant-cyber-attack-lifecycle",

          "phase_name": "initial-compromise"







So I definitely agree that while it would be great for us all to agree on a single kill chain to use it seems unrealistic. At the same time, people using the LMCO kill chain, the Mandiant kill chain, or the Gartner kill chain (or communities using a different one) should be able to use STIX to standardize on their use of it. So, to me, it seems like a good use case for an open vocab. We could help ensure standardization by extending our open vocab concept to have vocabs for common kill chains defined across the kill_chain_name and phase_name fields.


In terms of machine usage, I see it most often used for categorization and prioritization of other intelligence (indicators, malware, attack patterns, etc). Basically just a way of binning things…for example, MITRE uses it to categorize attack patterns in ATT&CK (https://attack.mitre.org/wiki/Main_Page).




From: Allan Thomson <athomson@lookingglasscyber.com>
Date: Friday, May 27, 2016 at 4:27 PM
To: "Jordan, Bret" <bret.jordan@bluecoat.com>, "Wunder, John A." <jwunder@mitre.org>
Cc: "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>
Subject: Re: [cti-stix] Kill Chains in STIX


Option 3 followed by Option 2.


The reason for preferring Option 3 is that there are multiple kill chains out there and which one is used by STIX will likely not be standardized. So if we choose a controlled vocab then which kill chain definition are you going to use? Gartner? Lockheed-Martin?


My preference is to not burden MVP with this issue and consider it a future issue. If folks need kill-chain then I would suggest what does a machine or a human do with this information where other TLOs already provide sufficient information to consider mitigation approaches.


That said, if someone can argue a compelling machine-to-machine reason to include kill chain information then I would prefer it to be a vocab not objects.


So definitely not Option 1.






From: "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org> on behalf of "Jordan, Bret" <bret.jordan@bluecoat.com>
Date: Friday, May 27, 2016 at 9:41 AM
To: "Wunder, John" <jwunder@mitre.org>
Cc: "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>
Subject: Re: [cti-stix] Kill Chains in STIX


From your great examples, Option 1 represents a lot of bloat and will enable multiple people to define the same thing.  I would be in favor of Option 2. 








Bret Jordan CISSP

Director of Security Architecture and Standards | Office of the CTO

Blue Coat Systems

PGP Fingerprint: 63B4 FC53 680A 6B7D 1447  F2C0 74F8 ACAE 7415 0050

"Without cryptography vihv vivc ce xhrnrw, however, the only thing that can not be unscrambled is an egg." 


On May 27, 2016, at 10:01, Wunder, John A. <jwunder@mitre.org> wrote:


Hey everyone,


One of the topics that has come up in the TTP/Malware conversation is kill chains. As a reminder, cyber kill chains are a phase-based model for describing the stages of an attack. A good example is the Lockheed Martin kill chain.


In STIX 1.2, kill chains were represented as kind of a half-TLO: they were a part of TTP (defined either on a TTP object or in the TTPs list), but did have their own IDs and could be referenced from other places.


In STIX 2.0, we have a couple options:


1.       Kill chains and kill chain phases could become top-level objects. You would use relationships to relate analysis objects (indicators, malware, attack patterns, etc.) to the kill chain phase objects that they can be considered a part of. References to kill chains would require either either everyone knowing the IDs for the STIX objects or re-sharing kill chain definitions. In this option, STIX supports the structured representation of kill chains themselves.

2.       Kill chain phases are represented as a controlled vocabulary approach. Each object that needs to have kill chains just includes a field where you can list the kill chain phases that it’s a part of. References to kill chains wouldn’t use STIX IDs, they would use names, so we could use something like open vocabularies to make sure people use the same terms for common kill chains/phases. In this option, STIX only supports representing names for kill chains…not full structured representations of the kill chains themselves. 

3.       We don’t do kill chains, either for MVP or at all.


My preference is for #2. It’s very easy to implement so will encourage people to use kill chains (when necessary), and via the use of open vocabularies and standardized terms we still enable pivoting and tracking across orgs/tools. It also seems like something that’s very useful for analysis and well-understood so we can be OK to add it for MVP.


I mocked up some examples for options #1 and #2 here: https://gist.github.com/johnwunder/80f66746cc42134e6a42c98df6cdf18f






[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]