記事検索

検索ワードを入力してください。
Sky Tech Blog
ファイルや​フォルダに​設定された​「プロセス信頼ラベル」​セキュリティ

ファイルや​フォルダに​設定された​「プロセス信頼ラベル」​セキュリティ

Windowsのシステムや保護プロセスが持つセキュリティ設定「プロセス信頼ラベル」について解説します。プロパティ画面やコマンドでは確認できないこの設定の仕組みや、SIDの構造、整合性レベルとの関係をまとめています。

C:\Program Files\WindowsApps 配下の多くのフォルダやファイルには、目に見えないセキュリティ設定がかかっています。
フォルダのプロパティの[セキュリティ]タブで許可されているユーザーであっても、操作が「アクセス拒否」されてしまう場合があります。
管理者権限があるユーザーであっても、SYSTEMアカウントのサービスであっても、その「アクセス拒否」を免れることはできません。

そのセキュリティ設定とは、 「 プロセス信頼ラベル 」 です。
このセキュリティ設定は、プロパティ画面やicaclsなどのコマンド類で確認できません。

プロセス信頼ラベルは、オブジェクトのセキュリティ属性を格納している
SECURITY_DESCRIPTORの、以下の図の位置に配置されています。

プロセス信頼レベル_1.png

上記の図での「LABEL_SECURITY_INFORMATION」は「整合性レベル」であり、こちらはプロパティ画面の[セキュリティ]や、icacls コマンドで確認できるものです。
「プロセス信頼ラベル」はこれと並ぶ位置にあります。

「プロセス信頼ラベル」はACEに格納されています。
ACEの形式は、その他のACEと同じです。

typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE{
    ACE_HEADER Header;
    ACCESS_MASK Mask;
    DWORD SidStart;
}SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE;

ACE_HEADER の、AceTypeには、 SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE
が設定されています。

#define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE     (0x14)

ACEの要素にあるSIDは、タイプやレベルの高さを表す独特のSIDになっています。
S-1-19-XXX-YYYY
XXXの位置はタイプを表し、以下の種類があります。

0: None
512:Light
1024:Full

#define SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID           (000400L)
#define SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID           (000200L)
#define SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID           (000000L)

YYYYの位置はレベルを表し、以下の種類があります。

0:None
1024:Authenticode
1536:Antimalware
2048:App
4096:Windows
8192:WinTcb

#define SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID        (002000L)
#define SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID       (001000L)
#define SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID           (000800L)
#define SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID   (000600L)
#define SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID  (000400L)
#define SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID          (000000L)(000000L)

XXXもYYYYも、数値が大きい方が「強い」ことを意味します。
両方の値が小さいプロセスからのアクセスは、ACE内のACCESS_MASKで許可
された操作しか行えません。

なお、「プロセス信頼ラベル」を持っているのは、smss.exeやcsrss.exeなどのWindowsのシステムか、ウイルス対策ソフトなどの保護プロセスだけです。
それ以外のプロセスの「プロセス信頼ラベル」はありません。
つまり 「 S-1-19-0-0 」 と同等として扱われます。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム