After completing this chapter, you will be able to:
Classify IoT threat actors by skill level, motivation, and typical attack targets
Apply the STRIDE threat model (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) to IoT systems
Map attack vectors across physical, network, and application layers of IoT architectures
Evaluate the cyber-physical consequences of IoT security breaches versus traditional IT incidents
In 60 Seconds
The STRIDE model provides the structured vocabulary and categorisation system that makes IoT threat modelling systematic rather than arbitrary — each of the six categories (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) maps to a specific violated security property and a corresponding class of mitigations, enabling engineers to move efficiently from identified threats to selected controls.
For Beginners: Threat Landscape and STRIDE Model
IoT security is about protecting connected devices from hackers and other threats. Think of each smart device in your home as a door or window – each one could potentially let an intruder in if not properly secured. Understanding the threat landscape is the first step toward building systems that keep data safe and devices operating correctly.
Sensor Squad: Meet the Threat Actors!
“Did you know that in 2014, hackers used smart REFRIGERATORS to send spam emails?” Sammy the Sensor gasped. “Over 100,000 IoT devices were part of a botnet that no one even knew about! The owners had no idea their fridge was moonlighting as a spam machine.”
Max the Microcontroller pulled out a chart. “There are five types of attackers we need to watch for. Script kiddies use tools they find online – not very skilled, but they attack lots of devices. Cybercriminals are in it for money – they steal data and demand ransoms. Hacktivists want to make a political point. Insiders already have access to the system. And nation-states have unlimited budgets and the most advanced tools.”
“Each attacker type goes after different layers,” Lila the LED explained. “Physical attacks mean touching the device – opening it up, plugging into debug ports. Network attacks happen remotely – eavesdropping, man-in-the-middle interception. Application attacks target software – injecting malicious commands or exploiting bugs. You need defenses at every layer!”
“What makes IoT different from regular computer security is the cyber-physical connection,” Bella the Battery added. “If someone hacks a laptop, you might lose some files. But if someone hacks an IoT insulin pump or a smart car, people could be physically harmed. That is why IoT security is not just an IT problem – it is a safety issue that affects real lives!”
14.1 Threat Landscape Overview
Time: ~25 min | Level: Intermediate
Key Concepts
STRIDE-to-property mapping: Each STRIDE category violates a specific security property: Spoofing violates Authentication, Tampering violates Integrity, Repudiation violates Non-repudiation, Information Disclosure violates Confidentiality, DoS violates Availability, and EoP violates Authorisation.
Threat category to mitigation mapping: Each STRIDE category has a corresponding class of mitigations: Authentication controls for Spoofing, integrity verification for Tampering, audit logging for Repudiation, encryption for Information Disclosure, rate limiting for DoS, and least privilege for Elevation of Privilege.
Per-element analysis: The STRIDE methodology applied systematically to each entity, data flow, data store, and process in a Data Flow Diagram, ensuring no component is overlooked in the threat identification process.
Threat prioritisation: The process of ranking identified STRIDE threats by their risk (likelihood × impact) to focus mitigation effort on the most critical threats first.
Validation gate: A review step checking that each identified STRIDE threat has a corresponding documented mitigation, an assigned owner, and a defined validation test, before the design is approved.
Academic Reference: IoT Threat Taxonomy (University of Edinburgh)
IoT Threat Taxonomy showing attack categories across physical, network, and application layers
Source: University of Edinburgh - IoT Security Course Materials
Smart Refrigerators Hacked to Send Out Spam
In 2014, security researchers discovered that a botnet of over 100,000 compromised IoT devices—including smart refrigerators—was being used to send out spam emails. The FTC launched their “Careful Connections” campaign warning consumers that “Smart devices can be dumb about security.”
Why this matters:
Cyber-physical consequences: Unlike traditional computers, IoT attacks affect the physical world (unlock doors, disable cameras, control industrial machinery)
Unpatchable devices: Many IoT devices can’t be updated, leaving vulnerabilities unfixed for their entire 10-20 year lifetime
Fog computing for privacy: Processing data at the edge (fog layer) instead of sending everything to the cloud can protect user privacy while maintaining functionality
This case highlights three critical IoT security challenges we’ll explore: devices are vulnerable targets, attacks have physical consequences, and architectural choices (like fog computing) can mitigate both security and privacy risks.
IoT systems face threats from various actors with different capabilities and motivations:
Figure 14.1: Threat actor classification by capability and motivation.
14.1.1 Threat Actor Classification
Actor Type
Skill Level
Motivation
Typical Targets
Examples
Script Kiddies
Low
Fame, curiosity
Random devices
Mirai copycats
Cybercriminals
Medium-High
Financial gain
High-value targets
Ransomware, botnets
Hacktivists
Medium
Political/social
Organizations, governments
Anonymous, DDoS
Insiders
Varies
Revenge, profit
Own organization
Disgruntled employees
Nation States
Very High
Espionage, sabotage
Critical infrastructure
Stuxnet, APT groups
Competitors
Medium-High
Industrial espionage
Business rivals
IP theft
Insider Threats: The Overlooked Danger
Insiders are the most dangerous threat actors because they bypass perimeter security with legitimate credentials. In IoT systems, insiders can: - Extract device encryption keys during manufacturing - Plant backdoors in firmware before deployment - Disable security features with admin access - Exfiltrate sensitive sensor data over time
Mitigation: Implement zero-trust architecture (verify every action, even from insiders), separation of duties (no single person controls all security), audit logging (track all privileged actions), and background checks for personnel handling sensitive IoT infrastructure.
14.1.2 Cyber Security 4-Quadrant Framework
Comprehensive IoT security requires protecting four interconnected domains:
Mitigation: Least privilege, input validation, RBAC, disable debug modes
Why This Works: STRIDE ensures comprehensive threat coverage - each category maps to a violated security property, so addressing all six categories means defending all security principles.
Figure 14.2: STRIDE threat modeling framework showing six threat categories and violated security principles.
14.2.1 Spoofing (Identity)
Definition: Pretending to be someone or something else
IoT Examples:
Fake sensor data injection
Rogue device joining network
MAC address spoofing
GPS spoofing for trackers
Attack Scenario:
// VULNERABLE: No device authenticationvoid processMessage(String message){// Blindly trust any messagefloat temperature = message.toFloat(); updateDatabase(temperature);// Could be fake data!}// SECURE: Verify sender identityvoid processMessage(String message, String deviceId, String signature){if(!verifySignature(message, deviceId, signature)){ Serial.println("ALERT: Invalid signature - potential spoofing!");return;}float temperature = message.toFloat(); updateDatabase(temperature);}
Countermeasures:
Device certificates and mutual TLS
Message authentication codes (HMAC)
Challenge-response authentication
14.2.2 Tampering (Data)
Definition: Unauthorized modification of data or code
User: "I never unlocked the door at 3 AM!"
System: [No logs to prove otherwise]
Malicious insider: "I didn't change the sensor calibration"
System: [No audit trail]
Countermeasures:
// Implement comprehensive logging#include <SD.h>#include <TimeLib.h>void logAction(String user, String action, String details){ File logFile = SD.open("audit.log", FILE_APPEND); String logEntry = String(now())+","+ user +","+ action +","+ details; logFile.println(logEntry); logFile.close();// Also send to remote secure log server sendToRemoteLog(logEntry);}// UsagelogAction("user@email.com","DOOR_UNLOCK","Front Door");
Best Practices:
Immutable audit logs
Cryptographic timestamps
Remote log backup
Digital signatures on transactions
14.2.4 Information Disclosure (Privacy)
Definition: Exposing information to unauthorized parties
IoT Examples:
Unencrypted sensor data transmission
Exposed API endpoints
Debug information leaking
Cloud storage misconfiguration
Attack Scenario:
# Attacker sniffs Wi-Fi traffic (unencrypted MQTT)$ tcpdump -i wlan0 port 1883# Captures: {"device": "bedroom_camera", "stream_url": "rtsp://..."}# Result: Privacy invasion# Attacker finds exposed API$ curl http://iot-api.example.com/api/devices# Returns: Complete list of all devices with credentials!
Countermeasures:
// Always encrypt sensitive data#include <WiFiClientSecure.h>#include <PubSubClient.h>WiFiClientSecure espClient;PubSubClient mqtt(espClient);void setup(){// Use TLS certificate pinning espClient.setCACert(ca_cert); espClient.setCertificate(client_cert); espClient.setPrivateKey(client_key);// Connect to MQTTS (port 8883) mqtt.setServer("broker.example.com",8883);}// Sanitize debug outputvoid debugPrint(String message){#ifdef DEBUG// Never log sensitive data message.replace(password,"***REDACTED***"); Serial.println(message);#endif}
14.2.5 Denial of Service (Availability)
Definition: Making system unavailable to legitimate users
IoT Examples:
DDoS attacks (Mirai botnet)
Battery depletion attacks
Network flooding
Resource exhaustion
TCP SYN Flood attack mechanism
Figure 14.3: TCP SYN Flood Attack: Attacker sends massive SYN requests with spoofed addresses. Server allocates resources for half-open connections waiting for ACKs that never come.
14.3 Worked Example: STRIDE + DREAD Analysis of a Smart Hospital Infusion Pump
Scenario: A hospital deploys 200 networked infusion pumps that deliver medication to patients. Each pump connects via Wi-Fi to a central pharmacy server that dispatches dosage prescriptions. The security team must perform a STRIDE analysis with DREAD risk scoring to prioritize mitigations within a $150,000 security budget.
System components: Infusion pump (ESP32-based, Wi-Fi, 256 KB RAM), pharmacy server (Linux, MySQL), nurse station tablet (Android), hospital Wi-Fi (WPA2-Enterprise).
14.3.1 Step 1: Apply STRIDE to Each Component
Component
STRIDE Threat
Attack Description
Consequence
Pump
Spoofing
Rogue device impersonates a legitimate pump and accepts dosage commands
Wrong patient receives medication intended for another
Pump
Tampering
Attacker modifies firmware via exposed USB debug port
Pump delivers incorrect dosage – potential patient death
Pump-to-Server link
Tampering
Man-in-the-middle modifies dosage in transit (e.g., 5 mg changed to 50 mg)
Patient overdose
Pharmacy Server
Repudiation
Pharmacist denies approving a dangerous dosage; no audit trail exists
Liability dispute, no accountability
Pump
Information Disclosure
Unencrypted Wi-Fi traffic exposes patient name, medication, and dosage
HIPAA violation, $50K-$1.9M fine per incident
Pharmacy Server
Denial of Service
DDoS attack overwhelms server; pumps cannot receive new prescriptions
Medication delivery halted for all 200 pumps
Nurse Tablet
Elevation of Privilege
Malware on tablet escalates from nurse role to pharmacist, changes dosages
Unauthorized dosage modifications across the ward
14.3.2 Step 2: Score Each Threat Using DREAD (0-10 Scale)
DREAD scores each threat on five criteria: Damage potential, Reproducibility, Exploitability, Affected users, Discoverability. The average produces a risk score from 0 (negligible) to 10 (critical).
After applying all mitigations, the residual risk profile:
Threat
Before
After
Residual Risk
Patient data exposure
8.6
2.1
Accepted (TLS + segmentation)
DDoS on pharmacy server
8.4
3.0
Accepted (redundancy + rate limiting)
Dosage tampering in transit
7.2
2.3
Accepted (TLS mutual auth)
Missing audit trail
7.2
1.5
Accepted (immutable logs)
Firmware tampering via USB
5.6
1.2
Accepted (ports sealed)
Privilege escalation
5.6
2.4
Accepted (MDM + sandboxing)
Pump spoofing
5.2
1.8
Accepted (X.509 certificates)
Result: Total DREAD risk reduced from 47.8 to 14.3 (70% reduction) within a $150,000 budget. All threats moved from Critical/High to Low/Accepted. The largest single-investment impact was TLS deployment ($25K) which simultaneously addressed the two highest-scoring threats.
Key insight: The DREAD scoring revealed that patient data exposure (8.6) was the highest risk – not the life-safety concern of dosage tampering (7.2). This is because data exposure is highly reproducible, easily exploitable, and affects all patients, while dosage tampering requires a more sophisticated MITM position. Without quantitative scoring, the team would likely have prioritized dosage integrity first, leaving the more probable HIPAA violation unaddressed.
14.4 Common Security Pitfalls
Pitfall: Relying on Network Perimeter Security for IoT
The Mistake: Organizations assume IoT devices are protected because they are “behind the firewall” or on a “private network.” Security controls are applied only at the network edge, leaving internal IoT traffic unencrypted and unauthenticated.
Why It Happens: Traditional IT security focused on perimeter defense (castle-and-moat model). IoT devices have limited resources, so encryption seems expensive. Internal networks are assumed trustworthy. VLANs provide network isolation, creating false confidence.
The Fix: Implement defense-in-depth with zero-trust principles: - Encrypt all traffic: Use TLS/DTLS even on internal networks. Assume attackers are already inside (lateral movement). - Authenticate every device: Use X.509 certificates or pre-shared keys for device-to-device and device-to-gateway communication. - Network segmentation: Isolate IoT devices on dedicated VLANs with strict firewall rules. Block IoT-to-IoT communication unless explicitly required. - Microsegmentation: Apply per-device or per-application firewall policies. A compromised thermostat should not reach the financial database. - Monitor east-west traffic: Deploy network detection tools (Zeek, Suricata) to detect anomalous internal communication patterns.
Pitfall: Storing Credentials in Firmware or Source Code
The Mistake: API keys, Wi-Fi passwords, MQTT broker credentials, or cloud service tokens are hardcoded directly in device firmware or checked into version control.
Why It Happens: Hardcoding works during development and prototyping. Developers forget to remove credentials before committing. Configuration management for IoT fleets is complex.
The Fix: Implement proper credential management: - Never hardcode: Use environment variables, secure element storage, or runtime provisioning. Treat any credential in source code as compromised. - Manufacturing provisioning: Inject unique credentials per device during manufacturing using secure provisioning stations. - Runtime provisioning: Use device provisioning protocols (AWS IoT Just-in-Time Provisioning, Azure DPS) to issue unique certificates on first boot. - Secret scanning: Add pre-commit hooks with tools like trufflehog, git-secrets, or detect-secrets to prevent credential commits.
Concept Relationships
Concept
Relates To
Nature of Relationship
Threat Actors
Attack Motivation
Actor type determines likely attack targets and methods
STRIDE Categories
CIA Triad
STRIDE maps to Confidentiality, Integrity, Availability violations
Cyber-Physical Consequences
Risk Assessment
IoT attacks affect physical world, not just data
Four Quadrants (People/Process/Physical/Tech)
Defense in Depth
Comprehensive security requires addressing all domains
Step 3: Calculate expected loss by threat actor \[E[\text{Loss}] = P(\text{Attack}) \times P(\text{Success | Attack}) \times I(\text{Impact})\]
Actor
P(Attack)
P(Success
Attack)
Impact ($)
Script Kiddie
0.80
0.15
$50K
$6,000
Cybercriminal
0.60
0.35
$500K
$105,000
Insider
0.05
0.41
$2M
$41,000
Nation-State
0.01
0.90
$50M
$450,000
Result: Despite low attack probability (1%), nation-state actors represent highest expected loss ($450K) due to catastrophic impact. Prioritize defenses against high-capability actors even when attack frequency is low.
In practice: Capability-based threat modeling prevents over-investing in low-skill attacker defenses (script kiddies) while ignoring APTs. Hospitals face nation-state reconnaissance - defenses must match this reality.
Interactive Threat Actor Capability Calculator
Calculate threat actor capability and attack success probability:
1. Using the model as a one-time design-phase activity
The STRIDE model must be re-applied whenever the system design changes. New data flows, new external entities, and new trust boundaries introduce new threats that were not present in the original model.
2. Categorising threats incorrectly and selecting wrong mitigations
Mis-categorising an Information Disclosure threat as a Tampering threat leads to selecting integrity controls (HMAC) instead of confidentiality controls (encryption). Verify the category by identifying which security property is violated before selecting mitigations.
3. Creating an exhaustive threat list without operationalising it
A STRIDE analysis that produces a 200-item threat list without owner assignment, prioritisation, and tracking becomes unmanageable. Limit to actionable threats with realistic exploitability and track them in a structured risk register.