微尘
没有经过数字签名认证的程序是不安全的,尝试在Windows系统中安装多个没有经过数字签名认证的程序,会给系统的稳定运行带来威胁。日后,Windows系统在运行过程中遇到故障时,这些没有数字签名的程序或驱动,或许就是“罪槐祸首”,而且有时即使知道它们是祸首,也分不清楚究竟是哪个没有数字签名的程序在“惹祸”。
为了保护系统安全,Windows系统引进了数字签名技术,并以此判断系统中的一些核心文件是否受到攻击或破坏。而不少杀毒软件也纷纷将数字签名看成是白名单,通过扫描检测数字签名来判断系统的安全状况。那么如何才能知道某些程序或驱动已经通过微软数字签名认证呢?如何有效判断数字签名是假冒的、不安全的呢?当数字签名影响日常操作时,又该如何化解呢?本文下面的内容,会帮助大家用好Windows系统中的数字签名功能。
用UAC判断数字签名安全
从Vista系统开始,UAC(用户账号控制)功能作为一项提高系统安全的新技术,被集成到Windows系统中,它要求用户在执行一些可能存在安全风险的操作之前,必须拥有相关的操作权限,通过在这些操作启动前对其进行验证。该功能具有指明特定程序名称和发行者的有效数字签名功能,利用它我们也能判断出某些陌生程序的数字签名是否安全。例如,对于安全、可信的系统进程,UAC(用户账号控制)功能会弹出绿色提示框,对于带有陌生数字签名的进程,它会弹出黄色提示框,对于被阻止的数字签名进程会弹出红色提示框。默认状态下,UAC功能会将所有系统文件数字签名签署者识别为Microsoft Windows,倘若识别到某个系统文件没有数字签名信息,那就会认为该文件被非法攻击或破坏,这时需要采取相关安全措施进行应对。
Vista系统默认已经启用了UAC功能,当发现其没有运行时,可以进行如下操作开启它的运行状态:首先依次单击“开始”、“控制面板”命令,弹出系统控制面板窗口,逐一双击其中的“用户账户”、“更改用户账户控制设置”按钮,打开如图1所示的设置对话框。检查移动滑块位于哪个位置,如果发现其位于“从不通知”位置处时,那就表示UAC功能当前没有启动运行,此时,只要用鼠标将其拖动到“始终通知”位置处,再单击“确定”按钮保存设置操作。
查找没有数字签名程序
大家知道,没有经过数字签名认证的程序是不安全的,尝试在Windows系统中安装多个没有经过数字签名认证的程序,会给系统的稳定运行带来威胁。日后,Windows系统在运行过程中遇到故障时,这些没有数字签名的程序或驱动,或许就是“罪槐祸首”,而且有时即使知道它们是祸首,也分不清楚究竟是哪个没有数字签名的程序在“惹祸”。有鉴于此,我们需要在平时定期查看Windows系统,看看究竟有哪些程序或驱动没有经过数字签名验证,找到这些没有数字签名的程序或驱动后,及时删除或卸载它们,就能保证系统运行稳定了。
在Windows 7系统中查找没有数字签名程序时,可以依次点击“开始”、“运行”命令,在其后弹出的系统运行对话框中,执行“Sigverif”命令,切换到如图2所示的设置对话框。在这里,不需要进行任何复杂的设置,只要单击地按下“开始”按钮,Windows 7系统就能自动扫描分析计算机中的所有设备驱动文件和系统文件。扫描任务完成后,那些没有数字签名的程序或驱动,就会全部显示在结果界面中,及时记录这些驱动或程序的具体文件名称,日后Windows系统遇到无法解决的故障现象时,我们就能尝试从网上找到通过数字签名认证的设备驱动或系统文件,来替代这些没有数字签名的文件,或者索性删除这些不稳定的没有数字签名文件,以确保Windows系统可以安全、稳定地运行。
当然,如果仅想查看Windows系统中的设备驱动程序是否经过数字签名认证时,也可以利用系统自带的“Verifier”命令,对硬件设备驱动程序进行快速校验,这种方法可以将隐藏在计算机中的无效硬件驱动程序“揪”出来。在使用“Verifier”命令来查找未签名设备驱动时,可以依次点击“开始”、“运行”命令,弹出系统运行对话框,输入“Verifier”字符串命令并回车,选中其后界面中的“创建标准设置”选项,并按“下一步”按钮,打开如图3所示的设置对话框,在这里我们会发现Windows系统为用户提供了多个选项。默认状态下,Windows系统会将“自动选择未经签名的驱动程序”选项选中,来扫描检查本地计算机中的设备驱动文件是否通过了数字签名认证。
取消驱动程序强制签名
在安装了Windows 8系统的工作环境中,尝试为旧设备安装版本较低的驱动程序时,系统会弹出“第三方INF不包含数字签名信息”之类的提示,并强行终止驱动安装操作,这么说来我们就无法在Windows 8系统中安装使用低版本驱动程序了?其实,经过一些合适设置,取消Windows 8系统的驱动程序强制签名功能,就能在该系统中正常安装使用旧设备或驱动了。
首先登录进入Windows 8系统Metro界面,将鼠标移动到屏幕右侧区域,弹出Charm菜单,点击“设置”按钮,进入电脑设置页面,选择“常规”标签,在对应标签页面选择最后一项立即重启。当系统弹出启动菜单时,点击“疑难解答”选项,之后进入高级选项设置页面,按下“启动设置”按钮,进入如图4所示的启动设置列表区域,选中“禁用驱动程序强制签名”选项,重新启动计算机后,Windows 8系统日后就不会拦截没有数字签名的驱动程序文件了。
当然,在某些版本的Windows 8系统中,也可以通过修改系统组策略相关配置,来取消驱动程序强制签名。在进行该操作时,可以依次点击“开始”、“运行”命令,弹出系统运行对话框,输入“gpedit.msc”命令并回车,开启系统组策略编辑器运行状态。在组策略编辑窗口左侧列表中,将鼠标定位到“本地计算机策略”、“用户配置”、“管理模板”、“系统”、“驱动程序安装”、“设备驱动程序的代码签名”组策略选项上,并用鼠标双击该选项,打开对应选项组策略属性对话框,选中“已启用”选项,确认后保存设置操作。endprint
判断数字签名是否假冒
为了躲避各种杀毒软件的围剿追杀,一些狡猾的网络病毒,经常会假冒名气较大软件的数字签名,以此让杀毒软件识别不出来。那么怎样才能准确判断数字签名是否假冒,从而保护本地计算机不受病毒木马程序的非法攻击呢?其实,利用“文件数字签名验证程序”插件,配合SREng这款安全软件,就能轻松扫描分析本地计算机系统中各种文件的签名信息,并准确判断它们的真假。首先从网上下载获得“文件数字签名验证程序”插件和SREng这款工具的安装程序,按照默认设置安装好SREng这款工具后,将“文件数字签名验证程序”插件中的所有文件,全部解压释放到SREng安装目录的“plugins”子文件夹中。从系统“开始”菜单中开启SREng这款工具的运行状态,按下对应程序界面中的“扩展”按钮,就能发现“文件数字签名验证程序”的身影,用鼠标双击该插件,开启目标插件程序的运行状态。
切换到目标插件对话框,单击其中的“选择目标”按钮,弹出文件夹选择对话框,将需要扫描分析的文件夹选中并添加进来,例如要判断系统文件夹中的系统文件数字签名真假时,只要将“C:\Windows\system”或“C:\Windows\system32”等文件夹导入进来,再按“开始扫描”按钮,“文件数字签名验证程序”就能边扫描分析,边显示判断结果了。倘若某个系统文件的数字签名扫描分析结果显示为“0x00000000”时,那就表示该数字签名是真实安全的。相反,如果扫描分析结果显示为“0x800b0100”时,那就意味着目标文件的数字签名存在问题,出现这种现象有两种可能,一是数字签名的确存在但处于异常状态,二是目标文件根本不存在数字签名。凡是数字签名被识别为“0x800b0100”时,那很可能是系统文件已经受到病毒木马的破坏,或者目标文件就是病毒木马程序,我们应该及时将它们从系统中删除掉,以避免系统的运行稳定受到威胁。
此外,我们也可以使用Microsoft MVP开发的FileDigitalSignVerify工具,快速判断某个程序文件数字签名的真假。比方说,要判断本地计算机中的画图程序签名信息是否为假冒时,可以先下载安装目标工具,之后以系统管理员身份运行“cmd”命令,切换到DOS命令行状态,在该状态下执行命令“FileDigitalSignverify.EXE %SystemRoot%\system32\mspaint.exe -p”,如果命令返回“0x00000000”提示信息,那就表示该程序的数字签名是有效的。如果数字签名是假冒的,那命令会返回“0x800b0100”提示信息。endprint