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

From
Terry MacDonald <>
Date
2015-10-27T21:24:21+00:00
ID
Thread
RE: [cti-users] Re: [cti-stix] RE: [cti-users] Indicator Type / Vocabulary Implementation Questions
Hi Jason,

 

The external access would only be required in order to access the custom vocabulary. The fall back default vocabulary (as proposed
 by Bret) wouldn’t need external tool connectivity.

 

As for updating the default vocabulary I believe that most vendors would have an update mechanism built into their tools. It shouldn’t
 be too difficult to import the update at HQ and send it out as an update.

 

In any case, most TAXII servers will be connected to the Internet in order to exchange TAXII/STIX. Adding functionality to lookup a
 custom vocabulary wouldn’t be too onerous in my opinion.

 

Cheers

 

Terry MacDonald

Senior STIX Subject Matter Expert

SOLTRA | An FS-ISAC and DTCC Company

+61 (407) 203 206 |
 

 

 

From:  [mailto:]
On Behalf Of Jason Keirstead

Sent: Wednesday, 28 October 2015 8:14 AM

To: Terry MacDonald <>

Cc: Michael Hammer <>; ; ; ; ; ; ; ; ;
 

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

 

RE:

 

  "sub_type" : {

    "vocab": "http://a.b.com/vocab-foo",

    "type": "X-RAT-Downloader"

  },

 

The problems with this are the same as with the current system...

 

- As a tool, I likely do not have any internet access to publish a vocabulary list

- Even if I did, I probably do not have access to a location on the corporate website to publish it.

 

Sent from IBM Verse

 

Terry MacDonald --- [cti-stix] RE: [cti-users] Indicator Type / Vocabulary Implementation Questions ---

 

From:

"Terry MacDonald" <>

To:

"Michael Hammer" <>,
, "Jason Keirstead" <>

Cc:

,
, 
, ,
,
, 
, 

Date:

Tue, Oct 27, 2015 1:15 PM

Subject:

[cti-stix] RE: [cti-users] Indicator Type / Vocabulary Implementation Questions

 

Michael,

 

Never apologize for bringing an opinion to the table
J. It’s the discussions and reasoning from many
 different viewpoints that will make STIX/TAXII and CybOX better – so throw out what ever you would like to
J.

 

This similar idea was brought up on the CTI-STIX mailing list (where the discussion has migrated to) by Bret Jordan:

 

Perhaps this issue could be solved by a layered approach.....

 

Step 1: Greatly increase the default vocabulary, removing weirdness and things that are duplicate in nature. Try and get the default vocabulary to a 60/40 or 70/30 rule.  It would also be really nice if the terms were backed by a numerical
 element.  String matching in code in notoriously inefficient.  

 

Step 2: Provide a secondary entry point for an additional vocabulary for those groups that want or need to define their own.  We would obviously need an entry point in to the controlled vocabulary that can be a "fall back", something that
 is a lot higher up the food chain.  

 

By doing something like this, software that can only work with the default vocabulary can skip or throw away things it does not understand and have a fall back to something that is "close enough" for what they need.  In the second example
 below, the "sub_type" would be options and parsers could easily throw it away or skip it.  In fact most JSON parsers today naturally just skip things that do not map to a struct.  

 

 

{

  "stixtype": "indicator",

  "type": "IP Watchlist",

  ....

{

 

 

or 

 

{

  "stixtype": "indicator",

  "type": "Malware",

  "sub_type" : {

    "vocab": "http://a.b.com/vocab-foo",

    "type": "X-RAT-Downloader"

  },

  ....

{

 

It seems to me that this is a good in-between option.

 

I’d definitely suggest following the discussion on the CTI-STIX list. We’d really appreciate your involvement in the STIX Sub Committee
 if you have the time!

 

Cheers

 

Terry MacDonald

Senior STIX Subject Matter Expert

SOLTRA | An FS-ISAC and DTCC Company

+61 (407) 203 206 |
 

 

 

From:
 [mailto:]
On Behalf Of Michael Hammer

Sent: Wednesday, 28 October 2015 6:57 AM

To: ; 


Cc: ; 
; ;
;
;
; 
; 

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

 

Pardon me if I am off base with this thought but throwing out to see what sticks.

 

In another group, they had similar problem of divergent lists of “vocabularies” or “dictionaries”.

Example was how many states are in a sequence of a work flow and what are they called.

Common problem seems to be that your list is not my list.

In the end, they used they used a:

DictionaryOwner:  e.g. one or another standards body or proprietary (e.g. OASIS-CTI)

DictionaryAttribute: e.g. the variable name (e.g. IndicatorType)

DictionaryValue: e.g. the variable value (of form string)

Where the Owner provided the context for what permissible Values could be used.

 

The hope in some cases was that a sufficiently well-defined standard set could obviate the need for proprietary ones.

Regularly updating the standard, could help minimize the other lists.

However, if a set needed to be “these and only these values”, then the need for multiple sets remains.

 

________________________________

Michael Hammer

Principal Engineer



Mobile:
+1408 202 9291

542 Gibraltar Drive

Milpitas, CA 95035 USA

www.yaanatech.com

 

From:
 [mailto:]
On Behalf Of Jerome Athias

Sent: Saturday, October 24, 2015 9:19 AM

To: Jason Keirstead <>

Cc: Joep Gommers <>; Grobauer, Bernd <>;
; 
; 
; John-Mark Gurney <>; Wunder, John A. <>; Barnum, Sean D. <>

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

 

What you're pointing there is another thing I thought about which is the relationships between different vocabularies.

While partially implemented in my tools in an effort to avoid inconstancy, it was not yet introduced in the mailinglists 

 

(Again, a structure à la CWE/CAPEC could be mid-term solution before a RDF/OWL ontology)

On Saturday, 24 October 2015, Jason Keirstead <> wrote:

Should be pretty self-explanatory....

Anomalous Activity
<Could be any but usually Reconnaissance/Weaponization/Delivery>

Malicious Activity <Delivery / Exploitation>

Command and Control <Command and Control>

Anonymization <Actions>

Data Exfiltration <Actions>

Lateral Movement <Installation>

Privilege Escalation <Installation>

Reconnaissance <Reconnaissance >

Host/Process Compromise <Installation>

Watchlist <N/A>

Quantified Risk <N/A>

Policy Violation ** <N/A>

-

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 

Joep
 Gommers ---2015/10/24 06:33:42 AM---Jason, How would you feel this relates to killchain?

From: Joep Gommers <>

To: Jason Keirstead/CanEast/IBM@IBMCA

Cc: John-Mark Gurney <>, "Barnum, Sean D."
 <>, "Grobauer, Bernd" <>, "Wunder, John A."
 <>, "" <>,
 "" <>, ""
 <>

Date: 2015/10/24 06:33 AM

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

Jason,

How would you feel this relates to killchain?

J

Sent from my iPhone

On 24 Oct 2015, at 11:05, Jason Keirstead <>
 wrote:

I like the direction this is going

"Removing type information would reduce the IndicatorTypeVocab down to:

Compromised

Malicious

Watchlist

C2

Anonymization

Exfiltration

"

This is very similar to what I have been working through

This was my internal list so far - thoughts?

Anomalous Activity

Malicious Activity

Command and Control *

Anonymization

Data Exfiltration

Lateral Movement

Privilege Escalation

Reconnaissance

Host/Process Compromise

Watchlist

Quantified Risk

Policy Violation **

* I prefer descriptive names other than acronyms like "C2", it makes it easier for translation purposes.

** Not sure about this one... its kind of straying outside the CTI realm.. although i do see a great value / need for it in the vocabulary.

-

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>John-Mark Gurney ---2015/10/23 03:57:30 PM---I have created an issue for this as when I was reviewing the vocab list, it did not cover our use ca

From: John-Mark Gurney <>

To: "Barnum, Sean D." <>

Cc: "Grobauer, Bernd" <>, "Wunder, John A." <>,
 Jason Keirstead/CanEast/IBM@IBMCA, "" <>,
 "" <>,



Date: 2015/10/23 03:57 PM

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

Sent by: <>

I have created an issue for this as when I was reviewing the vocab list, it did not cover our use case.

The issue I created:

https://github.com/STIXProject/specifications/issues/35

I believe that this will help people use the Vocab better, and may reduce the need for custom vocabs.

Please comment on this issue to provide feed back.

Thanks.

I have included the text of the issue here for reference:

There is a discussion on cti-users and cti-stix about improving the IndicatorTypeVocab.

I believe that having a vocab is a useful thing. But I believe the existing vocab needs to be improved.

First off, type information, like e-mail, ip, file hash, domain, etc. should be removed. You should/must be able to get this information from the Observable that is part of the Indicator.

For one, there is no vocab to describe a malicious observiable, say network packet, stream, or other activity. Though if the e-mail type is removed from Malicious E-mail, and it just became Malicious (Observable), then we would have something.

Removing type information would reduce the IndicatorTypeVocab down to:

Compromised

Malicious

Watchlist

C2

Anonymization

Exfiltration

The first three are interesting, Compromised means that this Observable indicates that you ARE compromised. The Malicious means that you WILL be compromised by this Observable and Watchlist means that you MAY get compromised by this Observable.

Arguably, C2 should fall under Compromised, but as it probably requires further investigation to figure out the original compromised host, I'm fine leaving this as it's own separate type.

On Fri, Oct 23, 2015 at 7:19 AM, Barnum, Sean D. <>
 wrote: 

I think the first step would be to enter an issue in the tracker for this so that we can get it on the table. I also agree with an earlier statement that the issue
 of default vocab values has clear overlap with the interoperability SC so while we need to work internally within the STIX SC for ensuring our default vocabs have the appropriate values for STIX use cases it probably also makes sense to work at a higher level
 on the process by which we define and manage the various default controlled vocabs.

[attachment "graycol.gif" deleted by Jason Keirstead/CanEast/IBM] [attachment "graycol.gif" deleted by Jason Keirstead/CanEast/IBM]