什么是“软件指纹”?(与软件安全管理相关的问题)

如果我们仔细分析恶意软件,我们会发现编写这些代码的黑客留下的“指纹”。与目前的入侵检测形式相比,这相当于一个黑客一生的特征。

HBGary公司首席执行官格雷格·霍格伦德(Greg Hoglund)表示,分析恶意软件可执行文件的二进制代码也可以揭示攻击代码的意图,从而更有效地保护数据。霍格伦德将在拉斯维加斯的一次会议上发表题为“恶意软件的所有权:追踪网络间谍和数字犯罪”的演讲。

霍格伦德表示,分析将揭示工具的痕迹——编写恶意代码的环境特征。这有助于识别编写代码的个人或团体使用什么工具。

例如,他的研究看到了黑客在恶意软件执行文件背后的“指纹”,包括使用Back Orifice 2000、Ultra VNC远程控制计算机软件和2002年微软编辑指南代码。每一个学位都被修改了一点点,但获得的信息足以形成一个完整的“指纹”。

恶意软件是一种远程访问工具(RAT),毒藤等RAT生成器可以为每次使用创建唯一的RAT代码,这不是黑客的选择。根据Hoglund的说法,在其他恶意软件中识别这种RAT可以将恶意软件代码与普通作者或团队联系起来。

他发现这些“指纹”已经有相当长的时间了。一旦编写完成,这些二进制代码本身很少被更改。所以长期把这些指纹作为恶意软件的特征会更有效。霍格伦德说:“这些坏人不会频繁改变他们的代码。”

传统的反病毒平台可以识别恶意软件的变种。这项研究可以催生新形式的入侵检测。他们将深度分析恶意软件以找到这些指纹,然后将它们分配给根据恶意软件意图组建的威胁响应团队。

他举例说,如果恶意软件旨在窃取个人的信用卡账户,那么与窃取公司知识产权的恶意软件相比,公司可能会将前者列为对公司威胁较低的恶意软件。

霍格伦德说:“你无法成功地将这些坏人挡在你的网络之外。但如果能尽早发现它们,就能防止损失。”

在他的演讲中,霍格伦德说他会展示一些图表。指纹的匹配程度,这些图表对他们团队检测到的50万个恶意软件进行了分类。他说,他想向人们展示,这50万个恶意软件经过分类后,数量会减少,会变成数百个而不是数千个。

如果像他说的那样,把这些指纹作为恶意软件的特征来检测,入侵检测引擎就会专注于过滤恶意软件,而不是恶意软件入侵时使用的外壳。由于攻击者改变代码的速度很慢,这也意味着将建立一个更稳定的恶意软件特征库。这些IDS功能将长期有效地工作。

为了实现这一点,IDS需要安装在执行代码的终端中,并且它可以在计算机内存中被视为人类可读的文本。在网络层,打包的可执行文件不显示这些属性。

会上,Hoglund计划发布一款名为Fingerprint的工具。该工具可以分析和比较不同恶意软件的相似性。公司可以使用这个工具来确定可识别的黑客写了什么代码以及他们的意图是什么。

这种方法可以帮助公司识别他们是受到了协同攻击还是随机攻击。霍格伦德说,通过这种类型的分析,他发现了一个可识别的攻击国防部的黑客,而这个黑客也在5年前攻击了一个军事基地。

“指纹”表明攻击者是同一个人。攻击者使用的语言开发环境显示了攻击者来自的国家,攻击者使用的部分源代码也是该国黑客网站上的代码副本。