Firmware and IoT security

We take the firmware apart, test the hardware interfaces and network services, and check how updates are built, signed and delivered, following the OWASP FSTM.

One open debug port or one unsigned update can hand over the whole device.

What we test

Out of scope stays out. We ask first.

  • Firmware image

    File system contents, hardcoded secrets, outdated components and debug leftovers.

  • Update path

    Signing, verification, rollback protection and delivery.

  • Hardware interfaces

    UART, JTAG, SWD and any debug port left open.

  • Network services

    Web interfaces, local APIs and the cloud connections the device holds open.

  • Boot chain

    Secure boot, bootloader settings and storage encryption.

  • Companion app and cloud

    The mobile app and back end that control the device.

How we test

  1. Information gathering

    Datasheets, public regulatory filings and the parts on the board.

  2. Obtaining firmware

    From the vendor, the update server, or straight off the flash chip.

  3. Analysis

    Binwalk to extract, Ghidra to read binaries, then the file system for secrets and stale components.

  4. Emulation and dynamic testing

    Services in emulation where we can, on the real device where we can’t.

  5. Interfaces and updates

    Debug ports, and how updates are signed and verified.

  6. Report and retest

    Device, app and cloud findings in one report, then a free retest.

A report your engineers can act on

  • Severity, evidence, the affected component and a fix for every finding.
  • Findings mapped to the stages of the OWASP FSTM.
  • The third-party components in the image, known issues flagged.
  • A free retest of fixed firmware builds in an agreed window.

How a finding reads

V-042ExampleSeverity: High

Firmware updates installed without a signature check

Weakness
CWE-347
Where
Device update service
Impact
Anyone who could reach the update channel could install their own firmware.
Fix
Sign releases, verify the signature on the device before flashing, and block rollback to older versions.
Fixed · retested

Found in Arm’s firmware

Muneeb went through Arm’s Trusted Firmware, the secure-world code under the operating system. Arm accepted and rewarded what he found. Your firmware gets the same reading.

Standards and tools

Findings mapped to
  • OWASP FSTM
  • NIST SP 800-115
Tools we use
  • binwalk
  • Ghidra
  • Nmap
  • Burp Suite
How many devices should we send?

Two if you can. One stays working, and one we may open, probe or reflash. Hardware testing can damage a unit.

Do you need the source code?

No. A firmware image or a device is enough. Source, schematics and build notes speed things up.

Do you also test the app and cloud behind the device?

If they’re in scope, yes. A lot of device weaknesses live there.

What if you find a flaw in a third-party chip or library?

The findings are yours. If one sits in a supplier’s component, we agree with you how and when it goes to that supplier.

Tell us about your device

Send the scope and your deadline, and we’ll set up a call.