BMCファームウェアの脆弱性がOT/IoT デバイスのセキュリティに影響 - パート1

BMCファームウェアの脆弱性がOT/IoT デバイスのセキュリティに影響 - パート1

この1年間、Nozomi Networks Labsはベースボード管理コントローラ(BMC)のセキュリ ティについて、特にOT 、IoT デバイスに焦点を当てた調査を実施してきた。このブログシリーズのパート1では、American Megatrends(AMI)MegaRAC SP-XベースのLannerデバイスのBMCに影響する13の脆弱性を明らかにします。これらの脆弱性を悪用することで、未認証の攻撃者はBMC上でroot権限によるリモート・コード実行(RCE)を達成し、BMCを完全に侵害し、管理対象ホストを制御できるようになる可能性があります。調査中、パッチ適用がまだ進行中であるため、現時点では公開できない他の脆弱性も発見しました。これらの脆弱性については、次のブログ記事で取り上げる予定です。

私たちの議論は、BMCの紹介と発見された脆弱性の説明から始まります。そして、攻撃者がどのようにこれらの問題を悪用して最終的にデバイスを危険にさらすことができるかの例を提供し、最後に資産所有者が実施できる改善策について説明します。

ベースボード管理コントローラ(BMC) 101

ベースボード管理コントローラ(BMC)は、コンピュータのリモート監視・管理用に設計された補助的なシステムオンチップです。この専用ネットワーク・インターフェースと重要なハードウェア・コンポーネント(マザーボード・チップセットなど)との緊密な結合により、BMCは、ブートストラップからのキーボードとマウスの操作、システム電源の制御、BIOSファームウェアのリフラッシュなど、完全にリモートの低レベルのシステム操作を実行できます。

以前は、BMCはITサーバーのマザーボードにしか見られなかったが、現在ではベンダーがBMCの範囲を運用技術(OT)やモノのインターネット(IoT)分野にまで広げている。そのようなベンダーの1つが、組み込みアプリケーションに特化した台湾のブランドであるLanner Inc.である。注目すべきは、調査中に、LannerのアプライアンスでBMC機能を実現する拡張カード、LannerIAC-AST2500Aを分析したことだ。IAC-AST2500Aのファームウェアは、American Megatrends (AMI)MegaRAC SP-Xソリューションに基づいており、Asus、Dell、Gigabyte、HP、Lenovo、nVidiaなどのブランドでも利用されている一般的なBMCファームウェアである。

利用可能なネットワーク・サービスのうち、拡張カードはウェブ・アプリケーションを備えており、ユーザーはBMC本体だけでなく、管理対象ホストを完全に制御することができます。図 1 にインターフェイスのスクリーンショットを示します。

Lanner IAC-AST2500AのWebインターフェース
図 1.Lanner IAC-AST2500Aのウェブインターフェースのスクリーンショット

脆弱性の発見

IAC-AST2500AのWebインタフェースを解析した結果、以下の13件の脆弱性が見つかりました:

  • CVSS v3.1 10(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
  • CVE-2021-26728: spx_restservice KillDupUsr_func コマンドインジェクションとスタックベースのバッファオーバーフロー、CVSS v3.1 10 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
  • CVSS v3.1 10(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
  • CVE-2021-26730: spx_restservice Login_handler_func サブファンクション スタックベースのバッファオーバフローCVSS v3.1 10(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
  • CVE-2021-26731: spx_restservice modifyUserb_func コマンドインジェクションと複数のスタックベースのバッファオーバーフロー、CVSS v3.1 9.1(CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H)
  • CVE-2021-26732: spx_restservice First_network_func アクセス制御の不具合、CVSS v3.1 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L)
  • CVE-2021-26733: spx_restservice FirstReset_handler_func アクセス制御の誤り、CVSS v3.1 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L)
  • CVE-2021-44776: spx_restservice SubNet_handler_func のアクセス制御の誤り、CVSS v3.1 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L)
  • CVE-2021-44467: spx_restservice KillDupUsr_func のアクセス制御の不具合、CVSS v3.1 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L)
  • CVE-2021-44769:TLS 証明書生成機能の不適切な入力検証、CVSS v3.1 4.9 (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H)
  • CVE-2021-46279:セッションの固定化およびセッションの有効期間不足、CVSS v3.1 5.8 (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L)
  • CVE-2021-45925:ユーザ名列挙、CVSS v3.1 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
  • CVE-2021-4228:ハードコードされた TLS 証明書、CVSS v3.1 5.8 (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L)

これらの脆弱性は、バージョン1.00.0で見つかったCVE-2021-4228を除き、Lanner IAC-AST2500の標準ファームウェアのバージョン1.10.0に影響します。

攻撃チェーンの例:CVE-2021-44467 と CVE-2021-26728

CVE-2021-44467およびCVE-2021-26728は、認証されていない攻撃者がBMC上でroot権限によるリモートコード実行(RCE)を実現する可能性のある攻撃チェーンについて記述しています。ログイン・プロセス中、ウェブ・アプリケーションは、確認ダイアログを通じて、ユーザがログインしたアカウントの他のアクティブなセッションを終了したいかどうかを尋ねます(図2)。

図2.ログインしたアカウントで他のアクティブなセッションを終了させる

この機能は、"/api/KillDupUsr "への認証されたPOSTリクエストによって実装され、最終的に "spx_restservice "の "KillDupUsr_func "関数によって処理される。この関数は図3のように始まる。

図 3 CVE 2021 44467

POSTリクエストにはQSESSIONIDクッキーが含まれていますが、この関数はユーザーセッションの検証チェックを行いません。この欠陥は、認証されていない攻撃者が他のユーザのアクティブなセッションを任意に終了させ、サービス拒否(DoS)状態を引き起こすことを可能にする(CVE-2021-44467)。解析を進めることで、さらなる問題を観察することができる(図 4)。

図4.KillDupUsr_funcのCVE-2021-26728

41行目で "strcat "が呼び出され、外部から制御可能なHTTPパラメータ "username "の値を含む "v9 "の内容が、固定サイズのバッファである "dest "にコピーされる。この命令を実行する前に "v9 "の長さをチェックしないため、スタック・ベースのバッファ・オーバーフローが発生する。

46行目では、"dest "を引数として "safe_system "が呼び出されている。この名前にもかかわらず、デバイスで実行される文字列(例えばサブシェルコマンド)に任意の OS コマンドを注入することが可能であることが判明し、コマンドインジェクション(CVE-2021-26728)につながった。また、デバイス上のすべてのプロセスが root 権限で実行されることを考慮すると、この弱点を組み合わせることで、認証されていない攻撃者が BMC と管理対象ホストの両方を完全に侵害することが可能になります。

修復  

責任ある開示プロセスを通じてすべての脆弱性をLannerと共有した後、ベンダーは、このブログで説明されているすべての問題を解決するIAC-AST2500A用の更新されたBMCファームウェアバージョンを開発しました。したがって、Lannerのお客様には、適切なパッケージを受け取るためにテクニカルサポートに連絡することをお勧めします。

資産所有者がアプライアンスにパッチを当てることができない場合は、ファイアウォールまたはネットワークアクセス制御ルールを適用して、ウェブインタフェースへのネットワークアクセスを信頼できる担当者のみに制限するか、侵入検知システムを通じてネットワークトラフィックを積極的に監視することをお勧めします。

概要  

BMCは、OT/IoT 、IT部門においても、物理的なアクセスを必要とせずにコンピュータ・システムを便利に監視・管理する魅力的な方法である。とはいえ、その使いやすさの代償として攻撃対象が広がり、BMCが適切に保護されなければ、全体的なリスクの増大につながる可能性がある。このブログでは、OT およびIoT デバイスの BMC に関する分析の最初の結果を紹介し、13 の脆弱性について議論した。

私たちの評価中、さらなる脆弱性が発見されましたが、これらはまだ修正中であり、後日公開される予定です。読者の皆様には、Nozomi Networks Labsのページを定期的に監視し、残りの問題について説明するフォローアップのブログ記事のリリースを確認されることをお勧めします。