OASIS Cyber Threat Intelligence (CTI) TC

Expand all | Collapse all

Re: [cti] Capturing Today's Call & Other topics

Patrick Maroney

Patrick Maroney01-29-2016 15:11

  • 1.  Re: [cti] Capturing Today's Call & Other topics

    Posted 01-27-2016 15:57






    On yesterday’s CTI TC working call Sean Barnum represented some of our concerns related to the non-URI Object-ID proposal pulled together by John Wunder, namely a concern that it may make other serializations like
    JSON-LD unworkable. After some experimentation and a little tweaking of John Wunder’s proposed workaround to allow for language bindings such as JSON-LD to not be prohibited, I’ve been able to come up with something that looks like it should work. 


    So based on my findings, I can support that this approach DOES NOT PROHIBIT support for other language bindings, such as JSON-LD, where IRI/URI is
    required.


    Based on this I offer my support for the proposed solution at  https://github.com/STIXProject/specifications/wiki/Proposal:-IDs-should-be-UUIDs .
     
    For those of you who may be interested in how the workaround works to make non-IRI/URI object IDs in JSON-LD here is a brief description.  This approach even removes the need for the additional “@id” and “@type”
    lines on every object.


    The changes I had to make was to tweak the “@context” statement as follows:




      "@context": {    

        "@base": " http://example.com/ “, // this provides the default IRI/URI prefix

        "@vocab": " http://oasis-open.org/cti/stix/ “, // this sets default namespace s

        “id”: “@id”, // this aliases id so there is no @id required per object

        “type”: “@type”
     // this aliases type so there is no @type required per object

        },



    The only ‘gotcha’ I encountered is an issue with the use of “:” and “::” as they are reserved in IRI/URI processing, so I had to change the proposed use of “::” to “--“. It looks like John has made this same change
    to the proposal as well.


    With these changes, a STIX document compliant with JSON MTI need only to have the “@context” statement (shown in red) added at the top of the file in order to be treated correctly as a JSON-LD document.





    {

      "@context": {    

        "@base": " http://example.com/ ",

        "@vocab": " http://oasis-open.org/cti/stix/ “,

        “id”: “@id”,

        “type”: “@type"

        },




      "id": "threat-actor--c95a9f42-29be-41ef-8c8b-51959ecbfe0b”,

      “type”: “threat-actor”,

      "name": "Jane Doe",

      "jobTitle": "Bad Guy",

      "telephone": "(425) 123-4567"

    }








    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the
    specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior
    would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.







    Paul Patrick

    Chief Architect

    iSIGHT Partners












    From: < cti@lists.oasis-open.org > on behalf of Mark Davidson < mdavidson@soltra.com >
    Date: Tuesday, January 26, 2016 at 12:21 PM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: [cti] Capturing Today's Call & Other topics








    All,


    As Alex’s notes will show, we made some good progress on the topic of IDs on today’s call. I think we have the framework for a path forward on the topic with some open questions that still need to be addressed.


    Will somebody be capturing this progress in the specification pre-draft? Further, I believe that we agreed at the F2F to use TWIGs as a basis for at least one work product – will parts of TWIGs be making it into the pre-draft document [1]?


    I’ve been a bit busy lately, my apologies if I’ve missed some conversation on this topic. If this has been discussed, please point me to it off list.


    Thank you.
    -Mark


    [1]  https://docs.google.com/document/d/1U48DOJzh2qELOEhhVWz_G6hL0Bazx1Y52wpOeR8jaVk/edit














  • 2.  Re: [cti] Capturing Today's Call & Other topics

    Posted 01-27-2016 16:05





    Based on this confirmation that there is a workaround for other serializations I remove my objections to the proposal and offer it my support.
    As I mentioned on the call, this was the real showstopper and the other downsides mentioned were just nice to haves in my opinion.


    I don’t recall any other strong objections on the call.
    I did hear some questions/concerns from Eric Burger that we should make sure we understand and have worked through and I would like to hear from John Anderson if he still has concerns.
    If we are able to work through these and nobody else raises concerns maybe we can move this issue to a consensus state sometime soon?


    Thank you everyone for the great thinking, experimenting, writing and discussing on this topic.


    sean









    From: < cti@lists.oasis-open.org > on behalf of " ppatrick@isightpartners.com " < ppatrick@isightpartners.com >
    Date: Wednesday, January 27, 2016 at 10:57 AM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Capturing Today's Call & Other topics








    On yesterday’s CTI TC working call Sean Barnum represented some of our concerns related to the non-URI Object-ID proposal pulled together by John Wunder, namely a concern that it may make other serializations like
    JSON-LD unworkable. After some experimentation and a little tweaking of John Wunder’s proposed workaround to allow for language bindings such as JSON-LD to not be prohibited, I’ve been able to come up with something that looks like it should work. 


    So based on my findings, I can support that this approach DOES NOT PROHIBIT support for other language bindings, such as JSON-LD, where IRI/URI is
    required.


    Based on this I offer my support for the proposed solution at  https://github.com/STIXProject/specifications/wiki/Proposal:-IDs-should-be-UUIDs .
     
    For those of you who may be interested in how the workaround works to make non-IRI/URI object IDs in JSON-LD here is a brief description.  This approach even removes the need for the additional “@id” and “@type”
    lines on every object.


    The changes I had to make was to tweak the “@context” statement as follows:




      "@context": {    

        "@base": " http://example.com/ “, // this provides the default IRI/URI prefix

        "@vocab": " http://oasis-open.org/cti/stix/ “, // this sets default namespace s

        “id”: “@id”, // this aliases id so there is no @id required per object

        “type”: “@type”
     // this aliases type so there is no @type required per object

        },



    The only ‘gotcha’ I encountered is an issue with the use of “:” and “::” as they are reserved in IRI/URI processing, so I had to change the proposed use of “::” to “--“. It looks like John has made this same change
    to the proposal as well.


    With these changes, a STIX document compliant with JSON MTI need only to have the “@context” statement (shown in red) added at the top of the file in order to be treated correctly as a JSON-LD document.





    {

      "@context": {    

        "@base": " http://example.com/ ",

        "@vocab": " http://oasis-open.org/cti/stix/ “,

        “id”: “@id”,

        “type”: “@type"

        },




      "id": "threat-actor--c95a9f42-29be-41ef-8c8b-51959ecbfe0b”,

      “type”: “threat-actor”,

      "name": "Jane Doe",

      "jobTitle": "Bad Guy",

      "telephone": "(425) 123-4567"

    }








    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the
    specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior
    would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.







    Paul Patrick

    Chief Architect

    iSIGHT Partners












    From: < cti@lists.oasis-open.org > on behalf of Mark Davidson < mdavidson@soltra.com >
    Date: Tuesday, January 26, 2016 at 12:21 PM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: [cti] Capturing Today's Call & Other topics








    All,


    As Alex’s notes will show, we made some good progress on the topic of IDs on today’s call. I think we have the framework for a path forward on the topic with some open questions that still need to be addressed.


    Will somebody be capturing this progress in the specification pre-draft? Further, I believe that we agreed at the F2F to use TWIGs as a basis for at least one work product – will parts of TWIGs be making it into the pre-draft document [1]?


    I’ve been a bit busy lately, my apologies if I’ve missed some conversation on this topic. If this has been discussed, please point me to it off list.


    Thank you.
    -Mark


    [1]  https://docs.google.com/document/d/1U48DOJzh2qELOEhhVWz_G6hL0Bazx1Y52wpOeR8jaVk/edit
















  • 3.  Re: [cti] Capturing Today's Call & Other topics

    Posted 01-27-2016 16:13
    This is great.  Yes, John and I and several others worked through the '::' to '--' issue last night.  I am glad that worked.  I am thinking that we are nearing consensus on this issue...   Also, IMO, STIX parsers should ignore any fields that they get that they do not understand.  This is one of the benefits we get with JSON parsers.  Most, if not all, will just ignore fields that do not map to a struct.   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 Jan 27, 2016, at 08:57, Paul Patrick < ppatrick@isightpartners.com > wrote: On yesterday’s CTI TC working call Sean Barnum represented some of our concerns related to the non-URI Object-ID proposal pulled together by John Wunder, namely a concern that it may make other serializations like JSON-LD unworkable. After some experimentation and a little tweaking of John Wunder’s proposed workaround to allow for language bindings such as JSON-LD to not be prohibited, I’ve been able to come up with something that looks like it should work.  So based on my findings, I can support that this approach DOES NOT PROHIBIT support for other language bindings, such as JSON-LD, where IRI/URI is required. Based on this I offer my support for the proposed solution at  https://github.com/STIXProject/specifications/wiki/Proposal:-IDs-should-be-UUIDs .   For those of you who may be interested in how the workaround works to make non-IRI/URI object IDs in JSON-LD here is a brief description.  This approach even removes the need for the additional “@id” and “@type” lines on every object. The changes I had to make was to tweak the “@context” statement as follows:   @context : {         @base : http://example.com/ “, // this provides the default IRI/URI prefix     @vocab : http://oasis-open.org/cti/stix/ “, // this sets default namespace s     “id”: “@id”, // this aliases id so there is no @id required per object     “type”: “@type”  // this aliases type so there is no @type required per object     }, The only ‘gotcha’ I encountered is an issue with the use of “:” and “::” as they are reserved in IRI/URI processing, so I had to change the proposed use of “::” to “--“. It looks like John has made this same change to the proposal as well. With these changes, a STIX document compliant with JSON MTI need only to have the “@context” statement (shown in red) added at the top of the file in order to be treated correctly as a JSON-LD document. {   @context : {         @base : http://example.com/ ,     @vocab : http://oasis-open.org/cti/stix/ “,     “id”: “@id”,     “type”: “@type     },   id : threat-actor--c95a9f42-29be-41ef-8c8b-51959ecbfe0b”,   “type”: “threat-actor”,   name : Jane Doe ,   jobTitle : Bad Guy ,   telephone : (425) 123-4567 } As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped. Paul Patrick Chief Architect iSIGHT Partners From: < cti@lists.oasis-open.org > on behalf of Mark Davidson < mdavidson@soltra.com > Date: Tuesday, January 26, 2016 at 12:21 PM To: cti@lists.oasis-open.org < cti@lists.oasis-open.org > Subject: [cti] Capturing Today's Call & Other topics All, As Alex’s notes will show, we made some good progress on the topic of IDs on today’s call. I think we have the framework for a path forward on the topic with some open questions that still need to be addressed. Will somebody be capturing this progress in the specification pre-draft? Further, I believe that we agreed at the F2F to use TWIGs as a basis for at least one work product – will parts of TWIGs be making it into the pre-draft document [1]? I’ve been a bit busy lately, my apologies if I’ve missed some conversation on this topic. If this has been discussed, please point me to it off list. Thank you. -Mark [1]  https://docs.google.com/document/d/1U48DOJzh2qELOEhhVWz_G6hL0Bazx1Y52wpOeR8jaVk/edit Attachment: signature.asc Description: Message signed with OpenPGP using GPGMail


  • 4.  Re: [cti] Capturing Today's Call & Other topics

    Posted 01-27-2016 16:27





    I too am hoping we’re nearing consensus which is why I wanted to jump on this topic yesterday and drive to a conclusion that works for us all.


    Based on my experience with customers & partners where we use STIX to exchange intelligence, I can tell you that some want is really strict and some want it more forgiving, so I suspect we’ll get a mix.  But I agree JSON parsers certainly make this easier.




    Paui









    From: "Jordan, Bret" < bret.jordan@bluecoat.com >
    Date: Wednesday, January 27, 2016 at 11:13 AM
    To: Paul Patrick < ppatrick@isightpartners.com >
    Cc: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Capturing Today's Call & Other topics






    This is great.  Yes, John and I and several others worked through the '::' to '--' issue last night.  I am glad that worked.  I am thinking that we are nearing consensus on this issue...  


    Also, IMO, STIX parsers should ignore any fields that they get that they do not understand.  This is one of the benefits we get with JSON parsers.  Most, if not all, will just ignore fields that do not map to a struct.  











    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 Jan 27, 2016, at 08:57, Paul Patrick < ppatrick@isightpartners.com > wrote:






    On yesterday’s CTI TC working call Sean Barnum represented some of our concerns related to the non-URI Object-ID proposal pulled together by John Wunder, namely a concern that it may make other serializations
    like JSON-LD unworkable. After some experimentation and a little tweaking of John Wunder’s proposed workaround to allow for language bindings such as JSON-LD to not be prohibited, I’ve been able to come up with something that looks like it should work. 


    So based on my findings, I can support that this approach DOES NOT PROHIBIT support for other language bindings, such as JSON-LD,
    where IRI/URI is required.


    Based on this I offer my support for the proposed solution at  https://github.com/STIXProject/specifications/wiki/Proposal:-IDs-should-be-UUIDs .
     
    For those of you who may be interested in how the workaround works to make non-IRI/URI object IDs in JSON-LD here is a brief description.  This approach even removes the need for the additional “@id” and
    “@type” lines on every object.


    The changes I had to make was to tweak the “@context” statement as follows:




      "@context": {    

        "@base": " http://example.com/ “, // this provides the default IRI/URI prefix

        "@vocab": " http://oasis-open.org/cti/stix/ “, // this sets default namespace s

        “id”: “@id”, // this aliases id so there is no @id required per object

        “type”: “@type”
     // this aliases type so there is no @type required per object

        },



    The only ‘gotcha’ I encountered is an issue with the use of “:” and “::” as they are reserved in IRI/URI processing, so I had to change the proposed use of “::” to “--“. It looks like John has made this
    same change to the proposal as well.


    With these changes, a STIX document compliant with JSON MTI need only to have the “@context” statement (shown in red) added at the top of the file in order to be treated correctly as a JSON-LD document.





    {

      "@context": {    

        "@base": " http://example.com/ ",

        "@vocab": " http://oasis-open.org/cti/stix/ “,

        “id”: “@id”,

        “type”: “@type"

        },




      "id": "threat-actor--c95a9f42-29be-41ef-8c8b-51959ecbfe0b”,

      “type”: “threat-actor”,

      "name": "Jane Doe",

      "jobTitle": "Bad Guy",

      "telephone": "(425) 123-4567"

    }








    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the
    specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior
    would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.







    Paul Patrick

    Chief Architect

    iSIGHT Partners












    From: < cti@lists.oasis-open.org > on behalf of Mark Davidson < mdavidson@soltra.com >
    Date: Tuesday, January 26, 2016 at 12:21 PM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: [cti] Capturing Today's Call & Other topics








    All,


    As Alex’s notes will show, we made some good progress on the topic of IDs on today’s call. I think we have the framework for a path forward on the topic with some open questions that still need to be addressed.


    Will somebody be capturing this progress in the specification pre-draft? Further, I believe that we agreed at the F2F to use TWIGs as a basis for at least one work product – will parts of TWIGs be making it into the pre-draft document [1]?


    I’ve been a bit busy lately, my apologies if I’ve missed some conversation on this topic. If this has been discussed, please point me to it off list.


    Thank you.
    -Mark


    [1]  https://docs.google.com/document/d/1U48DOJzh2qELOEhhVWz_G6hL0Bazx1Y52wpOeR8jaVk/edit























  • 5.  Missing MTI - what to do?

    Posted 01-29-2016 12:29
    There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.  For an example of this working in email system gateways, see  https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped. Attachment: smime.p7s Description: S/MIME cryptographic signature


  • 6.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 14:55
      |   view attached





    What would you recommend as a strategy in the core CTI TC MTI Specifications for the scenario where some in the CTI want to define an optional binding like JSON-LD?  Preferably as part of the normative OASIS CTI TC standards, but if not, as a Cyber Intelligence
    Community driven extension to same?





    Patrick Maroney
    Office:  (856)983-0001
    Cell:      (609)841-5104






    President
    Integrated Networking Technologies, Inc.
    PO Box 569
    Marlton, NJ 08053








    From: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >, Eric Burger < ewb25@georgetown.edu >
    on behalf of Eric Burger < Eric.Burger@georgetown.edu >
    Date: Friday, January 29, 2016 at 7:28 AM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: [cti] Missing MTI - what to do?





    There are only three choices if one is missing or has an odd MTI field:


    Fail the transaction / reject to document Ignore the field Fix the field if you can



    I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The
    second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that
    you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. 


    For an example of this working in email system gateways, see  https://tools.ietf.org/html/rfc3459



    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote:



    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).  But if the
    specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior
    would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.













  • 7.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 15:00
    As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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 Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From: Eric Burger <Eric.Burger@georgetown.edu> To: "cti@lists.oasis-open.org" <cti@lists.oasis-open.org> Date: 01/29/2016 08:28 AM Subject: [cti] Missing MTI - what to do? Sent by: <cti@lists.oasis-open.org> There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. For an example of this working in email system gateways, see https://tools.ietf.org/html/rfc3459
    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.




  • 8.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 15:11




    [+1] 

    Ignore the field


    Patrick Maroney









    From: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > on behalf of Jason Keirstead < Jason.Keirstead@ca.ibm.com >
    Date: Friday, January 29, 2016 at 9:59 AM
    To: Eric Burger < Eric.Burger@georgetown.edu >
    Cc: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?





    As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be
    able to add fields to the JSON and have them be silently ignored if unsupported by the receiver.

    -
    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


    Eric Burger
    ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec

    From: Eric Burger < Eric.Burger@georgetown.edu >
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Date: 01/29/2016 08:28 AM
    Subject: [cti] Missing MTI - what to do?
    Sent by: < cti@lists.oasis-open.org >





    There are only three choices if one is missing or has an odd MTI field:


    Fail the transaction / reject to document Ignore the field Fix the field if you can


    I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The
    second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that
    you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.


    For an example of this working in email system gateways, see
    https://tools.ietf.org/html/rfc3459


    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote:

    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension).
    But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding,
    the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.













  • 9.  RE: [cti] Missing MTI - what to do?

    Posted 01-29-2016 15:12




    +1
     


    From: cti@lists.oasis-open.org [mailto:cti@lists.oasis-open.org]
    On Behalf Of Jason Keirstead
    Sent: Friday, January 29, 2016 10:00 AM
    To: Eric Burger
    Cc: cti@lists.oasis-open.org
    Subject: Re: [cti] Missing MTI - what to do?


     
    As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be
    able to add fields to the JSON and have them be silently ignored if unsupported by the receiver.

    -
    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


    Eric
    Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec

    From: Eric Burger < Eric.Burger@georgetown.edu >
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Date: 01/29/2016 08:28 AM
    Subject: [cti] Missing MTI - what to do?
    Sent by: < cti@lists.oasis-open.org >






    There are only three choices if one is missing or has an odd MTI field:



    Fail the transaction / reject to document
    Ignore the field
    Fix the field if you can


    I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently
    go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional
    fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.


    For an example of this working in email system gateways, see
    https://tools.ietf.org/html/rfc3459
    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com >
    wrote:

    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a
    private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON
    MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.









  • 10.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 15:15
    I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.   The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.   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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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 <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From: Eric Burger < Eric.Burger@georgetown.edu > To: cti@lists.oasis-open.org < cti@lists.oasis-open.org > Date: 01/29/2016 08:28 AM Subject: [cti] Missing MTI - what to do? Sent by: < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. For an example of this working in email system gateways, see https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped. Attachment: signature.asc Description: Message signed with OpenPGP using GPGMail


  • 11.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 21:37
    This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected within the default vocab... Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab? Cheers Terry MacDonald On 30/01/2016 02:15, "Jordan, Bret" <bret.jordan@bluecoat.com> wrote: I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.   The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.   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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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 <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From: Eric Burger < Eric.Burger@georgetown.edu > To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > Date: 01/29/2016 08:28 AM Subject: [cti] Missing MTI - what to do? Sent by: < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. For an example of this working in email system gateways, see https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.


  • 12.  Re: [cti] Missing MTI - what to do?

    Posted 01-29-2016 21:40
    Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using "other". Bret  Sent from my Commodore 64 On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote: This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected within the default vocab... Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab? Cheers Terry MacDonald On 30/01/2016 02:15, "Jordan, Bret" < bret.jordan@bluecoat.com > wrote: I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.   The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.   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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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 <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From: Eric Burger < Eric.Burger@georgetown.edu > To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > Date: 01/29/2016 08:28 AM Subject: [cti] Missing MTI - what to do? Sent by: < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. For an example of this working in email system gateways, see https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.


  • 13.  RE: [cti] Missing MTI - what to do?

    Posted 01-30-2016 06:24
    I was meaning that if we had this object:        {          "name ": "exploit",          "name_ext": {            "value": "super-duper-malware-variant",            "vocab": "https://bigbank.com/superdooper-malware-vocab"          }        }     And the object was corrupted in transit and became          {          "name ": "exploit",          "name_ext": {            "value": "super-duper-malware",            "vocab": "https://bigbank.com/superdooper-malware-vocab          }        }   Having the illegal fields ignored means that the vocab field is invalid. The whole name_ext object is invalid as all the required fields aren’t present, so that ultimately the only bit that gets through the parser is:          {          "name ": "exploit"        }   Which is different to what the producer was meaning to have.   I know it is an edge case and one that only warrants a small amount of thought, but we will need to ensure that the ambiguity is removed in some way in a way that negates this from happening. It could be as simple as saying exactly what Bret suggested – that the default vocab chosen must be as close approximation as possible to the custom vocab selection.   Cheers   Terry MacDonald Senior STIX Subject Matter Expert SOLTRA   An FS-ISAC and DTCC Company +61 (407) 203 206 terry@soltra.com     From: Jordan, Bret [mailto:bret.jordan@bluecoat.com] Sent: Saturday, 30 January 2016 8:40 AM To: Terry MacDonald <terry@soltra.com> Cc: Jason Keirstead <Jason.Keirstead@ca.ibm.com>; cti@lists.oasis-open.org; Eric Burger <Eric.Burger@georgetown.edu> Subject: Re: [cti] Missing MTI - what to do?   Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using "other".   Bret  Sent from my Commodore 64 On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote: This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected within the default vocab... Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab? Cheers Terry MacDonald On 30/01/2016 02:15, "Jordan, Bret" < bret.jordan@bluecoat.com > wrote: I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.     The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.     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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote:   As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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 <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From: Eric Burger < Eric.Burger@georgetown.edu > To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > Date: 01/29/2016 08:28 AM Subject: [cti] Missing MTI - what to do? Sent by: < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know. For an example of this working in email system gateways, see https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.  


  • 14.  Re: RE: [cti] Missing MTI - what to do?

    Posted 01-30-2016 14:27
    Myself, I disagree that TAXII  should strip or alter documents. It should send them as-is. TAXII shouldn't be messing with the content flowing over it.     - 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    


  • 15.  Re: [cti] Missing MTI - what to do?

    Posted 01-30-2016 16:28
    I think I'd said it slightly differently. TAXII should NOT prescribe any required alterations to any content that flows over it.  I can think of some actually useful thinks that someone might want to do, such as data marking enforcement, that SHOULD be permitted but NOT prescribed.  Paul Patrick Sent from my iPhone On Jan 30, 2016, at 9:27 AM, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: Myself, I disagree that TAXII  should strip or alter documents. It should send them as-is. TAXII shouldn't be messing with the content flowing over it.     - 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    


  • 16.  Re: [cti] Missing MTI - what to do?

    Posted 01-30-2016 17:12
    I think we "got this right" in the current TAXII specification (the distinctions between a TAXII Gateway and a TAXII Client/Endpoint). Any reason we don't capture the relevant portions of the original specification in the new version draft language?  If there is a consensus to modify any of the core tenets in the TAXII Specification (i.e., content agnosticism) then we can at least understand the intent of the new specification, key (breaking) differences, and tackle them "head on".   In other words one can argue that we should be moving forward on all of the CTI Specifications in an evolutionary process using current specifications as our conceptual framework and clearly contrast the "revolutionary" aspects of the new draft specifications.  This is essentially the same argument Sean Barnum has made in a little different context. This is not an argument against revolution,  rather an argument for how we manage same. Patrick Maroney President Integrated Networking Technologies, Inc. Desk: (856)983-0001 Cell: (609)841-5104 Email: pmaroney@specere.org On Sat, Jan 30, 2016 at 8:28 AM -0800, "Paul Patrick" < ppatrick@isightpartners.com > wrote: I think I'd said it slightly differently. TAXII should NOT prescribe any required alterations to any content that flows over it.  I can think of some actually useful thinks that someone might want to do, such as data marking enforcement, that SHOULD be permitted but NOT prescribed.  Paul Patrick Sent from my iPhone On Jan 30, 2016, at 9:27 AM, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: Myself, I disagree that TAXII  should strip or alter documents. It should send them as-is. TAXII shouldn't be messing with the content flowing over it.     - 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    


  • 17.  Re: RE: [cti] Missing MTI - what to do?

    Posted 02-01-2016 19:41
    On Sat, Jan 30, 2016 at 6:26 AM, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: Myself, I disagree that TAXII  should strip or alter documents. It should send them as-is. TAXII shouldn't be messing with the content flowing over it. The question is at what level?  Do you mean you can't break up a STIX package?  So that means that you don't want a TAXII server to be able to query a specific Observable/Incident/etc by ID since that would break up a STIX package? or do you mean that TAXII should not be modifying the objects that flow over it, but mix/matching, say demoting an object inline to reference is fine, or only sending the Indicators from a STIX package, but not the other info? John-Mark


  • 18.  Re: RE: [cti] Missing MTI - what to do?

    Posted 02-01-2016 19:49
    What I mean is if I create a STIX document and push it to a TAXII server on a channel, I expect anyone else subscribed to that channel should either receive the document as I created it, or not receive it at all. I myself do not think TAXII should be diving into the STIX and modifying the documents, removing attributes from them. Imagine if some vendors got together and made a tempoary extension to the indicator property called "Risk" or something, but whenever a producer sent it onto the wire, the TAXII server stripped it off. That value might be useful for a consumer.. the TAXII server has no idea what values will be of use to whom, it should not be stripping off a property just because it doesn't recognize it. - 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 John-Mark Gurney ---02/01/2016 03:41:36 PM---On Sat, Jan 30, 2016 at 6:26 AM, Jason Keirstead <Jason.Keirstead@ca.ibm.com > wrote: From: John-Mark Gurney <jmg@newcontext.com> To: Jason Keirstead/CanEast/IBM@IBMCA Cc: cti@lists.oasis-open.org Date: 02/01/2016 03:41 PM Subject: Re: RE: [cti] Missing MTI - what to do? On Sat, Jan 30, 2016 at 6:26 AM, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote: Myself, I disagree that TAXII  should strip or alter documents. It should send them as-is. TAXII shouldn't be messing with the content flowing over it. The question is at what level?  Do you mean you can't break up a STIX package?  So that means that you don't want a TAXII server to be able to query a specific Observable/Incident/etc by ID since that would break up a STIX package? or do you mean that TAXII should not be modifying the objects that flow over it, but mix/matching, say demoting an object inline to reference is fine, or only sending the Indicators from a STIX package, but not the other info? John-Mark


  • 19.  Re: RE: [cti] Missing MTI - what to do?

    Posted 02-01-2016 19:59
    Jason Keirstead wrote this message on Mon, Feb 01, 2016 at 15:49 -0400: > What I mean is if I create a STIX document and push it to a TAXII server on > a channel, I expect anyone else subscribed to that channel should either > receive the document as I created it, or not receive it at all. I myself do > not think TAXII should be diving into the STIX and modifying the documents, > removing attributes from them. My point is that STIX documents could be very large, , and I don't think it's good to think of them like that... More like a node in a graph w/ links (idref) to other nodes... > Imagine if some vendors got together and made a tempoary extension to the > indicator property called "Risk" or something, but whenever a producer sent > it onto the wire, the TAXII server stripped it off. That value might be > useful for a consumer.. the TAXII server has no idea what values will be of > use to whom, it should not be stripping off a property just because it > doesn't recognize it. I do agree that unknown properties should not be stripped from objects... All properties of an object MUST be passed, unchanged, through. John-Mark


  • 20.  Re: [cti] Missing MTI - what to do?

    Posted 02-01-2016 21:54
    A lot of these issues will be done in an implementation.  Most of these are not really specification level items. Use case #1: I send a STIX package to a TAXII Collection server.  If that TAXII server does not know or understand the extensions you have included in your document, then more then likely they will be lost.  You can test for this by submitting something, and then asking for it back.   Use case #2:  You send a STIX package to a TAXII Collection or a TAXII Channel and you have some Level 2 data markings in the document.  You probably do not want them going to people that can not understand them.  So there may be a human built policy on the TAXII server to not send these packages or that content to people that can not use them.  This would be an implementation level issue.   DLP, proxies, layer7 firewalls, NAT devices, content filters, SSL viability devices, and a ton of other things sit in line today and modify content that flows over the wire based on organizational policy.  Regardless of wether we like it or not, this will happen.  What we want to figure out in the specification is how to guarantee a certain behavior under certain conditions or how to identify and know what is going to happen.  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 Feb 1, 2016, at 12:59, John-Mark Gurney < jmg@newcontext.com > wrote: Jason Keirstead wrote this message on Mon, Feb 01, 2016 at 15:49 -0400: What I mean is if I create a STIX document and push it to a TAXII server on a channel, I expect anyone else subscribed to that channel should either receive the document as I created it, or not receive it at all. I myself do not think TAXII should be diving into the STIX and modifying the documents, removing attributes from them. My point is that STIX documents could be very large, , and I don't think it's good to think of them like that...  More like a node in a graph w/ links (idref) to other nodes... Imagine if some vendors got together and made a tempoary extension to the indicator property called Risk or something, but whenever a producer sent it onto the wire, the TAXII server stripped it off. That value might be useful for a consumer.. the TAXII server has no idea what values will be of use to whom, it should not be stripping off a property just because it doesn't recognize it. I do agree that unknown properties should not be stripped from objects... All properties of an object MUST be passed, unchanged, through. 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 Attachment: signature.asc Description: Message signed with OpenPGP using GPGMail


  • 21.  Re: [cti] Missing MTI - what to do?

    Posted 02-02-2016 00:03
    I agree with Bret here. The question is what do we do with mixed-level TLP. For example, the whole STIX document is TLP amber, but these elements are TLP red. While the TAXII server might pass or store the whole document, if someone with amber but not red access asks for the document, does the whole document fail? I would offer if the source took the effort to separately indicate amber vs. red, they mean to pass the amber stuff with their trusted TAXII server partner “doing the right thing” with the red elements. Beating the supine equine, this is an example of critical content marking ;-) On Feb 1, 2016, at 4:54 PM, Jordan, Bret < bret.jordan@BLUECOAT.COM > wrote: A lot of these issues will be done in an implementation.  Most of these are not really specification level items. Use case #1: I send a STIX package to a TAXII Collection server.  If that TAXII server does not know or understand the extensions you have included in your document, then more then likely they will be lost.  You can test for this by submitting something, and then asking for it back.   Use case #2:  You send a STIX package to a TAXII Collection or a TAXII Channel and you have some Level 2 data markings in the document.  You probably do not want them going to people that can not understand them.  So there may be a human built policy on the TAXII server to not send these packages or that content to people that can not use them.  This would be an implementation level issue.   DLP, proxies, layer7 firewalls, NAT devices, content filters, SSL viability devices, and a ton of other things sit in line today and modify content that flows over the wire based on organizational policy.  Regardless of wether we like it or not, this will happen.  What we want to figure out in the specification is how to guarantee a certain behavior under certain conditions or how to identify and know what is going to happen.  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 Feb 1, 2016, at 12:59, John-Mark Gurney < jmg@newcontext.com > wrote: Jason Keirstead wrote this message on Mon, Feb 01, 2016 at 15:49 -0400: What I mean is if I create a STIX document and push it to a TAXII server on a channel, I expect anyone else subscribed to that channel should either receive the document as I created it, or not receive it at all. I myself do not think TAXII should be diving into the STIX and modifying the documents, removing attributes from them. My point is that STIX documents could be very large, , and I don't think it's good to think of them like that...  More like a node in a graph w/ links (idref) to other nodes... Imagine if some vendors got together and made a tempoary extension to the indicator property called Risk or something, but whenever a producer sent it onto the wire, the TAXII server stripped it off. That value might be useful for a consumer.. the TAXII server has no idea what values will be of use to whom, it should not be stripping off a property just because it doesn't recognize it. I do agree that unknown properties should not be stripped from objects... All properties of an object MUST be passed, unchanged, through. 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 Attachment: smime.p7s Description: S/MIME cryptographic signature


  • 22.  Re: [cti] Missing MTI - what to do?

    Posted 02-04-2016 20:51
    Eric Burger wrote this message on Mon, Feb 01, 2016 at 19:03 -0500: > I agree with Bret here. The question is what do we do with mixed-level TLP. For example, the whole STIX document is TLP amber, but these elements are TLP red. While the TAXII server might pass or store the whole document, if someone with amber but not red access asks for the document, does the whole document fail? I would offer if the source took the effort to separately indicate amber vs. red, they mean to pass the amber stuff with their trusted TAXII server partner “doing the right thing” with the red elements. To me, it seems like the document should be marked w/ the highest classification that it contains, so if it has elements which are red, then the document must be red... If that's the case, then it should be less of an issue... John-Mark


  • 23.  RE: [cti] Missing MTI - what to do?

    Posted 02-04-2016 22:39
    Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of "tear sheets". Use Case: I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor. The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER. If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution. In the human-readable world, this is often accomplished through tear sheets. The document would be marked TLP AMBER, but a lower section, marked GREEN, can be "torn off" (or C&Ped into a new document) and shared more broadly as a TLP GREEN document. In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document. Just my 2 cents, Chris Ricard FS-ISAC


  • 24.  Re: [cti] Missing MTI - what to do?

    Posted 02-04-2016 23:24
    That is one of many use-cases we have talked about in TAXII land.  IMO, a TAXII implementation (not the specification) will have some sort of rich policy engine sitting on top of it.  And that policy engine will determine who can access what and what goes where.   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 Feb 4, 2016, at 15:39, Chris Ricard < cricard@fsisac.us > wrote: Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of tear sheets . Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor. The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER. If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution. In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be torn off (or C&Ped into a new document) and shared more broadly as a TLP GREEN document. In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document. Just my 2 cents, Chris Ricard FS-ISAC


  • 25.  RE: [cti] Missing MTI - what to do?

    Posted 02-05-2016 00:31




    I agree. The distribution mechanism should determine what content the client should be able to access, based on their permissions.
    An Organization could have different levels of permissions in different threat sharing groups, and as such will get access to different objects within groups.

     
    The proposed Data Marking defined in the CTI-Common 1.0 Spec document (https://docs.google.com/document/d/1FM-ojdKeaC-3mhf2v1FfXY0Q-s0uCiSDG80tDh23k3E/edit#heading=h.al7syh6p3xe8
    ) will help with this.
     
    Cheers
     

    Terry MacDonald
    Senior STIX Subject Matter Expert
    SOLTRA   An FS-ISAC and DTCC Company
    +61 (407) 203 206
    terry@soltra.com
     

     


    From: cti@lists.oasis-open.org [mailto:cti@lists.oasis-open.org]
    On Behalf Of Jordan, Bret
    Sent: Friday, 5 February 2016 10:24 AM
    To: Chris Ricard <cricard@fsisac.us>
    Cc: cti@lists.oasis-open.org
    Subject: Re: [cti] Missing MTI - what to do?


     
    That is one of many use-cases we have talked about in TAXII land.  IMO, a TAXII implementation (not the specification) will have some sort of rich policy engine sitting on top of it.  And that policy engine will determine who can access
    what and what goes where.  







     


    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 Feb 4, 2016, at 15:39, Chris Ricard < cricard@fsisac.us > wrote:

     


    Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of "tear sheets".

    Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor.

    The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER.

    If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution.

    In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be "torn off" (or C&Ped into a new document) and shared more broadly as a TLP GREEN document.

    In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document.

    Just my 2 cents,

    Chris Ricard
    FS-ISAC




  • 26.  Re: [cti] Missing MTI - what to do?

    Posted 02-05-2016 12:45
    Is it possible to have two TLP Markings at the document level: one marking as "Highest-Most-Restrictive" one marking as "Default" (that can be over-written by the level 2 markings) This is how we do this in the community I've been working with. This allows the concept of a "cover sheet" that contains the highest-most restrictive marking. Pam Smith JHU/APL ________________________________________ From: cti@lists.oasis-open.org <cti@lists.oasis-open.org> on behalf of Chris Ricard <cricard@fsisac.us> Sent: Thursday, February 4, 2016 5:39 PM To: cti@lists.oasis-open.org Subject: RE: [cti] Missing MTI - what to do? Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of "tear sheets". Use Case: I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor. The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER. If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution. In the human-readable world, this is often accomplished through tear sheets. The document would be marked TLP AMBER, but a lower section, marked GREEN, can be "torn off" (or C&Ped into a new document) and shared more broadly as a TLP GREEN document. In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document. Just my 2 cents, Chris Ricard FS-ISAC


  • 27.  Re: [cti] Missing MTI - what to do?

    Posted 02-05-2016 16:21
    I believe that is part os John Wunder's new data marking proposal.  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 Feb 5, 2016, at 05:44, Smith, Pamela A. < Pam.Smith@jhuapl.edu > wrote: Is it possible to have two TLP Markings at the document level: one marking as Highest-Most-Restrictive one marking as Default (that can be over-written by the level 2 markings) This is how we do this in the community I've been working with.  This allows the concept of a cover sheet that contains the highest-most restrictive marking. Pam Smith JHU/APL ________________________________________ From: cti@lists.oasis-open.org < cti@lists.oasis-open.org > on behalf of Chris Ricard < cricard@fsisac.us > Sent: Thursday, February 4, 2016 5:39 PM To: cti@lists.oasis-open.org Subject: RE: [cti] Missing MTI - what to do? Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of tear sheets . Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor. The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER. If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution. In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be torn off (or C&Ped into a new document) and shared more broadly as a TLP GREEN document. In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document. Just my 2 cents, Chris Ricard FS-ISAC


  • 28.  Re: [cti] Missing MTI - what to do?

    Posted 02-05-2016 16:43
      |   view attached




    I don't recall seeing any responses to (informal) call to establish consensus within the broader CTI TC Community on whether we will carry some of today's core TAXII Tenets forward (and if not, explicitly codifying the differences).


    I'm not trying to re-visit specifics of these decisions here, merely advocating that reaching consensus on these core architecture decisions will greatly impact outcomes for this type of discussion.


    For example (only),  if one subscribes to the notion that a (1) "TAXII Transport Gateway", (2) "TAXII End-Point", and (3) "TAXII Repository" are distinct functional components within the TAXII Architecture/Specification, then the context of these Data
    Marking discussions shift dramatically.





    Patrick Maroney
    Office:  (856)983-0001
    Cell:      (609)841-5104






    President
    Integrated Networking Technologies, Inc.
    PO Box 569
    Marlton, NJ 08053







    From: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > on behalf of Bret Jordan < bret.jordan@bluecoat.com >
    Date: Friday, February 5, 2016 at 11:20 AM
    To: Pamela Smith < Pam.Smith@jhuapl.edu >
    Cc: Chris Ricard < cricard@fsisac.us >, " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?





    I believe that is part os John Wunder's new data marking proposal. 











    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 Feb 5, 2016, at 05:44, Smith, Pamela A. < Pam.Smith@jhuapl.edu > wrote:


    Is it possible to have two TLP Markings at the document level:

    one marking as "Highest-Most-Restrictive"
    one marking as "Default" (that can be over-written by the level 2 markings)

    This is how we do this in the community I've been working with.  This allows the concept of a "cover sheet" that contains the highest-most restrictive marking.

    Pam Smith
    JHU/APL
    ________________________________________
    From: cti@lists.oasis-open.org < cti@lists.oasis-open.org > on behalf of Chris Ricard < cricard@fsisac.us >
    Sent: Thursday, February 4, 2016 5:39 PM
    To: cti@lists.oasis-open.org
    Subject: RE: [cti] Missing MTI - what to do?

    Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of "tear sheets".

    Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor.

    The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER.

    If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution.

    In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be "torn off" (or C&Ped into a new document) and shared more broadly as a TLP GREEN document.

    In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document.

    Just my 2 cents,

    Chris Ricard
    FS-ISAC




  • 29.  Re: [cti] Missing MTI - what to do?

    Posted 02-05-2016 17:12
      |   view attached





    Can you elaborate on that, Pat? I’m not following…


    And to answer the other question…in the data markings proposal, there are two levels of markings:



    L1 markings apply to a package or an object. When applied to a package, it is NOT highest marking…it’s default marking (applies recursively) unless overriden. There’s no concept of highest marking in L1 markings unless it’s something that the marking model
    (TLP, whatever) adds. L2 markings apply to packages, objects, and properties recursively as selected by the controlled structure. Again, these are NOT highest marking but rather default recursive unless overridden.
    So yes, you can do tear lines via this approach, but no, we don’t have a “highest marking” type cover sheet. That’s more a policy/convenience mechanism for paper documents. It also doesn’t really apply for some marking models…you can’t really have a “highest”
    terms of use marking.


    Would it be OK for a TAXII server to modify the messages that it receives on a channel before republishing? We’re talking about markings here, but it really could apply to anything (anonymization, enrichment, etc).


    John









    From: < cti@lists.oasis-open.org > on behalf of Patrick Maroney < Pmaroney@Specere.org >
    Date: Friday, February 5, 2016 at 11:42 AM
    To: "Jordan, Bret" < bret.jordan@bluecoat.com >, pam smith < Pam.Smith@jhuapl.edu >
    Cc: Chris Ricard < cricard@fsisac.us >, " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?






    I don't recall seeing any responses to (informal) call to establish consensus within the broader CTI TC Community on whether we will carry some of today's core TAXII Tenets forward (and if not, explicitly codifying the differences).


    I'm not trying to re-visit specifics of these decisions here, merely advocating that reaching consensus on these core architecture decisions will greatly impact outcomes for this type of discussion.


    For example (only),  if one subscribes to the notion that a (1) "TAXII Transport Gateway", (2) "TAXII End-Point", and (3) "TAXII Repository" are distinct functional components within the TAXII Architecture/Specification, then the context of these Data
    Marking discussions shift dramatically.





    Patrick Maroney
    Office:  (856)983-0001
    Cell:      (609)841-5104






    President
    Integrated Networking Technologies, Inc.
    PO Box 569
    Marlton, NJ 08053







    From: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org > on behalf of Bret Jordan < bret.jordan@bluecoat.com >
    Date: Friday, February 5, 2016 at 11:20 AM
    To: Pamela Smith < Pam.Smith@jhuapl.edu >
    Cc: Chris Ricard < cricard@fsisac.us >, " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?





    I believe that is part os John Wunder's new data marking proposal. 











    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 Feb 5, 2016, at 05:44, Smith, Pamela A. < Pam.Smith@jhuapl.edu > wrote:


    Is it possible to have two TLP Markings at the document level:

    one marking as "Highest-Most-Restrictive"
    one marking as "Default" (that can be over-written by the level 2 markings)

    This is how we do this in the community I've been working with.  This allows the concept of a "cover sheet" that contains the highest-most restrictive marking.

    Pam Smith
    JHU/APL
    ________________________________________
    From: cti@lists.oasis-open.org < cti@lists.oasis-open.org > on behalf of Chris Ricard < cricard@fsisac.us >
    Sent: Thursday, February 4, 2016 5:39 PM
    To: cti@lists.oasis-open.org
    Subject: RE: [cti] Missing MTI - what to do?

    Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of "tear sheets".

    Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor.

    The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER.

    If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution.

    In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be "torn off" (or C&Ped into a new document) and shared more broadly as a TLP GREEN document.

    In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document.

    Just my 2 cents,

    Chris Ricard
    FS-ISAC




  • 30.  Re: [cti] Missing MTI - what to do?

    Posted 02-05-2016 17:31
    Pat, Yes, please explain.  All of the TAXII work is done in the TAXII sub committee. Anyone interested in TAXII should join the TAXII sub committee, it is open to all OASIS members..  As far as individual TAXII concepts, we will not go in to them here, we have had discussions on email, slack, and phone calls about each topic.  There are some 15,000+ message in the TAXII Slack channel where we have discussed these topics at length, and some times, over and over and over. In all of our monthly calls we give status updates on decisions made and discussion points for the coming month.  All decisions are discussed at length in the TAXII subcommittee.  If you want something specific, please join the TAXII SC and contribute.   John, In regards to your question about should a TAXII server modify content on a channel.  That is a policy decision built on top of a deployment / implementation and is not specification related.  I can see rules and guidelines being part of a subscription contract or legal document you sign when you join a sharing group (aka a TAXII channel).  Obviously there will be some free and open (wild-west) style TAXII channels, but I see a lot of them being very structured. Just as we have today, in all forms of sharing, there is no way to prevent a consumer or a distribution point from modifying content, without some sort of legal contract that gets audited on a regular basis.    At some point, maybe in TAXII 2.5 time frame we will look in to doing encrypted TAXII messages that can use either symmetric or asymmetric keys and certificate pinning (depending on your appetite for risk). 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 Feb 5, 2016, at 10:12, Wunder, John A. < jwunder@mitre.org > wrote: Can you elaborate on that, Pat? I’m not following… And to answer the other question…in the data markings proposal, there are two levels of markings: L1 markings apply to a package or an object. When applied to a package, it is NOT highest marking…it’s default marking (applies recursively) unless overriden. There’s no concept of highest marking in L1 markings unless it’s something that the marking model (TLP, whatever) adds. L2 markings apply to packages, objects, and properties recursively as selected by the controlled structure. Again, these are NOT highest marking but rather default recursive unless overridden. So yes, you can do tear lines via this approach, but no, we don’t have a “highest marking” type cover sheet. That’s more a policy/convenience mechanism for paper documents. It also doesn’t really apply for some marking models…you can’t really have a “highest” terms of use marking. Would it be OK for a TAXII server to modify the messages that it receives on a channel before republishing? We’re talking about markings here, but it really could apply to anything (anonymization, enrichment, etc). John From: < cti@lists.oasis-open.org > on behalf of Patrick Maroney < Pmaroney@Specere.org > Date: Friday, February 5, 2016 at 11:42 AM To: Jordan, Bret < bret.jordan@bluecoat.com >, pam smith < Pam.Smith@jhuapl.edu > Cc: Chris Ricard < cricard@fsisac.us >, cti@lists.oasis-open.org < cti@lists.oasis-open.org > Subject: Re: [cti] Missing MTI - what to do? I don't recall seeing any responses to (informal) call to establish consensus within the broader CTI TC Community on whether we will carry some of today's core TAXII Tenets forward (and if not, explicitly codifying the differences). I'm not trying to re-visit specifics of these decisions here, merely advocating that reaching consensus on these core architecture decisions will greatly impact outcomes for this type of discussion. For example (only),  if one subscribes to the notion that a (1) TAXII Transport Gateway , (2) TAXII End-Point , and (3) TAXII Repository are distinct functional components within the TAXII Architecture/Specification, then the context of these Data Marking discussions shift dramatically. Patrick Maroney Office:  (856)983-0001 Cell:      (609)841-5104 <C690F973-64C5-4C00-889B-C1A5BB4A2A0B[23].png> President Integrated Networking Technologies, Inc. PO Box 569 Marlton, NJ 08053 From: cti@lists.oasis-open.org < cti@lists.oasis-open.org > on behalf of Bret Jordan < bret.jordan@bluecoat.com > Date: Friday, February 5, 2016 at 11:20 AM To: Pamela Smith < Pam.Smith@jhuapl.edu > Cc: Chris Ricard < cricard@fsisac.us >, cti@lists.oasis-open.org < cti@lists.oasis-open.org > Subject: Re: [cti] Missing MTI - what to do? I believe that is part os John Wunder's new data marking proposal.  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 Feb 5, 2016, at 05:44, Smith, Pamela A. < Pam.Smith@jhuapl.edu > wrote: Is it possible to have two TLP Markings at the document level: one marking as Highest-Most-Restrictive one marking as Default (that can be over-written by the level 2 markings) This is how we do this in the community I've been working with.  This allows the concept of a cover sheet that contains the highest-most restrictive marking. Pam Smith JHU/APL ________________________________________ From: cti@lists.oasis-open.org < cti@lists.oasis-open.org > on behalf of Chris Ricard < cricard@fsisac.us > Sent: Thursday, February 4, 2016 5:39 PM To: cti@lists.oasis-open.org Subject: RE: [cti] Missing MTI - what to do? Handling the entire STIX document at its highest TLP marking is certainly the easiest solution, but it doesn’t address the concept of tear sheets . Use Case:  I generate a STIX document containing a set of indicators, and relating these indicators to a specific threat actor. The indicators themselves are TLP GREEN, but the attribution to the threat actor is TLP AMBER. If the STIX document is handled at its highest TLP marking, I lose the ability to share out the indicators to the broader community, because of the Threat Actor attribution. In the human-readable world, this is often accomplished through tear sheets.  The document would be marked TLP AMBER, but a lower section, marked GREEN, can be torn off (or C&Ped into a new document) and shared more broadly as a TLP GREEN document. In the STIX/TAXII world, I would envision creating a TLP GREEN TAXII feed that would allow access to those top level objects tagged GREEN, while stripping off the TLP AMBER and RED top level objects that were part of the STIX document. Just my 2 cents, Chris Ricard FS-ISAC


  • 31.  Re: [cti] Missing MTI - what to do?

    Posted 01-30-2016 16:41
    We would need to test this use case with various parsers.  Some libraries might give an error if the document is corrupt.   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 Jan 29, 2016, at 23:23, Terry MacDonald < terry@soltra.com > wrote: I was meaning that if we had this object:        {           name : exploit ,           name_ext : {             value : super-duper-malware-variant ,             vocab : https://bigbank.com/superdooper-malware-vocab          }        }     And the object was corrupted in transit and became          {           name : exploit ,           name_ext : {             value : super-duper-malware ,             vocab : https://bigbank.com/superdooper-malware-vocab          }        }   Having the illegal fields ignored means that the vocab field is invalid. The whole name_ext object is invalid as all the required fields aren’t present, so that ultimately the only bit that gets through the parser is:          {           name : exploit        }   Which is different to what the producer was meaning to have.   I know it is an edge case and one that only warrants a small amount of thought, but we will need to ensure that the ambiguity is removed in some way in a way that negates this from happening. It could be as simple as saying exactly what Bret suggested – that the default vocab chosen must be as close approximation as possible to the custom vocab selection.   Cheers   Terry MacDonald Senior STIX Subject Matter Expert SOLTRA   An FS-ISAC and DTCC Company +61 (407) 203 206   terry@soltra.com     From:   Jordan, Bret [ mailto:bret.jordan@bluecoat.com ]   Sent:   Saturday, 30 January 2016 8:40 AM To:   Terry MacDonald < terry@soltra.com > Cc:   Jason Keirstead < Jason.Keirstead@ca.ibm.com >;   cti@lists.oasis-open.org ; Eric Burger < Eric.Burger@georgetown.edu > Subject:   Re: [cti] Missing MTI - what to do?   Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using other .   Bret  Sent from my Commodore 64 On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote: This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected within the default vocab... Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab? Cheers Terry MacDonald On 30/01/2016 02:15, Jordan, Bret < bret.jordan@bluecoat.com > wrote: I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.       The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.     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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote:   As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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   <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From:   Eric Burger < Eric.Burger@georgetown.edu > To:   cti@lists.oasis-open.org < cti@lists.oasis-open.org > Date:   01/29/2016 08:28 AM Subject:   [cti] Missing MTI - what to do? Sent by:   < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.   For an example of this working in email system gateways, see   https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped. Attachment: signature.asc Description: Message signed with OpenPGP using GPGMail


  • 32.  Re: [cti] Missing MTI - what to do?

    Posted 01-31-2016 20:51
    Whoa, whoa, whoa! Major misunderstanding here. I was not suggesting that we should chose what to do in all cases when confronted with JSON that you do not understand. Terry here gives a perfect example where ignoring fields is plain wrong. In fact, the ‘feature’ of JSON parsers silently dropping keys it does not understand is a very, very, very serious, potentially fatal, flaw. If I need  you do understand a field to understand my document, and you do not understand that field, in fact, you cannot understand or, worse, will misunderstand, my message. In fact, imagine: { “delightful” : “names”, “delete” : “*” } You don’t understand ‘delightful’, but you do understand ‘delete’. Wow, you just deleted your whole data base. That sucks - all I wanted you do to was take out the delightful names in your ACL list. You would  have known that if only you knew what my ‘delightful’ message was about. What I am advocating for is: Specify what to do in general  when you get a field you do not understand Consensus seems to be ignore That is a reasonable default action as it is more likely to interoperate into the future Have a mechanism for specifying in specific  when you need the receiver to understand either the whole message or a particular message element RFC 3459 does this for email On Jan 30, 2016, at 1:23 AM, Terry MacDonald < terry@soltra.com > wrote: I was meaning that if we had this object:        {           name : exploit ,           name_ext : {             value : super-duper-malware-variant ,             vocab : https://bigbank.com/superdooper-malware-vocab          }        }     And the object was corrupted in transit and became          {           name : exploit ,           name_ext : {             value : super-duper-malware ,             vocab : https://bigbank.com/superdooper-malware-vocab          }        }   Having the illegal fields ignored means that the vocab field is invalid. The whole name_ext object is invalid as all the required fields aren’t present, so that ultimately the only bit that gets through the parser is:          {           name : exploit        }   Which is different to what the producer was meaning to have.   I know it is an edge case and one that only warrants a small amount of thought, but we will need to ensure that the ambiguity is removed in some way in a way that negates this from happening. It could be as simple as saying exactly what Bret suggested – that the default vocab chosen must be as close approximation as possible to the custom vocab selection.   Cheers   Terry MacDonald Senior STIX Subject Matter Expert SOLTRA   An FS-ISAC and DTCC Company +61 (407) 203 206   terry@soltra.com     From:   Jordan, Bret [ mailto:bret.jordan@bluecoat.com ]   Sent:   Saturday, 30 January 2016 8:40 AM To:   Terry MacDonald < terry@soltra.com > Cc:   Jason Keirstead < Jason.Keirstead@ca.ibm.com >; cti@lists.oasis-open.org ; Eric Burger < Eric.Burger@georgetown.edu > Subject:   Re: [cti] Missing MTI - what to do?   Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using other .   Bret  Sent from my Commodore 64 On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote: This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected within the default vocab... Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab? Cheers Terry MacDonald On 30/01/2016 02:15, Jordan, Bret < bret.jordan@bluecoat.com > wrote: I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.       The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.     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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote:   As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able to add fields to the JSON and have them be silently ignored if unsupported by the receiver. - 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   <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec From:   Eric Burger < Eric.Burger@georgetown.edu > To:   cti@lists.oasis-open.org < cti@lists.oasis-open.org > Date:   01/29/2016 08:28 AM Subject:   [cti] Missing MTI - what to do? Sent by:   < cti@lists.oasis-open.org > There are only three choices if one is missing or has an odd MTI field: Fail the transaction / reject to document Ignore the field Fix the field if you can I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.   For an example of this working in email system gateways, see   https://tools.ietf.org/html/rfc3459 On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com > wrote: As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped. Attachment: smime.p7s Description: S/MIME cryptographic signature


  • 33.  Re: [cti] Missing MTI - what to do?

    Posted 01-31-2016 21:05





    As an example, our data markings processing rules need requirements for what to do when you can’t understand the marking model (you only do TLP, they send you something different) or marking application (you only do level 1, they send you level 2).


    It sounds like people are on the same page here…unlike our STIX 1.2 schemas (which failed validation on extra fields), we can be more open to “extra” content in the documents.









    From: < cti@lists.oasis-open.org >, Eric Burger < ewb25@georgetown.edu > on behalf of Eric Burger < Eric.Burger@georgetown.edu >
    Date: Sunday, January 31, 2016 at 3:51 PM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?





    Whoa, whoa, whoa! Major misunderstanding here.


    I was not suggesting that we should chose what to do in all cases when confronted with JSON that you do not understand. Terry here gives a perfect example where ignoring fields is plain wrong. In fact, the ‘feature’ of JSON parsers silently dropping
    keys it does not understand is a very, very, very serious, potentially fatal, flaw.


    If I need  you do understand a field to understand my document, and you do not understand that field, in fact, you cannot understand or, worse, will misunderstand, my message. In fact, imagine:
    {
    “delightful” : “names”,
    “delete” : “*”
    }
    You don’t understand ‘delightful’, but you do understand ‘delete’. Wow, you just deleted your whole data base. That sucks - all I wanted you do to was take out the delightful names in your ACL list. You
    would  have known that if only you knew what my ‘delightful’ message was about.


    What I am advocating for is:


    Specify what to do in general  when you get a field you do not understand

    Consensus seems to be ignore That is a reasonable default action as it is more likely to interoperate into the future
    Have a mechanism for specifying in specific  when you need the receiver to understand either the whole message or a particular message element

    RFC 3459 does this for email






    On Jan 30, 2016, at 1:23 AM, Terry MacDonald < terry@soltra.com > wrote:




    I was meaning that if we had this object:


           {

             "name ": "exploit",

             "name_ext": {

               "value": "super-duper-malware-variant",

               "vocab": " https://bigbank.com/superdooper-malware-vocab "

             }

           }

     

     

    And the object was corrupted in transit and became

     

           {

             "name ": "exploit",

             "name_ext": {

               "value": "super-duper-malware",

               "vocab": " https://bigbank.com/superdooper-malware-vocab

             }

           }

     

    Having the illegal fields ignored means that the vocab field is invalid. The whole name_ext object is invalid as all the required fields aren’t present, so that
    ultimately the only bit that gets through the parser is:

     

           {

             "name ": "exploit"

           }

     

    Which is different to what the producer was meaning to have.

     

    I know it is an edge case and one that only warrants a small amount of thought, but we will need to ensure that the ambiguity is removed in some way in a way
    that negates this from happening. It could be as simple as saying exactly what Bret suggested – that the default vocab chosen must be as close approximation as possible to the custom vocab selection.

     

    Cheers

     


    Terry MacDonald

    Senior STIX Subject Matter Expert

    SOLTRA   An FS-ISAC and DTCC Company

    +61 (407) 203 206   terry@soltra.com

     


     



    From:   Jordan, Bret
    [ mailto:bret.jordan@bluecoat.com ]  
    Sent:   Saturday, 30 January 2016 8:40 AM
    To:   Terry MacDonald < terry@soltra.com >
    Cc:   Jason Keirstead < Jason.Keirstead@ca.ibm.com >;
    cti@lists.oasis-open.org ; Eric Burger < Eric.Burger@georgetown.edu >
    Subject:   Re: [cti] Missing MTI - what to do?



     


    Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using "other".



     



    Bret 

    Sent from my Commodore 64




    On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote:




    This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected
    within the default vocab...

    Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab?

    Cheers
    Terry MacDonald


    On 30/01/2016 02:15, "Jordan, Bret" < bret.jordan@bluecoat.com > wrote:



    I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.
       


     



    The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.  








     



    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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote:


     



    As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able
    to add fields to the JSON and have them be silently ignored if unsupported by the receiver.

    -
    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  


    <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec

    From:   Eric Burger < Eric.Burger@georgetown.edu >
    To:   " cti@lists.oasis-open.org "
    < cti@lists.oasis-open.org >
    Date:   01/29/2016 08:28 AM
    Subject:   [cti] Missing MTI - what to do?
    Sent by:   < cti@lists.oasis-open.org >







    There are only three choices if one is missing or has an odd MTI field:



    Fail the transaction / reject to document
    Ignore the field
    Fix the field if you can



    I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error
    (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions
    or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.  

    For an example of this working in email system gateways, see   https://tools.ietf.org/html/rfc3459

    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com >
    wrote:

    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried
    to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts
    JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.





















  • 34.  Re: [cti] Missing MTI - what to do?

    Posted 02-01-2016 12:27





    I think this would be most usefully discussed in the context of normative text. I’ve added some text to the STIX pre-draft [1] to help get us going. Here is the text I have added, all comments (including: “I hate that please remove it!”) are welcome.

    Extension Fields in STIX 2.0
    The authors of this specification recognize that there will be cases
    where certain information exchanges can be improved by adding fields that are not specified in this document; these fields are called an
    Extension Field .
    An Extension Field is a field that is present in a STIX document and is not defined in this specification. This section provides guidance and requirements for extending STIX in an interoperable manner. A STIX document MAY contain any number of Extension Fields.


    Extension Fields must follow these rules:


    Extension Fields MUST NOT have the same name as
    any field in
    this specification.

    Extension Fields SHOULD be uniquely named. This specification recommends that maintainers
    of Extension Fields use a consistent prefix (e.g., a namespace). This reduces the likelihood that multiple Extension Fields will have the same name.  

    Rules for processing Extension Fields SHOULD be well defined and accessible to any consumer
    that would be reasonably expected to parse them.


    Any consumer that receives a STIX document with one or more Extension
    Fields that are not understood MAY:


    refuse to process the document further;

    silently ignore non-understood Extension Fields;

    or continue processing the document


    Producers of STIX documents that contain Extension Fields should be well
    aware of the variability of consumer behavior depending on whether or not the consumer understands the Extension Fields present in the STIX document.

    The reporting of errors originating from the processing of Extension
    Fields depends heavily on the technology used to transport the STIX document and is therefore not covered in this specification.

    Consumers that receives a STIX document that contains one or more Extension Fields that are understood must process the Extension Fields according
    to the rules for that Extension Field.


    Thank you.
    -Mark


    [1]  https://docs.google.com/document/d/1U48DOJzh2qELOEhhVWz_G6hL0Bazx1Y52wpOeR8jaVk/edit#









    From: < cti@lists.oasis-open.org > on behalf of "Wunder, John A." < jwunder@mitre.org >
    Date: Sunday, January 31, 2016 at 4:04 PM
    To: Eric Burger < Eric.Burger@georgetown.edu >, " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?







    As an example, our data markings processing rules need requirements for what to do when you can’t understand the marking model (you only do TLP, they send you something different) or marking application (you only do level 1, they send you level 2).


    It sounds like people are on the same page here…unlike our STIX 1.2 schemas (which failed validation on extra fields), we can be more open to “extra” content in the documents.









    From: < cti@lists.oasis-open.org >, Eric Burger < ewb25@georgetown.edu > on behalf of Eric Burger < Eric.Burger@georgetown.edu >
    Date: Sunday, January 31, 2016 at 3:51 PM
    To: " cti@lists.oasis-open.org " < cti@lists.oasis-open.org >
    Subject: Re: [cti] Missing MTI - what to do?





    Whoa, whoa, whoa! Major misunderstanding here.


    I was not suggesting that we should chose what to do in all cases when confronted with JSON that you do not understand. Terry here gives a perfect example where ignoring fields is plain wrong. In fact, the ‘feature’ of JSON parsers silently dropping
    keys it does not understand is a very, very, very serious, potentially fatal, flaw.


    If I need  you do understand a field to understand my document, and you do not understand that field, in fact, you cannot understand or, worse, will misunderstand, my message. In fact, imagine:
    {
    “delightful” : “names”,
    “delete” : “*”
    }
    You don’t understand ‘delightful’, but you do understand ‘delete’. Wow, you just deleted your whole data base. That sucks - all I wanted you do to was take out the delightful names in your ACL list. You
    would  have known that if only you knew what my ‘delightful’ message was about.


    What I am advocating for is:


    Specify what to do in general  when you get a field you do not understand

    Consensus seems to be ignore That is a reasonable default action as it is more likely to interoperate into the future
    Have a mechanism for specifying in specific  when you need the receiver to understand either the whole message or a particular message element

    RFC 3459 does this for email






    On Jan 30, 2016, at 1:23 AM, Terry MacDonald < terry@soltra.com > wrote:




    I was meaning that if we had this object:


           {

             "name ": "exploit",

             "name_ext": {

               "value": "super-duper-malware-variant",

               "vocab": " https://bigbank.com/superdooper-malware-vocab "

             }

           }

     

     

    And the object was corrupted in transit and became

     

           {

             "name ": "exploit",

             "name_ext": {

               "value": "super-duper-malware",

               "vocab": " https://bigbank.com/superdooper-malware-vocab

             }

           }

     

    Having the illegal fields ignored means that the vocab field is invalid. The whole name_ext object is invalid as all the required fields aren’t present, so that
    ultimately the only bit that gets through the parser is:

     

           {

             "name ": "exploit"

           }

     

    Which is different to what the producer was meaning to have.

     

    I know it is an edge case and one that only warrants a small amount of thought, but we will need to ensure that the ambiguity is removed in some way in a way
    that negates this from happening. It could be as simple as saying exactly what Bret suggested – that the default vocab chosen must be as close approximation as possible to the custom vocab selection.

     

    Cheers

     


    Terry MacDonald

    Senior STIX Subject Matter Expert

    SOLTRA   An FS-ISAC and DTCC Company

    +61 (407) 203 206   terry@soltra.com

     


     



    From:   Jordan, Bret
    [ mailto:bret.jordan@bluecoat.com ]  
    Sent:   Saturday, 30 January 2016 8:40 AM
    To:   Terry MacDonald < terry@soltra.com >
    Cc:   Jason Keirstead < Jason.Keirstead@ca.ibm.com >;
    cti@lists.oasis-open.org ; Eric Burger < Eric.Burger@georgetown.edu >
    Subject:   Re: [cti] Missing MTI - what to do?



     


    Not sure I follow.  If your tool does not support custom vocabs then you will not have the data in them.  I would suggest as a best practice people should always, when possible, pick a fallback option instead of using "other".



     



    Bret 

    Sent from my Commodore 64




    On Jan 29, 2016, at 2:36 PM, Terry MacDonald < terry@soltra.com > wrote:




    This could be problematic for the vocabs extensions if the _ext object is used (custom vocab) and the extension object field is corrupted and ignored. It means that the logic will not see that the extension object exists, and will just use the value selected
    within the default vocab...

    Maybe we could avert this by specifying a 'custom-vocab' option for all enums to explicitly specify that there is an extension to the custom vocab?

    Cheers
    Terry MacDonald


    On 30/01/2016 02:15, "Jordan, Bret" < bret.jordan@bluecoat.com > wrote:



    I can see this happening a lot.  And the nice thing is most JSON parsers will just silently drop fields it does not understand.  I am thinking it might actually be hard to figure out if there is in fact extra data there that it does not know what to do with.
       


     



    The way I see this working is vendors communications in side a closed system (network / eco-system) may use all kinds of extra stuff.  Then at the board TAXII server, it would get stripped out.  








     



    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 Jan 29, 2016, at 07:59, Jason Keirstead < Jason.Keirstead@ca.ibm.com > wrote:


     



    As someone who is *extremely likely* to have to make use of both provisional portions of future versions of our specifications and also proprietary enhancements for internal use - I would strongly advocate for option (b) (ignore the field). We need to be able
    to add fields to the JSON and have them be silently ignored if unsupported by the receiver.

    -
    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  


    <graycol.gif> Eric Burger ---01/29/2016 08:28:38 AM---There are only three choices if one is missing or has an odd MTI field: Fail the transaction / rejec

    From:   Eric Burger < Eric.Burger@georgetown.edu >
    To:   " cti@lists.oasis-open.org "
    < cti@lists.oasis-open.org >
    Date:   01/29/2016 08:28 AM
    Subject:   [cti] Missing MTI - what to do?
    Sent by:   < cti@lists.oasis-open.org >







    There are only three choices if one is missing or has an odd MTI field:



    Fail the transaction / reject to document
    Ignore the field
    Fix the field if you can



    I would offer we say what we mean. There are two places to do that. The first is in the spec itself. For example, if “id” is missing, I think we would say in the spec the serialization is malformed and return an error
    (or silently go away). The second is to tag the transaction, perhaps at the TAXII level, with what you want to have happen. For example, if I have private extensions, I can tag them as something you can freely ignore or drop. Conversely, if I have extensions
    or optional fields that you really need to understand to process the message, I can tag them as something that if you do not recognize them, fail the document so I know you do not know.  

    For an example of this working in email system gateways, see   https://tools.ietf.org/html/rfc3459

    On Jan 27, 2016, at 10:57 AM, Paul Patrick < ppatrick@isightpartners.com >
    wrote:

    As a side note, I’ve not seen a statement about what the appropriate behavior should be when a JSON MTI compliant consumer receives a document with a field it doesn’t understand (maybe due to a typo or somebody tried
    to make a private extension). But if the specified behavior was to ignore the field rather than fail the processing of the entire document, then under the situation where a JSON-LD language binding document was inadvertently sent to a consumer that only excepts
    JSON MTI language binding, the behavior would still allow the document to be processed as a compliant JSON MTI document since the @nodes and @fields would be ignored or skipped.























  • 35.  Re: [cti] Missing MTI - what to do?

    Posted 02-01-2016 18:48
    Terry MacDonald wrote this message on Sat, Jan 30, 2016 at 06:23 +0000: > And the object was corrupted in transit and became If the object became corrupted in transit, then there are bigger issues... What is the IP to block gets corrupted from 8.133.8.8 to 8.8.8.8? etc. The transit or other systems need to be using hashes/checksum/CRCs to ensure the integrity of the data so that this does not happen... John-Mark