XACE(X Access Control Extension)
LinuxカーネルのLSMをモデルにした、Xサーバ内部のアクセス制御フック。クライアントがウィンドウ、プロパティ、セレクション、拡張に触れるたびに、セキュリティモジュールが可否を判断する。
1996年のSECURITY拡張は、規則をサーバコードのあちこちに埋め込み、2つのクラスしかなく、それ以外を表現する手段がなかった。NSAのイーモン・ウォルシュは2005〜2007年にこれを、X Access Control Extensionとして書き直した。サーバが重要な操作の前に必ずフックを呼び、登録されたモジュールが許可または拒否する枠組みである。対象は、リソースへのアクセス、プロパティの読み取り、グラブ、拡張へのリクエスト、スクリーンセーバの変更、クライアントの接続などだ。枠組み自体は何も決めない。2007年ごろにX.Orgサーバへ取り込まれ、SECURITYはその上のモジュールとして作り直されて、動作を変えずに単純になった。
目的はXSELinuxだった。翌年にこのモジュールで、SELinuxのポリシーをXの中まで届かせられるようになった。ウィンドウ、プロパティ、セレクションにセキュリティラベルが付き、低い機密区分のプログラムは、高い区分のプログラムのクリップボードやキーボードを読めなくなる。政府の多段階セキュリティ向けデスクトップのために作られ、そこから広がらなかった。Fedoraはほぼポリシーなしでモジュールを同梱し、ほとんどのディストリビューションは有効にしなかった。一般ユーザーにプログラム間の分離がようやく届いたのはWaylandとともにで、そもそも共有を許さないことで問題を解決した。