操作系统是平台应用程序才是主角它直接服务于用户应用程序为用户带来便利的同时有时也会威胁系统安全所以对应用程序实施安全控制是操作系统一项重要安全策略那么在Windows 中如何实施对应用程序的安全控制呢?下面笔者结合自己的使用体验和大家进行一番交流
配置应用程序的运行级别
同此前的Vista一样微软是不提倡用户直接以管理员身份登录系统实施操作因为这样会存在很大的风险我们知道在Windows 中如果以管理员用户登录系统那么所有运行的程序默认都是以管理员权限运行的出于安全我们以非管理员用户登录系统但有时需要进行系统设置或者维护而要执行这些操作则必须要有管理员权限才行那么是不是要注销当前用户而重新以管理员身份登录系统呢?其实不用在Windows 中我们可以通过两种方式来说实现应用程序在提升模式下运行
()以管理员权限运行一次一般情况下我们只需就当前的操作在管理员权限下运行那么就选择以管理员权限运行一次的权限提升策略具体实现方式是用鼠标右键单击应用程序的快捷方式或者其主程序在菜单列表中选择以管理员权限运行即可此时会弹出用户账户控制即UAC对话框对话框中列出了系统所有的管理员用让用户选择我们从中选择一个管理员用户并输入相应的密码就可以管理员身份运行程序对此我们可以打开Widnows 的任务管理器进行确认可以看到虽然当前是以普通用户登录系统但该程序是以管理员身份运行的(图)
()始终以管理员身份运行程序我们除了可以临时性地以管理员权限运行程序外还可以使程序始终以管理员权限运行这样做的好处是省去了每次进行权限提升的麻烦而且对于某些只能运行在管理员权限中的程序进行了这样的设置后就能够杜绝其在使用中因权限问题而造成的故障当然这样做的弊端是非常明显的如果将应用程序始终以管理员权限运行会 带来一定的安全隐患何况这样设置以后我们以普通用户登录系统也将失去意义笔者建议的做法是只将必须以管理员权限运行的程序设置为始终以管理员身份运行即可
在Windows 中我们可以这样进行设置右键单击应用程序或者其图标选择属性在其属性对话框中定位到兼容性标签页在特权等级下勾选以管理员身份运行此程序即可如果要使该设置对所有的用户有效那么需要点击更改所有用户的设置按钮然后会一个应用程序属性对话框在所有用户的兼容性标签页的特权等级下再次勾选以管理员身份运行此程序复选框即可需要注意的是我们不能设置系统应用程序或者进程总是以管理员身份运行有的时候我们会发现以管理员身份隐匿性此程序复选框不可选这通常是因为该程序是系统程序或者该程序被禁止提升权限另外如果当前用户不是管理员或者该程序的运行并不需要管理员凭据时该复选框也会是不可选的(图)
控制应用程序的安装和运行行为
对于一般用户或者系统管理员来说除了要控制系统中已经安装的应用程序的运行权限外还要对应用程序的安装行为进行控制那么这些在Windows 中是如何实现的呢?我们可以通过Windows 的相关组策略项实现我们的目标
()安装控制
运行secpolmsc打开Windows 的本地安全策略控制台定位到安全设置→本地策略→安全选项节点在右侧可以看到很多组策略项这其中与应用程序安装相关的项目主要有项下面分别进行说明
用户账户控制检测应用程序安装并提示提升该选项默认被启用它决定着Windows 是否自动检测应用程序的安装并提示提升默认情况下系统会自动检测应用程序的安装并提示用户提升或者批准应用程序是否继续安装如果该选项被禁用那么使得用户不能够对应用程序的安装进行控制
用户账户控制只提升签名并验证的可执行文件该选项决定了Windows 是否只允许运行带有签名并且有效的可执行文件在默认情况下该选项是被禁用的如果启用该选项Windows就会在可执行文件运行之前会强制检查文件公钥证书的有效性
用户账户控制仅提升安装在安全位置的UIAccess应用程序该选项决定了Windows 在允许运行之前是否验证UIAccess应用程序的安全性默认情况下该选项是被禁用的
用户账户控制允许UIAccess应用程序在不使用安全桌面的情况下继续提升这个选项模式是禁用的它决定了用户界面辅助程序是否可以绕过安全桌面如果启用该选项应用程序就可以直接按照应用需求响应提升提示这样会增加系统的风险因为可能会被恶意程序利用比如我们要进行远程协助为了避免出现问题在创建远程协助邀请时要确保勾选允许响应账户控制提示选项(图)
其实除了这个选项外在该节点下还有其他的一些选项都与应用程序的安装和运行有关大家可在理解其含义的基础上根据需要进行设置
()软件限制
在Windows 的组策略控制台中还有一个与软件限制相关的组策略项是软件限制策略在本地安全策略控制台的安全设置下可以看到该组策略节点通过该策略项我们可以对系统中安装的软件进行限制其强制策略我们可帮助我们针对文件用户和用户进行限制此外用户还可选择在应用软件限制策略时是强制证书还是忽略证书指定的文件类型项可帮助我们通过文件类型实施限制在此我们可以添加或者删除相应的文件类型受信任的发布者项可方便我们设置信任策略在安全级别节点下个级别默认是不受限级别也就是软件访问权由用户的访问权来决定基本用户级别允许程序访问一般用户可以访问的资源但没有管理员的访问权其中不允许是最严格的级别意味着无论用户的访问权如何软件都不会运行在其他规则节点下默认有两条注册表路径规则它们的安全级别是不受限制的在此我们可以根据需要添加其他安全规则可供选择的规则有证书规则哈希规则网络区域规则路径规则创建方法是右键单击其他规则节点然后在右键菜单中选择创建相应的规则即可这个组策略节点在此前的系统中也存在但并不为用户所使用其实只要灵活利用它可以帮助我们完成很多系统管理任务(图)
调整UAC级别控制应用程序
除了上面提到的应用程序控制技术之外下面简要说说Windows 中的UAC因为它与应用程序控制密切相关我们知道Windows 对UAC做了很大的改进主要表现在划分了不同的安全等级以适合不同的用户需求具体来说从不通知到始终通知分为个安全等级默认的安全级别为第的安全级别此时仅在用户对某个程序做出改变时才会弹出UAC提示而在改变系统设置时不会弹出提示值得一提的是Windows 的UAC提示会因应用程序可信度的不同而呈现不同的颜色这些不同的颜色表示应用程序不同的安全等级当我们运行的程序是某个知名公司的产品时UAC提示是蓝色当运行程序是不知名公司的产品时UAC提示是黄色而当运行一个可疑程序时UAC提示是红色(图)
总结上面就Windows 下应用程序运行控制技术的解析和说明有些不限于Windows 同样适用于此前的Windows系统这里只是以Windows 系统为例进行说明另外Windows 下的应用程序控制技术也不止这些有待于进一步的学习和挖掘