-
Notifications
You must be signed in to change notification settings - Fork 25
Description
This change proposal written with the assistance of AI. Turtle representations are CASE SHACL validated.
Background
In the discussion during the CDO Ontology Committee meeting on October 21, 2025, all committee members present identified and concurred on the need to add an Analyst role to CASE investigation:Investigation. Currently, the CASE investigation ontology defines several role classes (Attorney, Examiner, Investigator, Subject, and the proposed Technician role in the CASE PR) but lacks explicit representation for the Analyst role, which plays a distinct role in digital forensics and cyber investigations.
This role is distinct from Examiners (who are involved in providing scientific evaluations of evidence that are used to aid law enforcement investigations and court cases) and Technicians (who focus on evidence handling and processing, etc). Adding an Analyst class will enhance the ontology's ability to accurately represent more key participants in investigative workflows, improving provenance tracking and role-based analytics.
Definition: An Analyst is fundamentally a role practiced by a subject matter expert where they research and review data, artifacts, processes, patterns, relationships, strengths, weaknesses, opportunities, threats, and then produce analytic reports with assessments, interpretations and recommendations for decision makers. In the realm of cyber investigation, Analysts are often consulted by Attorneys, Examiners, Investigators, and Technicians for advice based on their specific area of expertise.
Note: @vulnmaster combined several other definitions of analyst as other sources tend to define specific subclasses of analyst as established work roles and do not define a general analyst well. For example, dictionary.com defines analyst as "a person who analyzes or who is skilled in analysis".
The analyst role can branch into many sub-roles based on discipline (e.g.; crime analyst, cyber threat analyst).
Requirements
Requirement 1
Create a new class investigation:Analyst as a direct rdfs:subClassOf uco-role:Role, following the established pattern used by other role classes in the ontology (Attorney, Examiner, Investigator, Subject, Technician).
Requirement 2
Define the investigation:Analyst class with appropriate rdfs:label and rdfs:comment properties that accurately describe the analyst's role in investigative processes, including their analytical responsibilities and typical scope of work.
Risk / Benefit analysis
Benefits
- Semantic completeness – enables accurate representation of all personnel involved in investigations, including analytical staff who perform specialized data analysis
- Enhanced provenance tracking – allows systems to distinguish between evidence collection (by technicians), analytical interpretation (by analysts), and formal examination (by examiners)
- Improved interoperability – aligns with standard forensic and intelligence community terminology and facilitates data exchange between organizations
- Better analytics – supports role-based queries for workforce planning, training needs, analytical quality assurance, and investigation efficiency metrics
- Intelligence integration – facilitates representation of cyber threat intelligence workflows and threat hunting activities
Risks
The submitter is unaware of risks beyond routine ontology-maintenance overhead (documentation updates, potential SHACL test additions). No existing CASE instances break, as this is purely additive.
Competencies demonstrated
Competency 1 – Digital forensics analytical workflow
Scenario
A cyber investigation involves analysts performing detailed analysis of digital evidence, identifying patterns across multiple data sources, correlating events to establish timelines, and producing analytical reports. The investigation:Analyst role class enables accurate representation of these personnel in investigative workflows, including tracking role assignments with temporal information (appointment dates) and linking analytical actions to their roles.
Example representation:
@prefix kb: <http://example.org/kb/> .
@prefix case-investigation: <https://ontology.caseontology.org/case/investigation/> .
@prefix uco-action: <https://ontology.unifiedcyberontology.org/uco/action/> .
@prefix uco-core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix uco-observable: <https://ontology.unifiedcyberontology.org/uco/observable/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# The investigation
kb:investigation-a1b2c3d4-e5f6-4a8b-9c0d-1e2f3a4b5c6d
a case-investigation:Investigation ;
uco-core:name "Network Intrusion Analysis - Case 2024-002" ;
case-investigation:investigationForm "case" ;
case-investigation:investigationStatus "open" ;
case-investigation:focus "Cyber intrusion analysis and threat attribution" ;
uco-core:object kb:disk-imaging-action-b2c3d4e5-f6a7-4b9c-8d1e-2f3a4b5c6d7e ,
kb:examination-action-c3d4e5f6-a7b8-4c0d-9e2f-3a4b5c6d7e8f ,
kb:analysis-action-d4e5f6a7-b8c9-4d1e-8f3a-4b5c6d7e8f9a .
# Technician identity and role
kb:technician-identity-e5f6a7b8-c9d0-4e2f-9a4b-5c6d7e8f9a0b
a uco-core:Identity ;
uco-core:name "Forensic Technician Smith" ;
uco-core:role kb:technician-role-f6a7b8c9-d0e1-4f3a-8b5c-6d7e8f9a0b1c .
kb:technician-role-f6a7b8c9-d0e1-4f3a-8b5c-6d7e8f9a0b1c
a case-investigation:Technician ;
uco-core:startTime "2024-03-08T09:00:00Z"^^xsd:dateTime .
# Examiner identity and role
kb:examiner-identity-a7b8c9d0-e1f2-4a4b-9c6d-7e8f9a0b1c2d
a uco-core:Identity ;
uco-core:name "Digital Forensics Examiner Davis" ;
uco-core:role kb:examiner-role-b8c9d0e1-f2a3-4b5c-8d7e-8f9a0b1c2d3e .
kb:examiner-role-b8c9d0e1-f2a3-4b5c-8d7e-8f9a0b1c2d3e
a case-investigation:Examiner ;
uco-core:startTime "2024-03-09T10:00:00Z"^^xsd:dateTime .
# Analyst identity and role
kb:analyst-identity-c9d0e1f2-a3b4-4c6d-9e8f-9a0b1c2d3e4f
a uco-core:Identity ;
uco-core:name "Cyber Analyst Johnson" ;
uco-core:role kb:analyst-role-d0e1f2a3-b4c5-4d7e-8f9a-0b1c2d3e4f5a .
kb:analyst-role-d0e1f2a3-b4c5-4d7e-8f9a-0b1c2d3e4f5a
a case-investigation:Analyst ;
uco-core:startTime "2024-03-10T08:00:00Z"^^xsd:dateTime .
# Technician's disk imaging action
kb:disk-imaging-action-b2c3d4e5-f6a7-4b9c-8d1e-2f3a4b5c6d7e
a case-investigation:InvestigativeAction ;
uco-core:name "Disk imaging of compromised workstation" ;
uco-action:performer kb:technician-role-f6a7b8c9-d0e1-4f3a-8b5c-6d7e8f9a0b1c ;
uco-action:object kb:workstation-e1f2a3b4-c5d6-4e8f-9a0b-1c2d3e4f5a6b ;
uco-action:result kb:disk-image-f2a3b4c5-d6e7-4f9a-8b1c-2d3e4f5a6b7c ;
uco-core:startTime "2024-03-08T09:30:00Z"^^xsd:dateTime .
# Examiner's systematic examination action
kb:examination-action-c3d4e5f6-a7b8-4c0d-9e2f-3a4b5c6d7e8f
a case-investigation:InvestigativeAction ;
uco-core:name "Systematic examination using scientific method" ;
uco-action:performer kb:examiner-role-b8c9d0e1-f2a3-4b5c-8d7e-8f9a0b1c2d3e ;
uco-action:object kb:disk-image-f2a3b4c5-d6e7-4f9a-8b1c-2d3e4f5a6b7c ;
uco-action:result kb:findings-a3b4c5d6-e7f8-4a0b-9c2d-3e4f5a6b7c8d ;
uco-core:startTime "2024-03-09T10:15:00Z"^^xsd:dateTime .
# Analyst's malware analysis action
kb:analysis-action-d4e5f6a7-b8c9-4d1e-8f3a-4b5c6d7e8f9a
a case-investigation:InvestigativeAction ;
uco-core:name "Malware behavioral analysis" ;
uco-action:performer kb:analyst-role-d0e1f2a3-b4c5-4d7e-8f9a-0b1c2d3e4f5a ;
uco-action:object kb:malware-sample-b4c5d6e7-f8a9-4b1c-8d3e-4f5a6b7c8d9e ;
uco-action:result kb:report-c5d6e7f8-a9b0-4c2d-8e4f-5a6b7c8d9e0f ;
uco-core:startTime "2024-03-10T08:30:00Z"^^xsd:dateTime .
# Evidence objects
kb:workstation-e1f2a3b4-c5d6-4e8f-9a0b-1c2d3e4f5a6b
a uco-observable:Computer ;
uco-core:description "Compromised workstation from network intrusion" ;
uco-core:hasFacet [
a uco-observable:ComputerFacet , uco-core:Facet ;
uco-observable:hostname "workstation-001" ;
uco-observable:manufacturer "Dell" ;
uco-observable:model "OptiPlex 7090"
] .
kb:disk-image-f2a3b4c5-d6e7-4f9a-8b1c-2d3e4f5a6b7c
a uco-observable:File ;
uco-core:description "Forensic disk image of compromised workstation" ;
uco-core:hasFacet [
a uco-observable:FileFacet , uco-core:Facet ;
uco-observable:fileName "workstation-001-forensic-image.dd" ;
uco-observable:sizeInBytes 500107862016
] .
kb:malware-sample-b4c5d6e7-f8a9-4b1c-8d3e-4f5a6b7c8d9e
a uco-observable:File ;
uco-core:description "Suspected malware executable discovered during examination" ;
uco-core:hasFacet [
a uco-observable:FileFacet , uco-core:Facet ;
uco-observable:fileName "suspicious.exe" ;
uco-observable:sizeInBytes 2048576
] .
# Results/reports
kb:findings-a3b4c5d6-e7f8-4a0b-9c2d-3e4f5a6b7c8d
a uco-observable:File ;
uco-core:description "Systematic examination findings identifying suspicious files" ;
uco-core:hasFacet [
a uco-observable:FileFacet , uco-core:Facet ;
uco-observable:fileName "examination-findings-2024-002.pdf" ;
uco-observable:sizeInBytes 2048000
] .
kb:report-c5d6e7f8-a9b0-4c2d-8e4f-5a6b7c8d9e0f
a uco-observable:File ;
uco-core:description "Malware analysis report identifying trojan behavior and C2 infrastructure" ;
uco-core:hasFacet [
a uco-observable:FileFacet , uco-core:Facet ;
uco-observable:fileName "malware-analysis-report-2024-002.pdf" ;
uco-observable:sizeInBytes 1536000
] .Competency Question 1.1
Which investigative actions were performed by analysts, and which personnel hold those analyst roles?
PREFIX case-investigation: <https://ontology.caseontology.org/case/investigation/>
PREFIX uco-action: <https://ontology.unifiedcyberontology.org/uco/action/>
PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
SELECT ?action ?actionName ?identity ?analystName
WHERE {
?analystRole a case-investigation:Analyst .
?action a case-investigation:InvestigativeAction ;
uco-core:name ?actionName ;
uco-action:performer ?analystRole .
OPTIONAL {
?identity uco-core:role ?analystRole ;
uco-core:name ?analystName .
}
}Result 1.1
Returns investigative actions performed by analysts, along with the personnel identities holding those roles. This enables tracking of analytical tasks (e.g., malware analysis, threat intelligence correlation, timeline analysis, data pattern identification) performed by analysts, supporting proper attribution, analytical quality assurance, and role-based analytics for workforce planning and investigation efficiency metrics.
Competency 2 – Multi-role investigation workflow
Scenario
A complex investigation involves multiple roles working collaboratively: a Technician performs disk imaging and sends the disk image to an Examiner, who then uses the scientific method to examine the evidence systematically. During this examination, the Examiner discovers a suspicious file and sends it to an Analyst who specializes in malware analysis. The Analyst analyzes the suspicious file to determine it is malware and publishes a comprehensive report with indicators of compromise. This demonstrates how different roles contribute to the investigative workflow, with clear separation between examination (Examiner) and analysis (Analyst) functions.
Competency Question 2.1
What is the sequence of actions across different roles in an investigation, ordered by time, and what evidence was discovered and analyzed?
PREFIX case-investigation: <https://ontology.caseontology.org/case/investigation/>
PREFIX uco-action: <https://ontology.unifiedcyberontology.org/uco/action/>
PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
PREFIX uco-observable: <https://ontology.unifiedcyberontology.org/uco/observable/>
SELECT ?action ?actionName ?roleType ?performer ?startTime ?evidence ?evidenceType ?report
WHERE {
?investigation a case-investigation:Investigation ;
uco-core:object ?action .
?action a case-investigation:InvestigativeAction ;
uco-core:name ?actionName ;
uco-action:performer ?performer ;
uco-action:object ?evidence ;
uco-action:result ?report .
?performer a ?roleType ;
uco-core:startTime ?startTime .
?evidence a ?evidenceType .
?report a uco-observable:File .
FILTER(?roleType IN (case-investigation:Technician, case-investigation:Examiner, case-investigation:Analyst))
}
ORDER BY ?startTimeResult 2.1
Returns the chronological sequence of investigative actions performed by different roles, showing how a Technician's disk imaging leads to an Examiner's systematic examination using the scientific method and discovery of suspicious files, followed by an Analyst's malware analysis and production of indicators of compromise reports. This enables workflow analysis, identification of evidence handoffs between roles, and understanding of the investigation's progression through different phases (evidence collection → systematic examination → malware analysis → reporting), demonstrating clear role separation between examination and analysis functions.
Solution suggestion
-
Ontology edits
- Add the
case-investigation:Analystclass definition in the Investigation ontology module following the established pattern:
case-investigation:Analyst a owl:Class , sh:NodeShape ; rdfs:subClassOf uco-role:Role ; rdfs:label "Analyst"@en ; rdfs:comment "An Analyst is fundamentally a role practiced by a subject matter expert where they research and review data, artifacts, processes, patterns, relationships, strengths, weaknesses, opportunities, threats, and then produce analytic reports with assessments, interpretations and recommendations for decision makers. In the realm of cyber investigation, Analysts are often consulted by Attorneys, Examiners, Investigators, and Technicians for advice based on their specific area of expertise."@en ; sh:targetClass case-investigation:Analyst ; . - Add the
-
Documentation
- Update the CASE documentation to include the Analyst role in role descriptions and examples
- Add usage examples showing Analyst interactions with other roles (Technician, Examiner, Investigator) in investigative workflows
- Document the distinction between Analyst, Technician, and Examiner roles to clarify when each should be used
-
Testing
- Add validation tests to ensure proper integration with existing role classes
- Create example instances demonstrating Analyst role usage in investigative scenarios
- Include examples of multi-role workflows showing collaboration between Technicians, Analysts, and Examiners
This implementation maintains backward compatibility while enhancing the ontology's ability to represent the full spectrum of investigative personnel roles, particularly in cyber investigations and threat intelligence contexts.