CTI STIX Subcommittee

 View Only
Expand all | Collapse all

RE: [cti-stix] Kill Chains in STIX

  • 1.  RE: [cti-stix] Kill Chains in STIX

    Posted 06-04-2016 00:47
    I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by creating their own nodes in their internal databases based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem. My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes. Cheers Terry MacDonald Cosive On 4/06/2016 05:24, "Piazza, Rich" < rpiazza@mitre.org > wrote: Hi everybody,   I thought I would make some comments on kill chains to get the discussion going :-)   Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs.  The properties of each are at http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/ and http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ .  A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators).  Because there is no common repository of STIX objects (yet??), all producers would define common kill chains again and again.   It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list of kill-chain-phase) to associate kill chain phases with the TLO (e.g., Attack_Pattern, Indicator?).   Here is the way the kill-chain-phase type would be specified.   Property Name Type Description kill_chain_name (required) string The name of the kill chain. The suggested values for this field are in kill-chain-name-ov located in Vocabulary section. phase_name (required) string The name of the phase in the kill chain. The suggested values for this field are in phase-name-ov located in Vocabulary section.   Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.).  Because both fields are filled with open vocabularies it is possible for producers to define their own kill chains.   The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is:   Concept                 TLOs            open v ocabs   URI reference                   yes             not supported Number of phases                yes             not supported “Phase part of” relationship    yes             implicit Hierarchical/Circular KCs       no              no Defining new KCs                yes             yes, via open vocabularies Ordinality of phases            yes             not supported   Questions:   Are the “not supported” concepts needed? There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs.  If this is your opinion, could you discuss your reasoning?? Other thoughts?   Rich  


  • 2.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-04-2016 03:14
    That is a good point, we already have this statement in the Open Vocabulary section: SHOULD conform to the naming pattern defined for all literals contained in Section TODO: all lowercase, with dashes “-” to separate words. Is should sufficient... Or do we need to look at making it a must . Personally I would  be fine with making it a must.   Thanks, Bret 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 Jun 3, 2016, at 18:46, Terry MacDonald < terry.macdonald@cosive.com > wrote: I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by creating their own nodes in their internal databases based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem. My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes. Cheers Terry MacDonald Cosive On 4/06/2016 05:24, Piazza, Rich < rpiazza@mitre.org > wrote: Hi everybody,   I thought I would make some comments on kill chains to get the discussion going :-)   Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs.  The properties of each are at http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/ and http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ .  A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators).  Because there is no common repository of STIX objects (yet??), all producers would define common kill chains again and again.   It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list of kill-chain-phase) to associate kill chain phases with the TLO (e.g., Attack_Pattern, Indicator?).   Here is the way the kill-chain-phase type would be specified.   Property Name Type Description kill_chain_name (required) string The name of the kill chain. The suggested values for this field are in kill-chain-name-ov located in Vocabulary section. phase_name (required) string The name of the phase in the kill chain. The suggested values for this field are in phase-name-ov located in Vocabulary section.   Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.).  Because both fields are filled with open vocabularies it is possible for producers to define their own kill chains.   The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is:   Concept                 TLOs            open v ocabs   URI reference                   yes             not supported Number of phases                yes             not supported “Phase part of” relationship    yes             implicit Hierarchical/Circular KCs       no              no Defining new KCs                yes             yes, via open vocabularies Ordinality of phases            yes             not supported   Questions:   Are the “not supported” concepts needed? There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs.  If this is your opinion, could you discuss your reasoning?? Other thoughts?   Rich  


  • 3.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-06-2016 21:32




    I would keep it as a SHOULD:
     
    a)       
    That’s what we do everywhere else (controlled and open vocabularies)
    b)       
    They’re just design patterns, IMO we shouldn’t enforce design patterns.
     
    If implementations want to do a case-insensitive pivot they can…I would see the broader problem being people name something “recon” and others use “reconnaissance”, which we can help solve
    with the open vocabulary. I’d see it as something that we release as a committee note after 2.0 is out. We can define some popular kill chains and what names you should use for them and their phases.
     
    FWIW I really like this new approach. I think it’s a good balance of capability while still getting us out of the business of defining such a widely varied construct structurally.
     
    John
     

    From:
    "Jordan, Bret" <bret.jordan@bluecoat.com>
    Date: Friday, June 3, 2016 at 11:13 PM
    To: Terry MacDonald <terry.macdonald@cosive.com>
    Cc: Rich Piazza <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Wunder, John A." <jwunder@mitre.org>, "Katz, Gary CTR
    DC3/DCCI" <Gary.Katz.ctr@dc3.mil>
    Subject: Re: [cti-stix] Kill Chains in STIX


     



    That is a good point, we already have this statement in the Open Vocabulary section:

     


    SHOULD
    conform to the naming pattern defined for all literals contained in Section TODO: all lowercase, with dashes “-” to separate words.







    Is "should" sufficient... Or do we need to look at making it a "must". Personally I would  be fine with making it a must.  







     


    Thanks,


     


    Bret



     


     


     



    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 Jun 3, 2016, at 18:46, Terry MacDonald < terry.macdonald@cosive.com > wrote:

     

    I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by
    creating their own nodes in their internal databases based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem.
    My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes.
    Cheers
    Terry MacDonald
    Cosive

    On 4/06/2016 05:24, "Piazza, Rich" < rpiazza@mitre.org > wrote:



    Hi everybody,


     


    I thought I would make some comments on kill chains to get the discussion going :-)


     


    Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs.  The properties of each are at

    http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/ and

    http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ .  A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators).  Because there is no common repository
    of STIX objects (yet??), all producers would define common kill chains again and again.


     


    It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list
    of kill-chain-phase) to associate kill chain phases with the TLO (e.g., Attack_Pattern, Indicator?).


     


    Here is the way the kill-chain-phase type would be specified.


     





    Property Name


    Type


    Description




    kill_chain_name (required)


    string


    The name of the kill chain. The suggested values for this field are in
    kill-chain-name-ov
    located in Vocabulary section.




    phase_name (required)


    string


    The name of the phase in the kill chain. The suggested values for this field are in
    phase-name-ov
    located in Vocabulary section.





     


    Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.).  Because both fields are filled with open vocabularies it is possible
    for producers to define their own kill chains.


     


    The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is:


     


    Concept                 TLOs            open vocabs


     


    URI reference                   yes             not supported


    Number of phases                yes             not supported


    “Phase part of” relationship    yes             implicit


    Hierarchical/Circular KCs       no              no


    Defining new KCs                yes             yes, via open vocabularies


    Ordinality of phases            yes             not supported



     


    Questions:


     


    ·  
    Are the “not supported” concepts needed?

    ·  
    There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs.  If this is your opinion, could you discuss your reasoning??

    ·  
    Other thoughts?

     


    Rich



     





  • 4.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-07-2016 01:51
    I fully support your statements. Bret  Sent from my Commodore 64 On Jun 6, 2016, at 3:31 PM, Wunder, John A. < jwunder@mitre.org > wrote: I would keep it as a SHOULD:   a)        That’s what we do everywhere else (controlled and open vocabularies) b)        They’re just design patterns, IMO we shouldn’t enforce design patterns.   If implementations want to do a case-insensitive pivot they can…I would see the broader problem being people name something “recon” and others use “reconnaissance”, which we can help solve with the open vocabulary. I’d see it as something that we release as a committee note after 2.0 is out. We can define some popular kill chains and what names you should use for them and their phases.   FWIW I really like this new approach. I think it’s a good balance of capability while still getting us out of the business of defining such a widely varied construct structurally.   John   From: "Jordan, Bret" < bret.jordan@bluecoat.com > Date: Friday, June 3, 2016 at 11:13 PM To: Terry MacDonald < terry.macdonald@cosive.com > Cc: Rich Piazza < rpiazza@mitre.org >, Allan Thomson < athomson@lookingglasscyber.com >, " cti-stix@lists.oasis-open.org " < cti-stix@lists.oasis-open.org >, "Ted Bedwell (tebedwel)" < tebedwel@cisco.com >, "Wunder, John A." < jwunder@mitre.org >, "Katz, Gary CTR DC3/DCCI" < Gary.Katz.ctr@dc3.mil > Subject: Re: [cti-stix] Kill Chains in STIX   That is a good point, we already have this statement in the Open Vocabulary section:   SHOULD conform to the naming pattern defined for all literals contained in Section TODO: all lowercase, with dashes “-” to separate words. Is "should" sufficient... Or do we need to look at making it a "must". Personally I would  be fine with making it a must.     Thanks,   Bret       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 Jun 3, 2016, at 18:46, Terry MacDonald < terry.macdonald@cosive.com > wrote:   I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by creating their own nodes in their internal databases based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem. My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes. Cheers Terry MacDonald Cosive On 4/06/2016 05:24, "Piazza, Rich" < rpiazza@mitre.org > wrote: Hi everybody,   I thought I would make some comments on kill chains to get the discussion going :-)   Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs.  The properties of each are at http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/ and http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ .  A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators).  Because there is no common repository of STIX objects (yet??), all producers would define common kill chains again and again.   It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list of kill-chain-phase) to associate kill chain phases with the TLO (e.g., Attack_Pattern, Indicator?).   Here is the way the kill-chain-phase type would be specified.   Property Name Type Description kill_chain_name (required) string The name of the kill chain. The suggested values for this field are in kill-chain-name-ov located in Vocabulary section. phase_name (required) string The name of the phase in the kill chain. The suggested values for this field are in phase-name-ov located in Vocabulary section.   Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.).  Because both fields are filled with open vocabularies it is possible for producers to define their own kill chains.   The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is:   Concept                 TLOs            open vocabs   URI reference                   yes             not supported Number of phases                yes             not supported “Phase part of” relationship    yes             implicit Hierarchical/Circular KCs       no              no Defining new KCs                yes             yes, via open vocabularies Ordinality of phases            yes             not supported   Questions:   ·   Are the “not supported” concepts needed? ·   There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs.  If this is your opinion, could you discuss your reasoning?? ·   Other thoughts?   Rich  


  • 5.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-07-2016 12:04
    " If implementations want to do a case-insensitive pivot they can " IMO this is a dangerous path to go down. Is "Reconnaissance" the same as "reconnaissance" - this is not an implementation detail, it is something we have to declare in the standard, otherwise we will not have interoperability. We have to specify in the standard if literals inside controlled vocabularies are case-sensitive or not, because it has implications for writing high-performance code. I would vastly prefer that the standard declares that vocabularies are case-sensitive. If vocabularies are case-insensitive it is a headache. Note that I am *not* saying that I think that we should mandate that entries all be lower-case - I am saying that we should mandate that the vocabulary is case-sensitive and compares should be done that way. - Jason Keirstead STSM, Product Architect, Security Intelligence, IBM Security Systems www.ibm.com/security www.securityintelligence.com Without data, all you are is just another person with an opinion - Unknown "Wunder, John A." ---06/06/2016 06:31:41 PM---I would keep it as a SHOULD: a) That’s what we do everywhere else (controlled and open vocabul From: "Wunder, John A." <jwunder@mitre.org> To: "Jordan, Bret" <bret.jordan@bluecoat.com>, Terry MacDonald <terry.macdonald@cosive.com> Cc: "Piazza, Rich" <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil> Date: 06/06/2016 06:31 PM Subject: Re: [cti-stix] Kill Chains in STIX Sent by: <cti-stix@lists.oasis-open.org> I would keep it as a SHOULD: a) That’s what we do everywhere else (controlled and open vocabularies) b) They’re just design patterns, IMO we shouldn’t enforce design patterns. If implementations want to do a case-insensitive pivot they can…I would see the broader problem being people name something “recon” and others use “reconnaissance”, which we can help solve with the open vocabulary. I’d see it as something that we release as a committee note after 2.0 is out. We can define some popular kill chains and what names you should use for them and their phases. FWIW I really like this new approach. I think it’s a good balance of capability while still getting us out of the business of defining such a widely varied construct structurally. John From: "Jordan, Bret" <bret.jordan@bluecoat.com> Date: Friday, June 3, 2016 at 11:13 PM To: Terry MacDonald <terry.macdonald@cosive.com> Cc: Rich Piazza <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Wunder, John A." <jwunder@mitre.org>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil> Subject: Re: [cti-stix] Kill Chains in STIX That is a good point, we already have this statement in the Open Vocabulary section: SHOULD conform to the naming pattern defined for all literals contained in Section TODO: all lowercase, with dashes “-” to separate words. Is "should" sufficient... Or do we need to look at making it a "must". Personally I would be fine with making it a must. Thanks, Bret 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 Jun 3, 2016, at 18:46, Terry MacDonald < terry.macdonald@cosive.com > wrote: I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by creating their own nodes in their internal databases based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem. My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes. Cheers Terry MacDonald Cosive On 4/06/2016 05:24, "Piazza, Rich" < rpiazza@mitre.org > wrote: Hi everybody, I thought I would make some comments on kill chains to get the discussion going :-) Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs. The properties of each are at http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/ and http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ . A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators). Because there is no common repository of STIX objects (yet??), all producers would define common kill chains again and again. It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list of kill-chain-phase) to associate kill chain phases with the TLO (e.g., Attack_Pattern, Indicator?). Here is the way the kill-chain-phase type would be specified. Property Name Type Description kill_chain_name (required) string The name of the kill chain. The suggested values for this field are in kill-chain-name-ov located in Vocabulary section. phase_name (required) string The name of the phase in the kill chain. The suggested values for this field are in phase-name-ov located in Vocabulary section. Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.). Because both fields are filled with open vocabularies it is possible for producers to define their own kill chains. The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is: Concept TLOs open vocabs URI reference yes not supported Number of phases yes not supported “Phase part of” relationship yes implicit Hierarchical/Circular KCs no no Defining new KCs yes yes, via open vocabularies Ordinality of phases yes not supported Questions: · Are the “not supported” concepts needed? · There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs. If this is your opinion, could you discuss your reasoning?? · Other thoughts? Rich


  • 6.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-07-2016 12:21




    I agree that we should consider vocabularies as case-sensitive from a spec perspective. I don’t even think we have to specify it, they’re different characters so unless we say it’s insensitive
    and define how that works then they’re just different characters. I just don’t think we should limit what tools can do with fields that just contain information (like `kill-chains`) and don’t have any spec-defined behavior. If some tools want to do matching
    and pivoting as if they were case-insensitive, I don’t think we can or should stop them.
     
    That said that’s only case sensitivity, the solution to me for the problem Terry noted is specifying our vocabulary for common kill chains, where we get to define it so we can follow our
    own naming and design rules and make it all lower case.
     
    John
     

    From:
    Jason Keirstead <Jason.Keirstead@ca.ibm.com>
    Date: Tuesday, June 7, 2016 at 8:04 AM
    To: "Wunder, John A." <jwunder@mitre.org>
    Cc: "Jordan, Bret" <bret.jordan@bluecoat.com>, Terry MacDonald <terry.macdonald@cosive.com>, Rich Piazza <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell
    (tebedwel)" <tebedwel@cisco.com>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil>
    Subject: Re: [cti-stix] Kill Chains in STIX


     



    " If implementations want to do a case-insensitive pivot they can "

    IMO this is a dangerous path to go down. Is "Reconnaissance" the same as "reconnaissance" - this is not an implementation detail, it is something we have to declare in the standard, otherwise we will not have interoperability.

    We have to specify in the standard if literals inside controlled vocabularies are case-sensitive or not, because it has implications for writing high-performance code.


    I would vastly prefer that the standard declares that vocabularies are case-sensitive. If vocabularies are case-insensitive it is a headache. Note that I am *not* saying that I think that we should mandate that entries all be lower-case - I am saying that we
    should mandate that the vocabulary is case-sensitive and compares should be done that way.

    -
    Jason Keirstead
    STSM, Product Architect, Security Intelligence, IBM Security Systems
    www.ibm.com/security www.securityintelligence.com

    Without data, all you are is just another person with an opinion - Unknown


    "Wunder, John A." ---06/06/2016 06:31:41 PM---I would keep it
    as a SHOULD: a) That’s what we do everywhere else (controlled and open vocabul

    From: "Wunder, John A." <jwunder@mitre.org>
    To: "Jordan, Bret" <bret.jordan@bluecoat.com>, Terry MacDonald <terry.macdonald@cosive.com>
    Cc: "Piazza, Rich" <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)"
    <tebedwel@cisco.com>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil>
    Date: 06/06/2016 06:31 PM
    Subject: Re: [cti-stix] Kill Chains in STIX
    Sent by: <cti-stix@lists.oasis-open.org>






    I would keep it as a SHOULD:
    a) That’s what we do everywhere else (controlled and open vocabularies)
    b) They’re just design patterns, IMO we shouldn’t enforce design patterns.

    If implementations want to do a case-insensitive pivot they can…I would see the broader problem being people name something “recon” and others use “reconnaissance”, which we can help solve with the open vocabulary. I’d see
    it as something that we release as a committee note after 2.0 is out. We can define some popular kill chains and what names you should use for them and their phases.

    FWIW I really like this new approach. I think it’s a good balance of capability while still getting us out of the business of defining such a widely varied construct structurally.

    John

    From: "Jordan, Bret" <bret.jordan@bluecoat.com>
    Date: Friday, June 3, 2016 at 11:13 PM
    To: Terry MacDonald <terry.macdonald@cosive.com>
    Cc: Rich Piazza <rpiazza@mitre.org>, Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Wunder, John A." <jwunder@mitre.org>, "Katz, Gary CTR DC3/DCCI"
    <Gary.Katz.ctr@dc3.mil>
    Subject: Re: [cti-stix] Kill Chains in STIX

    That is a good point, we already have this statement in the Open Vocabulary section:

    SHOULD conform to the naming pattern defined for all literals contained in Section TODO: all lowercase, with dashes “-” to separate words.


    Is "should" sufficient... Or do we need to look at making it a "must". Personally I would be fine with making it a must.


    Thanks,

    Bret



    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 Jun 3, 2016, at 18:46, Terry MacDonald < terry.macdonald@cosive.com >
    wrote:

    I'd this is the prevailing thought, then I'm fine with going down the open vocabularies path. It will mean that solutions will need to pivot 'outside' of the STIX model I.e. by creating their own nodes in their internal databases
    based on the common selected field values, rather than directly via the kill chain TLO id, but that's not a big problem.
    My only concern would be enabling the field values to match easily... In other words making them case insensitive for string matching purposes.
    Cheers
    Terry MacDonald
    Cosive
    On 4/06/2016 05:24, "Piazza, Rich" < rpiazza@mitre.org > wrote:
    Hi everybody,

    I thought I would make some comments on kill chains to get the discussion going :-)

    Starting with STIX 1.x, Kill Chains and Kill Chain Phases were basically TTPs. The properties of each are at
    http://stixproject.github.io/data-model/1.2/stixCommon/KillChainType/
    and http://stixproject.github.io/data-model/1.2/stixCommon/KillChainPhaseType/ .
    A kill chain was defined in a STIX document, and its phases were referred to by other TLOs (Indicators). Because there is no common repository of STIX objects (yet??), all producers would define common kill chains again and again.

    It has been proposed that in STIX 2.0, we do not represent kill chains/kill chain phases using TLOs, but instead certain TLOs would have a field called “kill_chain_phases” (of type list of kill-chain-phase) to associate kill
    chain phases with the TLO (e.g., Attack_Pattern, Indicator?).

    Here is the way the kill-chain-phase type would be specified.




    Property Name


    Type


    Description




    kill_chain_name (required)


    string


    The name of the kill chain. The suggested values for this field are in
    kill-chain-name-ov located in Vocabulary section.




    phase_name (required)


    string


    The name of the phase in the kill chain. The suggested values for this field are in
    phase-name-ov located in Vocabulary section.






    Kill-chain-name-ov and phase-name-ov will contain suggested values for well-established kill chains (LM, Mandiant, etc.). Because both fields are filled with open vocabularies it is possible for producers to define their own
    kill chains.

    The gap analysis between using TLOs (assuming we would use the STIX 1.x model) and open vocabularies is:

    Concept TLOs open vocabs

    URI reference yes not supported
    Number of phases yes not supported
    “Phase part of” relationship yes implicit
    Hierarchical/Circular KCs no no
    Defining new KCs yes yes, via open vocabularies
    Ordinality of phases yes not supported

    Questions:

    · Are the “not supported” concepts needed?
    · There seems to be an assumption that doing any kind of analysis, like pivoting, can only be done with TLOs. If this is your opinion, could you discuss your reasoning??
    · Other thoughts?

    Rich




  • 7.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-07-2016 23:54
    Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: > I would vastly prefer that the standard declares that vocabularies are > case-sensitive. If vocabularies are case-insensitive it is a headache. Note > that I am *not* saying that I think that we should mandate that entries all > be lower-case - I am saying that we should mandate that the vocabulary is > case-sensitive and compares should be done that way. I agree... Trying to do case insensitive compares intorduces complexities that case sensitive does not.. Simple ==/strcmp for most uses... -- John-Mark


  • 8.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 00:42
    I think we are discussing trade-offs that impact products creating or using STIX. I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not. I think you should also consider the users of our products in this. A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use. Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc. By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses. For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing. I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases. For example, all of the following are clearly the same term: THREAT-BLAH Threat-Blah threat-blah threat-Blah threat-BLAH ….etc. Allan On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote: >Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: >> I would vastly prefer that the standard declares that vocabularies are >> case-sensitive. If vocabularies are case-insensitive it is a headache. Note >> that I am *not* saying that I think that we should mandate that entries all >> be lower-case - I am saying that we should mandate that the vocabulary is >> case-sensitive and compares should be done that way. > >I agree... Trying to do case insensitive compares intorduces complexities >that case sensitive does not.. Simple ==/strcmp for most uses... > >-- >John-Mark


  • 9.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 05:32
    I would greatly prefer that all vocabs are case sensitive and that they MUST be lower-case. That makes it very simple all the way around. Bret Sent from my Commodore 64 > On Jun 8, 2016, at 1:41 AM, Allan Thomson <athomson@lookingglasscyber.com> wrote: > > I think we are discussing trade-offs that impact products creating or using STIX. > > I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not. > > I think you should also consider the users of our products in this. > > A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use. > > Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc. > > By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses. > > For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing. > > I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases. > > For example, all of the following are clearly the same term: > > THREAT-BLAH > Threat-Blah > threat-blah > threat-Blah > threat-BLAH > > ….etc. > > Allan > >> On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote: >> >> Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: >>> I would vastly prefer that the standard declares that vocabularies are >>> case-sensitive. If vocabularies are case-insensitive it is a headache. Note >>> that I am *not* saying that I think that we should mandate that entries all >>> be lower-case - I am saying that we should mandate that the vocabulary is >>> case-sensitive and compares should be done that way. >> >> I agree... Trying to do case insensitive compares intorduces complexities >> that case sensitive does not.. Simple ==/strcmp for most uses... >> >> -- >> John-Mark >


  • 10.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 13:14
    Agreed. A product could just store the .lower() of whatever the user entered, and optionally keep around a case-sensitive display name if needed. What is displayed to the user and stored in the product’s database is an implementation and/or process detail. What is exchanged over the wire is what will drive interoperability. I think the more concretely we can specify what is exchanged, the easier interoperability will be. Thank you. -Mark On 6/8/16, 1:31 AM, "cti-stix@lists.oasis-open.org on behalf of Jordan, Bret" <cti-stix@lists.oasis-open.org on behalf of bret.jordan@bluecoat.com> wrote: >I would greatly prefer that all vocabs are case sensitive and that they MUST be lower-case. That makes it very simple all the way around. > >Bret > >Sent from my Commodore 64 > >> On Jun 8, 2016, at 1:41 AM, Allan Thomson <athomson@lookingglasscyber.com> wrote: >> >> I think we are discussing trade-offs that impact products creating or using STIX. >> >> I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not. >> >> I think you should also consider the users of our products in this. >> >> A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use. >> >> Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc. >> >> By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses. >> >> For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing. >> >> I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases. >> >> For example, all of the following are clearly the same term: >> >> THREAT-BLAH >> Threat-Blah >> threat-blah >> threat-Blah >> threat-BLAH >> >> ….etc. >> >> Allan >> >>> On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote: >>> >>> Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: >>>> I would vastly prefer that the standard declares that vocabularies are >>>> case-sensitive. If vocabularies are case-insensitive it is a headache. Note >>>> that I am *not* saying that I think that we should mandate that entries all >>>> be lower-case - I am saying that we should mandate that the vocabulary is >>>> case-sensitive and compares should be done that way. >>> >>> I agree... Trying to do case insensitive compares intorduces complexities >>> that case sensitive does not.. Simple ==/strcmp for most uses... >>> >>> -- >>> John-Mark >> > >--------------------------------------------------------------------- >To unsubscribe from this mail list, you must leave the OASIS TC that >generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >


  • 11.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 18:42
    I had this discussion today, and some times I think people believe that STIX is a product. It is not. STIX is there to make sure two products developed by two different groups can share threat intelligence. For this specific example I think everything over the wire should be lower-case for these properties. There is no need for anything else. If a product wants to display it in camel case they can. Bret Sent from my Commodore 64 > On Jun 8, 2016, at 2:14 PM, Mark Davidson <mdavidson@soltra.com> wrote: > > Agreed. A product could just store the .lower() of whatever the user entered, and optionally keep around a case-sensitive display name if needed. What is displayed to the user and stored in the product’s database is an implementation and/or process detail. What is exchanged over the wire is what will drive interoperability. > > I think the more concretely we can specify what is exchanged, the easier interoperability will be. > > Thank you. > -Mark > >> On 6/8/16, 1:31 AM, "cti-stix@lists.oasis-open.org on behalf of Jordan, Bret" <cti-stix@lists.oasis-open.org on behalf of bret.jordan@bluecoat.com> wrote: >> >> I would greatly prefer that all vocabs are case sensitive and that they MUST be lower-case. That makes it very simple all the way around. >> >> Bret >> >> Sent from my Commodore 64 >> >>> On Jun 8, 2016, at 1:41 AM, Allan Thomson <athomson@lookingglasscyber.com> wrote: >>> >>> I think we are discussing trade-offs that impact products creating or using STIX. >>> >>> I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not. >>> >>> I think you should also consider the users of our products in this. >>> >>> A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use. >>> >>> Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc. >>> >>> By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses. >>> >>> For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing. >>> >>> I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases. >>> >>> For example, all of the following are clearly the same term: >>> >>> THREAT-BLAH >>> Threat-Blah >>> threat-blah >>> threat-Blah >>> threat-BLAH >>> >>> ….etc. >>> >>> Allan >>> >>>> On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote: >>>> >>>> Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: >>>>> I would vastly prefer that the standard declares that vocabularies are >>>>> case-sensitive. If vocabularies are case-insensitive it is a headache. Note >>>>> that I am *not* saying that I think that we should mandate that entries all >>>>> be lower-case - I am saying that we should mandate that the vocabulary is >>>>> case-sensitive and compares should be done that way. >>>> >>>> I agree... Trying to do case insensitive compares intorduces complexities >>>> that case sensitive does not.. Simple ==/strcmp for most uses... >>>> >>>> -- >>>> John-Mark >> >> --------------------------------------------------------------------- >> To unsubscribe from this mail list, you must leave the OASIS TC that >> generates this mail. Follow this link to all your TCs in OASIS at: >> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >


  • 12.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 18:52
    I highly encourage everyone to read the link I just sent on Turkish on why "lower case everything" is not a panacea to compare strings. It actually does not help.. it makes problems worse. - Jason Keirstead STSM, Product Architect, Security Intelligence, IBM Security Systems www.ibm.com/security www.securityintelligence.com Without data, all you are is just another person with an opinion - Unknown "Jordan, Bret" ---06/08/2016 03:41:47 PM---I had this discussion today, and some times I think people believe that STIX is a product. It is no From: "Jordan, Bret" <bret.jordan@bluecoat.com> To: Mark Davidson <mdavidson@soltra.com> Cc: Allan Thomson <athomson@lookingglasscyber.com>, John-Mark Gurney <jmg@newcontext.com>, Jason Keirstead/CanEast/IBM@IBMCA, "Wunder, John A." <jwunder@mitre.org>, Terry MacDonald <terry.macdonald@cosive.com>, "Piazza, Rich" <rpiazza@mitre.org>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil> Date: 06/08/2016 03:41 PM Subject: Re: [cti-stix] Kill Chains in STIX I had this discussion today, and some times I think people believe that STIX is a product.  It is not.  STIX is there to make sure two products developed by two different groups can share threat intelligence.   For this specific example I think everything over the wire should be lower-case for these properties.  There is no need for anything else.  If a product wants to display it in camel case they can.   Bret Sent from my Commodore 64 > On Jun 8, 2016, at 2:14 PM, Mark Davidson <mdavidson@soltra.com> wrote: > > Agreed. A product could just store the .lower() of whatever the user entered, and optionally keep around a case-sensitive display name if needed. What is displayed to the user and stored in the product’s database is an implementation and/or process detail. What is exchanged over the wire is what will drive interoperability. > > I think the more concretely we can specify what is exchanged, the easier interoperability will be. > > Thank you. > -Mark > >> On 6/8/16, 1:31 AM, "cti-stix@lists.oasis-open.org on behalf of Jordan, Bret" <cti-stix@lists.oasis-open.org on behalf of bret.jordan@bluecoat.com> wrote: >> >> I would greatly prefer that all vocabs are case sensitive and that they MUST be lower-case.  That makes it very simple all the way around.   >> >> Bret >> >> Sent from my Commodore 64 >> >>> On Jun 8, 2016, at 1:41 AM, Allan Thomson <athomson@lookingglasscyber.com> wrote: >>> >>> I think we are discussing trade-offs that impact products creating or using STIX. >>> >>> I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not. >>> >>> I think you should also consider the users of our products in this. >>> >>> A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use. >>> >>> Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc. >>> >>> By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses. >>> >>> For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing. >>> >>> I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases. >>> >>> For example, all of the following are clearly the same term: >>> >>> THREAT-BLAH >>> Threat-Blah >>> threat-blah >>> threat-Blah >>> threat-BLAH >>> >>> ….etc. >>> >>> Allan >>> >>>> On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote: >>>> >>>> Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300: >>>>> I would vastly prefer that the standard declares that vocabularies are >>>>> case-sensitive. If vocabularies are case-insensitive it is a headache. Note >>>>> that I am *not* saying that I think that we should mandate that entries all >>>>> be lower-case - I am saying that we should mandate that the vocabulary is >>>>> case-sensitive and compares should be done that way. >>>> >>>> I agree...  Trying to do case insensitive compares intorduces complexities >>>> that case sensitive does not..  Simple ==/strcmp for most uses... >>>> >>>> -- >>>> John-Mark >> >> --------------------------------------------------------------------- >> To unsubscribe from this mail list, you must leave the OASIS TC that >> generates this mail.  Follow this link to all your TCs in OASIS at: >> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >




  • 13.  Re: [cti-stix] Kill Chains in STIX

    Posted 06-08-2016 18:55




    I suggest we discuss this topic in person or on a conference call.


    There are too many divergent views to reach consensus over an email thread.
     
    allan
     

    From:
    Jason Keirstead <Jason.Keirstead@ca.ibm.com>
    Date: Wednesday, June 8, 2016 at 11:52 AM
    To: "Jordan, Bret" <bret.jordan@bluecoat.com>
    Cc: Allan Thomson <athomson@lookingglasscyber.com>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Gary.Katz.ctr@dc3.mil" <Gary.Katz.ctr@dc3.mil>, Jason Keirstead <Jason.Keirstead@ca.ibm.com>, John-Mark Gurney <jmg@newcontext.com>,
    "Wunder, John" <jwunder@mitre.org>, Mark Davidson <mdavidson@soltra.com>, "Piazza, Rich" <rpiazza@mitre.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, Terry MacDonald <terry.macdonald@cosive.com>
    Subject: Re: [cti-stix] Kill Chains in STIX


     



    I highly encourage everyone to read the link I just sent on Turkish on why "lower case everything" is not a panacea to compare strings. It actually does not help.. it makes problems worse.

    -
    Jason Keirstead
    STSM, Product Architect, Security Intelligence, IBM Security Systems
    www.ibm.com/security www.securityintelligence.com

    Without data, all you are is just another person with an opinion - Unknown


    "Jordan, Bret" ---06/08/2016 03:41:47 PM---I had this discussion
    today, and some times I think people believe that STIX is a product. It is no

    From: "Jordan, Bret" <bret.jordan@bluecoat.com>
    To: Mark Davidson <mdavidson@soltra.com>
    Cc: Allan Thomson <athomson@lookingglasscyber.com>, John-Mark Gurney <jmg@newcontext.com>, Jason Keirstead/CanEast/IBM@IBMCA, "Wunder, John A." <jwunder@mitre.org>, Terry MacDonald
    <terry.macdonald@cosive.com>, "Piazza, Rich" <rpiazza@mitre.org>, "cti-stix@lists.oasis-open.org" <cti-stix@lists.oasis-open.org>, "Ted Bedwell (tebedwel)" <tebedwel@cisco.com>, "Katz, Gary CTR DC3/DCCI" <Gary.Katz.ctr@dc3.mil>
    Date: 06/08/2016 03:41 PM
    Subject: Re: [cti-stix] Kill Chains in STIX






    I had this discussion today, and some times I think people believe that STIX is a product.  It is not.  STIX is there to make sure two products developed by two different groups can share threat intelligence.  

    For this specific example I think everything over the wire should be lower-case for these properties.  There is no need for anything else.  If a product wants to display it in camel case they can.  

    Bret

    Sent from my Commodore 64

    > On Jun 8, 2016, at 2:14 PM, Mark Davidson <mdavidson@soltra.com> wrote:
    >
    > Agreed. A product could just store the .lower() of whatever the user entered, and optionally keep around a case-sensitive display name if needed. What is displayed to the user and stored in the product’s database is an implementation and/or process detail.
    What is exchanged over the wire is what will drive interoperability.
    >
    > I think the more concretely we can specify what is exchanged, the easier interoperability will be.
    >
    > Thank you.
    > -Mark
    >
    >> On 6/8/16, 1:31 AM, "cti-stix@lists.oasis-open.org on behalf of Jordan, Bret" <cti-stix@lists.oasis-open.org on behalf of bret.jordan@bluecoat.com> wrote:
    >>
    >> I would greatly prefer that all vocabs are case sensitive and that they MUST be lower-case.  That makes it very simple all the way around.  
    >>
    >> Bret
    >>
    >> Sent from my Commodore 64
    >>
    >>> On Jun 8, 2016, at 1:41 AM, Allan Thomson <athomson@lookingglasscyber.com> wrote:
    >>>
    >>> I think we are discussing trade-offs that impact products creating or using STIX.
    >>>
    >>> I personally much prefer lower case for all terms but that’s not the point of deciding case sensitive or not.
    >>>
    >>> I think you should also consider the users of our products in this.
    >>>
    >>> A user will not know which case the STIX spec defined the terms in and products that expose these terms in their UI will have to support case insensitive searching/use.
    >>>
    >>> Users will just type what they think the term is without regard to uppercase, lowercase, camel-case ….etc.
    >>>
    >>> By making terms case sensitive in the protocol exchange you are forcing products to know what the exact case was used in the spec, and then products will have to know how to map from what users do to the underlying protocol uses.
    >>>
    >>> For me, not having to care about case sensitivity if a user enters a term of an open vocab in all CAPS when the spec was defined in lowercase then that would be a good thing.
    >>>
    >>> I also think for open vocabs products will have to support the option to extend the vocab and therefore unless you are careful you could end up with multiple versions of the same term just because the user’s entered the term using different cases.
    >>>
    >>> For example, all of the following are clearly the same term:
    >>>
    >>> THREAT-BLAH
    >>> Threat-Blah
    >>> threat-blah
    >>> threat-Blah
    >>> threat-BLAH
    >>>
    >>> ….etc.
    >>>
    >>> Allan
    >>>
    >>>> On 6/7/16, 4:53 PM, "John-Mark Gurney" <jmg@newcontext.com> wrote:
    >>>>
    >>>> Jason Keirstead wrote this message on Tue, Jun 07, 2016 at 09:04 -0300:
    >>>>> I would vastly prefer that the standard declares that vocabularies are
    >>>>> case-sensitive. If vocabularies are case-insensitive it is a headache. Note
    >>>>> that I am *not* saying that I think that we should mandate that entries all
    >>>>> be lower-case - I am saying that we should mandate that the vocabulary is
    >>>>> case-sensitive and compares should be done that way.
    >>>>
    >>>> I agree...  Trying to do case insensitive compares intorduces complexities
    >>>> that case sensitive does not..  Simple ==/strcmp for most uses...
    >>>>
    >>>> --
    >>>> John-Mark
    >>
    >> ---------------------------------------------------------------------
    >> To unsubscribe from this mail list, you must leave the OASIS TC that

    >> generates this mail.  Follow this link to all your TCs in OASIS at:
    >>
    https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
    >