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

 


Help: OASIS Mailing Lists Help | MarkMail Help

cti-users message

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


Subject: Re: [cti-users] Indicator Type / Vocabulary Implementation Questions


Comments inline


From: <cti-users@lists.oasis-open.org> on behalf of "Jordan, Bret" <bret.jordan@bluecoat.com>
Date: Thursday, October 22, 2015 at 2:15 PM
To: Aharon Chernin <achernin@soltra.com>
Cc: John Wunder <jwunder@mitre.org>, Jason Keirstead <Jason.Keirstead@ca.ibm.com>, "Palmer, Cliff A. (NE)" <Cliff.Palmer@gd-ms.com>, "cti-users@lists.oasis-open.org" <cti-users@lists.oasis-open.org>
Subject: Re: [cti-users] Indicator Type / Vocabulary Implementation Questions

Extensibility and the whole xsi-type concept only works if you can guarantee that every implementer of every product and device will "fully" implement it.  
If not, then you have things breaking all over the place.  

[sean]I would argue that this is fundamentally not true. The entire extensibility approach built into the language is designed such that every implementer can decide which profile of the language they wish to support. This may mean that they support particular extensions or that they support no extensions at all other than the default ones. Each extension is defined explicitly such that there is no ambiguity on what it is and implementers have a clear specification of what structure they need to support if they choose to support that extension. If an implementer chooses not to implement certain (or any) extensions they need to understand that by doing so they limit their ability to interoperate with other implementers who do implement them. Is it possible for every implementation to be fully interoperable for all information with every other implementation? No. I would argue that this will never be possible because different implementations (CTI platform, analytic workbench, SIEM, malware analysis tool, digital forensic analysis tool, etc.) are focused at doing different things with different information. The key is that they all deal with “cyber threat information” and effective cyber security involves use and integration/orchestration across them and their information. This is why it is important that STIX serve the purpose of an ontology/data-model across the domain serving both localized tactical use cases as well as bridging strategic ones.

And our efforts of making sure we can accommodate every possible use-case, means, that in practical terms no one can actually communicate unless they are using the same software package (which is not realistic).  

[sean]First, I would assert that we are certainly NOT "making sure we can accommodate every possible use-case”. Not even close. We are targeting the most common use cases for cyber threat information. That does not mean only the most common use cases from a particular individuals perspective or usage scenarios but across the cyber security landscape. The terms esoteric and niche are often thrown around (not in this message but in others with the same tone and intent) by some who wish to discount the validity or importance of use cases other then theirs. I would request that we avoid derogatory use of terms like these going forward and would further assert that none of the broad set of use cases currently listed on the STIX use-cases wiki are esoteric or niche. They are ALL common use cases occurring as we speak and every day across a broad set of users in the cyber security domain. Ironically, I would say that the use cases on that list that are least common today are ones that are more difficult without something like STIX (e.g. Indicator Sighting Reporting) and are often asserted as the most common ones we need to focus on at the expense of others discounted as esoteric or niche.
And again, the conclusionary statement here is fundamentally untrue. Addressing the set of relevant use cases does not require that everyone use the same product. They simply need to agree on elements of the profiles they will support (based on their use cases) and use products that support those profile elements. Assertions that flexibility is impossible and everyone would have to be using the same product are demonstrably untrue in current use.

Simplicity will gain us adoption, and from adoption we can iterate over time and add features. 

I am in strong favor of "one-way-of-doing-things".  I am also in strong favor of getting rid of and simplifying the extensibility so that we can guarantee interoperability.  

[sean]I would like to request that we stop using the buzzwords “simplicity” and “one-way-of-doing-things” in an ambiguous manner. They are at best distracting and disruptive if used without specifics of what particular issue is being discussed, what specific structure is being deemed too complex, what specific structure is being proposed as “simple” or the "one-way-of-doing-things” and details of how it supports the capabilities of the “complex” structure in a better way or explicitly argues that those capabilities are not relevant. Using them ambiguously is like a politician saying “its for the children”. Of course, we can all agree on the benefit of that, right? Well, unfortunately it typically means we are not all necessarily agreeing on the same thing. What I think is “simple” or the “one-way-of-doing things” is likely different from your thinking on the same terms. Specifics are absolutely necessary. I am very much interested in discussing such issues if we can do so in a manner that is specific.
It looks like it is being used here to imply that the “simplicity” of removing core capability like extensibility is an obviously good thing and gains us adoption. I would argue that this is a naïve presumption. May it gain us adoption for the absolute lowest common denominator? Perhaps. Would it kill adoption for a wide range of uses beyond the lowest common denominator and force those players to seek alternative (and likely competing) solutions? Very likely.
Simplifying and normalizing/standardizing are good things but only as they still fit within what is necessary to actually serve purpose.
Remember, Einstein’s quote is “Everything should be made as simple as possible, but not simpler”. The second half of the quote is absolutely crucial to the principle. Simple alone is not necessarily good but as simple as possible to still serve purpose is.
Where we can identify opportunities to simplify structure and still serve the purposes necessary I will be 100% supportive and always have been (remember, we have done this several times over the last few releases). Where arguments are made that “simplicity” should be pursued at the expense of serving the purposes necessary you will find me skeptical and requiring clear and unassailable justification. I view such defense of the community’s work to date as a key responsibility as an expert and as a co-chair.

To Jason's points, I would suggest we add an option for "other" and we also try to be more diligent about updating the controlled vocabulary.  Maybe go so far as to say that every January we will rev the controlled vocabularies.  

[sean]Looks like we have found common ground on a need to be more diligent about updating the default controlled vocabularies.



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 Oct 22, 2015, at 12:04, Aharon Chernin <achernin@soltra.com> wrote:

In regards to forcing a controlled vocab in STIX 2, I am torn. A controlled vocab would make STIX easier for software developers, but more difficult for product owners who are trying to push the boundaries of STIX within their products. Just the other day I was working on a proposal that had us doing something different with STIX that required us to release a few custom vocab entries. However, I could argue against custom vocabs as I have seen implementations of STIX that do not understand the whole concept of including additional XSDs in the namespace/header portion of the XML document.



Aharon

From: <cti-users@lists.oasis-open.org> on behalf of "Wunder, John A." <jwunder@mitre.org>
Date: Thursday, October 22, 2015 at 1:14 PM
To: Jason Keirstead <Jason.Keirstead@ca.ibm.com>, "Palmer, Cliff A. (NE)" <Cliff.Palmer@gd-ms.com>
Cc: "cti-users@lists.oasis-open.org" <cti-users@lists.oasis-open.org>
Subject: Re: [cti-users] Indicator Type / Vocabulary Implementation Questions

It would be nice to understand what software is doing with the field. Does it show up in the UI as a sort/filter? Do you base processing on it?

I heard a recent proposal to remove it entirely. What would be the impact of that?

John

From: <cti-users@lists.oasis-open.org> on behalf of Jason Keirstead <Jason.Keirstead@ca.ibm.com>
Date: Thursday, October 22, 2015 at 1:10 PM
To: "Palmer, Cliff A. (NE)" <Cliff.Palmer@gd-ms.com>
Cc: "cti-users@lists.oasis-open.org" <cti-users@lists.oasis-open.org>
Subject: RE: [cti-users] Indicator Type / Vocabulary Implementation Questions

I would agree, but the spec currently lets you put in any string.

I would propose that in STIX 2.0, if the consensus is that it should be a controlled vocabulary, that that be enforced in the spec, and that documents that don't follow the vocabulary are invalid.

I am not looking to do anything with the indicator at all on the recieving end - this is an indicator the software will produce as a result of an automated response. I find the current vocabulary to be very restrictive and full of obvious gaps. Even simple things like "Compromised Host" are absent. Also, all of the instances current vocabulary should be able to be prefixed with "Potential" in my opinion. ("Potential Malware Artifact")

-
Jason Keirstead
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>"Palmer, Cliff A. (NE)" ---2015/10/22 12:55:52 PM---Jason, it seems to me that there is a value to having a controlled vocabulary for Indicator Type. Y

From: "Palmer, Cliff A. (NE)" <Cliff.Palmer@gd-ms.com>
To: Jason Keirstead/CanEast/IBM@IBMCA, "cti-users@lists.oasis-open.org" <cti-users@lists.oasis-open.org>
Date: 2015/10/22 12:55 PM
Subject: RE: [cti-users] Indicator Type / Vocabulary Implementation Questions





Jason, it seems to me that there is a value to having a controlled vocabulary for Indicator Type. You can probably enumerate the benefits in your circumstances better than anyone outside of your situation. The value of controlling the vocabulary should translate into a benefit to your users and provide an incentive for adoption.
Others will want to discuss adopting an ontology to control handling of indicators based on type. While my first thought is “There be dragons” (https://en.wikipedia.org/wiki/Here_be_dragons) it’s also true that an indicator type might not be as challenging as other ontologies. Are you able to describe how the indicator type affects the way you understand or treat the indicator?
I have built ontologies and found it interesting work, but it’s definitely non-trivial. I’d like to hear more about how you proceed.

Cliff Palmer

From: cti-users@lists.oasis-open.org [mailto:cti-users@lists.oasis-open.org] On Behalf Of Jason Keirstead
Sent:
Thursday, October 22, 2015 11:18 AM
To:
cti-users@lists.oasis-open.org
Subject:
[cti-users] Indicator Type / Vocabulary Implementation Questions

HI all, I am producing some new STIX content in an automated fashion, and am looking for feedback on my planned usage of indicator types:

As with many things STIX, the way you do this is so wide open, it makes implementation decisions difficult


@see
http://stixproject.github.io/data-model/1.2/stixVocabs/IndicatorTypeVocab-1.1/

So essentially, I can stick to the default vocabulary, *OR* I can define my own vocabulary, *OR* I can use it as a free-form string.

The problem i have with the default vocabulary, is this list is very restrictive, and there is no "Other" type.

First question
- Has there ever been thought to extending this vocabulary, or adding an "Other" type that one could then annotate in some way? I haven't seen this question come up on the STIX list.

Second question
- My other problem is, I can't define a new fixed vocabulary because this is user-generated stuff. I pretty much am stuck with either using the fixed vocabulary, or letting the user type in whatever they want. How many people are sticking to the controlled vocabulary here? If I use this as a free-form string, will it cause some tools to blow up? Anyone have experience here?



-
Jason Keirstead
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>
This publicly archived list provides a forum for asking questions,
offering answers, and discussing topics of interest on STIX,
TAXII, and CybOX.  Users and developers of solutions that leverage
STIX, TAXII and CybOX are invited to participate.

In order to verify user consent to OASIS mailing list guidelines
and to minimize spam in the list archive, subscription is required
before posting.

Subscribe: cti-users-subscribe@lists.oasis-open.org
Unsubscribe: cti-users-unsubscribe@lists.oasis-open.org
Post: cti-users@lists.oasis-open.org
List help: cti-users-help@lists.oasis-open.org
List archive: http://lists.oasis-open.org/archives/cti-users/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
CTI Technical Committee: https://www.oasis-open.org/committees/cti/
Join OASIS: http://www.oasis-open.org/join/



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