探索黑客技术攻防,实战研究与安全创新

导航菜单

深入浅出软件限制策略

在Windows环境中,有时出于系统安全的考虑,往往需要限制某些软件的运行。利用Windows的组策略,就可以有效控制软件的运行权限。例如是否允许特定程序在系统中运行、是否允许用户打开指定的文件、控制软件限制策略应用的用户范围等。今天危险漫步就和大家聊聊软件限制的那些事。

一般来说,软件限制策略使用特定的规则,来标识和控制软件的运行方式,例如通过哈希规则、证书规则、路径规则、Internet区域规则对程序进行标识,进而控制软件的运行状态。

配置软件限翻策略

blob.png

在“开始”-“运行”中执行“gpedit.msc”命令,打开组策略编辑器。在其中依次展开“用户配置”-“管理模版”-“系统”,在右侧窗口中双击“不要运行许可的Windows程序”,在其属性面板中选择“已启用”项,在“不允许运行的应用程序的列表”列中点击“显示”按钮,在“显示内容”窗口中点击“添加”按钮,选中需要禁止运行的程序即可。这是大家都很熟悉的操作方式。其实,Windows的软件限制策略的内容很丰富,下面就通过举例来深入限制软件策略。这里设定在网络环境中,服务器上安装的是Windows 2003 Server,在其上配置了活动目录。点击“开始”-“程序”-“管理工具”66Active Directory用户和计算机”,在活动目录管理窗口的左侧列表中选中域名,在其右键菜单中点击“属性”,在打开的窗口中选择“组策略”面板,在“组策略对象链接”栏中双击“Default Domain Policy”项,打开组策略编辑窗口,在其左侧列表中展开“计算机配置”-“Windows设置”-“安全设置”分支,在其下的“软件限制策略”项上点击右键,在弹出菜单中选择“创建软件限制策略”即可。软件限制策略分为“不受限”和“不允许”两种安全级别,前者允许软件在正常登录情况下运行,后者不允许软件运行。一般来说,组策略允许对默认的安全级别另作安排,例如默认的安全级别是“不允许”,用户完全可以为其指定一个新的规则来允许软件运行。对于同一个软件可以使用多个规则,并有具有最高优先级的规则来指定软件是否运行。在组策略的中选中“软件限制策略”项,在右侧窗口中双击“强制”项,在莫属性窗口中可以对作用的用户群进行限制,建立选择其中的“除本地管理员以外的所有用户”项。此外,因为软件可能使用到多个DLL文件,如果对所有的软件文件都进行限制,就会影响到其它正常的软件运行,因此需要选择“除去库文件之外的所有软件文件”项。点击“确定”按钮保存设置即可。

哈希规则配置

哈希规则通过对程序进行哈希算法计算,以生成唯一的进程表示字符串,当用户运行该软件时,软件限制策略会自动将其的哈希值和策略中已有的哈希值进行比较,如果两者相同,则允许程序按照预设的方式运行。在上述组策略右侧窗口中的“其它规则”项的右键菜单上点击“新建哈希规则”,在弹出的窗口中点击“浏览”按钮,选中需要限制的程序,之后在“文件哈希”栏中即可看到该程序的哈希值,在“安全级别”栏可以选择“不允许”或者“不限制的”项。这里假设选择“不允许”项,保存设置之后,当客户端登录到服务器后,试图运行该程序时,系统就会弹出不允许运行的提示信息。  

证书规则配置

证书规则指可以通过数字签名来表示软件,在Windows 2003中可以启用证书服务来申请证书,将该证书和软件进行绑定,同时指定安全级别来设置软件的运行方式。这样,只有具有指定证书的程序才可以在网络中运行,否则,则作为非法软件禁止运行。一般的软件都没有绑定证书,如果在Internet上申请证书,就存在证书过期的问题。因此我们需要在局域网中建立一个证书服务器,在申请证书之前,首先确保在Windows 2003中安装了IIS组件。在控制面板中打开“添加删除程序”窗口,在其中。点击“添加删除Windows组件”按钮,在Windows组件向导窗口中勾选“证书服务”项,点击“下一步”按钮完成证书服务的安装操作。当然,证书服务必须在域环境中才能安装。之后在“管理工具”窗口中双击“证书颁发机构”项,在证书管理窗口左侧的列表中展开预设的机构名称分支,在其下的“证书模板”项的右键菜单中点击“新建”-“要颁发的证书模板”项,在打开的窗口中的证书模板列表中选择“代码签名”项,点击确定按钮即可申请证书。然后在浏览器中输入网址,在申请证书页面中选择“申请一个证书”链接,接着点击“用户证书”链接,之后点击“更多选项”链接,接着点击“高级证书申请使用窗体”链接,在“高级证书申请”页面中的“证书模板”列表中选择“代码签名”项,其它选项保持默认即可,点击“提交”按钮,在弹出的页面中出现“安装此证书”链接,这样证书就安装成功了。

当需要将程序和已经申请的证书进行绑定操作的话,需要使用微软提供的“signcode.exe”文件签名工具。将下载文件解包后运行其中的“signcode.exe”程序,在数字签名向导界面中点击“下一步”按钮,在文件选择窗口中点击“浏览”按钮,假设选择“Winrar.exe”文件,在“签名选项”窗口中选择“典型”项,在“签名证书”窗口点击“从存储区选择”按钮,在“选择证书”窗口可以看到已经申请成功的证书了。点击“查看证书”按钮,在“证书”窗口中可以浏览证书的详细内容。在“选择证书”窗口选中所需证书,之后一路点击“下一步”按钮,即可完成程序和数字签名的绑定操作了。之后在资源管理器中选中“Winrar.exe”文件,在其属性窗口中就会多出“数字签名”面板,说明该程序已经拥有了证书了。那么如何进一步使用软件限制策略使用该证书呢?在“Winrar.exe“文件属性窗口中的“数字签名”面板中点击“详细信息”按钮,在打开的窗口中点击“查看证书”按钮,在“证书”窗口的“详细信息”面板中点击“复制到文件”按钮,系统弹出“证书导出向导”窗口,在“导出文件格式”窗口中选择证书的格式,在“要导出的文件”窗口中点击“浏览”按钮,确定文件的保存路径,之后完成导出操作。在上述组策略右侧窗口中的“其它规则”项的右键菜单上点击“新建证书规则”,在新建证书规则窗口中点击,,浏览”按钮,选中刚才导出的证书文件,在“安全级别”栏中可以选择“不允许的”或者“不受限的”项,这里选择“不允许的”项,点击确定按钮即可保存设置。

路径规则配置

路径规则指可以对软件所在的路径设置标识信息,此外还允许对使用软件的挂册表路径设置规则。因为路径规则限制策略是按照软件所在的路径设定的,因此当软件移动之后,该软件限制策略将不再发挥作用。在上述组策略右侧窗口中的“其它规则”项的右键菜单上点击“新建路径规则”,在“新建路径规则”窗口中点击“浏览”按钮,选中需要限制的软件,在“安全级别”栏中选择合适的安全级别即可。

Internet区域规刚

internet区域规则适用于Windows In staller软件安装包,可以标识IE所指定区域中的软件,包括本地Internat、受限站点、信任站点等。在上述组策略右侧窗口中的“其它规则”项的右键菜单上点击“新建Internet区域规则”项,在打开的窗口中的“interent区域”列表中选择程序安装包所在的位置,当然,该规则只针对安装包有效,在“安全级别”列表中选择合适的安全界别即可。