⚡ IoT Architecture

IoT Router, Z-Wave & LoRaWAN Firmware Audit | IoT Software Dev

Commercial smart-building gateways, industrial cellular routers, and multi-radio home automation hubs routinely bridge three distinct attack surfaces on a single printed circuit board: an embedded Linux application processor (running OpenWrt, RDK-B, or a vendor BSP over SPI NOR/eMMC flash), a Z-Wave 800 Series sub-GHz mesh co-processor (Silicon Labs EFR32ZG23), and a long-range Semtech LR1121 or SX1262 LoRaWAN radio front-end. Conducting a comprehensive white-hat security audit requires physical hardware bus extraction, SquashFS/UBIFS binary decompilation, and RF packet-level cryptographic verification across all three subsystems.

Book an Embedded Router, Z-Wave 800, or LoRaWAN Engineering Engagement ($10,000 Base Scope)

Need a hardware teardown, custom firmware build, or pre-certification vulnerability audit? Explore our specialized practice portals: IoT Router Reverse Engineering & White-Hat Consultancy, Z-Wave 800 & Long Range (ZWLR) Firmware Engineering, and LoRa & LoRaWAN Sub-GHz / Satellite (LR1121) Architecture, or configure your statement of work directly on Book an IoT Engineering Project ($10,000 Base).

Stage 1: PCB Reconnaissance, UART/SWD Pinout Discovery & SPI NOR Flash Extraction

Every white-hat hardware assessment begins on the bench before powering the gateway. Using logic analyzers and differential voltage probing, our engineers map unpopulated 4-pin UART headers (identifying 3.3V VCC, GND, TX, and RX at 115200 8N1) alongside ARM CoreSight SWD (SWDIO/SWCLK) and IEEE 1149.1 JTAG test points (TCK, TMS, TDI, TDO, TRST).

When vendors fail to lock U-Boot environment variables (`bootdelay=0` without password protection or cryptographic signature verification on FIT images), interrupting the bootloader over UART allows an attacker to append `init=/bin/sh` to `bootargs` or invoke `sf read` and `tftpput` to dump raw flash memory over Ethernet. Even when U-Boot console input is disabled, unencrypted Winbond or Macronix SOIC-8/WSON-8 SPI NOR flash chips (`W25Q128JV` / `MX25L25645G`) or eMMC BGA packages can be extracted in-circuit or via hot-air chip-off rework.

Unpacking Custom SquashFS Magic Bytes & Auditing NVRAM Daemons

Once the raw flash image is acquired, signature carving with `binwalk` isolates the U-Boot bootloader, Device Tree Blob (`.dtb`), Linux kernel `uImage`/`zImage`, and the root filesystem (`SquashFS` paired with a writable `JFFS2` or `UBIFS` overlay). Many ODM router manufacturers obfuscate the SquashFS superblock by replacing standard `hsqs` magic bytes or compiling vendor-modified LZMA dictionary headers. Reversing the decompression stub in the kernel's `squashfs_fill_super` routine allows clean extraction of `/etc/shadow`, hardcoded private TLS keys, TR-069 (`cwmpd`) ACS credentials, and proprietary CGI/UPnP binaries for static decompilation in Ghidra and IDA Pro.

Stage 2: Z-Wave 800 Series (`EFR32ZG23`) S2 Security & ZWLR Mesh Forensics

On gateways integrating a Silicon Labs ZGM230S or EFR32ZG23 Z-Wave 800 co-processor communicating with the host Linux SoC over UART/SPI via the `SerialAPI` (`zipgateway`), security hinges on how the controller manages Security 2 (S2) network keys (`S2_ACCESS_control`, `S2_AUTHENTICATED`, `S2_UNAUTHENTICATED`) and Z-Wave Long Range (ZWLR) 12-bit star-topology node IDs (`256`–`4000`).

  • ECDH Curve25519 Key Exchange & DSK PIN Verification: During S2 inclusion, if an unauthenticated node or misconfigured controller falls back to `S2_UNAUTHENTICATED` without verifying the 5-digit Device Specific Key (DSK) PIN out-of-band, an active SDR adversary using `ZNiffer` at `908.42 MHz` / `916 MHz` (or `912 MHz` / `920 MHz` 100 kbps DSSS OQPSK for ZWLR) can perform an active man-in-the-middle key substitution during the KEX bootstrapping window.
  • Silicon Labs Secure Vault & SE OTP Lock Verification: On the EFR32ZG23 endpoint, our engineers audit whether Secure Boot with RTSL (Root of Trust and Secure Loader) is fused in One-Time Programmable (OTP) memory and whether the debug port is locked with secure token authentication—preventing SWD readout of the NVM3 flash region where AES-128-CCM network keys reside.

Stage 3: Semtech `LR1121` LoRaWAN 1.0.4 / 1.1 & LR-FHSS Cryptographic Auditing

Industrial gateways and field sensors utilizing Semtech SX1262 or multi-band LR1121 transceivers (supporting sub-GHz `902–928 MHz` ISM, `2.4 GHz` LoRa, and S-Band/UHF satellite LR-FHSS) frequently suffer from root key exposure in embedded flash. When firmware stores the 128-bit `AppKey` or `NwkKey` in plaintext MCU flash rather than an EAL6+ secure element (`ATECC608B` / `SE050`), a single stolen field sensor compromises the cryptographic root for that device's Over-The-Air Activation (OTAA) join handshakes.

Embedded Subsystem Primary Hardware / RF Target High-Severity Vulnerability Vector Hardening & Remediation Standard
Embedded Router SoC MT7621 / IPQ8074 / BCM4908 + SPI NOR / eMMC Unlocked U-Boot console, plaintext SquashFS rootfs, command injection in web CGI / TR-069 Hardware Secure Boot (FIT signed images), encrypted rootfs (dm-verity/fscrypt), privilege separation
Z-Wave 800 Mesh / ZWLR Silicon Labs EFR32ZG23 / ZGM230S (`908–920 MHz`) SWD NVM3 readout of S2 AES-128-CCM keys; downgrade to S0 or unverified S2 DSK inclusion Silicon Labs Secure Vault High, SWD debug lock, mandatory S2 Authenticated/Access DSK PIN check
LoRaWAN / Satellite RF Semtech LR1121 / SX1262 + SX1302/SX1303 Gateway Plaintext `AppKey` in MCU flash; ABP `FCnt` frame-counter reset replay after brownout reboot Hardware crypto element (`ATECC608B`), OTAA 1.0.4/1.1 non-volatile `DevNonce` & `FCnt` monotonic storage

Deliverables Included in Our $10,000 White-Hat Hardware & Firmware Audit

Every engagement includes non-destructive and destructive PCB hardware probing, full SPI/eMMC/NVM3 binary extraction, static and dynamic vulnerability analysis of custom Linux daemons and RTOS firmware, SDR packet capture across Z-Wave (`908–920 MHz`) and LoRaWAN (`915 MHz` / `2.4 GHz` / `LR-FHSS`), proof-of-concept exploit scripts, and a line-by-line remediation patchset for your engineering team.

Schedule Your Technical Discovery Call or Book a Project

Review our dedicated service blueprints for Embedded Router Reverse Engineering, Z-Wave 800 Series Engineering, and LoRa & LoRaWAN Architecture, or lock in your engineering sprint on Book an IoT Security & Firmware Project ($10,000 Base).

Robert Baindourov

Written & Architected by Robert Baindourov

Senior IoT Firmware & Edge-Cloud Solutions Architect with 17+ years total experience (15+ years professional architecture). Specializing in bare-metal C/C++, FreeRTOS, Zephyr OS, Embedded Rust, hardware secure elements (ATECC608, TPM 2.0), and high-throughput cloud telemetry pipelines (AWS IoT Core, EMQX, Node.js). Based in Los Angeles, CA.