M7 および T7 SPARC プロセッサは、Silicon Secured Memory (SSM) という包括的機能の中のハードウェア機能である、Application Data Integrity (ADI) を備えています。ADI は、リニアバッファーオーバーフローやはぐれたポインタ間接参照など、ソフトウェアを悪用した脅威の防止に役立ちます。
adiheap セキュリティー拡張は、ADI チェックをサポートしているメモリーアロケータを制御できます。adiheap は、リニアバッファーオーバーフローに対する信頼性の高い防御を提供し、解放済みメモリー使用の問題に対する有効な軽減策を提供します。また、adiheap では、バイナリの動作にまだ影響を与えてはいないが、無害なコード変更によってトリガーされる可能性のある、小さな潜在的バグを発見することもできます。
また、標準 C ライブラリ (libc) の malloc 関数が、ADI 関数をサポートするように拡張されています。システムで ADI がサポートされていないか、または adiheap が無効になっている場合、malloc メモリー割り当ては影響を受けません。
バイナリの adiheap を有効にするには、バイナリにタグ付けするか、sxadm exec コマンドを使用してバイナリを実行します。sxadm コマンドを使用して、システムの adiheap を有効にすることもできます。
アプリケーションが ADI 対応のアロケータをサポートしているかどうかをテストするには、次のようなコマンドを発行します。
# sxadm exec -s adiheap=enable application