W^X メカニズム (続き) ページ単位 X ビットをサポートする CPU で W^X に 移行する手順の要約 : sigtramp をスタックから分離する GOT/PLT を書き込み不可にする (自身のページに移動させる) dtor/ctor を書き込み不可にする (その他のページに移動させる) i386 で必要な手順 : コード セグメント制限を 512MB に設定する すべての実行可能な部分を下に移動し、すべての書き込み可能な 部分を上に移動する powerpc: i386 の場合と同様の手法が必要だが、より複雑であり、 まだ実装されていない 将来はカーネル内での W^X の使用が可能に? パフォーマンスの向上: アーキテクチャによっては処理速度が向上する (TLB カラーリングによる) セキュリティの強化: 部分的な W^X でもソフトウェアのバグを発見できる コストが非常に低い: すべての OS ベンダがコスト削減を目指すべきである