Fundamentals4 min read

Every application control product identifies files the same way

The file identity model is common to all of them. What separates one product from another is the operating model around it, which is what evaluations skip.

Comparisons of application control software tend to open with how each one recognises a file, and that is close to the least useful place to start. On Windows the answer is largely the same everywhere.

If you are evaluating application control tools, the questions below are the ones worth putting to a vendor, and almost none of them are about rule types.

Every serious product has to answer one question. May this code execute? To answer it, they all reach for the same small set of signals.

The signals are common property

Cryptographic hash. Publisher or signing certificate. File path. File attributes such as product name, original file name and version. Package identity. Whether a trusted installer put the file there. Reputation or cloud trust. The user, group, device or context involved.

That list barely changes between vendors, and it barely changes between a third party product and the engine already built into Windows. Choosing App Control rule levels goes through what each signal costs you in practice, and those costs are properties of the signal rather than of anybody's product.

So if two products both match on publisher, both fall back to hash, and both understand a managed installer claim, the identity model is not the thing separating them.

What actually separates them

Seven things, none of which appear in a feature grid.

Where enforcement happens, and how early. In the kernel as code is about to run, or in user mode through a service that something could stop. This is the difference between a security boundary and a management control, and it decides what you can claim to an assessor. Agent based application control, or the engine already in Windows covers that axis and what it costs in licensing and lock-in.

How hard it is to turn off. A local administrator, a piece of malware with privilege, or an unhappy user. If any of those can stop the control, its value in an incident is not what the datasheet says.

How policy is authored. Whether a rule is something an engineer hand edits in XML, or something a person requests, an owner approves and a system records. That difference decides whether the policy still makes sense in a year.

How exceptions are governed. Every estate has them. The question is whether an exception carries an owner, a reason, a scope and an expiry, or whether it is a line somebody added during an outage and nobody has looked at since.

What the telemetry actually tells you. A stream of block events is not the same as knowing which application was affected, who it belongs to and whether anybody still needs it. One is data and the other is a decision you can make.

How safely you can reach enforcement. Going from audit to enforcement is where these programmes stall. What matters is whether you can see the impact of a change before you commit it, and reverse it quickly when the estate disagrees with you. Audit mode to enforcement covers what audit does and does not warn you about.

Whether anything ever gets removed. Allow rules accumulate. Without evidence that a rule is unused, nobody will ever delete it, and the trusted set only grows. A policy that only grows is a policy slowly returning to permitting everything.

Why evaluations get this backwards

Rule types demo well. You can show them in an hour, put them in a table, and score them.

The seven above cannot be shown in an hour. They surface at month four, when the pilot has three hundred exception requests, no owner for half of them, and a security team that cannot say whether enforcement is safe. By then the choice has been made.

That is not an argument against evaluating carefully. It is an argument for evaluating the right thing.

What to test instead

Run the operating model rather than the feature list.

Take a real application, one that is awkward, and put it through the whole cycle. Request, approval, deployment, and then removal when it is retired. Note who had to be involved and how much of it was somebody's afternoon.

Break something on purpose. Block an application that matters and see how quickly the reason can be established and undone. That is the day that decides whether the programme survives.

Then ask the year later questions. What evidence exists that a rule was approved and by whom. What tells you a rule is no longer needed. Who is accountable for something nobody remembers agreeing to. Application control is not an endpoint team project covers why those answers involve more than one team.

Where this leaves the decision

The identity model is commodity. The enforcement engine is a real and separate decision, and on Windows it is one you have already paid for.

What is left is the operating model, and that is where application control programmes actually succeed or stall. It is also the part nobody ships in the box.

That is the part PoliEze is for. The platform covers how.

Questions about this

How do application control products identify files?
With a small and largely shared set of signals. Cryptographic hash, publisher or signing certificate, file path, file attributes such as product name and version, package identity, whether a trusted installer put the file there, reputation or cloud trust, and the user or device context. Almost every serious product on Windows draws from the same set.
If the identity model is the same, what actually differs?
Where enforcement happens and how early, how hard the control is to switch off, how policy gets authored and approved, how exceptions are handled, what the telemetry tells you, and how safely you can move from audit to enforcement. Those are operating characteristics rather than detection ones.
Why do product comparisons focus on rule types then?
Because rule types are easy to put in a table and easy to demonstrate. The things that decide whether a deployment succeeds are harder to show in an hour, so they tend to be left until the deployment is already underway and the answer is expensive.
Does that mean the enforcement engine does not matter?
It matters a great deal, but it is a separate question from identity. An agent that enforces in user mode and a control that enforces in the kernel can recognise a file identically and still differ on whether a local administrator can stop them.
What should an evaluation actually test?
Run the operating model, not the feature list. Take a real application through request, approval, deployment and cleanup. Break something deliberately and see how it is diagnosed. Ask what evidence exists a year later, and who is accountable for a rule nobody remembers approving.

Related reading

Stuck on the thing this article describes?

If you are working through this on a real fleet and it is not going the way the documentation suggests, that is the conversation we are best at. Send us the block events.