Why Security and Safety Are Separate — but Connected
A common misconception is that DO-326A is just “safety with a different name.” The distinction matters:- Safety (ARP 4761, DO-178C, DO-254) asks: What can go wrong due to failure or malfunction?
- Security (DO-326A) asks: What can go wrong due to intentional, adversarial action?
The STRIDE Mental Model
DO-326A adopts the STRIDE threat classification taxonomy, organizing threats into six categories that together cover the full attack surface of a system:threatCategory field on each securityThreat work item records which STRIDE category applies.
Attack Surface Classification
Alongside the threat category, every threat in the risksheet is tagged with an attack surface — the entry point an attacker would need to exploit:| Attack Surface | What It Represents |
|---|---|
| Network | Remote access via data networks or communication links |
| Physical | Requires direct physical presence (ports, panels, hardware) |
| Software | Exploits vulnerabilities in software components |
| Human | Social engineering, insider threat, procedural manipulation |
| Supply Chain | Compromise introduced during manufacturing or procurement |
| Wireless | RF, Bluetooth, GNSS spoofing, or other wireless vectors |
How SAL Is Calculated
The Security Assurance Level (SAL) is the DO-326A analogue to DAL in safety analysis. Where DAL flows down from failure condition severity, SAL is computed from two independent dimensions:- Likelihood — how probable is it that a threat actor would successfully execute this attack? (4 levels: unlikely → almost certain)
- Impact — what is the consequence if the attack succeeds? (4 levels: negligible → catastrophic)
| Negligible | Minor | Major | Catastrophic | |
|---|---|---|---|---|
| Unlikely | SAL-0 | SAL-0 | SAL-1 | SAL-2 |
| Possible | SAL-0 | SAL-1 | SAL-2 | SAL-3 |
| Likely | SAL-1 | SAL-2 | SAL-3 | SAL-3 |
| Almost Certain | SAL-2 | SAL-3 | SAL-3 | SAL-3 |
The
initialSAL and residualSAL fields are populated by the risksheet formula engine — they are not manually entered. The analyst’s job is to set likelihood and impact; the system derives the assurance level.The Threat Assessment Workflow
The DO-326A Security Threat Risksheet organizes analysis into five guided views, each corresponding to a phase of the threat assessment:- Identify Threats — enumerate attack scenarios, classify by STRIDE category and attack surface, link to the affected system element
- Initial Assessment — score likelihood and impact before any countermeasures are considered; initial SAL is auto-calculated
- Security Controls — define countermeasures (by ID and title), set countermeasure status, review initial SAL in context
- Residual Assessment — re-score likelihood and impact after countermeasures are in place; residual SAL confirms risk reduction
- Full Analysis — consolidated view for review and reporting
Security Requirements Traceability
Threat identification alone is not sufficient for certification. DO-326A also requires that security requirements — the design responses to identified threats — are traceable from system level through design implementation to verification evidence. The DO-326A Security Requirements Traceability PowerSheet handles this traceability layer with three column groups:- Security Requirements (purple) — the security-specific requirements derived from threat analysis
- Design Implementation (blue) — design elements that implement the countermeasures
- Security Verification (orange) — verification activities and evidence confirming the controls work
Integration with the Broader Standards Framework
The Standards Compliance Overview dashboard tracks DO-326A alongside ARP 4754A, ARP 4761, DO-178C, DO-254, DO-160G, and MIL-STD-882E. The Certification Readiness Scorecard provides per-standard readiness metrics so program managers can see security certification posture alongside safety certification posture in a single view.In the Aero1 Flight Control Computer reference project, DO-326A metrics show as N/A in the Certification Readiness Scorecard because no security threats have been populated yet. This is expected for a new project — the framework is in place, awaiting threat elicitation.
Source References (dev)
Source References (dev)
Code:
.polarion/tracker/fields/securityThreat-threatCategory-enum.xml (0.67) · modules/RiskTemplates/SecurityThreatTemplate/attachments/risksheet.json (0.65) · .polarion/nextedy/sheet-configurations/DO-326A Security Requirements Traceability.yaml (0.62) · .polarion/tracker/fields/securityThreat-attackSurface-enum.xml, securityThreat-likelihood-enum.xml, securityThreat-impact-enum.xml, securityThreat-sal-enum.xml (0.59) · .polarion/pages/spaces/_default/Safety Assessment Summary/page.xml, Common Cause Analysis Report/page.xml, Security Threat Assessment/page.xml, Hara Risk Matrix Report/page.xml (0.54) · .polarion/nextedy/models/rtm.yaml (0.53) · .polarion/tracker/fields/securityThreat-custom-fields.xml (0.52) · datasets/sol-aero-ui-walkthrough/summary.md, navigation.md, dashboards/home-dashboard.md, dashboards/role-dashboards.md, dashboards/standards-compliance.md, risksheet-views/risksheet-views.md, work-item-types/data-model.md (0.50) · .polarion/tracker/fields/complianceObjective-standard-enum.xml, complianceObjective-status-enum.xml, complianceRequirement-complianceStatus-enum.xml, complianceRequirement-evidenceType-enum.xml (0.47) · .polarion/nextedy/sheet-configurations/DO-254 Objectives Compliance Matrix.yaml (0.45)