
What is the threat? From a cyber perspective? It Depends
As the cybersecurity industry fixates on zero-days and malware, product engineering teams must return to fundamentals by distinguishing between primary operational hazards and secondary vulnerabilities. This article explores how developers can systematically engineer cyber risk by understanding operational context and leveraging rigorous threat modeling.
Ron Brash
Author
When the industry discusses cyber threats, product development teams frequently get derailed by debates about zero-days and flashy malware variants. From a product engineering and design perspective, this misses the mark.

To build secure systems that will eventually govern physical processes, critical infrastructure, or complex manufacturing, we need to focus on fundamentals during the design phase. We need to ask a direct question: What is the actual threat to the product and its intended operating environment? Here is how to break that down.
1. Primary vs. Secondary Threats: Engineering Risk in Product Design
In the operational technology (OT) and industrial control system (ICS) product space, distinguishing between primary and secondary threats is required to build resilient architectures.

Primary Threats: The users, implementers, and buyers of your product. The actual threat is these stakeholders misdeploying or misconfiguring the system you developed. This includes the very real risk of legitimate functionality being subverted, whether intentionally or accidentally, to create hazardous conditions, physical harm, and massive legal liabilities. Crucially, a primary threat does not necessarily involve a malicious adversary. A primary threat is equally a fragile architecture where upstream dependencies fail to function, and your product lacks the engineering rigor to fail safely or isolate its core functions to prevent a cascading disaster.
Secondary Threats: These are the product vulnerabilities or design flaws that allow the primary threat to materialize. Examples include ambiguous deployment guides, a vulnerable web interface, manipulated memory allocation, or an insecure default configuration that practically invites misdeployment.
Cybersecurity in product development is another engineering tolerance to manage. It is a fundamental engineering problem. If you design a product without actively engineering cyber risk out of the architecture, you have effectively engineered it into your customer's operations. Hardcoding a default password, failing to implement secure boot, or lacking hardware trust boundaries are engineering flaws that introduce secondary threats. These secondary threats clear the path for the customer's primary failures.
2. Context: Understanding the Boundaries of a Threat
Context is critical when defining product requirements. Not every vulnerability carries the same weight, and sometimes a flaw is a threat only under a highly specific set of environmental circumstances.

A vulnerability in a standalone consumer IoT device lacks the same operational impact as the identical flaw in a Programmable Logic Controller (PLC) governing a Safety Instrumented System (SIS). Product developers must define the intended use case and the assumed operational environment to understand the actual risk of subversion.
A threat requires capability, intent, and opportunity. In the context of misdeployment or failing dependencies, opportunity is the variable that developers control. By enforcing strict data flows, rigorous input validation, and hardware-level isolation, the opportunity drops.
This rigor starts at the component and source code level. Enforcing standards like MISRA C/C++ guidelines for secure and safe code removes opportunity at the root. It ensures the firmware itself does not introduce the preconditions required for a failure, long before the product ever leaves the factory floor.
3. Modeling the Reality: Better Engineering Through Design
Understanding the distinction between primary and secondary threats dictates how we architect products. This is where threat modeling becomes the cornerstone of the Secure Software Development Lifecycle.

Using a structured approach, such as the Microsoft general threat modeling approach (STRIDE), allows engineering teams to systematically evaluate trust boundaries, analyze data flows, and identify where a system architecture is brittle before writing any code. You stop guessing and start engineering.
By modeling the product:
You map secondary cyber threats (spoofing, tampering, denial of service) against the potential subversion of legitimate functions to understand how they might trigger primary physical hazards for the end user.
You analyze dependency chains to guarantee the system can fail safely or isolate core functions when external inputs go dark.
You apply controls that are proportionate and effective for an industrial environment, rather than bolting on generic IT features as an afterthought.
Effective security control application is about better engineering. It is designing a product that inherently resists the conditions required for a threat to materialize.
Closing Note: The Pragmatism of Pedantry
There is a time and a place for intense, pedantic scrutiny in product development. We do not need to exhaust resources analyzing every single non-critical library in a low-impact device.
However, when the intended use case necessitates it, that pedantry is non-negotiable. When building products that touch physical safety, critical system uptime, core operational functions, or are subject to stringent regulatory requirements like the EU Cyber Resilience Act or FDA pre-market submissions, rigorous scrutiny is required. If a product misdeployment means an ISA84 safety threshold is breached or a critical process fails, meticulous engineering and threat modeling are not academic exercises. They are the fundamental responsibilities of shipping a viable product. Manage the risk, engineer it out, and build a resilient device.


