5章セキュリティ記述子
前の章では、SRMがユーザーを識別するために用いる、セキュリティアクセストークンについて解説しました。この章では、セキュリティ記述子がどのようにリソースのセキュリティ設定を定義しているのかについて解説します。セキュリティ記述子には様々な役割があります。セキュリティ記述子はリソースの所有者を指定し、SRMにより自身のデータにアクセスするユーザーに特定の権限を付与できるようにします。また、ユーザーやグループからのアクセスを制御するDAC(Discretionary Access Control:随意アクセス制御)とMAC(Mandatory Access Control:強制アクセス制御)を定義します。そして、監査ログを生成するための情報が含まれています。ほぼすべてのカーネルリソースにセキュリティ記述子が定義されており、ユーザーモードアプリケーションはセキュリティ記述子を用いて、カーネルリソースを作成せずに個々のアクセス制御を実装できます。
Windowsのセキュリティ機構を理解する上で、セキュリティ記述子の構造の理解は重要です。セキュリティ記述子は、サービスに代表されるようなカーネルオブジェクトや、ユーザーモードコンポーネントの保護に用いられます。システム内部のリソースのみではなく、遠隔のリソースを保護するために、ネットワーク境界を越えて使用されるセキュリティ記述子も存在します。Windowsアプリケーションの開発やWindowsのセキュリティを研究していると、必然的にセキュリティ記述子を検査したり作成したりする必要が出てきます。まずはセキュリティ記述子の構造について詳しく解説しましょう。
5.1 セキュリティ記述子の構造
Windowsはセキュリティ記述子をバイナリの構造体データとしてディスク上とメモリ上に格納しています。この構造体を手動で解釈するのは稀ですが、そこに含まれている情報を理解する価値はあります。セキュリティ記述子は以下の7つの要素で構成されています。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access