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

Should Disk be a subclass of Device? #612

Closed
13 tasks done
ajnelson-nist opened this issue Jun 27, 2024 · 3 comments · Fixed by #620, #621, #635 or #637
Closed
13 tasks done

Should Disk be a subclass of Device? #612

ajnelson-nist opened this issue Jun 27, 2024 · 3 comments · Fixed by #620, #621, #635 or #637

Comments

@ajnelson-nist
Copy link
Contributor

ajnelson-nist commented Jun 27, 2024

Bug description

The definition of observable:Disk currently reads:

A disk is a storage mechanism where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks.

This reads to me like Disk should be a subclass of observable:Device, but it currently isn't. Its encoded superclass is observable:ObservableObject, here. Was this an oversight?

Steps to reproduce

The tree of Device's subclasses can be seen here, after typing "device" into the filter box.

https://ontology.unifiedcyberontology.org/documentation/entities-tree-classes.html

Suggested resolution

For UCO 2.0.0, change parent class to observable:Device.

For UCO 1.x.0, add a warning-severity shape for disk nodes that they should also be annotated observable:Device. Cut this shape in UCO 2.0.0. This is as was done recently for AlternateDataStream shifting to under FileSystemObject in Issue 590.

Coordination

  • Tracking in Jira ticket OCUCO-318
  • Informally discussed in OC meeting, 2024-07-16
  • Administrative review completed, proposal announced to Ontology Committees (OCs) on 2024-07-29
  • Solution announced to OCs on 2024-07-29
  • Solutions Approval to be discussed in OC meeting, 2024-08-20
  • Solutions Approval vote occurred, passing, on 2024-08-20
  • Solutions development phase completed.
  • Backwards-compatible implementation merged into develop for the next release
  • develop state with backwards-compatible implementation merged into develop-2.0.0
  • Backwards-incompatible implementation merged into develop-2.0.0 (as well as follow-on)
  • Milestone linked
  • Documentation logged in pending release page
  • Prerelease publication: CASE develop branch updated to track UCO's updated develop branch
  • Prerelease publication: CASE develop-2.0.0 branch updated to track UCO's updated develop-2.0.0 branch
@ajnelson-nist ajnelson-nist added this to the UCO 1.4.0 milestone Jun 27, 2024
@ajnelson-nist
Copy link
Contributor Author

In the July 16th OCs call, we discussed this proposal and the history of the Disk class. Some OC members recalled that there was a reason that Disk was not encoded as a Device subclass, but unfortunately the reason was not recorded.

Recollections recounted that there were some "Disks" that would not be considerable as devices, e.g. virtual machine disk image files that seem like disks to a VM, but are truly files; and, experimental systems that forego disk-based storage but present alternatives as disk device files, such as would be used for RAM file systems (like in live-boot Linux distros).

My opinion is that "Disk" in UCO should be distinguished from another class of thing we haven't named yet, some thing that presents an interface to a read+write+seek-capable stream. I'm not convinced we need to name this at the moment. I'm basing this opinion on two points already in UCO:

  • observable:BlockDeviceNode is already defined, and is the file interface for how a disk would attach to a UNIX/Linux/macOS system.
  • The definition for "Disk" here in 1.3.0 already indicates a mechanical, not virtual, nature: "A disk is a storage mechanism where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks."

I suppose this is an opportunity for us to consider whether the definition should expand to encompass other physical media. Looking at the definition, UCO doesn't have a way to represent storage devices that generally connect with SATA, which would include SSDs, or PCIe-interfaced NVMe sticks.

I'm not personally inclined for the definition to expand to encompass files that behave like disks for virtual machines.

I will add PRs to enact the solution sketch I'd written in the original post on this Issue.

ajnelson-nist added a commit that referenced this issue Jul 26, 2024
Test cases omitted from ontology's tests because CASE example data are
known to use `uco-observable:Disk`.

No effects were observed on Make-managed files.

References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit that referenced this issue Jul 26, 2024
No effects were observed on Make-managed files.

References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit that referenced this issue Jul 26, 2024
No effects were observed on Make-managed files.

References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist
Copy link
Contributor Author

ajnelson-nist commented Jul 29, 2024

Update: I'd previously missed observable:StorageMedium in scanning the Device subclasses. This proposal will use that as the parent of Disk instead of the more general Device.

ajnelson-nist added a commit that referenced this issue Jul 29, 2024
No effects were observed on Make-managed files.

References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit that referenced this issue Jul 29, 2024
No effects were observed on Make-managed files.

References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jul 29, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jul 29, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jul 29, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jul 29, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jul 29, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jul 29, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Jul 29, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Jul 29, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Jul 29, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Jul 29, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Jul 29, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist
Copy link
Contributor Author

This question has turned into a fast-track proposal, with discussion and the vote set to occur 2024-08-20.

ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Aug 7, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Sep 11, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Sep 11, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Sep 11, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Sep 11, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Sep 11, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to ucoProject/ucoproject.github.io that referenced this issue Sep 11, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE that referenced this issue Oct 16, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 16, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 16, 2024
References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist ajnelson-nist linked a pull request Oct 16, 2024 that will close this issue
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Oct 16, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Oct 17, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit that referenced this issue Oct 22, 2024
References:
* #612

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist ajnelson-nist linked a pull request Oct 22, 2024 that will close this issue
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE that referenced this issue Oct 22, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#549
* ucoProject/UCO#593
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 23, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#549
* ucoProject/UCO#593
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Oct 23, 2024
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Oct 24, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#549
* ucoProject/UCO#593
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Oct 24, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#549
* ucoProject/UCO#593
* ucoProject/UCO#612

Signed-off-by: Alex Nelson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment