来源:How to Choose the Right Malware Classification Scheme to Improve Incident Response,https://securityintelligence.com/how-to-choose-the-right-malware-classification-scheme-to-improve-incident-response/
恶意软件感染是计算机安全中最常见的威胁之一。根据“2017年ENISA威胁环境报告”,一些防病毒供应商每天检测到400多万个恶意软件样本,仅2017年一季度就检测到7亿多个样本。
这些惊人的数字强调了建立恶意软件事件响应计划的重要性。然而,安全团队不能一次处理所有的恶意软件警报。美国国家标准与技术研究所(NIST)的“桌面和笔记本电脑恶意软件事件预防和处理指南”概述了组织可以采取的步骤,以开发一个恶意软件分类方案,优先处理这些事件。
事件响应计划的分析阶段包括识别和理解被检测到的恶意软件的类型。这个过程的结果然后作为实际恶意软件分类的输入。
分析可以分阶段进行,从使用诸如VMRay之类的全自动工具相当容易,到涉及手动代码逆向的非常困难的技术。分析结果应包括一套指标的破坏(IoCs)和详细信息的特点,传播方法和行为的恶意软件。
为了准备未来的事件,组织应该为每个恶意软件分类类型建立特定的剧本。这使安全团队能够更有效地优先处理事件。例如,根据自动传播能力分类的恶意软件应该优先于仅仅被归类为不需要的程序的恶意软件。
显然,要使用正确的剧本,你必须首先能够正确地分类检测到的恶意软件。这就是事情变得棘手的地方。
一、理想情况下的恶意软件分类
在理想的情况下,一个分类方案会将恶意软件类型放在一个明确的分类树中。不幸的是,真实世界的恶意软件通常具有广泛的恶意功能、保护方法、目标分发和传播方法。这使得分类更加困难,并且非常依赖于安全团队试图实现的目标。此外,恶意软件家族通常有许多相似之处,但在分类过程中可能会有一些小的修改,导致混淆。
通过自动分析工具(如沙箱)或通过属性的静态分析识别的恶意软件通常已经被反病毒公司识别和命名。您可以使用这些信息开始,但是仅根据恶意软件名称进行分类是有限制的。
二、现有的分类方案
既然我们不是生活在一个理想的世界,让我们仔细看看一些现有的分类方案,并讨论它们如何帮助安全团队优先处理恶意软件威胁和优化他们的事件响应过程。
2.1按图像分类
计算机科学实验室发表的一篇论文描述了一种使用图像进行恶意软件二进制分类的静态技术。在计算图像的基于文本的特征来描述恶意软件之前,先将恶意软件二进制文件转换为图像。由于使用固定大小的加密密钥,这种分类方法对包装策略具有弹性。它还使安全团队能够可视化地描述和分类恶意软件样本。
2.2恶意软件聚类
恶意软件聚类提供了恶意软件之间关系的可视化表示。这些结果可以极大地提高分析人员识别大量恶意软件样本之间的相似性的能力,并使他们能够更快地识别已知样本或与已知恶意软件共享相似性的样本。最终,这解放了安全团队,让他们可以专注于新型的恶意软件。
通过结合使用impfuzzy和Neo4J图形数据库,分析人员可以生成快速而有意义的结果。Impfuzzy使用模糊哈希来计算导入API的哈希值。它也是一个波动性插件。
虽然它不是专门设计来表示恶意软件集群,但VirusTotal图形工具可以帮助分析人员理解恶意软件文件之间的关系。它提供了对整个VirusTotal数据集的可见性,以及一个直观的界面来透视和导航它们。
2.3防病毒厂商命名约定
防病毒供应商喜欢使用基于签名的方法为恶意软件分配古怪的名称。顶级分类通常是通过一个基本的命名约定来完成的。通常,恶意软件名称前缀表示目标平台或恶意软件功能,然后是恶意软件家族名称(例如,“Trojan.Win32”)。
不幸的是,这种命名约定通常仅限于单个供应商,这使得共享信息变得更加困难。此外,这种技术并不总是描述恶意软件的全部功能。
卡巴斯基实验室根据一个分类树对恶意软件进行分类。恶意软件样本按照两个基本规则放在图中:
(1)威胁最小的行为显示在图的下方。
(2)构成最大威胁的行为显示在图表的上半部分。
例如,如果电子邮件蠕虫比internet中继聊天(IRC)蠕虫具有更高的风险,则电子邮件蠕虫将被放置在图的顶部和IRC蠕虫之上。
2.4CARO
微软使用计算机防病毒研究组织(CARO)的恶意软件命名方案,根据以下格式:
类型-恶意软件的行为。例如,它是一个特洛伊木马,垃圾邮件或远程访问工具?
平台——目标平台、编程语言或文件格式。
家族-基于共同特征的分组,包括归属于同一作者。
变种-一个不同版本的恶意软件。
附加信息-额外的细节,包括如何使用它作为一个多组件威胁的一部分。例如,“!指示威胁组件是一个快捷方式。
CARO是一个由跨越公司和学术边界的个人组成的组织,它的目的是研究和研究恶意软件。自1990年成立以来,它一直在推动一项命名标准。
2.5MAEC
恶意软件属性枚举和描述(MAEC)是一种社区开发的结构化语言,用于基于行为、工件和恶意软件样本之间的关系等属性对恶意软件信息进行编码。它可以用于非基于签名的恶意软件特征描述。MAEC与STIX类似——如果您使用STIX或TAXII,那么MAEC当然值得研究。
MAEC语言由两个规范文档定义:
具有高级用例的核心概念以及数据类型和顶级对象的定义;和
具有显式值的词汇表文档。
MAEC有JavaScript对象表示法(JSON)模式和Cuckoo报告模块。还有一个模块用于将VirusTotal 报告转换为MAEC。
2.6Machine-Parsable恶意软件分类
一些威胁情报共享平台,如恶意软件信息共享平台(MISP),支持恶意软件的分类方案,带有可由机器解析的标签和人类可读的描述。同时使用这两种分类方法有助于使事件响应过程更加流畅。
机器可解析标记允许分析人员轻松地包含自动化步骤和可以推送到其安全解决方案的保护规则。例如,一旦分析了一个样本并将威胁事件的所有特征添加到平台上,安全团队就可以在遏制和消除阶段自动部署入侵检测系统(IDS)规则。与此同时,人类可读的标记允许分析人员快速创建摘要报告。在威胁信息共享平台中立即提供集成,使得与对等方交换这些信息变得更加容易
三、选择正确的恶意软件分类方法
有许多不同的方法来分类恶意软件。选择正确的方案取决于您的具体用例。
如果您对发现恶意软件样本之间的关系和相似性感兴趣,那么基于图像表示和恶意软件聚类技术的分类方案当然值得研究。如果您的目标是改进处理恶意软件爆发的事件响应过程,那么分类应该考虑优先级和紧急性标准。
恶意软件的功能和行为将定义它对您的环境的影响。例如,它的设计目的是窃取用户凭证、泄漏敏感数据、允许远程访问或破坏您的系统吗?更高的影响力需要更高的优先级。您还应该考虑是否有可能妨碍或减慢您的分析的保护措施。
恶意软件瞄准的任何平台都可以作为输入来确定其优先级。恶意软件的目标是那些没有部署在您的环境中的平台,或者那些使用自动过滤的文档格式的平台,这些恶意软件与其说是真正的威胁,不如说是一种麻烦。
传播方法也将有助于确定事件的紧迫性。没有用户交互就能自动传播的恶意软件需要立即跟进。另一方面,你的安全解决方案已经识别和过滤的恶意软件可以归类为不那么紧急的。
如果您只是从一个分类方案开始,那么基于CARO的恶意软件命名约定是一个很好的基础。您还应该为最常见的恶意软件类型准备剧本,以确保您的团队在发生意外时不会措手不及。无论您选择哪种分类方案,都要确保构建的方式能够轻松地在事件响应策略中包含自动化步骤。