-
Notifications
You must be signed in to change notification settings - Fork 22
Home
CASE has had updates that are not merged into the case.ttl
file in the master
branch of the CASE repository yet. We are working on merging the cyberinvestigationexpress
and sbarnum
branches.
- What is CASE and why use it?
- Navigation of ucoProject
- Determine scope and get started:
- I have a question!
- Governance/licensing
Cyber-investigation Analysis Standard Expression (CASE) is a community-developed specification language, which is intended to serve the needs of the broadest possible range of cyber-investigation domains, including digital forensic science, incident response, counter-terrorism, criminal justice, forensic intelligence and situational awareness.
The primary motivation for CASE is interoperability - to advance the exchange of cyber-investigation information between tools and organizations. CASE aligns with and extends the Unified Cyber Ontology (UCO), constraining or renaming components as appropriate. CASE is specified at a semantic level and supports various serializations, but the default serialization for CASE is JSON-LD.
See the website for use cases and the image below (PDF) for the project roadmap.
Navigation of ucoProject
- Links are in the right sidebar of this page (but if you have a question first read this)
- Python API - use for adoption
- RDFDiff - use to compare glossary terms between CASE and custom data models (must be ingestible into Python rdflib)
- Examples in this resository
- All Public Tools
- All Private Tools - email [email protected]
- Plaso (not currently ontology-compliant)
- Volatility (not currently ontology-compliant)
- Protégé (https://protege.stanford.edu) - graph visualizations, Javadoc generation, etc.
- Ontospy (https://github.com/lambdamusic/Ontospy) - CLI interface for stepping through tree visualizations of ontologies
It is unnecessary to know everything about the ontology if focused on domain-specific ontology refinement, or mapping/adoption concerning a specific tool. Determine your scope below and then read the pertinent guide to further understand the details, organization, and workflow of participating in the CASE community under that role.
Afterward, request to join the community by emailing [email protected]. You will be added to the respective Github Team and resources.
- Responsibilities
- Have a deep understanding of the goals of CASE and how representing information differently best achieves them
- Collaborate with individuals/organizations who have domain-specific knowledge to draft proposals
-
Create and review Github issues to propose ontology changes to the objects/properties in the Natural Language Glossary based on gaps, ambiguities, and improvements noted by Mappers
- Proposals have a default voting duration of 2 months for the CASE community to vote on which option they support for the data representation
- Ontology Guide
- Responsibilities
- Have an understanding of which CASE objects should be used to represent which types of information and when unsure consult Ontologists
- Collaborate with Adopters to note inadequacies for Ontologists to review
- Map internal/proprietary objects from Adopters' tools to the correct CASE objects (while guiding namespace usage)
-
Create Github issues for inadequacies so that CASE community discussion can occur
- Discussions continue until possible options are identified for representing the data, then a proposal is put forth by the Ontologists team
- Mapping Guide
- Responsibilities
- Have an understanding of their use cases
- Collaborate with Mappers to map objects in their tools to CASE objects
- Integrate the CASE API into their tool
-
Create Github issues for bugs in the CASE API and supporting tools, or that are tool-specific
- Partake in discussions on Github issues concerning data representation as CASE community members
- If a member of your organization is contributing to CASE ontology development because of domain-specific knowledge they should do this via emailing [email protected] to join the Ontologists team, or discuss one-on-one so that Ontologists and Mappers can shepherd the concept through (only Mappers or Ontologists should make Github issues for something not tool-specific)
- Adoption Guide
- Core/active members should've read the above for understanding roles and workflow/organization. However, if desiring to simply add your two-cents to ontology evolution please visit the Issues tab and filter on the
Community-FeedbackNeeded
andCommunity-Vote
labels (all labels found here)
Before you post a Github issue or send an email ensure you've done this checklist:
-
Determined scope of your task. It is not necessary for most parties to understand all aspects of the ontology, mapping methods, and supporting tools.
-
Familiarize yourself with the labels and search the Issues tab. Typically, only light-blue and red labels should be used by non-admin Github users while the others should be used by CASE Github admins. All but the red
Project
labels are found in everyucoProject
repository.
Formalization of licensing is in the works as well as a Governing Model. At this time Apache2 license is planned to be used.