Edit

Frequently asked questions about firmware analysis

This article addresses frequent questions about firmware analysis.

Firmware analysis is a tool that analyzes firmware images and provides an understanding of security vulnerabilities in the firmware images.

What types of firmware images does firmware analysis support?

Firmware analysis supports unencrypted images that contain file systems with embedded Linux operating systems. Firmware analysis supports the following file system formats:

  • Android sparse image
  • bzip2 compressed data
  • CPIO ASCII archive, with CRC
  • CPIO ASCII archive, no CRC
  • CramFS filesystem
  • Flattened device tree blob (DTB)
  • EFI GUID partition table
  • EXT file system
  • POSIX tarball archive (GNU)
  • GPG signed data
  • gzip compressed data
  • ISO-9660 primary volume
  • JFFS2 filesystem, big endian
  • JFFS2 filesystem, little endian
  • LZ4 compressed data
  • LZMA compressed data
  • LZOP compressed file
  • DOS master boot record
  • RomFS filesystem
  • SquashFSv4 file system, little endian
  • POSIX tarball archive
  • UBI erase count header
  • UBI file system superblock node
  • UEFI file system
  • xz compressed data
  • YAFFS filesystem, big endian
  • YAFFS filesystem, little endian
  • ZStandard compressed data
  • Zip archive

What SBOM components does firmware analysis detect?

Note

If firmware analysis detects a component but is unable to determine the version of that component, it may report the version as 0.0.0. No CVEs will be reported for that particular component.

Component Component Component Component
apache harfbuzz miniupnpd redis
apparmor hdparm mit_kerberos rngd
asterisk heimdal mosquitto rngtest
atftp hostapd msmtp rp_pppoe
avahi_daemon i2c-tools mstpd samba
avahi-autoipd iperf3 mtd-utils setserial
axios iproute2 nano sqlite
backbonejs ipset ncurses ssmtp
bash iptables neon strace
bftpd jansson netatalk strongswan
binutils jquery netkit_telnetd stunnel
bird json-c netsnmp sudo
bluetoothd libarchive nettools tcpdump
boa libcap nginx uclibc
bridge-utils libcurl nss underscorejs
busybox dhcpd openldap usbutils
bzip2 dhcpcd openssh util_linux
cairo dmidecode openssl vim
cifs-utils dnsmasq openvpn vsftpd
chrony dpkg openvswitch vuejs
codesys dropbear p7zip wget
conntrack-tools e2fsprogs pango wireless-tools
coreutils ebtables pcre wolfssl
cryptsetup eeprog pcre2 wpa_supplicant
cups element perl xinetd
davfs2 ethtool php xl2tpd
exfat extJS polarssl xz-utils
ffmpeg file portmap zebra
fribidi gdbserver pppd zeptojs
gdkpixbuf glibc procps zip
glibc gmp procps-ng zipcloak
gnutls gpg protobuf-c zipnote
gtk libevent python zlib
libarchive libexpat radvd
libcap libgcrypt readline
libcurl libidn redis
libevent libjpeg-turbo rngd
libexpat liblzma rngtest
libgcrypt libmicrohttpd samba
libidn libpcap setserial
libjpeg-turbo libpng sqlite
liblzma libsoup ssmtp
libmicrohttpd libvorbis strace
libpcap libxml2 strongswan
libpng lighttpd stunnel
libsoup lodash sudo

Where are the firmware analysis Azure CLI/PowerShell docs?

You can find the documentation for our Azure CLI commands here and the documentation for our Azure PowerShell commands here.

You can also find the Quickstart for our Azure CLI here and the Quickstart for our Azure PowerShell here. To run a Python script using the SDK to upload and analyze firmware images, visit Quickstart: Upload firmware using Python.

Is UEFI (Unified Extensible Firmware Interface) firmware analysis supported?

Yes. UEFI firmware analysis is supported with a mix of Generally Available (GA) and Preview capabilities.

What is generally available for UEFI firmware analysis?

Firmware analysis provides GA support for detecting and analyzing cryptographic material embedded in UEFI firmware, including:

  • Cryptographic certificates
  • Cryptographic keys

These capabilities are considered stable and fully supported for UEFI firmware.

What UEFI analysis capabilities are in preview?

The following UEFI analysis capabilities are currently provided in Preview and might have limited coverage:

  • SBOM and weakness signals (limited OpenSSL detection and CVE association)
  • Binary hardening attributes (detection of NX / DEP are supported)
  • Extractor path enhancements

Preview results should be interpreted as security signals, not guarantees of vulnerability or protection.

For detailed explanations of UEFI firmware analysis capabilities, limitations, and how to interpret results, see Understanding UEFI firmware analysis capabilities and limitations.

Why don't I see any results for unsafe function calls?

An empty result doesn't mean the firmware has no unsafe function calls. You might not see results when:

  • The firmware image doesn't contain supported ELF user-space executables.
  • The extracted executables use an unsupported processor architecture.
  • A static or stripped binary doesn't retain enough information to identify function references.
  • The extracted file is a Linux kernel module (.ko), which isn't included in this analysis.
  • The firmware image was analyzed before unsafe function calls analysis became available.
  • Extraction or analysis didn't complete successfully.

Upload an older firmware image again to receive current analysis. For supported architectures, binary requirements, and guidance on interpreting results, see Understand unsafe function call data.