広告を閉じる

ソフトウェア開発ではメモリ エラーが最も深刻になる傾向があるため、最近 Google ではメモリ セキュリティが最優先事項となっています。実際、この領域の脆弱性が重大な脆弱性の大部分の原因となっていました。 Android昨年、Google が新しいネイティブ コードの大部分を作成するまでは AndroidC/C++ ではなく Rust プログラミング言語で。ソフトウェア大手は、システム内のメモリの脆弱性を軽減する他の手段のサポートに取り組んでおり、その 1 つはメモリ マーキングと呼ばれます。システムがサポートされているデバイス上 Android 14 この機能を切り替えることができる高度なメモリ保護と呼ばれる新しい設定がある可能性があります。

Memory Tagging Extension (MTE) は、Arm v9 アーキテクチャに基づくプロセッサの必須のハードウェア機能であり、詳細なメモリ タグ付け拡張機能を提供します。 informace メモリ破損を検出し、メモリ安全性エラーから保護します。 Google は次のように説明しています。「大まかに言うと、MTE は各メモリ割り当て/割り当て解除に追加のメタデータをタグ付けします。マーカーをメモリ位置に割り当てます。マーカーは、そのメモリ位置を参照するポインタに関連付けることができます。プロセッサは実行時に、読み取りと保存のたびにポインターとメタデータ タグが一致するかどうかを確認します。」

Google はソフトウェア スイート全体で MTE をサポートするよう取り組んでいます Android 長い間。に Androidu 12 では、Scudo メモリ アロケータと、互換性のあるデバイスでの XNUMX つの MTE 動作モード (同期モード、非同期モード、非対称モード) のサポートが追加されました。同社はまた、システム プロパティや環境変数を通じてシステム プロセスの MTE を有効にすることも可能にしました。アプリケーションは属性を介して MTE サポートを追加できます android:memtagモード。 MTE がプロセスに対して有効になっている場合 Androidu、Use-After-Free やバッファ オーバーフローなどのメモリ安全性エラーのクラス全体が、サイレント メモリ破損ではなくクラッシュを引き起こします。

Do Androidu 13 Google は、必要な MTE 動作モードをブートローダーに伝えるためのユーザースペース アプリケーション バイナリ インターフェイス (ABI) を追加しました。これを使用すると、デフォルトで MTE が有効になっていない互換性のあるデバイスで MTE を有効にすることができます。また、デフォルトで MTE が有効になっている互換性のあるデバイスで MTE を無効にするために使用することもできます。システム上で ro.arm64.memtag.bootctl_supported システム プロパティを「true」に設定する Android 13 は、ブートローダーが ABI をサポートしていることをシステムに伝え、また、開発者オプション メニューのボタンをアクティブにして、ユーザーが次回の再起動時に MTE を有効にできるようにしました。

V AndroidU 14 ただし、互換性のあるデバイスで MTE を有効にするには、開発者向けオプション メニューに飛び込む必要がある場合があります。デバイスが MTE サポート付きの Arm v8.5+ プロセッサを使用している場合、デバイス実装は、必要な MTE 動作モードをブートローダーに通信するための ABI をサポートし、新しい ro.arm64.memtag.bootctl_settings_toggle システム プロパティは「true」に設定されます。 、次に新しいページ 高度なメモリー保護 v 設定→セキュリティとプライバシー→追加のセキュリティ設定。このページは、新しい ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS アクションを通じて起動することもできます。

興味深いことに、Google Pixel 2 シリーズを駆動する Tensor G7 チップセットは Arm v8.2 プロセッサ コアを使用しているため、MTE はサポートされていません。今後の Google Pixel 8 シリーズが他の主力シリーズと同様に新しい Arm v9 コアを使用する場合 android電話機の場合、ハードウェアが MTE をサポートできる必要があります。ただし、「高度なメモリ保護」機能が安定版に反映されるかどうかには疑問が残ります。 Android14年に

今日最も読まれた記事

.