Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First D3FEND-CCO mappings #296

Merged
merged 35 commits into from
Dec 18, 2024
Merged

First D3FEND-CCO mappings #296

merged 35 commits into from
Dec 18, 2024

Conversation

giacomodecolle
Copy link
Collaborator

First mappings between D3FEND and CCO, developed with @johnbeve and @Finn1928.

# An example cco gives of a representational ICE is a transcript, which seems similar to a log. But it might also
# be considered a descriptive ICE, so for this can be a subclass of ICE.

d3f:Sensor owl:equivalentClass cco:Sensor .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@giacomodecolle , last CCO version I checked a cco:Sensor IS A transducer versus a functional sensor, this is a big problem in my view @giacomodecolle @mark-jensen @johnbeve

Here is how we have the taxonomy in D3FEND, this would be a proposal to refactor CCO:

image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will bring this discussion to Mark and John eventually, I am taking the equivalence out for the moment

#in order to decide about this mapping, we have to decide whether d3f:DefensiveTechnique and
# d3f:OffensiveTechnique are acts or more similar to plans.

d3f:DigitalEvent rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000035> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After discussion, tentatively:

New d3f:Event class equiv to bfo:Process .

New d3f:Action ~ cco:Act

# Most if not all events in d3fend look like punctual events to me, and thus like BFO_0000035, aka process boundaries. In
# case that some of them are not, we could map specific subclasses to process or process boundary.

d3f:Activity rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000015> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OBE, we've deleted d3f:Activity in 0.17.0 , we can delete this.


# d3fend seems to only refer to human beings with "person", just as CCO does.

d3f:PhysicalObject rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000030>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We now only have d3f:PhysicalArtifact d3f:PhysicalObject was deleted in 0.17.0

# other classes in d3fend which are not subclasses of PhysicalObject that fall under
# BFO:0000030

d3f:Technique rdfs:subClassOf cco:DirectiveInformationContentEntity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can now map d3f:Plan to cco:DirectiveInformationContentEntity or cco:Plan

We do not consider a Technique an Action.

# Another way to look at this is to see whether d3f:technique are time indexed or not (e.g. my message
# analysis technique started today at 8 pm)

d3f:DefensiveTechnique rdfs:subClassOf cco:DirectiveInformationContentEntity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OBE no longer needed


#see d3f:Technique

d3f:OffensiveTechnique rdfs:subClassOf cco:DirectiveInformationContentEntity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OBE no longer needed

# will become subclasses of cco:InformatioContentEntity, and thus of the d3f:InformationContentEntity class
# as well. For example, if

d3f:Log rdfs:subClassOf cco:InformationContentEntity .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have modeled log as a bearing entity.

We have also modeled record as a bearing entity but this is debatable.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have been thinking about some of the content/bearing entity distinctions. Despite what some classes in CCO and C3O do, if something doesn't have properties like weight and spatial extension, I think it should go under the content entity part of the hierarchy. Perhaps a discussion for a future meeting.

# A subclass of sensor they include is cyber sensor, which might be referring to programs which are ICEs.
# If this is the case, this class is not equivalent to cco:Sensor, which is only about physical entities.

d3f:Artifact rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000002> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to be revisited:

image

# which can have capabilities. If this is the case, we should use a broader capability class from some neighboring
# BFO ontology.

d3f:DigitalObject rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000002> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OBE deleted Digital Object


#obo:BFO_0000002 aka "continuant". What is the difference between d3f:DigitablObject and d3f:Information Content Entity?

d3f:Monitoring rdfs:subClassOf cco:ActOfObservation .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OBE deleted

# cco:ActOfObservation mentions "senses" which might or might not be the case for
# d3f:monitoring, which on the other hand might involve information processing monitoring procedures which are not tied to senses.

d3f:AnalysisOfAlternatives rdfs:subClassOf cco:Act .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct but i think cco has something more specific

#The definition of Identifier says it's a name, but Designative ICEs include non-name identifiers.
#I therefore made identifier a subclass rather than equivalent to Designative ICE.

d3f:JobSchedule rdfs:subClassOf cco:Plan .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't going to make a problem, but its hard to imagine a reasonable use case for this.

@netfl0
Copy link
Contributor

netfl0 commented Oct 15, 2024

  • Make sure to merge in d3fend develop to pull in 0.17.0

Solved some of the issues discussed in comments, and updated identifiers to the new opaque identifiers adopted by CCO 2.0
Solving issues discussed in the last call and updating to opaque identifier in CCO 2.0
Solving issues discussed in the last call and updating to the opaque identifiers from CCO 2.0.
@giacomodecolle
Copy link
Collaborator Author

I went through comments from last meeting and updated to new CCO identifiers. Apologies for the three commits, there was something messed up on my end of things. By next meeting, I will work on some new mappings for the remaining core classes.



d3f:Technique rdfs:subClassOf <https://www.commoncoreontologies.org/ont00000974> .
#cco org/ont00000974 is cco Plan.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the new version of D3FEND Core we have Plan. It may make sense to just map d3f:Plan to cco:Plan.

We make a distinction between technique and procedure, both we've categorized as plans. Technique is a less defined type of plan than procedure. Like a meta-plan if that makes sense.

We're trying to disambiguate some terminology which has military roots: Tactics, Techniques, and Procedures.

@@ -35,13 +46,43 @@ d3f:DigitalArtifact rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000002>
# subclass of "information bearing artifact" which is "independent
# continuant" in BFO.

d3f:Action rdfs:subClassOf cco:Act .
d3f:System owl:equivalentClass [ owl:intersectionOf ( <http://purl.obolibrary.org/obo/BFO_0000027>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

convert to sublcass of rather than equiv...

d3f:Event owl:equivalentClass <http://purl.obolibrary.org/obo/BFO_0000015> .
# Equivalent to BFO_0000015 aka process.

d3f:DigitalEvent rdfs:subClassOf [ owl:intersectionOf ( <http://purl.obolibrary.org/obo/BFO_0000015>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add we mean both ICE and IBA


# This might be made more precise depending on the children classes. See some examples in the comments below.

# d3f:Execution rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000015> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is no d3f:Execution

# d3f:Execution rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000015> .
# where BFO 0000015 is process. Although, wouldn't this just make d3f:Execution better suited as a digital event?

d3f:InformationContentEntity owl:equivalentClass <https://www.commoncoreontologies.org/ont00000958> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

d3f:InformationContentEntity will be deprecated, please remove this line.

# will become subclasses of cco:InformationContentEntity, and thus of the d3f:InformationContentEntity class
# as well if we keep the equivalence relation.

d3f:Log rdfs:subClassOf <https://www.commoncoreontologies.org/ont00000958> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log should be a bearer

#d3f:Sensor owl:equivalentClass cco:Sensor .
#waiting to discuss this given discussion on transducers

d3f:Capability owl:equivalentClass <https://www.commoncoreontologies.org/ont00001379> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets remove this for now. Catalog things are going to be deprecated.

d3f:PhysicalLocation rdfs:subClassOf <http://purl.obolibrary.org/obo/BFO_0000029> .
# BFO 0000029 is site

d3f:AnalysisOfAlternatives rdfs:subClassOf <https://www.commoncoreontologies.org/ont00000228> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets remove this for now. Catalog things are going to be deprecated.


#This also seems to be an act, or a planned act.

d3f:Assessment rdfs:subClassOf <https://www.commoncoreontologies.org/ont00000636> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets remove this for now. Catalog things are going to be deprecated.

@netfl0 netfl0 marked this pull request as ready for review December 18, 2024 21:54
@netfl0 netfl0 self-requested a review December 18, 2024 21:54
@netfl0 netfl0 merged commit eed4993 into d3fend:develop Dec 18, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants