Appleプラットフォームのセキュリティ
メモリセーフなiBoot実装
iOS 14以降およびiPadOS 14以降では、セキュリティを向上させるために、iBootブートローダーのビルドに使用するCコンパイラツールチェーンを変更しました。変更されたツールチェーンは、通常はCプログラムで発生するメモリおよび型の安全性の問題を防止するように設計されたコードを実装します。例えば、以下のクラスでほとんどの脆弱性を防止します:
バッファオーバーフロー。すべてのポインタがメモリにアクセスするときに検証される境界情報を渡すことを保証することによって防止
ヒープの悪用。ヒープデータをそのメタデータから分離し、二重解放エラーなどのエラー状況を正確に検出することによって防止
型の取り違え。すべてのポインタがポインタキャスト演算中に検証されるランタイム型情報を渡すことを保証することによって防止
解放済みメモリの使用(use after free)エラーによって発生した型の取り違え。静的型によるすべての動的メモリ割り当てを分離することによって防止
このテクノロジーは、A13 Bionicチップ以降を搭載したiPhoneと、A14 Bionicチップ以降を搭載したiPadで使用できます。
フィードバックありがとうございます。