AO6405 P-channel MOSFET being measured from drain to source during fault testing
An AO6405 30V, 5A P-channel surface-mount MOSFET in a 6-TSOP package is being measured from drain to source. The test indicates that the MOSFET is damaged and requires replacement. This repair image is an independent work sample and is not an illustration of the educational subject discussed below.

Understanding Device Guard in Windows 10

Antivirus Traditionally Asked Whether a Program Was Dangerous

For years, computer security largely depended on identifying malicious software after researchers discovered enough information to recognize it.

Security products could examine files, compare signatures, analyze suspicious behavior, and block threats that matched known patterns. That approach remains valuable, but it creates an unavoidable problem when completely new malicious code appears.

Windows 10 introduced another way to approach the question.

Device Guard Could Reverse the Decision

Instead of allowing software unless it was recognized as dangerous, an organization could define which code was trusted and prevent other code from running.

A New Attack May Not Yet Have a Reputation

Known malware gives defenders something concrete to identify.

A security company can analyze the file, create detection information, distribute updates, and help computers recognize later copies of the same threat. A previously unseen attack does not provide that advantage.

The first computers encountering it may have no existing signature describing what they are seeing.

Unknown Does Not Mean Safe

A file that has never been classified as malicious may simply be new. Lack of a bad reputation is not proof that the software deserves permission to execute.

The Question Could Become Whether the Program Was Approved

A tightly managed business computer often has a predictable purpose.

An accounting workstation may need Windows, approved accounting software, a browser, office applications, printer utilities, and a relatively small collection of business tools. There may be no legitimate reason for arbitrary executable files to run on that machine.

Device Guard allowed administrators to build security around that assumption.

Trust Can Be Explicit

If an organization knows which software a computer is supposed to execute, it can create rules that permit that trusted software rather than automatically accepting everything else.

Windows Already Knew How to Check Code Before Loading It

Code Integrity is part of the Windows security architecture responsible for determining whether code satisfies required trust conditions.

Device Guard made this capability much more configurable for enterprise environments. Administrators could create Code Integrity policies describing which applications, drivers, and other executable components were permitted.

Code outside those rules could be prevented from executing.

The Policy Could Cover More Than Applications

Device Guard Code Integrity could participate in controlling traditional desktop applications as well as important code operating closer to the Windows kernel.

Windows Could Identify Who Signed the Software

A digital signature can associate executable code with a publisher and provide evidence that the signed content has not been altered after signing.

Device Guard policies could use trusted publishers as part of their rules. Instead of listing every individual version of an application, an organization could permit appropriately signed software from publishers it trusted.

This could make an allow-based model practical at larger scale.

Specific Code

A policy can identify particular approved software when the organization needs tightly controlled execution.

Trusted Publisher

Signed applications from an approved publisher can be recognized through their signing information when policy is designed to permit them.

Random Executables No Longer Needed the Benefit of the Doubt

Many malicious programs historically relied on the fact that Windows computers were designed to execute ordinary software supplied by users.

If an attacker convinced someone to download and open an executable attachment, the operating system might have little reason to refuse it unless another security technology recognized the threat.

An allow-based Code Integrity policy changes that situation.

Being an Executable Was No Longer Enough

A program could be technically valid Windows software and still be denied execution because it did not satisfy the organization’s definition of trusted code.

A Signature Does Not Automatically Mean a Program Is Good

Digital signatures establish identity and integrity, not moral character.

A malicious developer can sign software, a certificate can be abused, or legitimate signed software can later prove dangerous. Device Guard therefore was not simply a switch that allowed anything carrying a signature.

The organization still had to define what it actually trusted.

Signed and Trusted Are Different Concepts

A digital signature gives Windows information that can participate in a trust decision. The security policy determines whether that signer or software should actually receive permission to run.

Malicious Code Becomes More Dangerous as Its Privileges Increase

Ordinary applications operate with restrictions imposed by Windows.

Kernel-mode code operates at a much more privileged level and can interact directly with fundamental parts of the operating system. A malicious or compromised driver can therefore become especially dangerous.

Device Guard extended the trust model into this sensitive area.

A Driver Is Software Too

Hardware drivers may appear to be part of the computer itself, but they contain executable code and can become a security risk when untrusted or compromised code receives kernel-level access.

Hyper-V Technology Could Protect Windows From Windows

Virtualization is commonly associated with running several operating systems on one physical computer.

Windows 10 also used virtualization technology for a different purpose. Virtualization-based security could create an isolated environment protected by the hypervisor and separate important security decisions from the ordinary operating system.

This introduced another security boundary inside the computer.

Isolation Made Tampering More Difficult

Code Integrity functions protected by virtualization could operate in an environment separated from the normal Windows kernel, making it harder for malware controlling ordinary Windows memory to alter those decisions.

Malware With Elevated Privileges Could Face Another Boundary

Traditional Windows security places enormous importance on administrator privileges.

If malicious software reaches sufficiently high privilege, many ordinary defenses become easier to attack because the malware operates inside the same environment as the components attempting to stop it.

Virtualization-based security changes that relationship.

The Security Decision Could Live Outside the Normal Operating Environment

The hypervisor can establish isolation that ordinary administrator or kernel access inside the main Windows environment does not automatically provide permission to cross.

Trust Has to Begin Before Windows Is Fully Running

Protecting applications after Windows starts is not enough if malicious software can compromise the machine during the boot process.

UEFI Secure Boot helps establish a trusted startup path by verifying appropriate boot components before they execute. Device Guard could build upon that hardware-assisted foundation.

The security chain therefore began before the desktop appeared.

A Trusted Application Needs a Trusted Platform Beneath It

Application control is strongest when the firmware, boot environment, Windows kernel, Code Integrity system, and application policy participate in the same chain of trust.

Firmware Became Part of the Security Architecture

UEFI provides capabilities that older legacy BIOS environments were never designed to supply.

Secure Boot can use cryptographic trust information stored at the firmware level to help determine which boot components should execute. That makes firmware configuration relevant to Windows security policy.

A computer configured for legacy compatibility may therefore lack security capabilities available in a native UEFI configuration.

Boot Mode Can Affect Security Features

Two computers running the same Windows edition can expose different security capabilities when their firmware, virtualization support, and boot configuration differ.

Cryptographic Operations Did Not Have to Depend Entirely on Software

A Trusted Platform Module provides hardware-backed capabilities for cryptographic operations and platform security.

Device Guard could participate in a security architecture that also used TPM and UEFI capabilities, allowing important trust information to depend on hardware features rather than ordinary files alone.

This made the physical platform part of the defensive design.

Hardware Can Protect Security From Software

When important trust information is rooted in dedicated platform hardware, malware running as ordinary software has fewer opportunities to rewrite the rules that determine whether the system should trust it.

Not Every Windows 10 Computer Could Provide the Same Protection

Device Guard was associated with several hardware-assisted security technologies.

Virtualization extensions, modern firmware, Secure Boot support, and other platform capabilities could determine which protections were available and how strongly they could be isolated.

Deploying the feature therefore required more planning than installing an ordinary security application.

Windows Version Alone Does Not Define Security Capability

The processor, firmware configuration, virtualization support, drivers, and other hardware characteristics can determine whether a computer is capable of using the complete protection model.

Security Changes Could Expose Old Driver Assumptions

A driver written for an older Windows environment may make assumptions that conflict with newer virtualization-based protections.

Device Guard deployments therefore needed to consider driver compatibility before enforcement. A computer can have perfectly functional hardware yet experience problems because its driver was not designed for the security environment now protecting the kernel.

Testing became essential.

Do Not Blame the Hardware Immediately

If a device stops functioning after virtualization-based security or strict Code Integrity policies are enabled, the hardware itself may be healthy while its driver is incompatible or no longer permitted to load.

You Could Discover What Would Break Before Blocking It

An allow-based security policy becomes dangerous if legitimate business software is accidentally omitted.

Device Guard policies could be evaluated in an audit-oriented deployment so administrators could observe which applications or drivers would have been blocked without immediately preventing employees from working.

The collected information could then be used to refine the policy.

Measure Before Enforcing

Audit information allows administrators to identify legitimate software that still needs trust rules before switching a computer from observation into active application-control enforcement.

Businesses Change Their Software

A company may approve a new application, update an existing program, replace a driver, or install specialized software for one department.

A restrictive Code Integrity policy has to evolve with those legitimate changes. Otherwise, a security system designed to stop malware can also stop employees from running software the business actually needs.

Application control therefore becomes an ongoing management process.

Security Policy Is Part of Software Deployment

When execution depends on organizational trust, installing an application and authorizing that application become related administrative tasks.

The Rules Did Not Have to Be Set Manually on Every Computer

Enterprise security becomes practical only when administrators can manage large numbers of devices consistently.

Windows management technologies allowed Device Guard-related settings and Code Integrity configuration to be deployed through centralized administrative processes.

One organization could therefore maintain a common security standard across many computers.

Trust Became an Administrative Asset

The list of code an organization permits can be managed like other enterprise configuration rather than depending on individual employees to decide whether unfamiliar software appears safe.

An Attacker Should Not Be Able to Simply Disable the Allow List

A security policy has limited value if malware can rewrite it after obtaining elevated access.

Device Guard supported signed Code Integrity policies, adding protection against unauthorized modification or removal. Updating such a policy could require appropriately signed replacement policy information.

The trust rules themselves could therefore become protected objects.

Locking the Door Also Requires Protecting the Key

Application control becomes substantially stronger when an attacker cannot simply modify the policy and declare previously untrusted malware to be approved software.

The Two Defenses Asked Different Questions

Antivirus technologies analyze software and activity for evidence associated with malicious behavior.

Device Guard focuses on whether code satisfies the organization’s execution policy. A program does not necessarily need to be identified as malware before Code Integrity can prevent it from running.

The technologies can therefore complement each other.

Antivirus

Looks for evidence that files or activity may be malicious and responds to recognized or suspicious threats.

Device Guard

Controls whether executable code is trusted according to policy, potentially blocking unknown software before its intentions have to be discovered.

One Protected Execution While the Other Protected Credentials

The similar names can make two Windows 10 security technologies easy to confuse.

Device Guard was designed around preventing untrusted code from executing. Credential Guard used virtualization-based isolation to protect valuable authentication material from theft and reuse.

Both could use hardware-assisted isolation, but they defended different assets.

Device Guard

Restricts execution so that code must satisfy the organization’s trust policy before it is permitted to run.

Credential Guard

Protects important authentication secrets by isolating them from the ordinary Windows environment where malware might otherwise attempt to steal them.

A Locked-Down Workstation Is Easier When Its Job Rarely Changes

Some computers perform the same narrow collection of tasks every day.

A point-of-sale terminal, kiosk, medical workstation, manufacturing controller, call-center computer, or dedicated business terminal may need only a defined collection of applications.

Those systems are particularly suitable for an allow-based execution model.

Predictability Can Become a Security Advantage

The fewer legitimate programs a computer needs, the easier it becomes to define precisely what should be allowed and treat unexpected executable code as abnormal.

Users Who Install Many Programs Create a Moving Target

A developer workstation or enthusiast computer may legitimately execute new tools every week.

Strict application control becomes harder in that environment because the definition of approved software changes constantly. Policies can still be useful, but they require substantially more planning and maintenance.

Security architecture has to match how the computer is actually used.

The Strongest Restriction Is Not Automatically the Best Configuration

A security control that repeatedly blocks legitimate work may eventually be disabled or bypassed, so policy should reflect the operational requirements of the system it protects.

A Motherboard Replacement Can Affect Hardware-Backed Protection

Device Guard can depend on capabilities supplied by the platform rather than Windows alone.

Replacing a motherboard may change firmware configuration, TPM hardware, Secure Boot state, virtualization settings, or other characteristics relevant to the machine’s security posture.

A repaired computer may therefore require more than restoring the storage drive.

The Operating System Can Survive While the Trust Foundation Changes

Windows may still exist on the original drive after major hardware repair, but platform-dependent security features can require verification or reconfiguration when the underlying motherboard is no longer the same.

A BIOS Reset Could Have Security Consequences

Motherboard troubleshooting sometimes includes clearing firmware settings or loading factory defaults.

If virtualization support, Secure Boot, or related platform settings change during that process, Windows security features depending on those capabilities may no longer operate in the same way after repair.

The computer can boot normally while its security posture has changed.

Record Security-Relevant Firmware Settings

On managed business computers, technicians should consider the original UEFI, Secure Boot, TPM, and virtualization configuration before resetting firmware or replacing platform hardware.

A Program That Refuses to Launch May Be Deliberately Blocked

When software stops opening, users naturally suspect corrupted files or a broken Windows installation.

On a managed computer using application control, the program may be functioning exactly as designed while Windows intentionally refuses to execute it because the current policy does not trust it.

Troubleshooting therefore needs to consider policy before attempting repair.

Blocked Is Different From Broken

Reinstalling an application repeatedly will not solve a Code Integrity restriction if the executable still fails to satisfy the organization’s trust policy.

Windows Could Leave Evidence of What the Policy Rejected

Application-control troubleshooting depends on understanding why particular code did not execute.

Code Integrity auditing and event information can help administrators identify software or drivers affected by policy. That evidence is more useful than assuming every failed launch represents application corruption.

The logs can also help refine future policy.

Check the Security Decision Before Repairing the Program

When a managed Windows computer refuses to load an application or driver, Code Integrity information can reveal whether the operating system intentionally prevented execution.

The Malware Did Not Need a Name Before Windows Could Stop It

A zero-day attack exploits a vulnerability before defenders have had sufficient time to create and deploy conventional protections for the specific threat.

An allow-based execution model approaches that problem differently. If the attack requires running code that the organization never approved, policy can potentially block that code even though nobody has previously cataloged the malware.

The defense depends on trust rather than recognition alone.

You Do Not Need to Recognize Every Intruder When Only Approved Guests Can Enter

Application control reduces dependence on knowing the identity of every possible malicious program by defining the software that legitimately belongs on the computer.

Windows 10 Was Using the Hypervisor as a Defensive Boundary

Device Guard represented a broader change in Microsoft’s security architecture.

Instead of relying entirely on software defenses operating inside the same Windows environment they were protecting, important security functions could use virtualization and hardware capabilities to establish stronger isolation.

The operating system was beginning to defend itself from another layer.

The computer did not have to recognize every piece of malware when it already knew which software was supposed to be there.

Windows Could Treat Unapproved Code as the Exception

Device Guard turned application trust into something an organization could define and enforce.

Code Integrity policies could determine which software was permitted, Secure Boot could help protect the startup chain, and virtualization-based security could isolate critical integrity decisions from the ordinary Windows environment.

For tightly managed Windows 10 systems, that created a powerful alternative to the traditional assumption that software should run first and be stopped only after somebody discovers that it is dangerous.