Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add driver load interception #19

Open
Proposer233 opened this issue Dec 5, 2024 · 5 comments
Open

Add driver load interception #19

Proposer233 opened this issue Dec 5, 2024 · 5 comments

Comments

@Proposer233
Copy link

Sometimes, malicious programs will sign a driver with a leaked but not yet revoked certificate and load it, bypassing MP protection at the kernel level. Even if the CA reacts instantly, the data theft becomes a fait accompli. To prevent this, I'd suggest MP add a module load callback to mitigate this possibility.

@DavidXanatos
Copy link
Contributor

how would we determine that the certificate is leaked we would need to maintain an own list of untrusted certificates.

Also msft does that already if you enable the driver blacklist under security, device security, "The vulnerable driver blocklist"

I think this should be good enough, also you can add additional restrictions using a CI policy at boot time, I may add a mechanism to make using this OS feature simpler with a GUI.

@Proposer233
Copy link
Author

I mean filter the service setup requests.When any executable tries to install a new driver service,we prompt to users.

@DavidXanatos
Copy link
Contributor

There is no callback for that AFAIK so we would need to inject our dll into all windows processes, what IMHO should not be the default.

@Proposer233
Copy link
Author

Or just use PsSetLoadImageNotifyRoutine

@DavidXanatos
Copy link
Contributor

That brings us back to how to determine if a driver can be trusted, but i guess we could use a whitelist approach and then when a driver that was set as filter fails to load the system wont boot the next time LOL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants