March 2025
Intermediate to advanced
616 pages
10h 34m
Japanese
これまで、SRMにとって重要な2つの構成要素である、セキュリティアクセストークンとセキュリティ記述子について説明しました。この章では、最後の構成要素であるアクセス検証処理について解説します。アクセス検証処理では、トークンとセキュリティ記述子を一定の規則に基づいて検証し、アプリケーションに対してリソースへのアクセスを許可するかどうかを決定します。
まずはアクセス検証のために呼び出せるAPIについて説明し、Windowsカーネル内部のアクセス検証の実装を深く掘り下げていきます。この検証がセキュリティ記述子とTokenオブジェクトの異なる部分をどのように処理し、最終的に許可するリソースへのアクセス権限をどのようにして決定するのかを詳しく解説します。解説の際には、基本的なアクセス検証処理をPowerShellスクリプトとして独自に実装して理解を深めていきます。
呼び出し元がリソースを開こうとすると、カーネルは呼び出し元の識別情報に基づいてアクセス検証を実行します。アクセス検証に使用されるAPIは、呼び出し元がカーネルモードかユーザーモードかによって異なります。まずはカーネルモードのAPIから説明しましょう。
カーネルモードでのアクセス検証処理はSeAccessCheck APIに実装されています。以下のパラメーターを受け取ります。
Read now
Unlock full access