上网时,我们免不了下载一些文件,最常见的是软件或者执行程序,首先我们应该从官网上下载,才能最大程度地保证它们的完整性。否则,文件就有被篡改的可能,比如:被植入木马或后门;下载时发生网络传输错误产生误码;下载将要完成时发生断线下载不全;病毒感染文件等情况都能破坏其完整性。那么怎么查看文件是否被篡改呢? 最简单的方法就是查看它的“数字签名”,所谓的“数字签名”就是采用某种技术手段来证明某个信息确实是由某个机构(或某个人)发布的,因为其用途有点类似于传统的手写签字,所以称之为“数字签名”。数字签名有很多种,比较常见的是Windows平台下的数字签名,大型IT公司(比如:微软、Google、苹果等)或者是知名开源组织比如sourceforge.net发布的Windows软件,安装文件通常都内置数字签名。当然有些软件或执行程序不附带数字签名。 利用资源管理器验证单个文件下载完某个软件或执行程序后,鼠标右键查看该文件的属性,就会注意到到上面有“数字签名”标签页。如果没有出现这个标签页,就说明该文件没有附带数字签名。下面是firefox和Chrome的数字签名。 firefox安装文件数字签名 Chrome安装执行程序数字签名 一般来说,签名列表中,有且仅有一个签名。选中它,点“详细信息”按钮。通常这个界面会显示一行字:该数字签名正常。如果有这行字,就说明该文件完整而没有被篡改过。 数字签名中没有包含“邮件地址”,那么这一项会显示“不可用”;某些数字签名没有包含“时间戳”,也会显示“不可用”。这里显示的“不可用”跟数字签名的有效性没关系。 如果该文件被篡改过了,那么对话框会出现一个警告提示:该数字签名无效,一旦出现数字签名无效,那这个文件就不要再用了。 数字签名无效 利用命令行工具批量验证如果需要验证的文件比较多,可以使用命令行工具SigCheck进行批量验证。 下载地址https://technet.microsoft.com/en-us/sysinternals/bb897441.aspx。 使用“sigcheck-u-e-s某个目录的路径名”,可以批量检查某个目录下(包括多层嵌套子目录)的所有可执行程序,并且把“无签名”或者“签名无效”的文件列出来。
|