Embedded device and firmware testing
Embedded device and firmware testing covers the board, the firmware and every interface a device exposes, including UART, JTAG and SWD debug ports. nandsec dumps the SPI flash, extracts and unpacks the firmware, and analyses its root filesystem, boot verification and update signing.
Test coverage
- Debug interfaces such as UART, JTAG and SWD
- Firmware extraction, unpacking and analysis
- Boot verification and firmware updates
- Network services, mobile apps and cloud APIs the device uses
How it runs
We test production units of the device and confirm each finding on the hardware.
Binary analysis and reverse engineering
Binary analysis and reverse engineering examines compiled software and firmware when no source code is available. Examples are a supplier's firmware or a third-party agent you plan to deploy. nandsec disassembles and decompiles each target, then audits its protocols, file parsers, licence checks and update logic for hard-coded keys and memory corruption.
Analysis scope
- Network protocols and file formats
- Authentication, licensing and update logic
- Hard-coded credentials and keys
- Memory safety in parsers and handlers
How it runs
We reverse engineer only with the authorisation of the owner or licensee and within the Copyright Act 1968 (Cth).
Linux platform security review
Linux platform security review assesses how a Linux image, appliance or server is built and locked down, from the bootloader to its running services. nandsec verifies the Secure Boot chain, TPM 2.0 measured boot, kernel lockdown, module signing and the SELinux or AppArmor policy. The core focus is on providing correctly configured and hardened Linux environments.
Review scope
- Secure Boot, signed images and key handling
- Measured boot with TPM 2.0 and disk encryption
- Kernel configuration, lockdown and module signing
- SELinux or AppArmor policy and service privileges
How it runs
We review the build configuration and test a running image.
Kernel and driver security review
Kernel and driver security review examines kernel modules and drivers for memory safety bugs, including use-after-free, double fetch and unchecked user pointers in ioctl handlers. nandsec audits the source, fuzzes each interface and reproduces every finding with proof-of-concept code shared only with your team.
Review scope
- System call and ioctl handlers
- Memory handling, reference counting and locking
- Data copied between user space and the kernel
- Rust and C code at the boundary between them
How it runs
We review the source and share proof-of-concept code with your team only.
Cryptographic implementation review
The objective of a cryptographic evaluation and review is to find where your product's cryptography can fail, from key generation to protocol design. nandsec reviews the source and tests each path for nonce reuse, weak key storage, downgrade attacks and non-constant-time comparisons.
Review scope
- Key generation, storage and rotation
- Randomness and nonce handling
- Protocol design and library use
- Constant-time behaviour in sensitive comparisons
How it runs
We review the source and help plan protocol changes for devices already in the field.