Shawn,
Please help the community understand what would be needed and why for this to work more easily.
Bret
From: Shawn Riley <shawn.p.riley@gmail.com>
Sent: Monday, September 10, 2018 1:49:11 PM
To: Bret Jordan
Cc: Forrest.B.Hare@saic.com; CTI-Stix-User
Subject: Re: [cti-users] Re: [EXT] [cti-users] trying to understand the "Sighting" object
Forrest,
It's worth keeping in mind that STIX graphs are just simple property graphs due to the JSON/JSON Schema (Dictionary) design. If you're used to working with the other intelligence areas in the DoD/IC that have already transitioned to integrated intelligence
using knowledge engineering and object-based production to create knowledge graphs, STIX won't have the metadata or that level detail. This sometimes trips people up if they are used to the more detailed conceptual models and description logic used in integrated
intelligence (objects, attributes, associations, and activities).
Best,
Shawn
Forrest,
Let me give a concrete examples... Say company
example.com created and shared an indicator that identifies beaconing traffic for Malware sample X. That indicators identifies 50 URLs and IPs that the Malware is known to talk to.
You get that indicator and use it in your system / infrastructure. At some point that indicator fires and you get a hit.. You could tell
example.com:
1) You saw the indicator but not tell them what you saw or where you saw it. This would be a one-armed Sighting relationship that point to the Indicator and nothing else.
2) You saw the indicator and the URLs you saw were
badstuff.com and
badactor.com. This would be a Sighting relationship that points to the Indicator and some Observed Data (the cyber observables).
3) You saw the indicator and the URLs you saw were
badstuff.com and
bactor.com. You also saw this in the health sector in France. This would be a Sighting relationship that points to the Indicator, some Observed Data (URLs), an Identity object (health sector), and a Location object (France).
If we were to do item 3 with the general purpose Relationship object, then you would need to send 3 JSON objects. But the Sighting relationship object allows you do include all three edges in a single JSON object.
Does that help?
Bret
Ok, so to avoid creating an additional SDO for what is theoretically the same indicator (I caveat that because there could be a false
positive observance), you are creating a new relationship object for what are essentially additional properties of the previous indicator SDO relating to different observances of the indicator at a different location (“was also seen by me”, “when,” “where,”.
Etc).
Then it is up to the analyst how to process that data (e.g., the example you provided below). I think I understand.
I’m not sure the graphic on the Walk-Thru depicts your explanation, however I’m not sure how to improve on it to do so. Maybe just
the additional “sighting of” edge and drop the “sighting” node?
Thanks!
Forrest
Forrest,
Thank you for the question. A Sighting object in STIX is just a relationship (edge in the graph). The reason we did not use the general purpose Relationship object is we wanted some operational
efficiencies for transport. So the STIX Sighting relationship object has the ability to do the following:
1) Say the indicator is good or more specially "was seen" but without any context. Some organizations can not share other details other than "thumbs up" this indicator is good and I saw it.
2) Say the indicator was seen and here are the exact things I saw. Indicator -> Sighting -> Observed Data
3) Say the indicator was seen and this is where it was seen. Indicator -> Sighting -> Identity / Location
This means you can also say what was seen and where it was seen in a single payload. Thus multiple edges in a single JSON object. This is why the Sighting relationship object is "special".
One of the big problems is in the way we talk about Sighting. We talk about it as if it was a Domain Object. This is because it can sort of act like that in the use case #1 above, effectively
a one-armed edge (an edge that is only connected on one side).
I would expect a system that consumes a STIX Sighting relationship object to decompose it to the various edges that it contains and represent them individually in their graph. We also need to remember
that STIX is a transport serialization for sharing CTI.
Does this help? What other questions do you have ?
Thanks
Bret
This communication (including any attachments) may contain information that is proprietary, confidential or exempt from disclosure. If you are not the intended recipient, please note that further dissemination, distribution, use or copying of this communication
is strictly prohibited. Anyone who received this message in error should notify the sender immediately by telephone or by return email and delete it from his or her computer.
This communication (including any attachments) may contain information that is proprietary, confidential or exempt from disclosure. If you are not the intended recipient, please note that further dissemination, distribution, use or copying of this communication
is strictly prohibited. Anyone who received this message in error should notify the sender immediately by telephone or by return email and delete it from his or her computer.
|