この記事では、ファームウェア分析についてよく寄せられる質問について説明します。
ファームウェア分析は、ファームウェア イメージを分析し、ファームウェア イメージのセキュリティの脆弱性を理解できるようにするツールです。
ファームウェア分析でサポートされているファームウェア イメージの種類は何ですか?
ファームウェア分析では、Linux オペレーティング システムが埋め込まれたファイル システムを含む暗号化されていないイメージがサポートされます。 ファームウェア分析では、次のファイル システム形式がサポートされています。
- Android スパース イメージ
- bzip2 圧縮データ
- CPIO ASCII アーカイブ、CRC 付き
- CPIO ASCII アーカイブ、CRC なし
- CramFS ファイルシステム
- フラット化されたデバイス ツリー BLOB (DTB)
- EFI GUID パーティション テーブル
- EXT ファイル システム
- POSIX tarball アーカイブ (GNU)
- GPG 署名済みデータ
- gzip 圧縮データ
- ISO-9660 プライマリ ボリューム
- JFFS2 ファイルシステム、ビッグ エンディアン
- JFFS2 ファイルシステム、リトル エンディアン
- LZ4 圧縮データ
- LZMA 圧縮データ
- LZOP 圧縮ファイル
- DOS マスター ブート レコード
- RomFS ファイルシステム
- SquashFSv4 ファイル システム、リトル エンディアン
- POSIX tarball アーカイブ
- UBI 消去カウント ヘッダー
- UBI ファイル システムのスーパーブロック ノード
- UEFI ファイル システム
- xz 圧縮データ
- YAFFS ファイルシステム、ビッグ エンディアン
- YAFFS ファイルシステム、リトル エンディアン
- ZStandard 圧縮データ
- Zip アーカイブ
ファームウェア分析で検出される SBOM コンポーネント
Note
ファームウェア分析でコンポーネントが検出されたが、そのコンポーネントのバージョンを特定できない場合は、バージョンが 0.0.0として報告される可能性があります。 その特定のコンポーネントの CVE は報告されません。
| コンポーネント | コンポーネント | コンポーネント | コンポーネント |
|---|---|---|---|
| アパッシュ | harfbuzz | miniupnpd | redis |
| AppArmor | hdparm | mit_kerberos | rngd |
| アスタリスク | heimdal | mosquitto | rngtest |
| atftp | hostapd | msmtp | rp_pppoe |
| avahi_daemon | i2c-tools | mstpd | サンバ |
| avahi-autoipd | iperf3 | mtd-utils | setserial |
| axios | iproute2 | ナノ | sqlite |
| backbonejs | ipset | ncurses | ssmtp |
| Bash | iptables | ネオン | strace |
| bftpd | ヤンソン | netatalk | strongswan |
| binutils | jQuery | netkit_telnetd | stunnel |
| 鳥 | json-c | netsnmp | sudo |
| bluetoothd | リブアーカイブ | nettools | tcpdump |
| ボア | リブキャップ | nginx | uclibc |
| bridge-utils | libcurl | nss | アンダースコアJS |
| busybox | dhcpd | openldap(オープンLDAP) | usbutils |
| bzip2 | dhcpcd | openssh | util_linux |
| カイロ | dmidecode | openssl (オープンソースの暗号化ツール) | vim(テキストエディタ) |
| cifs-utils | dnsmasq | openvpn | vsftpd |
| chrony | dpkg | openvswitch | vuejs |
| codesys | dropbear | p7zip | wget |
| conntrack-tools | e2fsprogs | pango | ワイヤレスツール |
| coreutils | ebtables | pcre | wolfssl |
| cryptsetup | EEPROG | pcre2 | wpa_supplicant |
| カップ | 要素 | perl | xinetd |
| DAVFS2 | ethtool | php | xl2tpd |
| エクスファット | extJS | polarssl | xz-utils |
| ffmpeg | ファイル | ポートマップ | 縞馬 |
| fribidi | gdbserver | pppd | zeptojs |
| gdkpixbuf | glibc | プロコップス | zip |
| glibc | gmp | procps-ng | ジップクローク |
| gnutls | gpg | プロトブフ-C | ジップノート |
| GTK | libevent | Python | zlib |
| リブアーカイブ | libexpat | radvd | |
| リブキャップ | libgcrypt | readline | |
| libcurl | libidn | redis | |
| libevent | libjpeg-turbo | rngd | |
| libexpat | liblzma | rngtest | |
| libgcrypt | libmicrohttpd | サンバ | |
| libidn | libpcap | setserial | |
| libjpeg-turbo | libpng | sqlite | |
| liblzma | libsoup | ssmtp | |
| libmicrohttpd | libvorbis | strace | |
| libpcap | libxml2 | strongswan | |
| libpng | lighttpd | stunnel | |
| libsoup | lodash | sudo |
ファームウェア分析の Azure CLI と PowerShell のドキュメントはどこにありますか?
Azure CLI コマンドのドキュメントはこちら、Azure PowerShell コマンドのドキュメントはこちらにあります。
Azure CLI のクイック スタートについてはこちらを、Azure PowerShell のクイック スタートについてはこちらを参照してください。 ファームウェア イメージをアップロードし、分析するため、SDK を使用して Python スクリプトを実行する方法については、Phthon を使用してファームウェアをアップロードする方法に関するクイックスタートを参照してください。
UEFI (Unified Extensible Firmware Interface) ファームウェア分析はサポートされていますか?
Yes. UEFI ファームウェア分析は、 一般公開 (GA) 機能と プレビュー 機能の組み合わせでサポートされています。
UEFI ファームウェア分析で一般提供されているもの
ファームウェア分析では、UEFI ファームウェアに埋め込まれた暗号化マテリアルを検出および分析するための GA サポート が提供されます。次に例を示します。
- 暗号化証明書
- 暗号化キー
これらの機能は安定しており、UEFI ファームウェアで完全にサポートされていると見なされます。
プレビュー段階ではどのような UEFI 分析機能がありますか?
現在、次の UEFI 分析機能は プレビュー で提供されており、対象範囲が限られている可能性があります。
- SBOM と弱点のシグナル (制限付き OpenSSL 検出と CVE の関連付け)
- バイナリセキュリティ強化属性 (NX/DEP の検出がサポートされています)
- エクストラクター パスの機能強化
プレビュー結果は、脆弱性や保護の保証ではなく、 セキュリティシグナルとして解釈する必要があります。
UEFI ファームウェアの分析機能、制限事項、結果の解釈方法の詳細については、「 UEFI ファームウェア分析の機能と制限事項について」を参照してください。
なぜ安全でない関数呼び出しの結果が見当たらないのでしょうか?
結果が空だからといって、ファームウェアに危険な関数呼び出しがないわけではありません。 以下の場合、結果が見られないことがあります:
- ファームウェアイメージにはサポートされたELFユーザースペース実行ファイルは含まれていません。
- 抽出された実行ファイルはサポートされていないプロセッサアーキテクチャを使用しています。
- 静的またはストリップされたバイナリは、関数参照を特定するのに十分な情報を保持しません。
- 抽出されたファイルはLinuxカーネルモジュール(
.ko)で、この分析には含まれていません。 - ファームウェアイメージは、安全でない関数呼び出し解析が利用可能になる前に分析されました。
- 抽出や分析は成功しなかった。
現在の解析を受け取るために、古いファームウェアイメージを再度アップロードしてください。 サポートアーキテクチャ、バイナリ要件、結果の解釈に関するガイダンスについては、「 安全でない関数呼び出しデータの理解」を参照してください。