Academy

Module 2 Β· IoT Device Security Testing πŸ”’

Manish Garg
Manish Garg Associate CISSP Β· RingSafe
April 22, 2026
4 min read

IoT device security testing combines firmware analysis, hardware interfacing, network protocol testing, and mobile companion app review. Many findings come from the firmware β€” default passwords, hardcoded keys, unsafe update mechanisms, debug ports left enabled. This module covers a practical IoT testing workflow with the tools that matter.

Scoping an IoT engagement

Before testing, agree:

  • Which device(s) β€” model, firmware version, lab samples available?
  • Which protocols and cloud APIs are in scope?
  • Is hardware tampering allowed (case opening, JTAG/UART access)?
  • Mobile companion apps in scope?
  • Customer cloud account in scope?
  • Constraints β€” production cloud account vs sandbox; live vs test devices

The testing surface

  1. Hardware β€” debug ports (UART, JTAG, SWD), exposed flash chips, secure boot
  2. Firmware β€” binary extracted from flash or downloaded; analyzed for credentials, vulnerable services
  3. Network protocols β€” what the device speaks (Wi-Fi, BLE, Zigbee, Z-Wave, LoRa, cellular)
  4. Cloud APIs β€” REST endpoints the device + app communicate with
  5. Mobile companion app β€” full mobile pentest scope (covered in Mobile track)
  6. Web management interface β€” if device serves a web UI

Hardware reconnaissance

Open the device. Map the board:

  • Identify SoC (System on Chip) β€” manufacturer, model. Datasheet reveals capabilities
  • Identify flash chips β€” usually SPI; can be read with a clip and a SPI programmer (CH341A, FlashCat)
  • Look for unpopulated headers β€” UART (3-4 pins), JTAG (10-20 pins), SWD (4-5 pins)
  • Check for test points β€” sometimes the same as headers, harder to interface

UART access

# Identify UART pins (TX, RX, GND) with multimeter
# (TX is the pin with periodic activity at boot; RX is silent)

# Connect USB-UART adapter at 3.3V
# Common baud rates: 115200, 57600, 38400, 9600
screen /dev/ttyUSB0 115200
# Or: minicom, picocom

# Many devices drop into a U-Boot shell or root shell
# Default credentials sometimes printed on the bootlog itself

JTAG / SWD

If UART is locked or not present, JTAG/SWD provide debug-level access to the CPU. Tools: SEGGER J-Link, Bus Pirate, OpenOCD. Can dump RAM and ROM, set breakpoints, manipulate registers. Slower setup but more powerful than UART.

πŸ” Intermediate Module Β· Basic Tier

Continue reading with Basic tier (β‚Ή499/month)

You've read 25% of this module. Unlock the remaining deep-dive, quiz, and every other Intermediate module.

99+ modulesAll levels up to this tier
20-question quizzesUnlimited retries with explanations
Completion certificatesShareable on LinkedIn
9 more sections locked below