2024年11月全面了解Windows软件限制策略(2)

发布时间:

  ⑴、软件限制策略的优先权

  ⑵一个特定的程序可以有多个不同的规则适用,为此,可以按下列优先权顺序来使用这些规则。优先权按从高到低的顺序排列如下:

  ⑶散列规则>证书规则>路径规则> Inter区域规则

  ⑷如果存在多个路径规则冲突,则最具限制性的规则占有优先权。总的原则就是:规则越匹配越优先。

  ⑸C:WindowsSystemTaskmgr.exe C:WindowsSystem*.exe *.exe

  ⑹C:WindowsSystem

  ⑺C:Windows

  ⑻本例是按优先权从高到低排列的。从这里我们可以看出:

  ⑼绝对路径>通配符路径

  ⑽文件名规则>目录规则

  ⑾对于同样是目录规则的,则目录数匹配越多就越优先。

  ⑿如果同时存在两个相似的规则,则最具限制性的规则优先权最高。例如,如果 C:Windows 上有一个路径规则,其安全级别为“不允许的”,而 %windir% 上也有一个路径规则,其安全级别为“不受限制的”,则会采用最具限制性的规则,即“不允许的”。

  ⒀这里,我们再顺便介绍一下环境变量和通配符。

  ⒁在路径规则里,允许使用诸如“%windir%”“?rofile%”之类的环境变量。一般情况下,我们的系统是在C盘,但也有些人基于其它一些原因如要安装双系统等,将系统安装在其它比如D盘下面,这时我们平常用到的一些路径比如“C:windows”就会无效,为了防止这种情况,我们就可以使用系统变量,像“%windir%”,系统会自动为我们匹配其目录。我们在创建规则的时候也可以使用这些环境变量,以适用于不同的系统。下面列出的是一些常使用的环境变量,更多的环境变量你可以运行 CMD 然后运行 SET 命令进行查看。

  ⒂ALLUSERSPROFILE = C:Documents and SettingsAll Users

  ⒃APPDATA = C:Documents and SettingsAdministratorApplication Data

  ⒄monProgramFiles = C:Program Filesmon Files

  ⒅Spec = C:WINDOWSsystemcmd.exe

  ⒆HOMEDRIVE = C:

  ⒇HOMEPATH = Documents and SettingsAdministrator

  ⒈ProgramFiles = C:Program Files

  ⒉SystemDrive = C:

  ⒊SystemRoot = C:WINDOWS

  ⒋TEMP = C:Documents and Settings当前用户名Local SettingsTemp

  ⒌TMP = C:WindowsTemp

  ⒍USERPROFILE = C:Documents and SettingsAdministrator

  ⒎WINDIR = C:WINDOWS

  ⒏同样,路径规则也支持使用通配符,对DOS熟悉的筒子应该知道这个东西,就是“?”和“*”。

  ⒐? :包括个或个字符* :包括任意个字符(包括个),但不包括斜杠

  ⒑对于通配符,其实网上很多教程上的做法是有误的。

  ⒒例如有一条:%USERPROFILE%Local Settings***.* 不允许的这条规则本意是阻止所有被指派的文件从 Local Settings 目录(包括其子目录)启动,但是经过验证发现,“**”和“*”是完全等效的,并且“*”不包括“”。那么这条规则的实际意思就是“阻止所有被指派的文件从 Local Settings 的一级目录运行”,不包括 Local Settings 目录本身,也不包括二级及其下的所有子目录。我们来看看 Local Settings 目录下的一级目录有哪些呢?默认情况下是:Temp、Temporary Inter Files、Application Data、History,那么这条规则里就包括有 禁止TEMP目录下的所有被指派的文件运行的意思,其根本结果就是会造成很多软件无法安装。因为有些软件在安装时会先行解压到TEMP目录。

  ⒓影响最大(简直可以列入本年度十大最错误的做法中了)的一条:?:autorun.inf “不允许的”

  ⒔相信对 软件限制策略 有研究的筒子都见过这条规则吧,这条规则的本意是阻止所有盘根目录下的 autorun.inf 文件运行,以阻止U盘病毒的运行。它也确实达到了它的目的, autorun.inf 文件双击的时候被阻止了。但病毒被阻止了吗?答案是否定的,病毒还是会被正常运行。

  ⒕为什么呢?我们来了解一下系统是怎么处理 autorun.inf 文件的。