Join our Newsletter — 33% off our NHI Course

What are common mistakes with Windows Integrity Levels?

Common mistakes with Windows Integrity Levels include assuming they are a full access control model, mislabelling processes, and expecting them to stop code already running at the same or higher level. Review token assignment, process inheritance and folder permissions, because integrity levels mainly constrain write access across trust boundaries rather than replace least privilege.

What Windows Integrity Levels do and do not protect

Windows Integrity Levels are a trust boundary marker, not a complete authorization system. The common mistake is treating them like a replacement for least privilege, NTFS permissions, or application control. They mainly affect whether a lower-trust process can write to a higher-trust object, so they reduce some classes of cross-boundary tampering without deciding everything a process may read, execute, or invoke.

That is why integrity levels need to be understood alongside token contents, user rights, process launch context, and object permissions. A process can still have broad access if those other controls are permissive, and a high integrity label does not automatically make a process trustworthy if it is already running untrusted code or inherited unsafe handles.

Review the model as a write barrier first. It helps answer “can this process modify that object?” more than “should this process be allowed to do this at all?” The Windows Endpoint Hardening Guide is useful here because it places integrity levels in the wider context of Windows hardening controls, including exploit mitigation, controlled folder access, and baseline configuration.

Why mislabelling processes creates false confidence

Another frequent mistake is assigning the wrong integrity level to a process and assuming the label itself fixes exposure. If a browser helper, updater, script host, or automation task runs at an unexpectedly high level, it may inherit enough authority to bypass the protection you thought you had. If it runs too low, it may break legitimate workflows and encourage people to add exceptions that weaken the boundary entirely.

Mislabelled processes are especially dangerous when the label hides where the actual trust decision happens. The process may launch with one label, inherit another token or handle set, and then interact with folders, registry areas, or child processes that have different expectations. Integrity levels do not repair a bad launch chain, and they do not compensate for overbroad folder ACLs or permissive token assignment.

That is why the right question is not “what label does this executable have?” but “what trust level does this execution path actually end up using?” In practice, that means checking process creation rules, parent-child inheritance, scheduled tasks, service wrappers, and any place where elevated or constrained context is passed forward.

When integrity levels fail to stop already-running code

A third common mistake is expecting integrity levels to stop code that is already executing at the same or higher level. Once malicious or abused code is running in a context with enough trust, the protection becomes much less useful against that code’s own actions. It can often read data, invoke tools, or spawn child activity within the authority it already has.

This is why integrity levels are not an endpoint against compromise, only one control in the chain. They are strongest at preventing lower-trust components from writing upward, not at undoing an existing compromise. If the attacker or unsafe script already has the same integrity level as the target object, the boundary may no longer be the control that matters most.

The practical lesson is to pair integrity levels with controls that limit initial execution, constrain what trusted processes can do, and reduce the blast radius of a successful launch. The Top 10 Endpoint Security Risks is a relevant companion because local admin exposure, credential theft, and tampering with defensive tooling are exactly the kinds of conditions that make integrity boundaries less effective.

Risk and Threat Considerations

Integrity levels reduce some write-up abuse, but they can create a false sense of containment if teams mistake them for full privilege management. The real risk is not the label itself, but the gap between the label and the process token, object ACLs, and inherited execution context that determine what code can actually do.

Failure mechanism: A process that is mislabelled, launched from an unsafe parent, or given permissive folder access can still modify, persist, or chain into higher-value resources even when integrity levels appear to be in place.

Impact: Attackers or accidental misuse can keep operating within an overprivileged context, bypassing the intended trust boundary and making later containment or cleanup much harder.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

CIS Controls v8 and NIST SP 800-53 Rev 5 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.

Framework Control / Reference Relevance
CIS Controls v8 CIS-5 — Account Management Integrity-level mistakes often trace to overprivileged accounts and unsafe process context.
Recommendation — Review account privileges and remove unnecessary elevation paths that undermine integrity boundaries.
NIST SP 800-53 Rev 5 AC-6 — Least Privilege Windows Integrity Levels only work well when privilege is already minimized.
IA-5 — Authenticator Management Token and credential handling shape what context a process can actually assume.
Recommendation — Apply least privilege so process authority does not exceed the intended trust boundary. Control credential lifecycle to prevent unsafe reuse of elevated process context.
ISO/IEC 27001:2022 A.8.2 — Information security awareness, education and training Misunderstanding integrity levels is an operator error that training should address.
Recommendation — Train admins to distinguish integrity labels from full access control.

Practitioner Guidance

What to verify: Check whether the process label matches the actual token, parent process, and object permissions involved in the workflow. If those three do not align, the integrity level is probably giving a misleading picture of protection.

Common mistake: Do not use integrity levels as a substitute for least privilege or as evidence that a process is safe to run. A constrained label on top of permissive ACLs or inherited authority still leaves you exposed.

What good looks like: Lower-trust code cannot modify higher-trust objects, elevated code is tightly limited in where it can write, and folder permissions are strict enough that integrity levels are enforcing something meaningful rather than decorative.

Practitioner takeaway: Treat integrity levels as one boundary in a broader Windows trust model, not as the control that makes everything else unnecessary.