BadAlloc: マイクロソフトは多数のデバイスのメモリ割り当てコードを調べ、共通のセキュリティ上の欠陥を発見した。

Table of Contents

BadAlloc: マイクロソフトは多数のデバイスのメモリ割り当てコードを調べ、共通のセキュリティ上の欠陥を発見した。

更新されたMicrosoft は、産業用制御システムから医療機器まで、幅広い機器で使用されているメモリ管理コードを調査した結果、デバイスの乗っ取りに悪用される可能性があることを発見しました。

Windowsの巨人である同社は、セキュリティホールを修正した最新のファームウェアリリースを入手し、可能であればテストと導入を行うよう呼びかけています。もしそれができない場合は、ネットワーク上のデバイスをセグメント化し、監視し、アクセスを制限するなどの対策を講じることで、セキュリティ侵害が発生した場合の被害を軽減してください。

核心に迫る: Microsoft の Azure Defender for IoT セキュリティ研究グループは、malloc()組み込み電子機器 (モノのインターネット (IoT) デバイス、産業用制御システム、いわゆる運用技術 (OT)) を対象としたリアルタイム オペレーティング システム、標準 C ライブラリ、ソフトウェア開発キットによって提供される などのメモリ割り当て関数を調査しました。

チームは、多くのソフトウェアに共通するプログラミングミスを発見しました。それは、ヒープメモリ割り当て時の整数オーバーフローです。これは、攻撃者が通常は悪意のあるデータ入力を介して、アプリケーションコードを騙し、バッファにさらに入力される情報を保持するための非常に大きなメモリ割り当てを行わせることで発生します。

問題は、脆弱なメモリアロケータが、例えば0xffffffff32ビット組み込みシステム上で、その大きなサイズ(例えば8バイト)をメモリブロックに割り当て、それに8バイト程度を加算してしまう可能性があることです。これは、要求されたメモリブロックを記述するには8バイトのメタデータが必要だからです。するとサイズは7にオーバーフローし、アロケータは要求されたバッファ用に7バイトのメモリ領域を見つけます。

アロケータは、その小さな領域へのポインタをアプリケーションに返します。アプリケーションは、巨大なリクエストに対する割り当てが成功したと想定し、攻撃者からの7バイトをはるかに超えるデータをバッファにコピーします。これにより、アプリケーションはメモリ割り当てのメタデータ、構造体、およびコンテンツを上書きします。こうして、データを送信した攻撃者は、関数ポインタを上書きしたり、その他の値を書き換えたりすることで、システムを完全に制御できるようになります。

病院にいる​​女性(病院のガウンを着ている)が手で顔を覆っている

最新の実世界分析で、モノのインターネットはセキュリティ上の悪夢であることが明らかになりました。暗号化されていないトラフィック、ネットワークのクロスオーバー、脆弱なOSなどです。

続きを読む

割り当てはサイズが大きいため失敗するはずですが、整数オーバーフローによって部分的に成功し、悪用可能な形で攻撃者を攻撃します。これを実行するには、攻撃者はアプリケーションにデータ(ファイル、ネットワークトラフィックなど)を供給し、ヒープメモリの巨大なブロックを割り当てさせる必要があります。アプリケーションコードが過大なサイズの割り当てをトラップできれば理想的ですが、いずれにせよ、MicrosoftはOSレベルおよびライブラリレベルのコードもオーバーフローによって割り当てを成功させていることを発見しました。

整数オーバーフローのバグは、組み込みアプリケーションの不十分なデータサニタイズを悪用してリモートコード実行を企む者にとって、強力な足掛かりとなるだろうと我々は考えています。しかし、今のところそのような攻撃は誰も成功していないと聞いています。

「IoTおよびOTデバイスの普及を考慮すると、これらの脆弱性が悪用された場合、あらゆる種類の組織にとって重大な潜在的リスクとなる」とマイクロソフト セキュリティ レスポンス センターのチームは勧告に記している。

現時点では、マイクロソフトはこれらの脆弱性が悪用された兆候を確認していません。しかしながら、組織の皆様には、できるだけ早くシステムにパッチを適用することを強くお勧めします。

マイクロソフトはこれらの脆弱性が悪用された兆候は確認していない。

同時に、IoT/OTデバイスへのパッチ適用は複雑になる可能性があることを認識しています。すぐにパッチを適用できないデバイスについては、脆弱なデバイスのインターネットへの露出を最小限に抑える、または完全に排除することで攻撃対象領域を縮小する、ネットワークセキュリティ監視を実装して侵害の兆候となる行動を検出する、重要な資産を保護するためにネットワークセグメンテーションを強化するなどの対策を推奨します。

何が影響を受けるのでしょうか?いい質問ですね。米国政府のサイバーセキュリティ・インフラセキュリティ庁(CISA)が概要をこちらに掲載しています。ArmのMbed OS、AmazonのFreeRTOS、Google CloudのIoTデバイスSDK、Red Hatのnewlib、WindriverのVxWorksなど、25種類のソフトウェアがリストされており、これらはすべて多くの機器で使用されています。

これら脆弱性のほとんどは、悪用するために必要な手順のため、CVSS の重大度が 10 点満点中 7.3 程度ですが、newlib の CVE-2021-3420 は 9.8 です。

CISA はまた、欠陥を発見して報告してくれた Microsoft の David Atch、Omri Ben Bassat、および Tamir Ariel にも感謝の意を表した。

バグのあるオペレーティング システムに慣れ親しんでいる Microsoft が、本日ここでその勧告を共有しました。®

8月17日追記更新

BlackBerry の QNX 6.5.0SP1、QNX OS for Safety 1.0.2、QNX OS for Medical 1.1.1 が脆弱なオペレーティング システムのリストに追加され、更新が利用可能になっていることに注意してください。

Discover More