AppLocker・App Control for Business・Smart App Controlの知識マップ(知識グラフ)
type: Dataset
description: Windowsの実行制御は、警告するだけのSmartScreen、ユーザー・グループ単位で制御できるAppLocker、マシン全体に効くApp Control for Business、個人PCに自動で効くSmart App Controlの4つに分かれます。AppLockerとApp Controlは発行者・パス・ハッシュのルールで許可/拒否を判定し、マイクロソフトはセキュリティ機能として設計されたApp Controlの利用を推奨しています。配布側の対策の中心はコード署名で、DLLを含む全バイナリへの一貫した署名がなければ、更新のたびに発行者ルールが壊れたりハッシュルールが機能しなくなったりします。ブロックの有無はAppLockerイベントログとCodeIntegrity - Operationalログで確定でき、導入側はまず監査モードで一巡分のイベントを集めてから強制に切り替えるのが定石です。

AppLocker
type: Concept
definition: Windows 7で導入された実行制御機能。署名証明書の属性・ファイル属性・ハッシュ・パスに基づくルールを、コンピューター全体または特定のユーザー・グループに適用できる。セキュリティ機能としてのMSRCサービス基準は満たさない。
uses: 発行者ルール
uses: パスルール
uses: ハッシュルール
requires: Application Identityサービス(AppIDSvc)
configured by: グループポリシー
configured by: Microsoft Intune

App Control for Business(旧WDAC)
type: Concept
definition: Windows 10で「Device Guard」として登場した実行制御機能の現在の名称。ポリシーはマシン全体・全ユーザーに適用され、MSRCのサービス基準を満たすセキュリティ機能として設計されている。
alternative label: WDAC
alternative label: Windows Defender Application Control
alternative label: 構成可能なコード整合性
alternative label: Device Guard
uses: 発行者ルール
uses: パスルール
uses: Intelligent Security Graph(ISG)
succeeds: AppLocker
configured by: Microsoft Intune

発行者ルール
type: Concept
definition: コード署名証明書の発行者情報(サブジェクト・証明書チェーン)を根拠にするAppLocker/App Controlのルール。署名されていればバージョンを問わず許可でき、更新に耐える。
alternative label: 署名者ルール
alternative label: Publisherルール
incompatible with: ECC(楕円曲線)署名
requires: コード署名証明書

パスルール
type: Concept
definition: ファイルのインストール先パスを根拠にするAppLocker/App Controlのルール。通常、ユーザーが書き込めるパスは許可しない前提で設計される。
not recommended for: 書き込み可能フォルダでの実行

ハッシュルール
type: Concept
definition: ファイルのハッシュ値を根拠にするAppLocker/App Controlのルール。更新のたびにハッシュが変わるため、自動更新のある配布物では壊れやすい。

マネージドインストーラー
type: Concept
definition: App Controlのルールの根拠の1つ。IntuneやConfiguration Managerなどの配布エージェントを管理者が明示的に構成すると、そのインストーラー経由で入ったバイナリを許可できる。
alternative label: Managed Installer

Intelligent Security Graph(ISG)
type: Concept
definition: マイクロソフトのクラウド評価情報。App Controlのルールの根拠の1つとして利用できる。
alternative label: ISG

Application Identityサービス(AppIDSvc)
type: Concept
definition: AppLockerのルール評価を担うWindowsサービス。これが動いていないとAppLockerのポリシーは評価されず、監査モードでもイベントが出ない。
alternative label: AppIDSvc
broader: windows-service

Windows Update
type: Concept
definition: Microsoftが更新プログラムを配信するオンラインサービス。

Microsoft Intune
type: Concept
definition: クラウドからPC・モバイルデバイスを管理するMicrosoftのMDMサービス。
alternative label: Intune

グループポリシー
type: Concept
definition: Active Directoryドメイン環境でWindowsの設定を集中構成する仕組み。
alternative label: GPO
alternative label: Group Policy

Smart App Control
type: Concept
definition: Windows 11の個人利用者向け保護機能。クラウドの評価とアプリの署名の有無を確認し、悪意があると判定されたアプリや信頼を確認できない未署名アプリをブロックする。
alternative label: SAC

コード署名証明書
type: Concept
definition: ソフトウェアの発行元を証明し、改ざんを検出するための証明書。
alternative label: Authenticode証明書

ECC(楕円曲線)署名
type: Concept
definition: 楕円曲線暗号アルゴリズムによるコード署名。Smart App Controlの署名チェックおよびApp Controlの署名者ベースのルール(RSA最大4096ビットのみ対応)はいずれも非対応。
alternative label: ECDSA署名

HSM/トークンでの秘密鍵保管
type: Concept
definition: 2023年6月1日以降のCA/Browser Forum基準により、コード署名証明書の秘密鍵をFIPS 140-2レベル2相当以上のハードウェア(HSMやUSBトークン)で生成・保管することを義務付けたもの。
alternative label: FIPS 140-2レベル2

コード署名のタイムスタンプ
type: Concept
definition: 署名時刻をRFC 3161タイムスタンプサーバーで証明する付与情報。証明書の期限が切れても署名の有効性を保つ。
alternative label: RFC 3161タイムスタンプ
mitigates: 証明書の期限切れ

証明書の期限切れ
type: Concept
definition: 証明書の有効期間(NotAfter)を過ぎて検証に失敗する状態。
alternative label: 有効期限切れ

未署名バイナリ
type: Concept
definition: コード署名が付いていない実行ファイル・DLL・インストーラー。Smart App Controlや発行者ルール運用下ではそれだけでブロック対象になり得る。
alternative label: 未署名の実行ファイル

実行制御によるアプリ起動失敗
type: Concept
definition: AppLocker・App Control・Smart App Control・SmartScreenのいずれかによって、業務アプリがエラーダイアログなしに起動を止められる事象。
verified by: AppLockerイベントログ
verified by: CodeIntegrity - Operationalログ

Windows SmartScreen
type: Concept
definition: 評判の悪いファイルを警告する仕組み。既定ではユーザーが突破できるが、管理ポリシーで突破自体を禁止すると実質的にブロックとして働く。
alternative label: SmartScreen

AppLockerイベントログ
type: Concept
definition: AppLockerによるexe/DLL/スクリプト/MSI/パッケージアプリの許可・監査・ブロックが記録されるイベントログ群。イベント8004(exe/DLLブロック)・8007(スクリプト/MSIブロック)が中心。
alternative label: EXE and DLLログ
alternative label: MSI and Scriptログ

CodeIntegrity - Operationalログ
type: Concept
definition: App Controlによるexe・DLL・ドライバーのブロックが記録されるイベントログ。イベント3077(強制時ブロック)・3076(監査時ブロック)・3089(署名情報)が中心。

制約付き言語モード(Constrained Language Mode)
type: Concept
definition: WDAC(App Control for Business)やAppLockerなど、許可リスト方式のアプリケーション制御ポリシーに合わないPowerShellスクリプトが、完全停止ではなく制限された状態で実行されるモード。.NETオブジェクトの生成が広く制限される。
alternative label: Constrained Language Mode

監査モード
type: Concept
definition: ブロックせずに「強制していたらブロックされていたもの」だけを記録するAppLocker/App Controlの運用モード。強制切り替え前に一巡分のイベントを集めるために使う。
alternative label: Audit Mode
alternative label: 監査のみ
should precede: AppLocker
should precede: App Control for Business(旧WDAC)

書き込み可能フォルダでの実行
type: Concept
definition: 自己解凍アーカイブや一時フォルダへの展開など、ユーザーが書き込めるパスで実行ファイルを動かす設計。パスルール型の実行制御と根本的に相性が悪い。
alternative label: %TEMP%展開実行

subject: AppLocker
predicate: uses
object: 発行者ルール
description: AppLockerは署名証明書の属性(発行者)に基づく発行者ルールでルールを定義できる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: AppLocker
predicate: uses
object: パスルール
description: AppLockerはファイルのパスに基づくパスルールでルールを定義できる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: AppLocker
predicate: uses
object: ハッシュルール
description: AppLockerはファイルのハッシュに基づくハッシュルールでルールを定義できる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: uses
object: 発行者ルール
description: App Controlのルールの根拠には署名証明書の属性が含まれる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: uses
object: パスルール
description: App ControlはWindows 10 1903以降、ファイルのパスをルールの根拠にできる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: uses
object: マネージドインストーラー
description: App Controlはインストールを開始したプロセス(マネージドインストーラー)をルールの根拠にできる。managed installerポリシーを構成した場合に限る
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent

subject: App Control for Business(旧WDAC)
predicate: uses
object: Intelligent Security Graph(ISG)
description: App ControlはマイクロソフトのIntelligent Security Graph(ISG)による評価をルールの根拠にできる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: AppLocker
predicate: requires
object: Application Identityサービス(AppIDSvc)
description: AppLockerのポリシーはApplication Identityサービス(AppIDSvc)が動いていないと評価されず、監査モードでもイベントが出ない
evidence: requirements-to-use-applocker
verified at: 2026-08-01
certainty: established

subject: AppLocker
predicate: requires
object: Windows Update
description: KB 5024351の適用により、Windows 10 バージョン2004以降とすべてのWindows 11でAppLockerポリシーの強制に特定のエディションが不要になった
evidence: requirements-to-use-applocker
verified at: 2026-08-01
certainty: context-dependent

subject: App Control for Business(旧WDAC)
predicate: succeeds
object: AppLocker
description: マイクロソフトはApp Controlで実装できるならAppLockerではなくApp Controlを使うべきとしており、App Controlは改善が続く一方AppLockerは新機能を追加されていない
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: configuredBy
object: Microsoft Intune
description: App ControlポリシーはIntuneなどのMDMで配布・適用できる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: configuredBy
object: グループポリシー
description: App Controlはグループポリシーでも配布できるが、Windows Server 2016/2019で動くシングルポリシー形式に限られる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent

subject: AppLocker
predicate: configuredBy
object: グループポリシー
description: AppLockerポリシーはグループポリシー管理エディターで構成・配布できる
evidence: requirements-to-use-applocker
verified at: 2026-08-01
certainty: established

subject: AppLocker
predicate: configuredBy
object: Microsoft Intune
description: AppLockerポリシーはMDM(Intune等)配布でも構成でき、古いバージョンのWindowsでも全エディションで強制がサポートされる
evidence: requirements-to-use-applocker
verified at: 2026-08-01
certainty: established

subject: Smart App Control
predicate: requires
object: コード署名証明書
description: Smart App Controlのブロックを避けるために、マイクロソフトは有効な証明書でアプリに署名することを開発者向けの案内として挙げている
verified at: 2026-08-01
certainty: context-dependent

subject: Smart App Control
predicate: incompatibleWith
object: ECC(楕円曲線)署名
description: Smart App Controlが署名を根拠にアプリの可否を判定する場合、楕円曲線暗号(ECC)の署名には対応しておらず、RSAベースの証明書で署名されたアプリだけが許可の対象になる。クラウドの評判評価など署名以外を根拠にした判定はこの制限を受けない
evidence: code-signing-for-smart-app-control
verified at: 2026-08-01
certainty: context-dependent

subject: 発行者ルール
predicate: incompatibleWith
object: ECC(楕円曲線)署名
description: 署名者ベースのルール(発行者ルール)はRSA(最大4096ビット)のみ対応で、ECDSA署名のファイルは発行者ルールで許可できない(署名情報イベントにVerificationError=23が出る)
evidence: select-types-of-rules-to-create
verified at: 2026-08-01
certainty: established

subject: 発行者ルール
predicate: requires
object: コード署名証明書
description: 発行者ルールは署名メタデータ(発行者・製品名・ファイル名・バージョン)を根拠にするため、対象バイナリへのコード署名が前提になる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: コード署名証明書
predicate: requires
object: HSM/トークンでの秘密鍵保管
description: 公的に信頼されるCAが発行するコード署名証明書(OV・EV)については、2023年6月1日以降、CA/Browser Forumの基準により秘密鍵をFIPS 140-2レベル2相当以上のハードウェアで生成・保管することが必須になった。自己署名証明書や社内プライベートCAが発行する証明書はこの基準の対象外で、秘密鍵をソフトウェアで保管することもできる
evidence: requirements
verified at: 2026-08-01
certainty: context-dependent

subject: コード署名証明書
predicate: uses
object: コード署名のタイムスタンプ
description: 証明書の有効期限が切れても署名の有効性を保ちたい場合、signtoolでの署名時にRFC 3161タイムスタンプサーバーを指定し、署名にタイムスタンプを付ける
evidence: requirements
verified at: 2026-08-01
certainty: context-dependent

subject: コード署名のタイムスタンプ
predicate: mitigates
object: 証明書の期限切れ
description: タイムスタンプは証明書の期限切れそのものを止めるわけではないが、署名時点で証明書が有効だったことを証明するため、期限切れ後も署名の有効性が保たれる。期限切れが署名に及ぼす影響を打ち消す
evidence: requirements
verified at: 2026-08-01
certainty: established

subject: 未署名バイナリ
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: 未署名のバイナリは、発行者ルール運用の環境やSmart App Controlの評価でブロック対象になり得る
verified at: 2026-08-01
certainty: context-dependent

subject: 未署名バイナリ
predicate: incompatibleWith
object: Smart App Control
description: 有効な署名がなく信頼を確認できないアプリは、Smart App Controlの既定の動作でブロックされ得る
verified at: 2026-08-01
certainty: context-dependent

subject: AppLocker
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: 許可リスト型の運用では、どの許可ルールにも一致しないアプリは暗黙にブロックされる
evidence: using-event-viewer-with-applocker
verified at: 2026-08-01
certainty: context-dependent

subject: App Control for Business(旧WDAC)
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: ポリシーの許可ルールに一致しないexe・DLL・ドライバーは強制モードでブロックされる
evidence: event-id-explanations
verified at: 2026-08-01
certainty: context-dependent

subject: Smart App Control
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: クラウド評価で悪意があると判定されたアプリや、信頼を確認できない未署名のアプリは自動でブロックされる
verified at: 2026-08-01
certainty: context-dependent

subject: Windows SmartScreen
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: 警告の突破自体を禁止する管理ポリシーが有効な環境では、SmartScreenも実質的にブロックとして働く
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent

subject: 実行制御によるアプリ起動失敗
predicate: verifiedBy
object: AppLockerイベントログ
description: AppLockerによるブロックは「AppLocker - EXE and DLL」ログのイベント8004、スクリプト・MSIは「AppLocker - MSI and Script」ログの8007で確認できる
evidence: using-event-viewer-with-applocker
verified at: 2026-08-01
certainty: established

subject: 実行制御によるアプリ起動失敗
predicate: verifiedBy
object: CodeIntegrity - Operationalログ
description: App Controlによるブロックは「CodeIntegrity - Operational」ログのイベント3077と、対応する署名情報の3089で確認できる
evidence: event-id-explanations
verified at: 2026-08-01
certainty: established

subject: App Control for Business(旧WDAC)
predicate: mayCause
object: 制約付き言語モード(Constrained Language Mode)
description: ポリシーに合わないPowerShellスクリプトは完全に止まるのではなく、制約付き言語モードで実行される
evidence: event-id-explanations
verified at: 2026-08-01
certainty: context-dependent

subject: 監査モード
predicate: shouldPrecede
object: AppLocker
description: AppLockerの強制切り替え前に、監査モード(イベント8003・8006)で業務が一巡するまでブロック相当の記録を集めるべき
evidence: using-event-viewer-with-applocker
verified at: 2026-08-01
certainty: established

subject: 監査モード
predicate: shouldPrecede
object: App Control for Business(旧WDAC)
description: マイクロソフトは新しいApp Controlポリシーをまず監査モード(ルールオプション3)で検証することを推奨している
evidence: select-types-of-rules-to-create
verified at: 2026-08-01
certainty: established

subject: マネージドインストーラー
predicate: configuredBy
object: Microsoft Intune
description: 顧客側がIntune等の配布エージェントをマネージドインストーラーとして明示的に構成していれば、そのインストーラー経由のバイナリを許可できる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent

subject: 書き込み可能フォルダでの実行
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: %TEMP%や%APPDATA%へ展開して実行する設計は、パスルール型の許可範囲(Program Files等)の外で実行するためブロックされやすい
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent

subject: パスルール
predicate: notRecommendedFor
object: 書き込み可能フォルダでの実行
description: パスルールは通常、ユーザーが書き込めるパスを許可しない前提で設計されるため、書き込み可能フォルダでの実行はパスルール運用と根本的に相性が悪い
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: established

subject: ハッシュルール
predicate: mayCause
object: 実行制御によるアプリ起動失敗
description: ハッシュルール運用の環境では、自動更新で新バージョンに差し替わるたびにハッシュが変わり、更新後から起動しなくなる
evidence: appcontrol-and-applocker-overview
verified at: 2026-08-01
certainty: context-dependent