差异恶意软件分析:样本种类比较

曲速未来安全区
曲速未来安全区 机构得得号

Sep 23, 2018 专注于为读者提供区块链安全领域最新讯息

摘要: 分析恶意软件的方法有很多种。在这篇文章中,我们举例说明了一种典型的分析方法:将未知样本与已知样本进行比较,以确定未知样本是否为恶意样本。

 分析恶意软件的方法有很多种。在这篇文章中,我们举例说明了一种典型的分析方法:将未知样本与已知样本进行比较,以确定未知样本是否为恶意样本。

据悉,在一次约会中,遇到了一个触发反病毒的PDF文档。引起了兴趣的是,该文件具有与被认为良性的另一文件相同的标题和几乎相同的大小。那防毒软件找到了被攻占的文件吗?下面将揭晓。

通常,在执行PDF文档分析时,首先是PDFiD:最起码知道了可以在文档中找到什么。下面在这里采取同样的开端,但并不打算详细研究PDFiD制作的报告。

首先,下面是比较已知和未知样本的报告:

使用diffdump.py比较两个报告可以知道这些报告是相同的(文件名除外,它包含在报告中)。然后可以更进一步,使用选项-a为PDF中找到的所有名称生成报告,而不是仅显示可能表示恶意行为的名称。

但有相同的结果:报告是相同的。从词汇PDF语言的角度来看,这些文档是相同的。但知道它们并不是,它们有一个不同的加密哈希,触发了反病毒,而另一个没有。

是时候在pdf-parser的帮助下深入研究这些文档的语法和语义。pdf-parser有一个鲜为人知的选项(-a)来计算PDF文档中找到的元素和对象的统计信息:

比较了2个样本的统计数据,发现它们是相同的:

这是重要的信息:说明样本和原始文档具有相同数量和类型的元素和对象,强烈表明它们是相关的。

为了尝试更多地了解这些差异,就让pdf-parser为这两个文档生成完整的报告:

除了报告开头的一些字符之外,报告几乎完全相同。这是关于这些文件差异的第一个重要线索。而且当比较这些文件开头的注释时,更令人注意到它们是相同的,除了行尾字符:\n表示样本,\r\n表示原始字符:

在Windows上,行尾定义为2个字符:回车+换行符(0x0D 0x0A或\r\n)。在Linux上,它是一个单一字符:换行符。

也许因为示例是在Linux机器上以某种方式处理的原始文档的版本,从而导致行尾字符的更改。定义和测试假设的时间:文档是相同的,除了行尾字符。

使用流编辑器sed用\n替换原始文档中的所有\r\n实例,然后将样本与已转换的原始文件进行比较:

文件完全相同!

结论

通过此分析得出:明显显示两个文档是相同的,除了行尾字符。相信这些原来的并不是恶意的,因为可以很简单地将原始版本转换为具有eol转换的样本,所以能得出结论,样本不能是恶意的。通常,差异分析不会那么明确,但它仍然是逆向工程师的重要方法。

本文内容由 曲速未来 (WarpFuture.com) 安全咨询公司编译,转载请注明。 

(编译:曲速未来安全区,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 曲速未来安全区 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信