The filter of my WFP firewall can be deleted by other programs running by Administrators. After filter deletion my firewall will not work at all.
The deletion procedure will be like this:
enumerate provider keys by using function FwpmProviderEnum, then find interested provider.
delete filters associated with this provider by using function FilterDeleteByKey.
If I don’t want my firewall’s filters to be deleted by other program, what should I do?
I thought about hiding my firewall’s provider key, so that it could not be found in step 1. Certainly my firewall filters will not be deleted by step 2, because the provider key is not revealed. But how to hide provider, I have no idea.
How to protect my firewall’s filters, thank for your ideas in advance. Very appreciated!
You cannot protect anything from the administrator
wrote in message news:xxxxx@ntdev… > Hello everyone, > > The filter of my WFP firewall can be deleted by other programs running by Administrators. After filter deletion my firewall will not work at all. > > The deletion procedure will be like this: > > 1. enumerate provider keys by using function FwpmProviderEnum, then find interested provider. > > 2. delete filters associated with this provider by using function FilterDeleteByKey. > > If I don’t want my firewall’s filters to be deleted by other program, what should I do? > > I thought about hiding my firewall’s provider key, so that it could not be found in step 1. Certainly my firewall filters will not be deleted by step 2, because the provider key is not revealed. But how to hide provider, I have no idea. > > How to protect my firewall’s filters, thank for your ideas in advance. Very appreciated! >
Tim and Max, please note that the addition of PPLs and VTL1 changes this old-school thinking and paradigm. I dare you to write an admin process that can write to the memory of SMSS.EXE in Windows 8.1. Or to LSAISO.EXE in Windows 10.
Platform security has advanced beyond the XP days guys
SeDebugPrivilege and SeTcbPrivilege do not grant access. No user-mode process that is not protected, and at the right level, can touch such processes (but kernel still can).