Engineering Security Without Breaking Safety:
Why Critical Embedded Systems Need More Than Slogans
Modern cybersecurity is full of confident phrases: Zero Trust, assume breach, continuous verification, shift left. These ideas work well in cloud environments, IT enterprises, and SaaS ecosystems, where the worst consequences of a failure are usually downtime, data loss, or damaged reputation.
But there is a whole class of systems where failure is measured in lives lost, not tickets opened: aircraft avionics, medical devices, industrial control systems, defense platforms, and the emerging Internet of Military Things (IoMT). These systems have one job: keep people alive and missions intact, even when everything else is going wrong.
The white paper behind my DEF CON 33 Policy Village talk began as a critique of applying Zero Trust Architecture (ZTA) directly to avionics. As the work evolved, it became something broader and more important: a call for disciplined, systems-engineering-driven cybersecurity for all safety-critical embedded systems. Not just “more controls,” but better placement, better reasoning, and better respect for physics, timing, and human factors.
Frameworks vs. Physics: When Good Ideas Wander into the Wrong Domain
Most cybersecurity frameworks assume a very particular world:
- Systems can be patched frequently and rebooted when needed.
- Users can be prompted for reauthentication or blocked temporarily.
- Latency and jitter are tolerable as long as the app “eventually” responds.
- New security components (agents, scanners, policy engines) can be added with minimal risk.
Safety-critical embedded systems inhabit a very different reality:
- Deterministic timing: Control loops run on tight deadlines; a few milliseconds of added delay can matter.
- Certification baselines: Changing a line of code may trigger months of regression testing and safety analysis.
- Human factors: Operators (pilots, clinicians, plant operators) are already at or near cognitive saturation in emergencies.
- Consequences: Failure isn’t “downtime”—it’s physical harm, mission loss, or catastrophic damage.
This is the core friction: IT-centric frameworks were never designed for real-time, safety-critical environments. When we treat them as universal truths and apply them without adaptation, we risk creating systems that are formally “more secure” on paper but less survivable in the real world.
The white paper doesn’t argue that Zero Trust—or any modern cyber paradigm—is useless. It argues that: without systems engineering discipline, these frameworks become dangerous when pushed into places they were never meant to live.
Why Simplicity Still Wins in Safety-Critical Systems
Ask any seasoned safety engineer about system design, and you’ll hear the same principles:
- Keep the core functions simple and deterministic.
- Avoid unnecessary dependencies and “clever” runtime behavior.
- Design for graceful degradation, not brittle perfection.
- Ensure humans can still diagnose and act when the system is misbehaving.
Now compare this with how we often talk about cybersecurity:
- “Just install another agent.”
- “We’ll add a cloud-based risk engine.”
- “We’ll continuously scan, monitor, and microsegment everything.”
- “We’ll let the policy engine decide at runtime whether access is allowed.”
In enterprise IT, that’s normal. In a flight control computer, an insulin pump, or a nuclear plant shutdown system, it’s reckless. A “smart” control that no one can fully reason about under stress is not a good control in a safety-critical environment.
The central thesis of the paper is simple: In safety-critical domains, good cybersecurity should look like good engineering: explainable, predictable, testable, and safe under stress. If a control makes the system harder to understand, harder to certify, or harder to operate in an emergency, it’s not a feature—it’s a liability.
The Garlic Model: A Mental Map for Where Security Belongs
To help reason about where different kinds of security controls actually belong, the paper introduces the Garlic Model—a layered view of safety-critical systems inspired by a cut bulb of garlic.
Cloves (Core Layer)
The cloves are the safety-critical core:
- Flight control computers and primary avionics.
- Therapy algorithms in medical devices.
- Industrial safety logic and trip systems.
- Weapons employment and critical navigation functions.
These components must be: deterministic, certifiable, and as simple as possible. They are the parts that must still work when everything else is failing. They must not depend on:
- Live connectivity to policy servers.
- Dynamic access decisions.
- Cloud identity or posture checks.
- Complex, adaptive security logic.
If your aircraft can’t fly because an identity broker times out, you’ve confused “fail secure” with “fail safe.”
Membranes (Middle Layer)
Surrounding the core are the membranes:
- Protocol converters and data guards.
- ARINC 664 firewalls and MILS partitions.
- Data diodes and unidirectional gateways.
These components can:
- Enforce static, deterministic rules (format checks, range limits, rate limiting).
- Isolate the core from malformed or unexpected inputs.
- Aggregate logs or telemetry for post-event analysis.
They aren’t doing “Zero Trust” in the enterprise sense. They’re doing something much more basic and much more important: they’re keeping the crazy stuff out.
Skin (Outer Layer)
Finally, the outer skin represents:
- Electronic Flight Bags (EFBs).
- Maintenance laptops and provisioning tools.
- OTA update systems and cloud services.
- Ground stations, mission planning tools, and data lakes.
This is where dynamic cybersecurity belongs:
- Identity-based access control.
- Posture and health checks.
- Continuous authentication and authorization.
- Threat intel, anomaly detection, and rich logging.
If something goes wrong here, the core should keep doing its job. The aircraft keeps flying. The pump keeps delivering therapy. The plant keeps shutting down safely.
The Garlic Model gives architects, security engineers, and assessors a simple diagnostic question for any proposed control: “Is this a clove thing, a membrane thing, or a skin thing?” If the answer is “skin,” but we are trying to cram it into the clove, we are probably trading safety for fashion.
Real-World Examples: When Assumptions Collide with Reality
The paper uses several case studies—some real, some hypothetical but plausible—to illustrate how well-intentioned security ideas can clash with safety and human factors.
Electronic Flight Bags and the Illusion of “Just an App”
EFBs are often treated as “just tablets” with charts and PDFs. In reality, they are software-rich, networked endpoints that may connect over Wi-Fi, Bluetooth, or wired interfaces to the aircraft.
Regulators typically constrain EFBs to “situational awareness” roles, but history shows that boundaries blur. If an EFB can send data to the aircraft—even indirectly—it can become a path for:
- Corrupting a navigation database mid-flight.
- Injecting malformed route or performance data.
- Creating confusion by desynchronizing what the EFB shows vs. what the avionics believe.
A Zero Trust mindset at the **outer layer** is actually helpful here—strong identity, integrity checks, and controlled interfaces on the EFB and its uplinks. But the **core avionics** shouldn’t trust any of it blindly, and they definitely shouldn’t depend on EFBs to function.
ADS-B / TIS-B: Trusting Broadcasts in a World of Spoofing
ADS-B and TIS-B were designed for surveillance and traffic awareness, not for hostile RF environments. They lack strong authentication and are known to be spoofable. Security research has demonstrated that false targets can be injected into