恶意文件分析系统中的数字签名验证.PDF

恶意文件分析系统中的数字签名验证.PDF

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
恶意文件分析系统中的数字签名验证.PDF

前沿技术 恶意文件分析系统中的数字签名验证 安全研究部 李志昕 关键词:恶意文件分析数字签名Openssl 摘要:本文主要介绍了Linux 环境下的PE 文件数字签名验证的相关技术,着重介绍 了从PE 文件中解析数字签名,并应用Openssl 库进行证书信任链的验证。最后,对恶意 文件分析系统中对数字签名的信任策略问题,提出一些讨论和思考。 一. 前言 字签名的概念和技术,为了保证文章的完整可读,也将作以简要的 介绍。 本文是基于一个真实项目中所涉及到的数字签名验证问题的相 关实践所进行的总结,并不希望详细介绍数字签名技术的方方面面, 二. PE 文件数字签名格式 而是仅就项目中遇到的问题和解决问题的思路方法进行介绍。 这里假定读者已经具备数字签名的基本理论知识,如果不了解 本文主要介绍的内容有:在Linux 环境下如何验证PE 文件的 可以先阅读一下What is a Digital Signature[1] 这篇文章,其中用比 数字签名,如何从Windows 系统中导出信任证书并在Linux 应用, 较形象的手法解释了相关概念。 以及数字签名验证通过情况下的文件信任策略。这当中所涉及到的数 接下来,首先看一下我们遇到的问题。我们的恶意文件分析系 61 前沿技术 统(以下简称分析系统)接收到用户提交的样本文件后,在进行动态 分析之前会先做一些静态分析。而在对PE 文件的静态分析中,如 果PE 文件有数字签名,则要对签名进行验证。若数字签名验证通 过,则不再对其进行后续分析。这样做主要考虑的是降低误报,以 及减少服务器资源消耗。但是由于分析系统是运行在Linux 平台上, 所以无法直接利用Windows 系统的工具来完成验证。当然,另外提 供一个基于Windows 的验证服务器也是一个很好的思路,那么在 我们的项目中,采用的是在Linux 环境下直接提取PE 文件的数字签 名并验证的方法。要做到这一点,就必须先了解PE 文件数字签名的 格式。 图2.1 引自于微软的官方文档[2],该图比较清晰地展现了PE 文件数字证书的结构,下面作以简要的描述: (1)PE 文件头部的可选头部中,数据目录(Data Directories)的 第五项,为安全目录(Security Directory),指定了证书表项(Certificate Table)在PE 文件中的位置和大小。 (2) 证书表项,每项包含一个8 字节的头部以及符合PKCS#7[3] 定义的签名数据。 头部定义如下: 1 ~4 5 ~6 7 ~8 图2.1 Windows PE 文件格式和可信代码签名格式 表项长度 证书版本 证书类型 •表项长度:头部和签名数据的总长度 (3) 签名数据中主要包含了PE 文件的Hash 值,使用软件发布 •证书版本:常见为0x0200 (W IN_CERT_ REV ISION_ 2) 者私钥创建的签名,以及X .509 v3 格式的证书。PE 文件Hash 的 •证书类型:常见为0x0002 (W IN_CERT_TY PE_ PKCS_ 计算不包含图2.1 中灰色背景的部分,目的是避免绑定证书文件影响 SIGNED_ DATA) 到Hash 值。 62 前沿技术 三. 应用Openssl 验证数字签名 这个函数就是验证签名的关键函数了,下面详细介绍一下相关参数: 从PE 文件中提取得

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档