CN109074454A - 基于赝象对恶意软件自动分组 - Google Patents
基于赝象对恶意软件自动分组 Download PDFInfo
- Publication number
- CN109074454A CN109074454A CN201780024945.9A CN201780024945A CN109074454A CN 109074454 A CN109074454 A CN 109074454A CN 201780024945 A CN201780024945 A CN 201780024945A CN 109074454 A CN109074454 A CN 109074454A
- Authority
- CN
- China
- Prior art keywords
- malware
- sample
- artefact
- analysis
- automation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
公开了用于基于赝象对恶意软件自动分组的技术。在一些实施例中,用于基于赝象对恶意软件自动分组的系统、过程和/或计算机程序产品包括接收多个样本,用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件;处理日志文件以提取与恶意软件相关联的特征;基于提取的特征对多个样本进行群集;以及基于群集输出执行动作。
Description
背景技术
防火墙通常保护网络免受未授权访问,同时允许授权通信通过防火墙。防火墙通常是为网络访问提供防火墙功能的设备或设备的集合,或在诸如计算机之类的设备上执行的软件。例如,防火墙可以被集成到设备(例如,计算机、智能电话或其他类型的具有网络通信能力的设备)的操作系统中。防火墙还可以集成到计算机服务器、网关、网络/路由设备(例如,网络路由器)或数据设备(例如,安全设备或其他类型的专用设备)上或作为软件在计算机服务器、网关、网络/路由设备(例如,网络路由器)或数据设备(例如,安全设备或其他类型的专用设备)上执行。
防火墙通常基于规则的集合拒绝或允许网络传输。规则的这些集合通常称为策略。例如,防火墙可以通过应用规则的集合或策略来过滤入站业务。防火墙还可以通过应用规则的集合或策略来过滤出站业务。防火墙可能还能够执行基本路由功能。
附图说明
在以下详细描述和附图中公开了本发明的各种实施例。
图1是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的架构的功能图。
图2是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的架构的另一功能图。
图3是根据一些实施例的用于威胁情报可操作的恶意软件分析平台的架构的功能图,该威胁情报可操作用于摄取和处理恶意软件样本的自动化分析的结果。
图4是根据一些实施例的用于针对用于威胁情报的恶意软件分析平台执行数据摄取过程以更新使得可操作的行计数的流程图。
图5是根据一些实施例的用于摄取和处理恶意软件样本的自动化分析的结果以更新行计数的功能图。
图6是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的仪表板的屏幕截图。
图7A-7B是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的屏幕截图。
图8是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的样本搜索视图的屏幕截图。
图9是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的会话搜索视图的屏幕截图。
图10是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的统计搜索视图的屏幕截图。
图11A-11B是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的域、URL和IP地址信息搜索视图的屏幕截图。
图12是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的警报屏幕的屏幕截图。
图13A-C是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的警报日志屏幕的屏幕截图。
图14是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的标签细节屏幕的屏幕截图,该威胁情报是可操作的。
图15A-D是根据一些实施例的用于利用用于威胁情报使得可操作的恶意软件分析平台来基于赝象查看和/或执行动作的界面的屏幕截图。
图16是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行过程的流程图。
图17是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行过程的另一流程图。
图18是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行过程的另一流程图。
图19是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行加标签和警报过程的流程图。
图20是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行加标签和警报过程的另一流程图。
图21是根据一些实施例的用于自动确定恶意软件样本是否相似的功能部件的部件图。
图22是根据一些实施例的用于自动确定恶意软件样本是否相似的流程图。
图23是根据一些实施例的用于自动确定恶意软件样本是否相似的另一流程图。
图24是根据一些实施例的用于自动确定恶意软件样本是否相似的另一流程图。
图25是根据一些实施例的用于基于赝象自动对恶意软件样本分组的功能部件的部件图。
图26是根据一些实施例的可以被生成用于将恶意软件样本群集到恶意软件家族中的决策树的图形可视化。
图27是根据一些实施例的用于基于赝象自动对恶意软件样本分组的流程图。
图28是根据一些实施例的用于基于赝象自动对恶意软件样本分组的另一流程图。
具体实施方式
本发明可以以多种方式实现,包括作为过程;装置;系统;物质的组成;在计算机可读存储介质上实现的计算机程序产品;和/或处理器,诸如被配置成执行存储在耦合到处理器的存储器上和/或由耦合到处理器的存储器提供的指令的处理器。在本说明书中,这些实现或本发明可以采取的任何其他形式可以称为技术。通常,可以在本发明的范围内改变所公开的过程的步骤的顺序。除非另有说明,否则诸如被描述为被配置成执行任务的处理器或存储器的部件可以被实现为临时配置成在给定时间执行任务的通用部件或者被制造以执行任务的特定部件。如在本文中所使用的,术语‘处理器’指的是被配置成处理数据(诸如计算机程序指令)的一个或多个设备、电路和/或处理核。
以下提供本发明的一个或多个实施例的详细描述连同说明本发明原理的附图。结合这样的实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多替代方案、修改和等同物。在以下描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节用于示例的目的,并且可以在没有这些具体细节中的一些或全部的情况下根据权利要求来实施本发明。为了清楚起见,尚未详细描述与本发明相关的技术领域中已知的技术材料,使得本发明不被不必要地模糊。
防火墙通常保护网络免受未授权访问,同时允许授权通信通过防火墙。防火墙通常是为网络访问提供防火墙功能的设备、设备的集合或在设备上执行的软件。例如,防火墙可以被集成到设备(例如,计算机、智能电话或其他类型的具有网络通信能力的设备)的操作系统中。防火墙还可以被集成到各种类型的设备或安全设备(诸如计算机服务器、网关、网络/路由设备(例如网络路由器)或数据设备(例如安全设备或其他类型的专用设备))上,或者作为软件应用在各种类型的设备或安全设备上执行。
防火墙通常基于规则的集合拒绝或允许网络传输。规则的这些集合通常被称为策略(例如,网络策略或网络安全策略)。例如,防火墙可以通过应用规则的集合或策略来过滤入站业务,以防止不想要的外部业务到达受保护的设备。防火墙还可以通过应用规则的集合或策略来过滤出站业务(例如,可以在防火墙规则或防火墙策略中指定允许、阻止、监视、通知或日志记录和/或其他动作,所述动作可以基于各种标准来触发,诸如在本文中描述的那样)。
网络设备(例如,安全设备、安全网关、安全服务和/或其他安全设备)可以包括各种安全功能(例如,防火墙、反恶意软件、入侵预防/检测、数据丢失预防(DLP)、和/或其他安全功能)、网络功能(例如,路由、服务质量(QoS)、网络相关资源的工作负载平衡和/或其他网络功能)和/或其他功能。例如,路由功能可以基于源信息(例如,IP地址和端口)、目的地信息(例如,IP地址和端口)和协议信息。
基本分组过滤防火墙通过检查通过网络传输的各个分组来过滤网络通信业务(例如,分组过滤防火墙或第一代防火墙,其是无状态分组过滤防火墙)。无状态分组过滤防火墙通常检查各个分组本身并基于检查的分组应用规则(例如,使用分组的源和目的地地址信息、协议信息和端口号的组合)。
应用防火墙还可以执行应用层过滤(例如,应用层过滤防火墙或第二代防火墙,其在TCP/IP栈的应用层上工作)。应用层过滤防火墙或应用防火墙通常可以识别某些应用和协议(例如,使用超文本传输协议(HTTP)的web浏览、域名系统(DNS)请求、使用文件传输协议(FTP)的文件传输以及各种其他类型的应用和其他协议,诸如Telnet、DHCP、TCP、UDP和TFTP(GSS))。例如,应用防火墙可以阻止尝试通过标准端口进行通信的未授权协议(例如,通常可以使用应用防火墙来识别通过使用用于该协议的非标准端口尝试偷偷通过的未授权/退出策略协议)。
状态防火墙还可以执行基于状态的分组检查,其中在与该网络传输的分组的流/分组流相关联的一系列分组的上下文内检查每个分组(例如,状态防火墙或第三代防火墙)。该防火墙技术通常被称为状态分组检查,因为它维护通过防火墙的所有连接的记录,并能够确定分组是否是新连接的开始、现有连接的一部分还是无效分组。例如,连接的状态本身可以是触发策略中的规则的标准之一。
高级或下一代防火墙可以执行无状态和状态分组过滤和应用层过滤,如以上讨论的那样。下一代防火墙还可以执行附加防火墙技术。例如,某些较新的防火墙(有时称为高级防火墙或下一代防火墙)还可以识别用户和内容(例如,下一代防火墙)。特别是,某些下一代防火墙正在将这些防火墙可以自动识别的应用的列表扩展到数千个应用。这样的下一代防火墙的示例是从位于加利福尼亚州圣克拉拉中的Palo Alto Networks公司商业上可获得的(例如,Palo Alto Networks的PA系列防火墙)。例如,Palo Alto Networks的下一代防火墙使企业能够识别和控制应用、用户和内容——不仅仅是端口、IP地址和分组——使用各种识别技术,诸如以下各项:用于准确应用识别的APP-ID、用于用户识别的用户ID(例如,通过用户或用户组)以及用于实时内容扫描的Content-ID(例如,控制web冲浪并限制数据和文件传输)。这些识别技术允许企业使用与业务相关的概念安全地启用应用使用,而不是遵循由传统端口阻塞防火墙提供的传统方法。此外,实现为例如专用设备的用于下一代防火墙的专用硬件通常为应用检查提供比在通用硬件上执行的软件更高的性能水平(例如,诸如由Palo Alto Networks公司提供的安全设备,其利用与单程软件引擎紧密集成的专用的、功能特定的处理,以将网络吞吐量最大化,同时将延迟最小化)。
还可以使用虚拟化防火墙来实现高级或下一代防火墙。这样的下一代防火墙的示例是从Palo Alto Networks公司商业上课获得的(例如,Palo Alto Networks的VM系列防火墙,其支持各种商业虚拟化环境,包括例如VMware®ESXiTM和NSXTM、Citrix®NetscalerSDXTM、KVM/OpenStack(Centos/RHEL、Ubuntu®)和Amazon Web Services(AWS))。例如,虚拟化防火墙可以支持物理形状因子设备中可用的类似或完全相同的下一代防火墙和高级威胁预防特征,允许企业安全地启用应用流入和跨它们的私有、公共和混合云计算环境。自动化特征(诸如VM监视、动态地址组和基于REST的API)允许企业主动监视VM改变,动态地将该上下文馈送到安全策略中,从而消除在VM改变时可能发生的策略滞后。
对安全检测技术的重大挑战是识别尝试使用新的漏洞的威胁(例如,恶意软件,其指的是恶意程序,诸如尝试执行恶意或不期望的动作的程序),诸如先前尚未被识别的零日威胁(zero-day threats)(例如,瞄准和未知威胁)。例如,新的零日威胁和/或高级威胁,诸如高级持久威胁(APT)(例如,技术高级对手,其采用各种技术使用恶意软件来利用系统中的漏洞并且经常使用外部命令和控制(C&C)用于连续监视和提取来自特定目标的数据,通常使用可以规避传统的安全措施(诸如基于签名的恶意软件检测措施)的隐蔽的、持久的方法),其先前尚未被识别(例如,还不存在针对其的签名)可以利用设备(例如,客户端设备、服务器、设备、联网设备、打印机和/或其他类型的计算设备)的应用或操作系统中的新的或未解决的漏洞。
然而,现有的基于技术的安全方法未能提供可操作的解决方案,其可以充分地解决以上描述的问题。例如,现有方法未能提供恶意软件分析平台,该平台可以便于查看、分析和作用于与恶意软件相关联的属性(例如,高风险属性)。
特别地,老练的攻击者越来越多地使用恶意软件的瞄准和新的未知变体来避免被基于现有的技术的安全方法(例如,传统安全产品/解决方案)的检测。例如,高级安全威胁(例如,高级网络攻击)正在采用隐蔽的、持久的方法来规避传统的安全措施(例如,APT)。熟练的对手(例如,攻击者)要求现代安全团队重新评估他们的基本假设,即传统的入侵预防和DLP系统、防病毒和单用途沙箱设备可以胜任战胜高级安全威胁,诸如APT和由内部威胁利用其他的技术,例如,从企业网络泄露数据。
用于威胁情报使得可操作的恶意软件分析平台的技术的概述
因此,所需要的是用于基于技术的安全解决方案的新的和改进的技术,其可以提供用于威胁情报使得可操作的恶意软件分析平台,所述平台可以充分地解决以上描述的问题和/或在本文中描述的各种其他问题。
因此,公开了用于威胁情报使得可操作的恶意软件分析平台的技术。在一个实施例中,公开了用于威胁情报使得可操作的恶意软件分析平台,其生成恶意软件分析结果的增强视图。例如,恶意软件分析平台可以执行摄取和转换过程以处理日志文件的集合,包括(例如,选择的/重要的)恶意软件分析结果活动(例如,诸如静态恶意软件分析结果和/或动态恶意软件分析结果,其可以包括互斥使用、网络活动、注册表变化、API调用和/或各种其他选择的/重要的恶意软件分析结果活动),以促进恶意软件分析结果的增强视图。
此外,由现有安全分析方法生成的大量和复杂信息对识别和/或确定恶意软件正在执行的恶意活动和/或对将恶意软件样本与它们的特征和/或行为之间的模式或关系相关联提出了技术挑战。因此,公开了用于确定与恶意软件、灰色软件和良性样本相关联的赝象的技术。在一个实施例中,可以基于恶意软件样本分析结果来执行对赝象的分析,以生成恶意软件分析结果的增强视图,如在本文中进一步描述的那样。
在一个实施例中,恶意软件分析平台使用赝象生成恶意软件分析结果的增强视图(例如,基于使用行计数技术(诸如恶意软件样本分析结果的日志文件的行计数或子行计数)执行的分析,诸如下面进一步描述的那样)。例如,恶意软件分析平台可以执行以上描述的摄取和转换过程以生成日志文件的集合,包括(例如,选择的/重要的)恶意软件分析结果活动(例如,诸如静态恶意软件分析结果和/或动态恶意软件分析结果,其可以包括互斥使用、网络活动、注册表改变、API调用和/或各种其他选择的/重要的恶意软件分析结果活动)。
例如,可以对恶意软件分析样本结果(例如,日志文件)执行行/子行计数,以提供恶意软件分析结果数据的统计视图(例如,跨恶意软件分析平台服务的订户/客户的不同企业网络、客户/行业的类别等),诸如包括以下各项中的一个或多个:(1)在良性和恶意软件样本二者中已经观察到至少阈值次数的常见动作/属性;(2)(恶意/可疑)动作/属性(例如,可疑赝象),其在恶意软件样本中已经被观察到至少阈值次数,并且在良性样本中仅观察到相对较低的阈值次数;以及(3)在良性样本中已经观察到至少阈值次数并且在恶意软件样本中仅观察到相对较低阈值次数的动作/属性(例如,高度可疑的赝象)。可以执行所公开的技术以识别风险/高风险赝象(例如,可疑和/或高度可疑的赝象),然后可以利用所述赝象来基于这些赝象执行分析和/或执行动作,如下面进一步描述的那样。
例如,可以执行所公开的技术以识别与给定恶意软件样本的日志文件中的行/子行相关联的高风险赝象(例如,被确定使是用在本文中公开的各种技术最可能用恶意软件检测为可疑或高度可疑的赝象)(例如,通过确定与高恶意软件计数和/或低良性计数相关联的日志文件中的行/子行,诸如在本文中进一步描述的那样)。在该示例中,可疑行/子行然后也可用于自动生成新签名,用于针对该恶意软件样本检测恶意软件,以执行用于阻止恶意软件的动作,该恶意软件包括与这些可疑行/子行相关联的(一个或多个)赝象(例如,通过添加高风险赝象,诸如针对域、IP地址和/或URL的高风险赝象,以与防火墙阻止列表一起使用或支持安全信息和事件管理(SIEM)解决方案)。在该示例中,所公开的技术还可以作为验证/校对系统来执行,以测试和验证新签名并检查行计数结果。
在一些实施例中,用于威胁情报使得可操作的恶意软件分析平台的系统、过程和/或计算机程序产品包括接收多个样本以用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件(例如,包括来自动态和/或静态分析的结果);处理日志文件以确定与恶意软件相关联的赝象;以及根据赝象执行动作。例如,如果基于自动化恶意软件分析确定赝象与一个或多个恶意软件样本相关联,则该赝象可被视为高风险赝象。
在一个实施例中,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,以及用于威胁情报使得可操作的恶意软件分析平台的系统、过程和/或计算机程序产品进一步包括识别日志文件中的不同行;以及基于针对先前处理的日志文件执行的行计数更新不同行中的每个的行计数。
在一个实施例中,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,以及用于威胁情报使得可操作的恶意软件分析平台的系统、过程和/或计算机程序产品进一步包括识别日志文件中的不同行;以及确定不同的行中的任何行是否是可疑的。
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的系统/过程/计算机程序产品包括生成恶意软件分析结果日志文件的人类可读格式(例如,替换数字标识符并移除不感兴趣的参数,诸如在本文中描述的那样);确定每个日志文件中的每个不同行的第一次出现(例如,以及移除日志文件中的重复行);以及如与良性样本相比,对在恶意软件样本中观察到每个不同行的次数计数。在一个实施例中,所公开的行计数技术被类似地应用于生成子行计数,诸如在本文中进一步描述的那样。例如,可以对每行的子集计数,诸如以实现子行/属性/参数计数(例如,基于注册表名称、互斥、文件名和/或其他属性/参数,而不是全部行/整行)。在一个实施例中,所公开的行计数技术被类似地应用于生成对指定日期范围和/或指定样本的集合的行/子行计数,诸如在本文中进一步描述的那样。
在一些实施例中,用于使用用于威胁情报使得可操作的恶意软件分析平台加标签和警报的系统、过程和/或计算机程序产品包括接收多个样本以用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件(例如,包括来自动态和/或静态分析的结果);处理日志文件以提取与日志文件相关联的赝象;基于赝象确定标签是否与多个样本中的任何样本匹配;以及基于标签是否与多个样本中的任何样本匹配来执行动作。例如,如果基于自动化恶意软件分析确定赝象与恶意软件相关联,那么赝象可被视为高风险赝象。在一个实施例中,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行。
在一个实施例中,用于使用用于威胁情报使得可操作的恶意软件分析平台加标签和警报的系统、过程和/或计算机程序产品进一步包括基于确定标签与多个样本中的至少一个匹配来生成警报。例如,当存在匹配的标签时,并且在监视网络(例如,订户的企业网络,或者用于如果标签是基于在另一个订户的企业网络(诸如,在相同行业类别中的另一个订户)中检测到的公共样本触发的,则生成警报)中存在针对该样本的网络业务时,可以生成警报(例如,对于平台的客户/订户)。
在一个实施例中,用于使用用于威胁情报使得可操作的恶意软件分析平台加标签和警报的系统、过程和/或计算机程序产品进一步包括基于与一个或多个赝象相关联的多个条件来配置标签;以及基于与一个或多个赝象相关联的多个条件确定标签是否与多个样本中的任何样本匹配。
作为示例,可以执行所公开的技术以允许用户了解关于在他们的网络(例如,企业网络)上找到/检测到的样本的更多信息。假设一家银行ACME银行是用于威胁情报使得可操作的恶意软件分析平台的客户/订户,ACME银行然后可以利用该平台来确定40%的银行客户已经在他们的网络上找到/检测到相同的恶意软件。作为另一个示例,ACME银行可以利用该平台来搜索恶意软件样本结果数据的分析,该结果数据的分析可以包括基于恶意软件样本结果数据的自动化分析的附加统计,这可以促进识别普遍存在的恶意软件、与恶意软件相关的高风险赝象和/或显示恶意软件之间的连接/关联(例如,共享的高风险赝象或其他连接/关联)。作为另一个示例,ACME银行可以利用该平台来通过区分具有全球影响(例如,基于警报标签)的威胁或活动和不造成直接或立即的安全风险(例如,基于信息标签)的影响较小的威胁来优先化它们的网络环境中的安全事件。因此,ACME银行可以利用该平台来快速识别它们的网络上的威胁,并在行业、全球和历史背景内对这样的事件背景化(例如,利用平台的仪表板界面来查看针对它们的网络、针对他们的行业以及在全球范围内的最高活动)并且还可以基于威胁情报信息执行动作,诸如下面进一步描述的那样。
因此,公开了用于提供用于威胁情报使得可操作的恶意软件分析平台的各种技术。例如,公开了用于提供用于威胁情报使得可操作的恶意软件分析平台的各种技术解决方案。鉴于在本文中描述的各种技术和实施例,对于本领域技术人员来说显而易见的是,在本文中描述的用于提供用于威胁情报使得可操作的恶意软件分析平台的各种技术可以类似地使用基于云的安全解决方案、基于网络设备的安全解决方案、基于主机/基于代理的安全解决方案和/或基于虚拟化/软件定义联网(SDN)的安全解决方案来执行,诸如下面关于各种实施例进一步描述的那样。
用于威胁情报使得可操作的恶意软件分析平台的系统架构
图1是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的架构的功能图。如在图1中所示,客户端设备104A、104B和104C经由网络设备102(例如,数据设备)与因特网106通信。在一个实施例中,网络设备102包括如示出的防火墙112(例如,可以在网络设备的硬件处理器上执行的软件中实现、或者至少部分地在硬件中实现的防火墙部件和/或其组合;作为示例,如来自Palo Alto Networks公司或另一安全供应商的商业上可获得的防火墙解决方案可以被利用),其可以被用于针对企业网络120的安全。在一个实施例中,网络设备102和防火墙112执行各种安全操作以保护企业网络120和/或企业网络120的周边内的客户端、服务器和/或其他设备(例如,包括将恶意软件样本提供给云安全服务130用于进一步分析,诸如下面进一步描述的那样)。在一个实施例中,网络设备102包括数据设备(例如,安全设备)、网关(例如,安全网关)、服务器(例如,执行包括防火墙112的安全软件的服务器)和/或一些其他网络/安全设备,例如,其可以使用计算硬件、软件、基于虚拟化/软件定义联网(SDN)的解决方案或其各种组合来实现。
在一个实施例中,客户端设备104A-104C中的一个或多个包括如示出的主机代理(HA)114。例如,HA 114可以被实现为在客户端/主机设备上执行(例如,在可以在客户端/主机设备的硬件处理器上执行的软件中实现)的基于主机的防火墙和/或代理,诸如网络/安全代理,其可以与网络设备102、防火墙112和/或云安全服务130协调地执行各种功能以促进端点保护(例如,包括向云安全服务130提供恶意软件样本用于进一步分析,诸如下面进一步描述的那样)。在示例实现中,HA 114可以由轻量级代理(例如,商业上可获得的端点代理,诸如从Palo Alto Networks公司可获得的Palo Alto Networks® TrapsTM代理,其是用于端点安全的高度可扩展的轻量级代理,或者可以利用来自另一安全供应商的端点代理)提供,其可以在例如多种不同的客户端/主机设备平台(例如,Microsoft® Windows®操作系统(OS)平台和/或用于客户端和/或服务器的其他平台)上执行,以与网络设备102、防火墙112和/或云安全服务130协调地促进端点安全,诸如下面进一步描述的那样。
例如,客户端设备104A-C可以包括可以经由有线和/或无线通信访问因特网的各种计算设备,诸如计算机、膝上型计算机、平板计算机、智能电话和/或具有网络通信能力的各种其他类型的计算设备。还如示出的那样,服务器108A-C与因特网106通信。例如,客户端设备可以经由因特网访问由服务器提供的服务,诸如web相关的服务(例如,web站点、基于云的服务、流式传输服务或电子邮件服务,诸如web张贴应用、电子邮件应用、对等相关服务和/或经由因特网执行网络通信的任何其他应用或服务)。
还如在图1中示出的那样,云安全服务130包括用于存储恶意软件样本132的数据存储和用于恶意软件样本134的自动化分析的平台以及恶意软件分析平台136。例如,恶意软件样本可以从云安全服务130的订户接收,诸如从网络设备102的防火墙112、客户端104B的HA 114和/或与云安全服务的订户相关联的其他设备/部件接收。在一些情况下,恶意软件样本可以是文件、PCAP和/或被例如防火墙和/或HA认为可疑的其他数据/内容。然后,可以将可疑恶意软件样本自动发送到云安全服务,用于进一步自动化分析。例如,恶意软件样本的自动化分析可以包括自动化动态分析和自动化静态分析,诸如在本文中进一步描述的那样(例如,恶意软件样本的自动化分析可以由商业上可获得的恶意软件分析服务提供,所述恶意软件分析服务诸如基于WildFireTM云的恶意软件分析环境,其是由Palo AltoNetworks公司提供的商业上可获得的云安全服务,其包括恶意软件样本的自动化安全分析以及安全专家分析,或者可以利用由另一供应商提供的类似解决方案)。
在示例实现中,企业网络订阅云安全服务,并且网络设备可以安全地与云安全服务通信(例如,使用商业上可获得的基于云的安全服务,诸如由Palo Alto Networks提供的经由WildFire API提供API支持的,诸如用于提交恶意软件样本(例如,文件和/或其他数据/内容可以被提交/上传用于恶意软件分析;并且在分析提交的恶意软件样本之后,其他数据可以被提供作为可获得下载用于进一步分析,诸如PCAP数据和/或其他数据/内容用于进一步恶意软件分析)。另一个示例是使用URL过滤订阅服务(例如,Palo Alto NetworksPANdb URL过滤订阅服务或另一个商业上可获得的URL过滤订阅服务)来提交一个或多个URL(例如,提交URL、web页面的全部或部分、web页面的统计/转换版本,其可用包括表单字段名称、类型、默认值、参数等的列表)用于基于云的异步分析。然后,可以将基于云的异步分析的结果提供回给防火墙和/或其他网络/过滤设备和/或代理,用于可能的响应动作。在一个实施例中,还可以使用恶意软件分析平台136来访问基于云的异步分析的结果,诸如下面进一步描述的那样。
在一个实施例中,恶意软件分析平台136提供用于访问通过恶意软件样本134的自动化分析生成的恶意软件样本的自动化分析的结果的平台。例如,订户可以基于恶意软件样本分析的结果来访问、分析和/或执行动作,恶意软件样本分析的结果可以包括针对从订户的企业网络和/或从其他订户的企业网络提供的恶意软件样本的结果(例如,如果这样的结果与公共或非机密样本相关联)。下面将进一步描述恶意软件分析平台136的这些和其他方面。
在一个实施例中,恶意软件分析平台136被实现为云服务。例如,恶意软件分析平台136可以使用内部数据中心来实现,或者可以使用基于云的计算/存储数据中心服务(例如,诸如由Amazon (Amazon Web Services®)、Google、IBM、Microsoft提供的基于云的计算服务,或其他商业上可获得的基于云的计算/存储服务)来实现。在一个实施例中,客户(例如,具有他们自己的企业数据中心的企业)可以针对由自动化恶意软件分析系统处理的他们自己的恶意软件数据样本实现在他们自己的数据中心中执行的公开的恶意软件分析系统(例如,利用从Palo Alto Networks公司商业上可获得的WF-500 WildFireTM设备,该设备可以被部署在订户的企业网络中,以实现内部WildFireTM私有云,使得客户/订户能够分析沙箱环境中的可疑文件,而无需将恶意软件样本(例如,文件)发送到网络之外的WildFireTM公共云)。
样本分析类别
在一个实施例中,具有订阅的防火墙被配置成将未知样本转发到云安全服务130,其中样本在沙箱环境中经历分析。例如,可以基于可以在不执行样本的情况下检测和观察的样本的属性来执行静态分析。可以利用沙箱环境来执行动态分析,以监视与在沙箱环境中打开和/或执行样本相关联的活动(例如,使用一个或多个仪表化虚拟执行环境)。
使用静态文件分析和/或动态文件分析确定的示例文件分析信息可以被分组为以下示例类别:文件属性细节、静态分析结果和动态分析结果。在该示例中,文件属性细节和静态分析结果可以基于在静态分析期间对样本的观察来确定,并且动态分析结果可以基于在动态分析期间在沙箱环境中执行样本时看到的活动和行为的观察来确定。
在示例实现中,文件属性细节可以包括以下各项中的一个或多个:判定(例如,诸如使用公开的技术,基于在静态和/或动态分析期间针对文件或电子邮件链接观察到的属性、行为和活动,将样本分配给恶意软件、灰色软件或良性软件);(一个或多个)散列值(例如,SHA256、MD5或其他散列算法可以被利用来生成样本的唯一密码散列);类型(例如样本文件类型,诸如电子邮件链接、Adobe Flash文件、PDF文件或另一文件类型);大小(例如以字节为单位的样本大小);创建的时间戳(例如,样本被首次转发或上传到云安全服务的日期和时间);完成的时间戳(例如,由云安全服务完成对样本的分析的日期和时间);数字签名;VirusTotal命中(例如,已经由VirtusTotal检测到该样本的次数);以及MultiScanner命中(例如,也已经使用多扫描仪(例如,并发运行的防病毒引擎)将该样本识别为恶意软件的其他供应商的数量)。
在示例实现中,动态分析结果可以包括以下各项中的一个或多个:观察到的行为(例如,列出在沙箱环境中针对样本看到的行为,诸如样本是否创建或修改了文件、启动了进程、产生了新的进程、修改了注册表或安装了浏览器帮助对象(BHO),其中每个行为也可以被分配高、中、低或信息的风险级别);连接活动(例如,列出当在沙箱环境中执行样本时访问网络上的其他主机的进程,其中列出的信息可以包括访问网络上的其他主机的进程、进程通过其连接的端口、用于连接的协议以及主机的IP地址和国家);DNS活动(例如,列出当在沙箱环境中执行样本时观察到的DNS活动,其可以包括被转换的主机名(查询)、解析的域名或IP地址(响应)以及用于解析DNS查询的DNS资源记录的类型);文件活动(例如,列出作为在沙箱环境中执行的样本的结果的示出的活动的文件;针对每个赝象的信息可以包括示出活动的父进程、父进程执行的动作以及被更改(创建、修改、删除等)的文件);HTTP活动(例如,列出当在沙箱环境中执行样本时进行的HTTP请求,其中针对每个赝象的信息可以包括HTTP请求被发送到其的域、由主机使用的HTTP方法、被请求的资源的URL以及发起请求的字符串(用户代理列));Java API活动(例如,列出当在沙箱环境中执行样本时看到的Java运行时活动);其他API活动(例如,列出当执行样本时在沙箱环境中看到的API活动,其中列出的细节可以包括其是活跃的父进程、由父进程进行的API调用以及被修改的进程);互斥活动(例如,互斥(相互排斥对象)允许程序共享相同资源,尽管资源仅可以被单独使用;如果当在沙箱中执行时样本生成其他程序线程,则在程序启动时创建的互斥与父进程一起列出);进程活动(例如,列出在执行样本时示出的活动的进程,其中列出的信息可以包括其是活跃的父进程、父进程执行的动作以及被修改的进程);注册表活动(例如,列出OS,诸如Microsoft Windows、示出当在沙箱中执行样本时的活动的注册表设置和选项,其中列出的信息可以包括其是活跃的父进程、由父进程使用的注册表方法(动作),以及参数列列出被设置、修改或删除的注册表项);服务活动(例如,列出由于在沙箱环境中执行样本而显示活动的服务,其中针对每个服务活动的信息可以包括其是活跃的进程、进程执行的动作以及被创建、修改或删除的服务);以及用户代理字符串片段(例如,列出针对当在沙箱环境中执行样本时发送的HTTP请求的用户代理头部)。
在示例实现中,静态分析结果可以包括以下各项中的一个或多个:可疑文件属性(例如,列出在样本的预筛选分析期间找到的高风险内容;可疑文件属性的示例可以包括属于已知恶意软件家族的文件或用已知恶意证书签名的文件,或具有包含危险shell(外壳)命令的源代码的文件);以及针对Android应用包(APK)文件观察到的属性和活动(例如,定义的活动、定义的意图过滤器、定义的接收器、定义的传感器、定义的服务、定义的URL、请求的权限、敏感的API调用、可疑的API调用、可疑文件、可疑字符串和/或其他属性和活动)。例如,静态分析结果还可以包括样本的编译器和编译时间、样本内的字符串、图标、链接的DLL文件、导入的API函数的列表、多个部分/段和/或各种其他属性。
恶意软件分析平台136的示例架构在图2和3中示出,如下面进一步描述的那样。
图2是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的架构的另一功能图。如在图2中所示,客户端设备(诸如客户端设备204)经由网络设备202(例如,数据设备)与因特网206通信。在一个实施例中,网络设备202包括如示出的防火墙212(例如,可以在网络设备的硬件处理器上执行的软件中实现、或者至少部分地在硬件中实现的防火墙部件和/或其组合;作为示例,如来自Palo Alto Networks公司或另一安全供应商的商业上可获得的防火墙解决方案可以被利用),其可以被用于针对企业网络220的安全。在一个实施例中,网络设备202和防火墙212执行各种安全操作以保护企业网络220和/或企业网络220的周边内的客户端、服务器和/或其他设备(例如,包括将恶意软件样本提供给云安全服务230用于进一步分析,诸如下面进一步描述的那样)。在一个实施例中,网络设备202包括数据设备(例如,安全设备)、网关(例如,安全网关)、服务器(例如,执行包括防火墙212的安全软件的服务器)和/或一些其他网络/安全设备,例如,其可以使用计算硬件、软件、基于虚拟化/软件定义联网(SDN)的解决方案或其各种组合来实现。
还如在图2中示出的那样,云安全服务230包括用于存储恶意软件样本232的数据存储和用于恶意软件样本234的自动化分析的平台以及恶意软件分析平台236。例如,恶意软件样本可以从云安全服务230的订户接收,诸如从网络设备202的防火墙212、和/或与云安全服务的订户相关联的其他设备/部件接收。在一些情况下,恶意软件样本可以是文件、PCAP和/或被例如防火墙和/或HA认为可疑的其他数据/内容。然后,可以将可疑恶意软件样本自动发送到云安全服务,用于进一步自动化分析。例如,恶意软件样本的自动化分析可以包括自动化动态分析和自动化静态分析,诸如在本文中进一步描述的那样(例如,恶意软件样本的自动化分析可以由商业上可获得的恶意软件分析服务提供,所述恶意软件分析服务诸如基于WildFireTM云的恶意软件分析环境,其是由Palo Alto Networks公司提供的商业上可获得的云安全服务,其包括恶意软件样本的自动化安全分析以及安全专家分析,或者可以利用由另一供应商提供的类似解决方案)。
在一个实施例中,云安全服务230从云安全服务的(一个或多个)订户接收恶意软件样本,如在250处所示,该恶意软件样本可以被存储在恶意软件样本数据存储232中(例如,包括与恶意软件样本中的每个相关联的元数据,诸如会话表数据,该会话表数据可以包括针对从防火墙发送的恶意软件样本的源、目的地和协议数据)。恶意软件样本被发送到平台,用于恶意软件样本的自动化分析234以用于处理,如在252处所示。用于恶意软件样本的自动化分析234的平台日志记录恶意软件样本的自动化分析的结果,如在254处所示,该结果可以被存储在用于恶意软件样本的自动化分析的结果244的数据存储器中(例如,将恶意软件样本的自动化分析的结果存储为日志文件)。由恶意软件分析平台236摄取(例如,周期性地和/或按需摄取和处理恶意软件样本的自动化分析的结果的日志文件)恶意软件样本的自动化分析的结果244,如在256处所示。还如示出的那样,用于恶意软件分析平台246的界面提供用户界面(例如,图形用户界面(GUI)或另一类型的用户界面(UI)),该用户界面促进对恶意软件分析平台236的编程式和/或最终用户界面访问,诸如下面进一步描述的那样。例如,恶意软件分析平台包括界面(例如,图形用户界面(GUI))和/或编程式界面(例如,经由应用编程界面(API)),该界面促进订户/用户对恶意软件分析平台的访问,用于基于由恶意软件分析平台提供的安全数据和结果来查看、分析和/或执行动作。
例如,使用所公开的行计数技术,用于恶意软件分析平台的界面提供用户界面,该用户界面可以被利用来示出所选择的恶意软件样本的日志并醒目显示日志中的最可疑的行(例如,具有高恶意软件计数/低良性计数的行)。作为另一示例,使用所公开的行计数技术,可以使用日志中的最可疑行(例如,具有高恶意软件计数/低良性计数的行)自动生成新签名,并且系统可以验证/测试新签名,并且基于该自动化测试检查行计数。由所公开的行计数技术促进这些和其他示例,以使用恶意软件分析平台提供增强的威胁情报。作为又一示例,使用所公开的行计数技术,用于恶意软件分析平台的界面提供用户界面,该用户界面可以被利用来选择要与防火墙阻止列表一起使用的(一个或多个)赝象(例如高风险赝象,诸如如在本文中描述的可疑和/或高度可疑的赝象),该防火墙阻止列表可使用用于云安全服务230的恶意软件分析平台246的界面导出,然后使用网络设备202的防火墙212(例如,和/或使用如在图1中示出的HA 114)导入并实现用于处理企业网络220上的网络业务,或支持安全信息和事件管理(SIEM)解决方案。
用于摄取恶意软件样本的自动化分析的结果的示例架构在图3中示出,如下面进一步描述的那样。
用于摄取恶意软件样本的自动化分析的结果的系统架构
图3是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的架构的功能图,该威胁情报使得可操作用于恶意软件样本的自动化分析的结果的摄取和处理。如在图3中所示,提供了用于摄取和处理恶意软件样本的自动化分析的结果以促进威胁情报的摄取架构302。例如,以上关于图2描述的系统架构可以实现所公开的实时摄取架构302以摄取(例如,周期性地和/或按需)和处理由恶意软件分析平台236生成的恶意软件样本244的自动化分析的结果,如在图2中在256处示出的那样。
在一个实施例中,使用在分布式的系统的集合上执行的软件程序的流水线来实现摄取架构302,以摄取和处理由恶意软件分析平台生成的恶意软件样本的自动化分析的结果,以促进威胁情报使得可操作。例如,可以摄取由恶意软件分析平台生成的恶意软件样本的自动化分析的结果,以基于摄取和处理的恶意软件分析平台的结果来确定感兴趣的数据(例如,恶意软件样本的关系、恶意软件样本中的趋势和/或其他感兴趣的数据)(例如,与以上描述类似地,恶意软件分析平台可以包括各种恶意软件样本(静态/动态)分析和/或URL过滤服务)。可以索引摄取和处理的由恶意软件分析平台生成的恶意软件样本的自动化分析的结果的结果,以促进对恶意软件分析平台的编程式/用户界面访问的搜索访问,诸如下面进一步描述的那样(例如,发布到弹性搜索中以促进搜索和分析)。摄取和处理由恶意软件分析平台生成的恶意软件样本的自动化分析的结果的结果也可以实现各种基于分析的处理和编程式/用户界面访问,如下面进一步描述的那样。
摄取架构的概述
在一个实施例中,如在图3中所示的系统架构图示了摄取架构的整体视图。在一个实施例中,使用各种部件来实现摄取架构302,所述各种部件包括消息传递代理(例如,RabbitMQ、Kafka、ZeroMQ或另一个开源或商业上可获得的消息传递代理)、关系数据库(例如,MySQL或另一个开源或商业上可获得的数据库,诸如关系数据库)、搜索引擎(例如,ElasticSearch、Lucene、Solr或另一个开源或商业上可获得的全文(自由形式、非结构化)搜索引擎,其中可以处理恶意软件样本的自动化分析的结果的收集的数据摄取以促进用户访问和呈现)、非关系数据库(例如,Apache HBase、Cassandra、MangoDB或另一个开源或商业上可获得的数据库,诸如非关系数据库)以及其他部件,如下面进一步描述的那样。在一个实施例中,摄取架构302的部件可以驻留在相同物理机器上和/或在相同物理机器上执行。在一个实施例中,摄取架构302的部件(例如,通过设计)可以跨不同物理机器/服务器的网络部署/分布(例如,CPU和存储器绑定在任何一个单个机器上运行的部件的数量)。在示例实现中,所公开的数据摄取流水线可以使用各种开源和/或商业上可获得的部件来实现,诸如以上描述的那样,并以各种编程语言(诸如Python、Java和/或其他编程语言)来编码。
参考图3,在该示例实现中,用于恶意软件分析系统的分布式实时摄取系统的部署包含以下编程的物理机器:MySQL数据库服务器334、HBase服务器群集330和Rabbit MQ(RMQ)群集316(例如,三个机器,其中Rabbit1是主要机器并执行所有生成器和50个消费者,Rabbit 2和3是高可用性(HA)的次要机器并且每个机器执行50个消费者的集合)(例如,该示例实现可以提供高度可扩展的数据摄取流水线,所述数据摄取流水线能够处理例如每天多于四百万个样本以及使用具有服务器类硬件的内部数据中心执行的每天多于八百万个会话,在该示例实现中,包括30个用于执行各种功能/角色的机器,诸如MySQL、RabbitMQ生成器和消费者、中间件以及如在本文中描述的前端;或云计算/存储服务可以如以上描述类似地被利用)。在该示例中,可以将Rabbit MQ和SQL数据库部署在群集中,以减少单点故障并促进实时摄取系统的高可用性(HA)架构。由每个实时摄取部件加载JSON样式的部署配置文件314,其可以提供访问RMQ和ES数据库的位置和方式的数据。
在一个实施例中,生成器(ES、HBase、HDFS)308从示出为恶意软件分析结果数据库(主要)304和副本数据库(次要)306的各种SQL数据库获得其数据,以收集恶意软件样本、任务和会话数据。生成器308然后将数据推送到Rabbit MQ (RMQ) 316,以供实时摄取系统的其他部件消费。在该示例中,消费者包括但不限于以下各项:用于促进映射/归约(M/R)作业的HBase(例如,HBase可以被利用来实现键、值数据数据库,诸如用于存储会话数据和恶意软件分析结果数据(包括使用公开的行计数技术确定的行计数),诸如下面进一步描述的那样);ElasticSearch,其示出为ElasticSearch 332,用于为UI数据源提供后端;和Hadoop分布式文件系统(HDFS),其用于为M/R提供日志文件存储和兼容格式。该数据的每个消费者可以具有拉取该信息的专用的生成器进程。在该示例实现中,由于生成器用来识别最后的处理的点的检查点方法,因此有一个生成器相关联。针对部件的每个消费者(诸如ES消费者)可以具有彼此独立执行的多个实例(例如,并且仅由接收系统(诸如HBase和ES)以及SQL DB的性能限制,以实现其他任务(诸如加标签)。虽然数据在大多数情况下通常是相同的(例如,ES和HBase是示例),但是在该实现中,从生成器单独生成这样的数据而不是使用点到多点模型的设计选择可以确保最慢的消费者不会缺乏(starve)/延迟其他部件。
在一个实施例中,实时摄取系统的后端被设计成处理和消息传递数据以减少UI和中间件上的负载,所述中间件充当更简单的信息的表示层。因此,在该示例实现中,数据被如何解释方面的任何改变意味着执行将所有数据重新播种到相应的部件中以确保正确性(例如,并且利用M/R(示出为MapReduce 338)来批量摄取数据用于高效处理重新播种数据和/或其他批量数据摄取)。
在示例实现中,由生成器308收集的数据可以被分割为以下桶:样本及其任务、会话和多扫描仪。数据可以以两种形式来收集:数据可以按完成时间来收集;以及针对相同的数据的集合的另一个生成器可以监视更新时间,并且然后可以重新摄取该数据。可以针对感兴趣的接收者重复所述工作,所述感兴趣的接收者包括以下生成器:HBase、HDFS和ES。这导致九个生成器,如下:按完成和更新时间的针对样本/任务的HBASE;按完成时间的针对样本/任务的HDFS;和ES,按完成和更新时间的针对每个数据类型的六个生成器。在另一示例实现中,从恶意软件样本的自动化分析(例如,基于WildFireTM云的恶意软件分析环境)接收完成/分析的样本的馈送。
样本和任务
在示例实现中,为了消除针对样本的丢失任务的概率,因为它们是历史上单独生成的,可以将工作组合成一个,其中系统可以首先针对从处理角度(finish_date)完成的样本查询。finish_date是没有新任务将在流水线上出现从而导致丢失任务的可靠的指示器。如果生成了新任务(例如,其通常是低概率),则可以修改样本的update_date,这然后可以由专用样本/任务生成器消费,该专用样本/任务生成器通过update_date重新处理样本及其所有任务。
检查点
在示例实现中,每个生成器可以将其通过相关ID和数据处理的内容的最后检查点高速缓存到存储在其正在其上执行的机器上的文件中,诸如在图3中在310处示出的那样。例如,该方法促进在不同的机器上执行多个发生器,以从不同的检查点开始。在另一示例实现中,可以使用MySQL来实现检查点(例如,该方法通过在全球配置文件中为每个生成器定义唯一的表名来促进跨机器的可移植性)。
样本数据
在示例实现中,可以从恶意软件样本表针对每个恶意软件样本收集的样本字段(例如,除非另有指定)可以包括以下各项中的一个或多个:mid、md5、sha1、sha256、平台、类型、系列、描述、创建日期、更新日期、源、文件名、文件类型、大小、分析、恶意软件、数字签名者、vt_hit、完成日期和通用(例如,从用于收集样本行为数据中的sample_filetype_desc导出,其可能不被发送给消费者)。
恶意软件分析
在示例实现中,恶意软件样本的自动化分析可以针对每个样本发布0、1或2,分别指示恶意软件样本是良性、恶意软件或灰色软件。在另一示例实现中,恶意软件样本的自动化分析可以针对每个样本发布不同的值,基于恶意软件分析指示恶意软件样本是良性、恶意软件、灰色软件和/或其他分类。例如,当发送恶意软件样本时,原始恶意软件判定和最终恶意软件判定二者都可以被发布(例如,HBase可以利用该知识用于其分析,而ES可以存储最终判定)。
样本的公共/私有状态
在示例实现中,恶意软件样本的自动化分析可以指示恶意软件样本是公共的还是私有的(例如,一些客户可以允许他们的(一个或多个)恶意软件样本被认为是公共的而其他客户可能被认为不是公共的,和/或这可以在逐个样本的基础上以及逐个客户的基础上配置。
如果对于给定恶意软件样本不存在字段或配置值和来自恶意软件样本的自动化分析的该恶意软件样本的分析的结果来指示所述样本应该被视为公共还是私有的,则这可以在逐个客户的基础上配置(例如,以确保一个客户的数据不显示给另一个客户,除非所述样本被认为是公共的)。例如,除非满足以下标准,否则样本可以被认为是私有的:恶意软件样本存在于其他公共恶意软件数据集合中(例如,如果virustotal_hit >= 0,则它是公共的);并且如果恶意软件样本不与私有源相关联。
样本的任务
在示例实现中,可以从任务表针对每个任务收集并连同样本数据一起向上推送的任务字段可以包括以下各项中的一个或多个:任务ID、文件名、URL、md5、提交时间、开始时间、完成时间、状态、VM_ID、分数、系列、摘要、报告和VM_platform表(例如,包括平台ID、描述、静态和恶意软件)。
基于静态分析的恶意软件样本报告
在示例实现中,提供了针对恶意软件样本的报告,其是通过恶意软件样本的自动化分析基于静态分析技术来分析的。例如,报告可以是XML文件(例如,指示静态分析的结果的压缩和十六进制编码的,诸如使用PDF静态分析器、DOC/CDF静态分析器、Java/JAR静态分析器、Microsoft Office Open XML静态分析器、Adobe Flash静态分析器、Android静态分析器、iOS静态分析器或其他静态分析器)。
基于动态分析的恶意软件样本报告:行为数据
在示例实现中,提供了恶意软件样本的报告,其是通过恶意软件样本的自动化分析基于动态分析技术来分析的(例如,在仪表化虚拟机(VM)环境中执行/打开恶意软件样本,其可以在一个或多个OS/版本环境中执行,所述环境诸如Microsoft Windows XP操作系统环境、Microsoft Windows 7x64 SP1操作系统环境和/或其他OS/版本环境,并且在一定时间内监视行为,诸如30秒至五分钟或一些其他时间间隔,或者直到检测到事件,诸如检测到(一个或多个)恶意软件行为)。例如,每个任务可以具有在动态分析阶段期间被识别的感兴趣的行为,该动态分析阶段通过恶意软件样本的自动化分析来执行,所述行为可以被传送给用户(例如,行为可以基于来自行为表的task_id来收集,并获取以下字段来发送)。可以从恶意软件样本的这样的动态分析阶段(例如,从行为表)提取的示例字段可以包括以下各项中的一个或多个:ID、类型、描述、风险、类别、细节和分数。
会话数据
在示例实现中,存在用于会话数据的两种类型的生成器。会话数据的第一种类型的生成器由ES消费者驱动:一旦其摄取样本,其就将样本的散列(例如,使用SHA或另一散列算法)存储在sample_ready表中,并且会话生成器可以查询该表并发布针对该散列值的所有会话(例如,如果首先处理会话,并且然后接收样本,则可以重新处理会话以生成警报)。第二种类型的生成器使用日期和会话ID作为检查点以在它们在恶意软件样本系统的自动化分析中出现时处理会话(例如,如果样本已经被处理,则可以处理会话以生成警报)。可以从会话表针对每个会话收集以下字段,包括以下各项中的一个或多个:id、sha256、创建时间、源IP、源端口、目标IP、目标端口、文件URL、文件名、设备ID、用户名、app、vsys、恶意软件、主机名、URI、设备主机名、会话ID和样本表。
多扫描仪数据
在一个实施例中,提供了一个或多个生成器,其从一个或多个恶意软件扫描仪产生恶意软件分析数据。例如,恶意软件扫描仪数据可以包括动态分析恶意软件扫描程序结果数据和静态分析恶意软件扫描程序结果。作为另一示例,恶意软件扫描仪数据还可以包括来自一个或多个第三方源的恶意软件分析结果数据,诸如商业上可获得或公共可获得/开放恶意软件分析数据源(例如,包括封闭和/或开放源威胁智能馈送的第三方馈送)。除了其他之外,第三方商业上可获得或公开可用/开放式恶意软件分析数据源的示例还包括CyberThreat Alliance(网络威胁联盟)、Defense Industrial Base Cyber SecurityInformation Assurance(国防工业基础网络安全信息保障)(DIB CS/IA)、FinancialServices Information Sharing and Analysis Center(金融服务信息共享和分析中心)(FS-ISAC)。
在一个实施例中,提供一个或多个生成器,其从恶意软件样本的自动化分析(例如,动态和/或静态分析结果)产生恶意软件分析数据,其可以被存储在数据库中,诸如恶意软件分析结果数据库(主)304和副本数据库(辅助)306,如在图3中示出的那样。在示例实现中,存在专用生成器来处理来自恶意软件分析结果数据库的各种字段,诸如恶意软件样本分析表中的以下字段:virustotal_hit(sample_analysis)和multiscan_hit(sample_ analysis)。可以通过update_time和sample_analysis表ID对该信息进行检查点,以确保处理最新信息。
来自生成器的RabbitMQ处理
在示例实现中,RabbitMQ 316包括用于实时摄取的多个队列,包括用于生成器308中的每个的队列,包括:ES、HBase和HDFS。队列限制可以由生成器配置来定义,并且队列的物理限制由给定物理机器的磁盘和存储器限制。例如,还可以实现速率限制配置和数据产生技术,以减少/避免由于大量会话消息和速率限制而导致的缺乏。
消费者
在示例实现中,HBase消费者322和HDFS消费者328可以被实现以摄取由它们相应的生成器发布的数据,包括如示出的RabbitMQ 316和日志文件326,并将其分别推入它们相应的部件HBase 330和日志存储设备336中。可以为ES消费者324执行附加处理以消耗来自ES生成器的数据。例如,可以执行日志解析以收集可被用于呈现给用户的感兴趣的数据,并进一步分析威胁情报,如下面进一步描述的,以及警报、加标签以及附加查询针对样本和会话数据在消费者侧发生,归因于相对于生成器并行处理的能力。
在该示例实现中,为了跟上数据的传入速率,在用于弹性搜索的若干机器上运行128个ES消费者,以每个机器多达32个,可以被用于在实时摄取正在处理较旧数据并且需要快速赶上时执行所公开的实时摄取技术,并且96个ES消费者在其被赶上并且刚好正在处理来自(一个或多个)ES生成器的传入数据时就足够了。对于HBase,当实时摄取被赶上并且刚好正在处理来自(一个或多个)HBase生成器的传入数据时,HBase消费者的五个实例可能足够了;否则,可以执行HBase消费者的16个实例,以正在处理来自(一个或多个)HBase生成器的较旧数据时赶上。
弹性搜索
在示例实现中,为了促进标记会话和警报的样本数据,消费者可以与MySQL数据库334对接以促进该功能。此外,为了消除一个具有执行多个消费者的能力的生成器的瓶颈,读取查询是相对便宜的并且可以被并行化以改进整体摄取性能。例如,ES消费者可以遍历三个子消费者:样本/任务、多扫描仪(MS)和会话消费者。多个消费者可以在仅受CPU和存储器限制的相同机器上运行。每个消费者可以从RMQ 316读取消息并将它们存储在本地。消费者可以批量处理消息(例如,一次处理十个消息或一些其他数量的消息)。
任务数据
在示例实现中,大量的摄取智能位于任务数据解析内。由生成器生成的字段可以按原样摄取并嵌入任务文档中。嵌入ES中的示例字段可以包括以下各项中的一个或多个:任务ID、平台、恶意软件、行为、JAPI、HTTP、DNS、连接、进程、文件、注册表、互斥、服务、信息、杂项、用户代理、APK定义的活动、APK定义的服务、APK定义的过滤器、APK定义的接收机、APK请求的许可、APK敏感API调用、APK定义的传感器、APK嵌入式URL、APK可疑字符串、APK可疑API调用、APK可疑文件和摘要。
对消耗的ES数据进行索引
在一个实施例中,对消耗的ES数据进行索引以促进可搜索的ES数据的集合。在示例实现中,消耗的ES数据可以在针对每个任务被处理之后被索引和是可搜索的。
日志文件解析
在一个实施例中,可以将恶意软件样本分析数据生成为日志文件(例如,日志文件可以包括具有不同元数据的文件中的行和/或与恶意软件样本相关的自动化分析的结果,或可以使用另一个数据格式)。
在示例实现中,针对样本的每个任务执行日志解析。例如,可以提供以下信息:恶意软件样本的SHA;任务ID;样本的MD5(例如,用于验证);任务在其上运行的平台(例如,沙箱环境的平台的OS/版本,诸如Windows XP或Windows 7,以确定应如何解析日志文件);与样本相关联的文件类型;为该样本复制的日志文件的列表;和/或日志文件位置的路径。任务可以具有用于解析的各种日志文件(例如,使用被配置成解析每个类型的日志文件的日志解析器进程,所述日志文件是来自(一个或多个)样本的自动化恶意软件分析的原始日志文件,所述原始日志文件可以使用日志解析器来处理以生成针对每个类型的日志文件的处理的日志文件,可以由恶意软件分析系统使用所公开的技术来消费所述处理的日志文件),诸如以下类型的日志文件中的一个或多个:Java API(JAPI)日志、事件日志、API日志和XML报告。例如,日志文件解析可以被配置成维护大部分的原始信息(例如,当诸如互斥行、注册表行、文件行、连接行、进程行、信息行、杂项行和/或其他类型的行之类的行被分解成字段时,保留尽可能多的原始信息,注释模糊的信息,并移除诸如内存地址之类的分散的元素,所述元素可能随样本运行变化);混淆可以协助恶意软件开发者尝试逆向工程和打败恶意软件分析系统的元素;通过移除非必要字段并将模糊字段映射到众所周知的描述符来提高用户可读性;尽可能多地保留行中出现的数字,进程ID(PID)和存储器地址除外,以为研究者提高可读性(例如,PID可以被映射到进程名称,诸如使用字典映射用于这样的操作,并且可以移除存储器地址,但如果文件或互斥仅包含数字作为名称,则可以将其保留);和/或移除可能破坏实时摄取的非ASCII字符及其使用的第三方工具。
以下提供了来自原始日志文件的示例摘录,包括来自以下类型的日志文件的示例摘录:原始事件日志、原始API日志和原始XML报告。如以上描述并在本文中进一步描述的那样,可以执行日志文件解析操作以处理这些原始日志文件中的每个,以生成可以由恶意软件分析平台使用所公开的技术消费的处理的日志文件。
以下是来自在样本的自动化分析期间针对样本的监视API活动的原始日志文件的示例摘录,其是原始API日志的示例摘录。
。
以下是来自在样本的自动化分析期间针对样本的监视事件的原始日志文件的示例摘录,其是原始事件日志的示例摘录。
以下是作为来自样本的自动化分析的输出生成的XML报告的摘录的示例。
标签处理
在示例实现中,可以利用弹性搜索渗透来确定正在添加的样本文档是否匹配系统中的任何配置的查询(例如,标签,诸如下面进一步描述的那样)。如果是,则返回标签的列表,所述标签被解析成标签类别(例如,support_id(c#)、tag_definition_id(T#)和tag_definitions search_id(S#))。然后,基于样本的SHA,标签列表可以被推送到sample_tag表中的MySQL DB 334中。此外,如果样本是公共的(is_public),则可以触发警报(例如,通过调用存储过程AlertOnPublicSample)。新加标签的样本或其标签自上次它们被添加以来已经改变的样本,使它们的SHA存储在MySQL DB 334中的sample_ready表中。可以由来自样本生成器的会话使用sample_ready表来针对该SHA生成所有会话。
例如,还可以将加标签的数据添加到ES,用于高效查询。在示例实现中,为了提高性能,可以将标签数据嵌入作为由样本的SHA键入的独立子文档,而不是作为样本文档本身的一部分。该方法促进高效更新ES中的样本上的标签,而不影响较大的文档本身。
会话数据
在示例实现中,会话文档被实现为样本文档的子文档。由会话生成者生成的字段可以按原样提取并嵌入任务文档中。示例会话字段可以包括以下各项中的一个或多个:app、device.acctname、device.country、device.countrycode、device.industry、device.ip、device.lob、device.model、device.serial、device.support_id、device.swver、device.hostname、src.country、src.countrycode、src.ip、src.port、src.isprivateip、dst.country、dst.countrycode、dst.ip、dst.port、dst.isprivateip、emailrecipient、emailsender、emailsubject、emailsbjcharset、filename、sha256、tstamp、user_id、vsys、session_id、file_url和isuploaded。
跟踪器
是其他文档的孩子的文档可以在它们不存在的情况下插入它们的父母。这可能增加影响整体性能的开销。在示例情况下,会话文档可能受该潜在场景的影响。为了避免不必要地插入可能已经存在的父文档同时也不引起查询ES的开销,在示例实现中,每个ES消费者可以维护由样本/任务和会话消费者填充的所看见的SHA的SHA跟踪器表,如在图3中所示。如果样本的SHA已经在SHA跟踪器表中,则可以跳过更新父样本文档作为更新,从而提高整个摄取过程和系统的性能。例如,可以实现SHA跟踪器类以维护两个表(例如,百万个SHA中的每个),当一个是100%的容量时,每个在所述两个表之间切换。在容量的阈值(例如,容量的75%或一些其他阈值)下,可以填充辅助表以便不维护最新的SHA的列表。重叠最小化了已经看到的SHA的父文档的插入。
使用行计数生成恶意软件分析结果的增强视图
如上面类似地描述的那样,由自动化恶意软件分析生成的大量和复杂的信息对识别和/或确定恶意软件正在执行的恶意活动和/或将恶意软件样本与它们的特征和/或行为之间的模式或关系相关联提出了技术挑战。因此,公开了用于执行行计数的技术,用于使用如在本文中进一步描述的行计数来生成恶意软件分析结果的增强视图。
在一个实施例中,恶意软件分析平台使用是自动化恶意软件分析的结果的日志文件中的不同行的行计数来生成恶意软件分析结果的增强视图。例如,恶意软件分析平台可以执行上述摄取和转换以处理日志文件的集合,包括(例如,选择的/重要的)恶意软件分析结果活动(例如,诸如静态恶意软件分析结果和/或动态恶意软件分析结果),其可以包括互斥使用、网络活动、注册表变化、API调用和/或各种其他选择的/重要的恶意软件分析结果活动)。
例如,可以执行所公开的行计数技术以提供恶意软件分析结果数据的统计视图(例如,跨越订户/客户的不同的企业网络到恶意软件分析平台服务,客户/行业的类别等),诸如包括以下各项中的一个或多个:(1)在良性和恶意软件样本二者中已经观察到至少阈值次数的常见动作/属性;(2)(恶意/可疑)动作/属性(例如,可疑赝象),其在恶意软件样本中已经被观察到至少阈值次数并且仅在良性样本中观察到相对较低的阈值次数;以及(3)在良性样本中已经被观察到至少阈值次数并且仅在恶意软件样本中观察到相对较低阈值次数的动作/属性(例如,高度可疑的赝象)。
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的系统/过程/计算机程序产品包括生成恶意软件分析结果日志文件的人类可读格式(例如,替换数字标识符并移除不感兴趣的参数,诸如在本文中描述的那样);确定每个日志文件中的每个不同行的第一次出现(例如,以及移除日志文件内的重复行);以及如与良性样本相比,对在恶意软件样本中观察到每个不同行的次数计数。
在一个实施例中,所公开的行计数技术被类似地应用以生成子行计数,诸如在本文中进一步描述的那样。例如,可以对每行的子集计数,诸如以实现子行/属性/参数计数(例如,基于注册表名称、互斥、文件名和/或其他属性/参数,而不是全部行/整行)。
在一个实施例中,所公开的行计数技术被类似地应用以生成对指定日期范围和/或指定样本的集合的行/子行计数,诸如在本文中进一步描述的那样。
例如,可以执行所公开的行计数技术以识别针对给定恶意软件样本的日志文件中的可疑和/或高度可疑的行/子行(例如,通过确定与高恶意软件计数和/或低良性计数相关联的日志文件中的行/子行,诸如在本文中进一步描述的那样)。在该示例中,然后还可以利用可疑和/或高度可疑的行/子行来自动生成用于检测针对该恶意软件样本的恶意软件的新签名。在该示例中,所公开的行计数技术还可以作为验证/校对系统来执行,以测试和验证新签名并检查行计数结果。
执行恶意软件分析结果的数据摄取以生成和/或更新与分析的恶意软件样本相关联的行计数
图4是根据一些实施例的用于执行用于恶意软件分析平台的数据摄取过程的流程图,用于威胁情报以更新使得可操作的行计数。在各种实施例中,在图4中示出的过程由如上面关于图1-3类似地描述的架构和系统执行。
在402处,执行数据摄取以处理和消费(例如,转换)自动化恶意软件分析结果。在一个实施例中,使用以上关于图3类似地描述的技术来执行数据摄取过程。例如,数据摄取过程可以被配置成每天执行一次或一些其他周期性设置,和/或按需执行。
在404处,确定消费的自动化恶意软件分析结果的行计数。在一个实施例中,基于由诸如上面类似描述的自动化恶意软件分析系统执行的动态恶意软件分析(例如,(一个或多个)动态分析器)和/或静态恶意软件分析(例如,静态分析赝象)来生成行。例如,数据摄取过程的性能可以处理来自自动化恶意软件分析系统的任何新的和/或更新的恶意软件样本分析结果,以确定针对与给定样本相关联的每行的判定和/或判定变化(例如,行可以包括在静态或动态恶意软件分析期间识别的观察,诸如对给定API的调用、对给定URL的请求、对给定库的调用和/或各种其他信息/观察,诸如在本文中进一步描述的那样),以确定样本是否是恶意软件、良性还是灰色软件(例如,广告软件或其他类型的灰色软件)。
在406处,基于消费的自动化恶意软件分析结果更新行计数。在示例实现中,来自自动化恶意软件分析系统的任何新的和/或更新的恶意软件样本分析结果的处理可以通过执行(一个或多个)MapReduce(M/R)作业来实现,以更新键值(Key Value)(KV)数据库中的判定变化/更新的表(例如,用于更新的行计数的增量表可以被存储在HBase 330中以保持跟踪所述键,诸如为了效率用于压缩数据存储的整行的SHA值、旧判定以及新判定,以基于自上次执行M/R作业以来处理的恶意软件样本来促进增量/更新数据)。在该示例中,然后可以执行M/R作业,以基于判定变化/更新的增量表中的新/增量数据来更新KV数据库中的历史计数(例如,HBase 330中的针对行计数的历史表)。因此,基于基于从增量表到针对每行的历史表数据的增量数据值计算的新行计数,更新的行计数然后被存储在KV数据库中的针对行计数的更新的历史表中,以更新它们相应的行计数(例如,行计数可以基于判定/判定变化来增加或减少)。在一个实施例中,所公开的过程可以包括检测针对给定恶意软件样本的新执行的恶意软件分析,并且替换KV数据库中的与针对该样本的结果相关联的一个或多个行(例如,移除现有行和/或添加新行)。
图5是根据一些实施例的用于摄取和处理恶意软件样本的自动化分析的结果以更新行计数的功能图。在各种实施例中,在图5中示出的功能部件和过程可以使用如以上关于图1-3类似描述的架构和系统来实现。
参考图5,在504处,恶意软件分析结果502(例如,由自动化恶意软件分析系统生成的日志文件)被摄取并转换以确定判定变化。在一个实施例中,数据摄取和转换过程使用以上参照图3类似地描述的技术来执行。例如,数据摄取过程可以被配置成每天执行一次或一些其他周期性设置,和/或按需执行。
行计数结果被存储在行计数表506中。如以上类似地描述的那样,恶意软件分析结果的日志文件可以被去重以识别不同的行,并且然后被解析以确定所消费的自动化恶意软件分析结果的行计数。在一个实施例中,基于由诸如上面类似描述的自动化恶意软件分析系统执行的动态恶意软件分析(例如,(一个或多个)动态分析器)和/或静态恶意软件分析(例如,静态分析赝象,其可以使用M/R作业来处理以更新KV数据库)来生成行。例如,数据摄取过程的性能可以处理来自自动化恶意软件分析系统的任何新的和/或更新的恶意软件样本分析结果,以确定针对与给定样本相关联的每行的判定和/或判定变化,以确定样本是否是恶意软件、良性还是灰色软件(例如广告软件或其他类型的灰色软件)。
在508处,在更新的行计数表510中更新行计数。在512处,来自自动化恶意软件分析系统的任何新的和/或更新的恶意软件样本分析结果的处理可以通过执行(一个或多个)MapReduce(M/R)作业来实现,以使用针对更新的行计数的增量行计数表514来更新键值(KV)数据库526(例如,其可以使用如在图3中所示的HBase 330来实现)中的判定变化/更新的表。在示例实现中,增量行计数表包括键值,诸如整行的SHA值(例如,为了效率用于压缩数据存储)和增量行计数。
在516处,基于针对具有增量值变化的任何行的增量行计数表来更新历史行计数表518。在示例实现中,历史行计数表可以被用于维护历史行计数(例如,基于上次执行M/R作业),并且可以包括键值,诸如整行的SHA值(例如,为了效率,用于压缩数据存储)和历史行计数。在该示例中,可以执行上述M/R作业以基于判定变化/更新的增量表中的新/增量数据来更新KV数据库中的历史行计数(例如,使用增量行计数表和历史行计数表)。因此,基于基于从增量表到针对每行的历史表数据的增量数据值计算的新行计数,更新的行计数然后被存储在KV数据库中的针对行计数的更新历史表中,以更新它们相应的行计数(例如,行计数可以基于判定/判定变化来增加或减少)。在一个实施例中,所公开的过程可以包括检测针对给定恶意软件样本的新执行的恶意软件分析,并且替换KV数据库中的与针对该样本的结果相关联的一个或多个行(例如,移除现有行和/或添加新行)。
在520处,确定新的判定以更新KV数据库表522,用于在KV数据库526中存储判定变化524。在示例实现中,KV数据库表包括键值,诸如整行的SHA值(例如,为了效率用于压缩数据存储)、旧判定值(例如,基于上次执行M/R作业的行计数值)以及新判定值(例如,基于判定变化(如果有的话)的新行计数值)以基于自上次执行M/R作业以来处理的恶意软件样本来促进增量/更新数据。
如现在将显而易见的,根据如下面进一步描述的一些实施例,可以类似地执行以上描述的技术和过程以用于摄取和处理恶意软件样本的自动化分析的结果,以更新子行计数。
执行与分析的恶意软件样本相关联的子行(属性/参数)计数
在一个实施例中,以上描述的行计数技术可以类似地被应用于行的子集。例如,所公开的行计数技术可以类似地被应用于整行的子集,诸如用于行中的给定属性和/或参数以促进属性和/或参数计数(例如,可以基于自动化恶意软件分析结果的摄取/转换和处理针对对具体URL、API、库等的调用来确定和维护/更新计数)。在该示例中,以上描述的用于行计数的技术和过程可以类似地应用于子行/赝象计数,其中输入是不同的(例如,输入是选择的子行/赝象,诸如对于DNS数据,子行/赝象可以是FQDN,对于文件数据,子行/赝象可以是文件名等等)。这样,以上描述的行计数技术可以被应用于整行以及整行的子集二者,如以上类似地描述的那样。
执行与每个客户或客户的其他分类的分析的恶意软件样本相关联的行计数
在一个实施例中,以上描述的行计数技术可以类似地由客户或客户的其他分类处理(例如,提交恶意软件样本用于自动化恶意软件分析并且还订阅/利用恶意软件分析平台的云安全服务的订户)。例如,还可以基于客户标识符(例如,可以与样本相关联的唯一客户ID/(一个或多个)序列号)或客户的其他分类(例如,按行业分类,诸如政府、国防承包商、银行、高科技、零售等)来计算行/子行计数。在示例实现中,执行与每个客户的分析的恶意软件样本相关联的行计数可以使用以上描述的摄取过程作为摄取/消费者过程的部分和使用每个客户、每个行业和/或客户的(一个或多个)其他分类(例如,其中客户可以被预先分类到给定类别中,使得他们的恶意软件样本可以与给定类别相关联,然后可以在摄取过程期间提取和利用所述给定类别来实现要由客户或客户的其他分类处理的以上描述的行/子行计数技术)的行/子行计数表的集合来实现。
在一个实施例中,标签(例如,基于用于针对正在处理的样本结果的自动化恶意软件分析的(一个或多个)分析器的版本)与基于给定恶意软件样本的分析的针对给定行的处理的恶意软件分析结果相关联。例如,如果该分析器/版本被认为不再可靠/准确和/或以新版本/分析器来替换,则可以执行基于标签的搜索和/或可以随后移除基于标签的行/计数。
用于威胁情报使得可操作的恶意软件分析平台的界面
在一个实施例中,为用户提供界面以针对威胁情报与恶意软件分析平台交互。例如,可以为用户提供门户/GUI界面以针对威胁情报与恶意软件分析平台交互,诸如下面进一步描述的那样。作为另一示例,可以为用户提供编程式/API界面以针对威胁情报与恶意软件分析平台交互,诸如下面进一步描述的那样。
样本
在一个实施例中,对于用于威胁情报使得可操作的自动化恶意软件分析系统和恶意软件分析平台二者,样本指的是包括在电子邮件中的文件(例如,PDF或PE文件)或链接。如在本文中类似地描述的那样,防火墙可以将样本(例如,未知样本)发送到自动化恶意软件分析系统以用于分析。然后可以确定不同的赝象与样本相关联,因为其在由自动化恶意软件分析系统执行的沙箱环境中执行和观察,如以上类似地描述的那样。如在本文中进一步描述的那样,用于威胁情报使得可操作的恶意软件分析平台允许用户基于样本(例如,基于样本的散列值或基于针对该样本的自动化恶意软件分析的处理结果与样本相关联的赝象)搜索其他样本(例如,由相同的客户/订户或其他客户/订户提交)。例如,当用户在恶意软件分析平台中针对威胁情报执行搜索时,将搜索条件与所有历史和新样本比较,如下面将进一步描述的那样。
赝象
在一个实施例中,赝象是通过样本的自动化恶意软件分析和通过恶意软件分析平台统计二者都示出与样本相关联的条目、属性、活动或行为。例如,赝象的类型可以包括文件属性、IP地址、域、URL、应用、进程、散列和/或电子邮件地址。在所公开的用于威胁情报的恶意软件分析平台中,既在仪表板上又在搜索结果内醒目显示赝象(例如,搜索结果醒目显示根据风险识别的重要赝象;并且仪表板和搜索编辑器二者都可以允许用户将赝象直接添加到正在进行的搜索或导出列表,诸如下面进一步描述的那样)。
标签
在一个实施例中,可以基于一起指示已知或可能的威胁的搜索标准的集合来定义标签。与针对标签定义的条件匹配的历史和新样本二者都与该标签相关联。用户可以基于标签执行搜索并创建警报,诸如将在下面进一步描述的那样。
在一个实施例中,可以定义标签类以将标签与已知的行动者、目标活动、恶意软件家族、恶意行为或漏洞相关联。例如,如下面进一步描述的那样,使用用于威胁情报使得可操作的恶意软件分析平台的界面,用户可以基于标签类搜索标签和/或还可以搜索不具有指定标签类的标签。
公共标签和样本
在一个实施例中,恶意软件分析平台中的公共标签和样本是对恶意软件分析平台的所有用户可见的标签和样本。对于由给定用户创建的标签,用户可以将状态设置为公共,使得标签是对恶意软件分析平台的用户可见(例如,标签用户也可以将标签恢复为私有)。
私有标签和样本
在一个实施例中,恶意软件分析平台中的私有标签和样本是仅对与订户相关联的用户可见的标签和样本(例如,具有针对云安全服务和用于恶意软件分析平台的服务的相同的支持账户)。可以使得私有标签和样本公开(例如,具有将标签或样本恢复为私有状态的选项)。
可疑赝象
在一个实施例中,可疑赝象是被确定为已经跨大量样本被广泛检测到并且最经常用恶意软件检测到的赝象。虽然赝象通常也用灰色软件和良性样本检测到,但相对来说,它比用恶意软件检测到的频率要低。在示例实现中,可以使用基于行计数计算的行计数技术来确定可疑赝象,其中赝象(例如,行或子行)与恶意软件样本相关联是所述赝象与良性样本相关联的至少阈值倍(例如,三倍的阈值,诸如恶意软件行计数(m#) > 3x良性行计数(b#),或者可以应用一些其他阈值或计算)。下面进一步描述用于确定赝象是否是可疑赝象的技术。
高度可疑的赝象
在一个实施例中,高度可疑的赝象是被确定为在非常少的样本中被检测到并且最经常用恶意软件检测到的赝象(例如,这些类型的赝象的分布的缺乏可能指示瞄准特定组织的攻击)。在某些情况下,这些赝象已经仅仅用恶意软件看到,而用灰色软件或良性样本没有观察到(或很少观察到)。在示例实现中,还可以使用基于行计数计算的行计数技术来确定高度可疑的赝象,其中赝象(例如,行或子行)与恶意软件样本相关联是所述高度可疑的赝象与良性样本相关联的至少阈值倍,并且在阈值数量的恶意软件样本中找到赝象(例如,三倍的阈值,诸如m# > 3 x b#),并且赝象(例如,行或子行)与小于阈值数量的恶意软件样本(例如,m# < 500个样本)相关联;或者可以应用一些其他阈值或计算)。下面进一步描述用于确定赝象是否是高度可疑赝象的技术。
行动者
在一个实施例中,行动者是发起恶意活动的个人或组。在恶意软件分析平台的示例实现中,用户可以执行对指示威胁行动者的恶意软件的搜索(例如,使用界面来选择搜索和对条件标签类>是>行动者搜索)。用户还可以创建标签以指示与该标签匹配的样本与行动者相关。
活动
在一个实施例中,活动是可以包括若干事件或活动的集合的瞄准的攻击。在恶意软件分析平台的示例实现中,用户可以执行对已被分类为属于活动的恶意软件的搜索(例如,使用界面来选择搜索和对条件标签类>是>活动搜索)。用户还可以创建标签以指示与该标签匹配的样本是活动的部分。
家族
在一个实施例中,恶意软件被分组为恶意软件家族。可能基于共享属性或常用功能将恶意软件视为相关。在恶意软件分析平台的示例实现中,用户可以执行对已被识别为属于恶意软件家族的恶意软件的搜索(例如,使用界面来选择搜索和对条件标签类>是>恶意软件家族搜索)。用户还可以创建标签以指示与该标签匹配的样本是恶意软件家族的部分。
用于威胁情报使得可操作的恶意软件分析平台的仪表板
图6是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的仪表板的屏幕截图。在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的门户界面包括如在图6中所示的仪表板。例如,仪表板可以呈现网络、行业和全球威胁赝象的视觉景观。威胁赝象可以是样本散列(例如,识别包含在电子邮件或文件中的链接,所述文件诸如可移植文档格式(PDF)或可移植可执行文件(PE))、统计、文件属性或示出与恶意软件的相关性的行为。
在一个实施例中,用户可以设置仪表板的上下文以仅显示针对他们的组织的活动和赝象,或者代之以查看行业或全球级别的数据。用户还可以扩展或缩小显示的数据的时间范围,以分别查看针对宽范围或有限时间范围的威胁活动。在该示例中,仪表板小部件可以被实现为交互式的,使得用户可以将光标悬停在赝象上以查看赝象细节或者点击赝象以将其添加到搜索。
在一个实施例中,仪表板被配置成除了行业和全球数据之外,还对用户的网络数据进行视觉加权,以便为他们的网络活动提供上下文和进入到瞄准类似组织的威胁中的窗口。在一个实施例中,仪表板被配置成促进对普遍威胁活动的关注,并将最高赝象直接添加到搜索编辑器。仪表板的这些和其他方面和特征将在下面进一步描述。
参考图6,在一个实施例中,仪表板提供对用于威胁情报的恶意软件分析平台的多个账户的访问权。如在602处所示,用户(例如威胁研究者或其他用户)可以有权访问多个支持账户,并且可以选择单个支持账户以查看来自与该账户相关联的设备的数据。
在一个实施例中,用户可以选择仪表板选项卡,如在604处所示,以设置所显示数据的上下文:我的组织、我的行业或所有。在该示例中,威胁数据和活动被显示在仪表板小部件更新上,以反映所选的上下文。小部件是交互式的,并且可被用于深入查看和调查恶意软件或事件细节。用户还可以悬停在显示在仪表板上的赝象上以显示附加细节,或者点击赝象以将赝象添加到搜索编辑器。仪表板显示一定时间段内的数据(例如,默认时间段可以是过去七天或另一时间段)。此外,显示在仪表板上的数据可以按上下文过滤(例如,在选项卡之间移动以设置仪表板上下文,显示针对网络、行业或全球的不同威胁景观)和/或按日期过滤(例如,将仪表板设置为显示针对过去7、30、90、180天、所有时间或另一时段的数据)。
在一个实施例中,用户可以利用导航窗格,如在606处所示,以在允许用户搜索全球和历史威胁数据并管理恶意软件标签和警报(例如,使用所公开的用于威胁情报使得可操作的恶意软件分析平台对分析的恶意软件样本结果进行智能加标签和警报的技术在下面进一步描述)的特征(例如,包括搜索、警报、标签和导出列表特征,其可以通过选择如所示的导航窗格中的相应特征来访问)之间导航。在该示例中,提供了搜索编辑器,所述搜索编辑器允许用户使用布尔逻辑执行自由形式搜索。例如,用户可以基于从他们的企业网络环境或从仪表板上查看行业或全球数据收集的威胁赝象来设置搜索(例如,在搜索结果上深入查看以找到例如高风险赝象,包括已经用恶意软件、良性和灰色软件样本检测到赝象(诸如IP地址)的次数)。作为另一个示例,用户可以基于标签设置警报,诸如使用公共标签和/或私有标签以在与公共和/或私有样本匹配时生成警报(例如,取决于警报设置,包括用于某些类型的标签的优先警报通知,诸如下面进一步描述的那样)。在示例实现中,标签是与使用用于威胁情报的恶意软件分析平台分析的历史和新样本比较的条件的集合。在此示例中,用户还可以在用于威胁情报使得可操作的恶意软件分析平台中发布标签,以识别和帮助用户检测已知威胁(例如,在导航窗格中选择标签以查看由其他用户共享的私有标签和公共标签)。作为又一示例,用户可以在导航窗格中选择导出列表特征,以将诸如IP地址、URL和域之类的赝象导出为导出数据格式(例如,CSV文件或另一文件格式)。在此示例中,用户可以使用导出的赝象(例如CSV文件)来将数据导入安全信息和事件管理(SIEM)工具或者支持防火墙阻止列表(例如,Palo Alto Networks防火墙动态阻止列表或由另一个商业上可获得的防火墙解决方案支持的防火墙阻止列表)。还如在该示例中所示,可以选择设置特征来配置各种门户设置(例如,默认情况下用作用于搜索结果的样本或会话标识符的优选散列类型:SHA-1、SHA-256、MD-5或另一散列算法;匿名共享公共标签;用于API访问恶意软件分析平台的API键和/或其他设置)。
在一个实施例中,仪表板显示恶意软件下载会话直方图(例如,图形或图表),如在608处所示。在该示例中,恶意软件下载会话直方图显示在选择的时间范围内第一次检测到的针对样本的恶意软件会话。具有已知恶意软件(例如,在所选择的时间范围之前第一次看到的恶意软件)的会话未在此示例中反映出来。用户可以调整直方图滑块以缩小或扩大日期范围。仪表板小部件也根据所选择的时间范围来过滤。
在一个实施例中,仪表板包括仪表板小部件,如在610处所示。在该示例中,仪表板小部件根据所选择的上下文(例如,组织、行业或所有)和时间范围醒目显示最高的十个赝象,包括以下各项:最高应用(例如,显示十个最常用的应用);最高恶意软件(例如,显示具有最多命中的十个恶意软件样本);最高防火墙(例如,显示具有其中检测到恶意软件样本的会话最多的十个防火墙;用户可以选择仪表板上的组织选项卡以显示他们的网络中的最高防火墙);和目标行业(例如,显示具有检测到的恶意软件的最高计数的十个行业;用户可以选择仪表板上的所有选项卡以在全球级别上显示目标行业)。在示例实现中,用户还可以点击任何小部件中的单个栏以在仪表板小部件上深入查看。可以将赝象作为搜索条件添加到搜索编辑器,这允许用户然后搜索赝象和/或对赝象加标签(例如,基于赝象和/或与赝象相关联的条件生成标签)。
在一个实施例中,仪表板包括源/目的地地形(例如,国家)的地图,如在612处所示。在该示例中,仪表板允许用户在地理上查看恶意软件热点。用户可以选择来源以显示具有高的源自那些国家的恶意软件会话的率的国家,或选择目的地以显示具有高的瞄准攻击的率的国家。可以在地图上显示更大的气泡,以指示更高的活动的率,如在该示例中示出的那样。用户还可以放大以更接近地检查源或目标国家的恶意软件会话的数量。
在一个实施例中,仪表板包括如在614处所示的最高标签图表。在该示例中,用户可以查看与最高数量的样本匹配的标签(例如,智能标签)(例如,包括用户/订户的私有标签、由与平台服务提供商相关联的威胁情报专家配置/定义的平台服务提供商警报标签——在该示例中为Palo Alto Networks(在该示例中示出为单元42标签),以及可被示出为基于标签的类型——私有、单元42和/或公共区分的公共标签)。如示出的那样,最高标签列表根据在恶意软件会话直方图上选择的日期范围中与标签匹配的样本的数量来排序(例如,如在仪表板的顶部处所示)。对于每个标签,列表还显示已与标签匹配的样本的总数以及检测到最新匹配样本的日期和时间。在示例实现中,提供了最高标签小部件,使得用户可以选择标签类型以显示最高的20个私有标签、单元42警报标签、单元42信息标签和/或公共标签,并且用户可以选择标签来查看标签细节,包括标签识别的条件或条件的集合的描述,或将标签添加到搜索。
在一个实施例中,仪表板包括如在616处所示的警报日志。在该示例中,用户可以查看关于启用了恶意软件匹配的公共、私有或单元42标签的最新警报集(例如,最近的20个警报或一些其他数量的最近警报)。在示例实现中,优先警报可以被配置成自动推送给订户/用户(例如,通过电子邮件或通过HTTP传递给针对订阅客户的所选择的网络/安全管理员)。
在一个实施例中,仪表板包括最近单元42研究的列表,如在618处所示。在该示例中,用户可以浏览到来自单元42的最新研究、新闻和资源的快速链接,在此示例中,单元42是与平台服务提供商——Palo Alto Networks相关联的威胁情报专家。
在用于威胁情报使得可操作的恶意软件分析平台上搜索
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面包括搜索特征(例如,如上面关于图6类似地描述的那样)。在示例实现中,搜索特征可以促进搜索由用于威胁情报使得可操作的恶意软件分析平台使用在本文中描述的各种技术生成、维护和索引的威胁数据。例如,搜索特征可以促进样本分析结果的搜索(例如,包括赝象)并深入到搜索结果中,如下面进一步描述的那样。
图7A-7B是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的屏幕截图。在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的门户界面包括搜索编辑器,如在图7A-7B中所示。
在一个实施例中,平台包括搜索编辑器以执行复杂搜索,其中条件允许用户缩小或扩大搜索的范围。在此示例中,用户可以切换他们的搜索结果的视图以找到:与所选择的搜索条件匹配的样本(例如,使用样本选项卡);在其期间检测样本的会话(例如,使用会话选项卡);与返回的样本相关联的最高赝象(例如,使用统计选项卡);和/或被动DNS历史和结果的分类(例如,使用域、URL和IP地址信息选项卡)。在执行搜索后,用户可以深入样本结果中,以找到用该样本看到的赝象。对于与样本相关联的每个赝象,平台列出用良性(#B)、灰色软件(#G)和恶意软件(#M)样本已经检测到赝象的次数。与恶意软件不成比例地看到的赝象被指示为可疑或高度可疑的,诸如使用在本文中描述的各种技术用于确定样本是否可疑或高度可疑。
参考图7A,通过点击导航窗格中的搜索功能来选择用于威胁情报使得可操作的恶意软件分析平台上的搜索功能,如在702处所示。例如,用户然后可以在搜索编辑器中添加标准来开始新的搜索、使用保存的搜索和/或导入新的搜索。如以上类似地描述的那样,用户还可以点击仪表板上醒目显示的赝象,并且然后搜索编辑器以赝象列出为搜索条件来显示。
如在704处所示,用户可以使用搜索编辑器添加一个或多个搜索条件,该搜索编辑器可以被处理用于基于一个或多个搜索条件生成搜索结果。例如,为了创建搜索条件,用户可以添加用户想要针对其搜索的类别,并定义类别的范围和值。首先,用户可以从下拉菜单选择类别,以基于该类别执行全球威胁数据的搜索,诸如在该示例中示出为“判定”的类别(例如,类别可以包括散列值(MD5、SHA-256等)、判定和/或其他类别)。第二,用户可以为搜索条件选择操作符,诸如在该示例中示出为“是”的操作符(例如,操作符可以包括是、不是、是在列表中、不在列表中、没有值、有任何值和/或其他操作符)。操作符确定搜索结果的范围;用户可以使用操作符来限制或扩展潜在的结果,或者返回完全匹配的结果。可用的操作符可以根据所选的搜索类别变化。第三,用户可以输入或选择值来定义搜索条件。根据所选的类别和操作符,预定义的值可能可用于从其选择,或者用户可能被要求输入唯一的值以执行搜索。如在706处所示,用户可以选择关于所有样本、公共样本还是与用户的账户/实体相关联的样本(例如,在该示例中示出为我的样本)执行搜索。
参考图7B,搜索编辑器还可以包括子查询以促进搜索,该搜索包括条件或与父查询嵌套并用于限定父查询的条件的集合。在该示例实现中,如在712处所示,仅针对父查询来评估子查询,如在710处所示,子查询被添加到父查询。用户可以添加子查询以返回更细粒度的搜索结果,其中只有当子查询也为真时,结果才与父查询匹配。图7B中所图示的示例搜索示出了添加到电子邮件主题条件的子查询。对于其中以下内容是真的样本,将返回搜索结果:(1)样本在2015年3月13日之前第一次被看到;并且(2)样本文件的电子邮件主题包含词测试并接收到恶意软件或灰色软件的WildFire裁决。在此示例中,用户还可以向上移动或向下移动搜索条件,以将条件移至子查询或移出子查询。根据条件的位置,用户可以向上或向下移动条件以将其包括在子查询中。用户还可以向上或向下移动条件,以将其从子查询中移除,使得其不再是嵌套条件——在该情况下,该条件用所有(或任何)其他搜索条件来评估,而不是仅针对父查询来评估。
在一个实施例中,可以保存搜索。例如,用户可以保存用户可能在常规的基础上执行或者为了快速重新创建有用的搜索设置的搜索。
图8是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的示例搜索视图的屏幕截图。在一个实施例中,可以基于搜索条件来创建标签。如在802中所示,可以对样本加标签以将样本加标签为威胁指示器。例如,可以选择标签结果图标,以基于使用搜索编辑器输入或保存的搜索标准的给定集合的搜索条件生成标签。在某些情况下,标签可用于定义指示重要网络事件或可能或已知威胁的条件的集合。例如,可以由用户利用该特征来对搜索加标签,使得与搜索匹配的任何现有或未来样本都被高效、准确地加标签,并且可以被使用用于威胁情报的恶意软件分析平台自动识别和跟踪。标签可以用名称和描述来保存。
如在804处所示,样本可以作为公共样本来共享,以与其他安全专家共享该样本。在此示例中,用户还可以将由用户的组织创建的公共标签恢复为私有。
如在806处所示,网络会话选项卡列出了在其期间检测到样本的会话。显示的会话是从防火墙提交给恶意软件分析系统的所有会话,如以上类似地描述的那样。为了会话细节用户可以选择单个会话(例如,用户也可以导航回到样本的文件分析选项卡,或者点击相关会话选项卡——相关会话是其中检测到具有相同散列值(诸如相同SHA-256散列值)的样本的会话)。
如在808处所示,文件分析选项卡列出了在由恶意软件分析系统执行自动化分析期间针对样本观察到的属性、行为和活动,如以上类似地描述的那样。对于每个活动赝象,列出了已经用良性(#B)、灰色软件(#G)和(#M)恶意软件样本找到赝象的总次数。高风险赝象被醒目显示为可疑或高度可疑的,并且用户可以将这些赝象直接添加到现有搜索,或者将它们添加到如在810处所示的导出列表,如在本文中类似地描述的那样。
在一个实施例中,搜索编辑器支持导出搜索。例如,可以导出搜索,以便在支持帐户之间或与另一安全专家共享搜索。
在一个实施例中,搜索编辑器支持导入搜索。例如,可以导入搜索,以便导入由另一个安全专家共享的搜索。
作为示例,搜索编辑器可以被用于使用用于威胁情报使得可操作的恶意软件分析平台执行搜索,以查看与所选搜索条件匹配的样本(例如,并且还可以被配置成搜索指定范围的样本,诸如私有/订户样本、公共样本和/或所有样本,如在本文中类似地描述的那样)。然后可以选择样本、会话、统计和域、URL和IP地址信息选项卡以在搜索结果中深入不同的上下文中,并允许您深入到结果中以找到赝象之中的相关性,以通过向搜索添加赝象来缩小搜索,并将高风险赝象添加到导出赝象特征,如在本文中类似地描述的那样。然后,用户可以评估搜索结果中识别的赝象。用户还可以导出在搜索结果中识别的赝象,如在本文中类似地描述的那样。
图9是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的会话搜索视图的屏幕截图。在一个实施例中,搜索编辑器包括会话选项卡。例如,会话选项卡可以显示与搜索条件匹配的所有样本的所有会话。用户可以选择单个会话来深入查看会话细节,如在图9中所示。
如在902处所示,会话细节包括会话摘要,用户可以使用搜索编辑器从上述摘要将赝象添加到搜索,如以上类似地描述的那样。
如在904处所示,文件分析选项卡显示针对在会话期间检测到的样本的细节。
如在906处所示,会话细节还包括相关会话的列表,所述相关会话是其中检测到相同样本的会话。
图10是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的统计搜索视图的屏幕截图。在一个实施例中,搜索编辑器包括统计选项卡。例如,统计选项卡可以显示针对与搜索条件匹配的所有样本的所有统计。用户可以检查针对与搜索条件匹配的所有样本的统计,如在图10中所示。
如在1002处所示,用户可以查看关于与我的样本、公共样本或所有样本相关联的赝象的统计。
如在1004处所示,用户可以点击最高应用、最高恶意软件、最高防火墙或目标行业小部件来向他们的搜索添加赝象;统计选项卡小部件根据添加的搜索条件来过滤。例如,用户可以点击最高应用小部件上的web浏览栏。将Web浏览添加为搜索条件,并且然后更新小部件(包括源国家恶意软件地图)以反映新的web浏览过滤器。
图11A-11B是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的搜索编辑器的域、URL和IP地址信息搜索视图的屏幕截图。在一个实施例中,搜索编辑器包括统计选项卡。在一个实施例中,搜索编辑器可以被配置成查看用与搜索条件匹配的样本找到的域、URL和IP地址信息。
参考图11A,用户可以选择域、URL和IP地址信息选项卡以查看被动DNS历史和搜索结果的现有分类。如在1102处所示,用户可以设置搜索(例如,点击/选择目标图标或域、URL和IP地址信息选项卡),其包括以下条件中的至少一个:URL、IP地址或DNS活动,诸如通过添加DNS活动包含zzux.com的搜索条件,如在图11A中所示。
参考图11B,用户可以查看针对与搜索标准匹配的样本找到的分类和被动DNS历史信息。如在1110处所示,PAN-DB是Palo Alto Networks URL和IP数据库,或可以利用商业上或公开可用的另一商业上可获得的URL和IP类别/分类。然后,用户可以检查与URL和相关联的(一个或多个)类别相关联的web站点。
如在1112处所示,用户可以检查针对与他们的(一个或多个)搜索条件匹配的样本找到的域到IP地址映射。
基于观察到的行为搜索
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面包括搜索特征(例如,如上面关于图6类似地描述的),其允许基于观察到的行为来搜索。例如,用户可以利用搜索特征以基于当在沙箱环境中执行样本时看到的行为找到样本。
在示例实现中,用户可以搜索创建和修改文件、启动进程、产生新进程、修改注册表和/或安装浏览器帮助对象(BHO)的样本。用户可以利用界面来选择使用平台发起搜索,选择观察行为的搜索类别,并且然后浏览可能行为的列表以选择一个或多个行为来搜索当在沙箱环境中执行时针对其看到该行为的样本。
将链接共享到保存的搜索
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面包括搜索特征(例如,如上面关于图6类似地描述的),其允许将链接共享到保存的搜索。例如,用户可以选择搜索特征以打开他们的保存的搜索,点击链接图标以生成共享链接,并且然后复制链接以与其他用户(例如,用于威胁情报的恶意软件分析平台的其他用户)共享该链接。
使用用于威胁情报使得可操作的恶意软件分析平台基于赝象的智能加标签和警报
如上面类似地讨论的那样,网络/安全管理员(管理员)通常被来自用于他们的企业网络的安全设备和安全服务的大量的而且通常太多的警报和消息所淹没。此外,这样的安全设备和安全服务通常未能为这样的警报和消息提供有效和/或高效的相关的上下文和优先级,以便促进执行(一个或多个)响应动作。
因此,需要用于过滤和识别相关威胁情报信息的改进技术。
因此,在一个实施例中,使用用于威胁情报的恶意软件分析平台来提供基于赝象的加标签和警报。
例如,以上描述的恶意软件分析平台可以提取各种静态和行为赝象,然后可以选择所述赝象作为赝象以基于在样本的分析期间由恶意软件分析平台识别的一个或多个属性/行为(和/或基于一个或多个属性/行为的条件)的集合来定义标签,如下面进一步描述的那样。在此示例中,这些标签在创建时应用于现有样本的集合并且是智能的,使得如果由用于威胁情报的恶意软件分析平台接收到表现出相同的一个或多个属性/行为的集合的任何新样本,则新样本被自动加标签,并且可以将通知传送给基于标签配置警报的用户。此外,该加标签和警报能力允许网络/安全管理员定义他们有兴趣监视的特定赝象,例如域、IP地址、URL、互斥和/或其他属性,使得在他们的网络中发生瞄准(例如,匹配)这些赝象的任何事件时,然后可以通知他们以允许他们有效且高效地执行适当的动作以减轻安全威胁。
在一个实施例中,标签被应用作为由用于威胁情报使得可操作的恶意软件分析平台对新处理的样本/会话的摄取处理的部分,如以上类似地描述的那样。在一个实施例中,新定义的标签可以以所谓的惰性方式应用于(例如,与之相关联)现有的处理样本,如在本文中描述的那样。
例如,ACME公司的网络/安全管理员用户可以使用所公开的技术定义新标签并基于新标签指定警报。然后,如果来自他们的企业网络的样本与标签匹配,则用户可以接收警报。在此示例中,新标签可以是用户使用用于威胁情报的恶意软件分析平台配置的新标签,或者标签可以是由用于威胁情报可操作的恶意软件分析平台的安全供应商或由用于威胁情报的恶意软件分析平台的另一个用户先前配置的现有标签。
在一个实施例中,可以应用下面描述的群集技术来自动生成标签(例如,恶意软件家族可以与智能标签相关联)。例如,可以使用所公开的属性和/或基于群集的分析技术自动生成标签,如下面进一步描述的那样。
在一个实施例中,标签可以是高优先级标签。例如,如果检测/接收到与是高优先级标签(例如,与严重威胁相关联的标签可以诸如由用于威胁情报的恶意软件分析平台的安全供应商识别为高简档标签)的标签匹配的恶意软件样本,则可以基于与高简档标签匹配的恶意软件样本被识别为已经穿透了他们的网络的警报,向ACME公司的网络/安全管理员发送警报,通知他们的网络正在被瞄准。
在一个实施例中,标签可以基于一个或多个属性的集合。在一个实施例中,属性可以基于从样本的恶意软件分析平台输出的恶意软件分析结果的行和/或子行(例如,从行提取的内容的子集),诸如以上类似地描述的那样。例如,标签可以基于属性的集合(例如,行1、3、7和/或其他行或子行)。作为另一示例,可以基于下面描述的用于自动生成用于威胁情报的恶意软件分析平台的标签的自动化/半监督技术来生成标签。
现在将在下面进一步描述与基于使用用于威胁情报使得可操作的恶意软件分析平台提供的赝象的智能加标签和警报相关联的这些和其他方面。
用于威胁情报使得可操作的恶意软件分析平台上的警报
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面包括警报特征(例如,如上面关于图6类似地描述的)。例如,优先级警报允许用户快速区分针对性的高级攻击与商品恶意软件,使得用户可以相应地有效地和高效地对他们的网络资源分类。如在本文中类似地描述的,用户可以配置用于威胁情报使得可操作的恶意软件分析平台,以基于标签类型(例如,单元42警报标签、公共标签或私有标签)来设置警报。
在一个实施例中,警报可以被配置成通过HTTP和/或电子邮件警报(例如,或其他通知机制)传送给用户,以接收诸如电子邮件通知之类的警报或者将警报包括web门户或馈送中。在一个实施例中,仪表板上的警报日志基于仪表板上下文显示警报,并且用户还可以通过在导航窗格上选择警报来查看完整的警报的集合。
图12是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的警报屏幕的屏幕截图。在一个实施例中,可以基于各种通知标准和/或标签类型(例如,下面还进一步描述的标签/智能标签)来配置警报。例如,为了设置警报,用户可以定义他们想要接收的警报类型(例如,警报频率和通知目的地),并且然后基于标签类型启用警报,诸如下面进一步描述的那样。
参考图12,用户可以通过在导航窗格上选择警报并且然后选择设置来定义警报(例如,HTTP和电子邮件警报)。然后,用户可以定义警报动作,如在1204处所示,用户然后可以从警报动作选择以基于标签类型启用警报,如在1202处所示。在该示例中,定义警报动作包括将警报设置为HTTP或电子邮件警报,并选择接收每日通知或每五分钟通知。用户仅接收针对与所选摘要时段中的警报标准(例如,标签)匹配的样本的通知;如果在摘要期间没有检测到匹配的样本,则不发送通知。此外,在此示例中,存在无法编辑或删除的示出为无的默认警报动作。如果用户不希望接收针对某些标签的通知,或者用户想要创建通知的异常,则此动作可能是有用的。
例如,用户可以基于标签类型启用HTTP和电子邮件警报。用户可以选择与标签类型匹配的所有样本来生成警报,或缩小警报标准,使得只有私有或公共样本生成警报。此外,警报特征可以包括用于创建警报异常的选项,所述选项允许用户灵活地基于特定标签来指定优先级警报,或者从触发警报排除特定标签。此外,用户可以设置警报的范围(例如,对于每个标签类型,用户可以选择我的样本以仅在与用户的支持帐户相关联的防火墙与标签匹配时被警报;用户可以选择公共样本以仅在公共样本与标签匹配时被警报;并且用户可以选择我的样本和公共样本二者以在任何样本与标签匹配时被警报)。
图13A-C是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的警报日志屏幕的屏幕截图。在一个实施例中,仪表板提供警报日志屏幕。如示出的那样,仪表板上的警报日志列出了在所选仪表板日期范围内触发的警报,以最近的警报开始。此外,警报日志可以显示警报日志的完整集合(例如,用户可以在导航窗格上选择警报以查看警报日志的完整集合)。
参考图13A,用户可以在警报日志屏幕上显示的警报上深入查看。如在1302处所示,用户可以点击针对样本条目的SHA256散列链接以将样本添加到搜索。如在1304处所示,用户可以选择基于时间、标签类型、SHA256散列值和/或标签对警报排序。
参考图13B,用户可以悬停在警报所基于的标签上以查看标签细节,包括业务与标签匹配的最新时间和总次数,如在1310处所示。
在一个实施例中,为了搜索最新样本以触发警报,用户可以在警报日志小部件上选择样本。
参考图13C,为了检查和/或搜索触发警报的条件,用户可以在警报日志小部件上选择标签以查看标签细节。在此示例中,标签细节可以包括标签的描述和针对标签定义的条件的列表。从标签细节,用户可以基于标签或针对标签定义的单个条件打开搜索。如在1320处所示,用户可以将标签添加到搜索编辑器,以搜索与标签匹配的所有历史和全球样本。如在1322处所示,用户可以将针对标签定义的单个条件添加到搜索编辑器,以搜索与该单个条件匹配的所有历史和全球样本。
使用用于威胁情报的恶意软件分析平台对分析的恶意软件样本结果进行智能加标签和警报
如上面类似地讨论的那样,由各种安全系统和服务生成的大量和复杂信息对网络/安全管理员提出了技术挑战。例如,网络/安全管理员通常被来自安全设备和服务的大量且通常数量巨大的警报和消息所淹没。此外,来自安全设备和服务的这样的警报和消息通常缺少优先级和相关上下文以促进高效处理并且促进基于某些警报和消息执行适当的动作。
因此,公开了使用用于威胁情报的恶意软件分析平台对分析的恶意软件样本结果进行智能加标签和警报的技术。在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台包括提取和唯一地命名与恶意软件(例如,或灰色软件)相关联的(一个或多个)赝象(例如,行为或其他属性的集合)的能力,其在本文中被称为作为标签(例如,智能标签),诸如下面进一步描述的那样。例如,这些标签在创建时可以应用于现有样本的集合,并且可以以如下方式被视为智能的:如果分析任何新样本并且由平台处理恶意软件分析结果,并且平台确定新样本表现出相同的(一个或多个)赝象,那么自动对新样本加标签并且可以触发警报(例如,基于与标签相关联的警报参数的配置,诸如下面进一步描述的那样)。
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面包括如以上类似地描述的标签特征。例如,用于威胁情报使得可操作的恶意软件分析平台的界面允许用户对条件的集合加标签。如上面类似地讨论的,用户然后可以基于定义的标签搜索和警报。在示例实现中,历史和未来样本可以由平台自动匹配到针对标签定义的条件(例如,基于一个或多个赝象的条件)。还可以搜索与标签匹配的历史样本,以提供对周围事件的上下文和洞察。另外,可以由平台处理与标签匹配的新样本以自动生成警报(例如,优先级警报),以允许用户执行适当且及时的(一个或多个)动作来补救安全威胁。
作为示例,可以通过对样本加标签来创建新的标签(例如,可以对加样本的散列标签,如在本文中类似描述的那样)。作为另一个示例,可以对搜索条件的集合加标签。在一个示例实现中,当标签被创建时,与搜索条件匹配的过去和传入的样本被用于威胁情报使得可操作的恶意软件分析平台使用所公开的技术加标签;并且样本细节显示样本与其匹配的标签。此外,用户然后可以使用搜索编辑器执行搜索和/或基于新标签接收警报。
作为示例,假设银行ACME银行是用于威胁情报使得可操作的恶意软件分析平台的客户。ACME银行可以利用该平台以配置标签和警报,以基于ACME银行的网络/安全管理员感兴趣的特定赝象来促进他们的网络/安全管理员。可以被定义为基于标签来配置这样的标签和警报的赝象的示例可以包括域名、IP地址、URL和/或各种其他赝象,如在本文中类似描述的那样。在此示例中,假设在ACME银行企业网络上检测到新样本,并使用自动化恶意软件分析发送该样本用于云安全恶意软件分析,并且然后该样本分析结果(例如,日志文件)由用于威胁情报的恶意软件分析平台处理,如以上类似地描述的那样。如果用于威胁情报的恶意软件分析平台基于样本分析结果(例如,日志文件)的处理确定样本与这些赝象中的任何赝象相关联(例如,瞄准),则该样本被平台自动加标签,并且可以生成警报(例如,ACME银行的网络/安全管理员可以基于优先级警报通知被通知,该优先级警报通知包括基于基于一个或多个赝象定义的标签的相关上下文信息,这促进了要使用平台和/或其他安全设备/服务及时执行补救/纠正行动,诸如在本文中进一步描述的那样)。
在一个实施例中,提供了用于平台的仪表板,该仪表板基于诸如以上关于图6类似描述的标签(例如,如以上类似描述的我的标签、单元42标签和/或公共标签)显示威胁情报信息。例如,用于威胁情报使得可操作的恶意软件分析平台的仪表板可以允许用户在设置的时间范围期间找到具有最多样本命中的标签(例如,在日期范围期间检测到的最高标签(我的标签、单元42标签和/或公共标签)。作为另一个示例,用于平台的仪表板允许用户查看具有最高匹配样本的总数的标签(例如,用搜索结果找到的最高标签(我的标签、单元42标签和/或公共标签)。各种其他仪表板/显示器和/或搜索结果可以类似地使用平台基于标签和/或警报来生成。
图14是根据一些实施例的用于威胁情报使得可操作的恶意软件分析平台的界面的标签细节屏幕的屏幕截图。在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面允许用户选择(例如,点击)标签以查看与标签细节屏幕上显示的标签相关联的详细信息,如在图14中所示。例如。用户可以选择任何标签以显示关于该标签的细节,包括与业务匹配的条件的集合、上次检测到该条件集的条件以及与标签匹配的样本的总数。
如在1402处所示,为了基于标签打开搜索,用户可以选择搜索图标。如在1404处所示,用户可以编辑私有标签细节。在此示例中,对于私有标签,用户可以编辑标签细节,包括标签的范围是私有、公共或匿名公共。如在1406处所示,用户可以选择删除/垃圾图标以永久删除先前生成的标签(例如,基于用户访问控制,诸如针对先前由该用户或与该用户相关联的企业帐户创建的标签)。例如,删除的标签可以在被删除之后显示移除的标签状态,直到删除被完成为止(例如,当删除被完成时,标签状态可以显示为禁用)。
如在1408处所示,用户可以通过使标签公开(例如,以与平台的其他网络/安全管理员用户和/或与平台相关联的安全服务提供商共享)来与安全专家共享标签。此外,如以上类似地描述的那样,用户还可以将先前使得公开的标签恢复回到私有标签。例如,标签可以被匿名共享,或者如果用户不想匿名共享标签,则可以将组织标识为标签的所有者。
如在1410处所示,用户可以针对标签投票、对标签评论和报告标签。例如,用户可以投票赞成有用的标签和投票反对他们认为是误导性的或过于笼统而无意义的标签。作为另一示例,用户可以对标签评论,诸如提供关于标签的反馈或与平台的威胁情报/安全社区用户共享附加的相关信息。作为又一示例,用户可以报告令人不快或泄露敏感信息的标签。在此示例中,私有标签不显示这些选项,因为这样的选项将仅适用于公共可访问/共享的标签。
如在1412处所示,用户可以基于单个标签条件搜索或删除单个标签条件。例如,用户可以在动作列中选择用户想要针对其打开搜索的条件的右边的搜索图标(例如,该选项可以被用于将来自现有标签的条件添加到搜索编辑器、修改条件和/或创建新标签)。
分析恶意软件样本结果的赝象
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台的界面识别从分析样本提取和/或确定与分析样本相关联的赝象(例如,属性,诸如行为、特征和/或其他赝象,如以上类似地描述的那样)。在示例实现中,恶意软件分析平台包括对恶意软件样本的自动化分析(例如,由Palo Alto Networks公司或另一恶意软件分析平台/服务提供的WildFireTM云安全服务),其将先前未知的样本分类为恶意软件、灰色软件或良性,使得防火墙可以被配置成然后根据安全策略(例如,企业安全策略或其他安全策略)阻止或强制执行新识别的恶意软件或灰色软件。同样如以上类似地描述的那样,当恶意软件样本的自动化分析在动态分析阶段期间观察并执行沙箱环境中的样本和/或在静态分析阶段期间确定属性时,恶意软件分析平台可以处理结果以自动识别分析的恶意软件样本结果的赝象(例如,文件属性和/或行为,所述行为包括观察到的行为、过程活动、连接活动、服务活动和/或其他行为/活动,诸如注册表活动、文件活动、其他API活动、互斥活动、DNS活动和/或包括可疑文件属性和/或其他静态分析属性的静态分析),所述赝象可利用用于威胁情报使得可操作的界面或恶意软件分析平台来访问、分析和/或使得可操作,如现在以下将关于图15A-D进一步描述的那样。
图15A-D是根据一些实施例的用于利用用于威胁情报使得可操作的恶意软件分析平台来基于赝象查看和/或执行动作的界面的屏幕截图。在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台(例如,由Palo Alto Networks公司或者用于威胁情报的另一恶意软件分析平台/服务提供的AutoFocus云安全服务)提供了一个新的视角,通过该视角可以查看、分析和执行基于由恶意软件分析平台收集的赝象的动作。
在一个实施例中,用于威胁情报使得可操作的恶意软件分析平台包括对赝象的各种分析和统计。在示例实现中,可以提供在发现与样本相关联的赝象上的层统计,以示出使用在本文中描述的各种技术利用其他恶意软件、灰色软件或良性样本已经确定/检测到给定赝象的次数。例如,可以使用在本文中描述的各种技术将经常用恶意软件观察到的高风险赝象确定为可疑或高度可疑的。
在一个实施例中,可以使用所公开的平台和技术来确定、查看、分析和作用于高风险赝象。在示例实现中,用于威胁情报使得可操作的恶意软件分析平台识别包括在样本的文件分析细节中的高风险赝象。在该示例中,用于威胁情报使得可操作的恶意软件分析平台的界面可以包括文件分析选项卡,所述文件分析选项卡将类似的赝象分组到分析类别中以便于参考,诸如在本文中类似地描述的那样。如以上类似地描述的那样,用户可以利用界面以将高风险赝象添加到搜索,或者使用它们来生成导出列表,用于配置网络/安全设备(例如,防火墙或其他网络/安全设备)以使用在本文中描述的各种技术基于高风险赝象执行动作(例如,阻止、警报或其他动作)。
参考图15A,用户可以利用平台的界面来执行如在1502处所示的搜索(例如,利用搜索编辑器来设置如以上类似地描述的搜索)并从如在1504处所示的搜索结果选择样本以查看该样本的文件分析细节。如在1506处所示,样本的文件分析选项卡可以显示高风险赝象以及用恶意软件、灰色软件或良性样本观察到赝象的次数(例如,如示出的那样,赝象的动态分析类别包括观察到的行为、过程活动、连接活动和服务活动)。
参考图15B,用户可以利用平台的界面来选择赝象的类别,诸如如示出的处理活动类别,以查看与该类别相关联的文件分析赝象。如在1510处所示,对于列出的每个赝象,用恶意软件(#M)、灰色软件(#G)和良性(#B)样本已经检测到赝象的次数被显示在由平台的界面输出的表格式显示中。在该示例中,高风险赝象用图标来指示以将它们指定为如示出的高度可疑或可疑的(例如,具有针对高度可疑示出的感叹号和针对可疑示出的感叹号的填充三角形符号)。
参考图15C,用户可以利用平台的界面来选择与他们的搜索条件匹配的赝象(例如,即使它们不是高风险的),其在搜索结果中醒目显示。在此示例中,针对包括DNS活动的赝象执行搜索,该活动包含nearly-gaze.ru, ns1.r01.ru, NS,如在1520处所示。结果在DNS活动类别中醒目显示,其与这些示例搜索条件匹配,如在1522处所示。
参考图15D,用户可以利用平台的界面来选择赝象(例如,高风险赝象)以将所选赝象添加到搜索或导出列表以基于所选赝象执行动作(例如,搜索、导出和在文件分析赝象上深入查看)。如在1530处所示,用户可以将在如以上类似地描述的样本的文件分析选项卡上找到的赝象添加到他们现有的搜索和/或导出列表。域、URL和IP地址还允许用户查看被动DNS历史记录和赝象的各种分类信息。
用于威胁情报使得可操作的恶意软件分析平台的过程
图16是根据一些实施例的针对使用用于威胁情报使得可操作的恶意软件分析平台执行的过程的流程图。在各种实施例中,图16中所示的过程由包括以上关于图1-3描述的实施例的如以上类似地描述的平台和技术执行。
在1602处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在1604处,执行处理日志文件以确定与恶意软件相关联的赝象。例如,如果基于自动化恶意软件分析确定赝象与恶意软件相关联,那么可以将赝象视为如以上类似地描述的高风险赝象。
在1606处,基于赝象执行动作。例如,可以将(一个或多个)赝象导入到安全信息和事件管理(SIEM)工具,或者支持防火墙阻止列表以在企业网络上执行安全实施,如以上类似地描述的那样。
图17是根据一些实施例的针对使用用于威胁情报使得可操作的恶意软件分析平台执行的过程的另一流程图。在各种实施例中,图17中所示的过程由包括以上关于图1-3描述的实施例的如以上类似地描述的平台和技术执行。
在1702处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在1704处,执行处理日志文件以确定与恶意软件相关联的赝象。例如,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,如以上类似地描述的那样。
在1706处,执行识别处理的日志文件中的不同行。例如,可以对日志文件中的重复行进行去重,以生成仅包括不同行的处理日志文件,如以上类似地描述的那样。
在1708处,执行基于针对先前处理的日志文件执行的行计数来更新针对不同行中的每个的行计数。例如,可以利用行计数来生成可以在仪表板中呈现的针对恶意软件样本结果的统计和分析,并且促进用户访问和分析恶意软件样本结果和统计覆盖,如以上类似地描述的那样。作为另一示例,可以处理行计数以确定任何不同的行是否可能与恶意软件相关(例如,并且不太可能与良性样本相关联),这可以被用于识别高风险赝象,如以上类似地描述的那样。
在1708处,执行基于对先前处理的日志文件执行的行计数来更新不同行中的每个的行计数。例如,可以如以上类似地描述的那样更新行/子行。
在1710处,基于高风险赝象执行动作。例如,可以将(一个或多个)赝象导入到安全信息和事件管理(SIEM)工具,或者支持防火墙阻止列表以在企业网络上执行安全实施,如以上类似地描述的那样。
图18是根据一些实施例的针对使用用于威胁情报使得可操作的恶意软件分析平台执行的过程的另一流程图。在各种实施例中,图18中所示的过程由包括以上关于图1-3描述的实施例的如以上类似地描述的平台和技术执行。
在1802处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在1804处,执行处理日志文件以确定与恶意软件相关联的赝象。例如,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行。
在1806处,执行识别处理的日志文件中的不同行。例如,可以对日志文件中的重复行进行去重,以生成仅包括不同行的日志文件,如以上类似地描述的那样。
在1808处,执行确定不同的行中的任何行是否是可疑的。例如,如果确定行/子行与恶意软件相关联,那么这可以被视为高风险赝象,并且可以如以上类似地描述的那样被使得可操作。
在1810处,基于高风险赝象执行动作。例如,可以将(一个或多个)赝象导入到安全信息和事件管理(SIEM)工具,或者支持防火墙阻止列表以在企业网络上执行安全实施,如以上类似地描述的那样。
使用用于威胁情报使得可操作的恶意软件分析平台进行加标签和警报的过程
图19是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行的加标签和警报过程的流程图。在各种实施例中,图19中所示的过程由包括以上关于图1-3描述的实施例的如以上类似地描述的平台和技术执行。
在1902处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在1904处,执行处理日志文件以提取与日志文件相关联的赝象。例如,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,如以上类似地描述的那样。
在1906处,执行基于赝象确定标签是否匹配多个样本中的任何样本。作为示例,可以通过对样本加标签来创建新标签(例如,可以对样本的散列加标签,诸如在本文中类似地描述的那样)。作为另一示例,可以对搜索条件的集合加标签。
在1908处,基于标签是否匹配多个样本中的任何样本来执行动作。例如,可以基于标签是否匹配多个样本中的任何样本来触发警报,如以上类似地描述的那样。
图20是根据一些实施例的使用用于威胁情报使得可操作的恶意软件分析平台执行的加标签和警报过程的另一流程图。在各种实施例中,图20中所示的过程由包括以上关于图1-3描述的实施例的如以上类似地描述的平台和技术执行。
在2002处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在2004处,执行处理日志文件以提取与日志文件相关联的赝象。例如,样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,如以上类似地描述的那样。
在2006处,基于与一个或多个赝象相关联的多个条件来配置标签。例如,可以对搜索条件的集合加标签,如以上类似地描述的那样。
在2008处,执行基于与一个或多个赝象相关联的多个条件来确定标签是否与多个样本中的任何样本匹配。例如,平台可以确定新的和历史样本的这种标签匹配,如上所述。
在2010处,基于标签与多个样本中的至少一个匹配的确定来生成警报。例如,可以如以上类似地描述的那样生成优先级警报。
自动确定恶意软件样本是否相似
当前恶意软件分析和安全领域中存在的问题是攻击者倾向于修改(例如,对其进行微小改变或其他修改)现有恶意软件(例如,恶意程序或其他恶意软件/灰色软件内容)并重用它们以攻击/感染附加网络和环境。该方法对防御者(例如,反恶意软件解决方案提供者)提出了显著的技术挑战,以有效且高效地独立地检测和响应于每个恶意软件程序。例如,此问题可能导致延迟、错误,并导致额外的时间被花费在随时间被重复重新分析的有效类似的恶意软件上。
因此,需要新的和改进的技术来解决该安全技术问题。因此,公开了用于自动确定恶意软件样本是否相似的新的和改进的技术。例如,用于自动确定恶意软件样本是否相似的技术可以使用以上描述的用于威胁情报使得可操作的恶意软件分析平台来实现,如下面进一步描述的那样。
在一个实施例中,自动确定恶意软件样本是否相似包括基于赝象确定恶意软件之间的相似性。例如,赝象可以包括属性或行为(例如,基于使用自动化恶意软件分析系统执行的动态和/或静态分析技术,诸如以上类似地描述的那样)。
在一个实施例中,自动检测两个或更多个恶意软件样本之间的相似性。例如,可以生成在样本的自动化恶意软件分析期间观察到的属性和/或行为的文本格式(例如,在由如以上类似地描述的自动化恶意软件分析系统生成的日志文件中),并且然后可以比较这些属性和行为的文本表示,以基于观察到的两个恶意软件样本相应的属性和/或行为(例如,基于属性和/或行为的阈值比较和/或相似性的百分比)自动确定两个恶意软件样本是否相似。在对应于以两种不同编程语言开发的相同恶意软件的两个恶意软件样本的示例情况下,可以执行所公开的技术以检测恶意软件样本是相似的,因为它们的相应的行为将是相似的。
在一些实施例中,用于自动确定恶意软件样本是否相似的系统、过程和/或计算机程序产品包括接收多个样本以用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件;基于自动化恶意软件分析比较日志文件;基于自动化恶意软件分析,基于日志文件的比较来确定多个样本中的任何样本是否相似;以及基于确定至少两个样本是相似的来执行动作。
在一个实施例中,用于自动确定恶意软件样本是否相似的系统、过程和/或计算机程序产品进一步包括处理日志文件以提取与日志文件相关联的赝象;以及基于所述赝象确定第一恶意软件样本是否与所述多个样本中的任何样本相似。
因此,所公开的技术有效且高效地检测类似的恶意软件,以响应于检测到的恶意软件更有效地检测和执行动作,并且由此减少分析和防御同一恶意软件的家族(例如,通常与共同属性和/或共同行为相关联的恶意软件的集合,诸如以上进一步描述的那样)所花费的工作量和时间。
所公开的用于自动确定恶意软件样本是否相似的技术的另一个益处是通过跨分析的恶意软件样本的大数据集合(例如,数百万个分析的恶意软件样本)关联和比较赝象(例如,属性和/或行为),“恶意”的程度可以被分配给各个赝象(例如,可疑或高度可疑的赝象,诸如以上类似地描述的那样),从而允许防御者关注更重要的赝象以进一步调查。
用于自动确定样本是否相似的部件
图21是根据一些实施例的用于自动确定恶意软件样本是否相似的功能部件的部件图。在各种实施例中,图21中所示的部件可以通过如以上类似地描述的平台和技术来实现,包括以上关于图1-3描述的实施例以及如下面进一步描述的实施例。
参考图21,如在2102处所示,用于自动确定恶意软件样本是否相似的部件架构包括赝象提取器部件2108,所述赝象提取器部件2108从针对样本的自动化分析结果提取赝象,诸如从针对如在2104处所示的第一样本的自动化分析结果的文档-1提取赝象和从针对如在2106处所示的第二样本的自动化分析结果的文档-2提取赝象。例如,这些文档可以是包括来自自动化分析结果的行(例如,去重的行)的日志文件,所述自动化分析结果来自自动化恶意软件分析系统,如以上类似地描述的那样。可以提取的赝象可以包括高度可疑的行和可疑的行。其他示例赝象可以包括灰色软件行/子行。在一个实施例中,提供转换器部件(例如,实现为提取器部件的部分或实现为不同部件),用于将文档-1 2104和文档-22106从第一格式转换为第二格式。例如,文档-1 2104可以从原始日志文件格式被转换为用于执行与另一文档的比较的新格式(例如,原始日志文件的转换版本可以是来自原始日志文件的内容的子集,诸如只包括来自原始日志文件的提取的行/子行的版本,以促进基于赝象的比较和/或促进相似性文档比较,诸如下面进一步描述的那样)。
还如在图21中所示,可以将提取的赝象提供给比较器部件2110。例如,比较器部件可以使用在本文中描述的各种技术基于提取的赝象执行比较以生成比较结果。然后可以将比较结果提供给确定器部件2112。例如,确定器部件可以使用在本文中描述的各种技术基于比较结果执行相似性确定(例如,基于阈值的确定)。然后,可以由响应器部件2114应用相似性确定,以基于相似性确定来执行响应动作。例如,可以生成报告以基于相似性确定来指示样本是相似的或不相似的(例如,可以将样本分组为新的或现有的恶意软件家族,如下面进一步描述的那样)。作为另一示例,如果确定样本是相似的,则可以执行响应/动作(例如,可以将(一个或多个)公共赝象导入到安全信息和事件管理(SIEM)工具或者支持防火墙阻止列表以在企业网络上执行安全实施,以自动阻止如以上类似地描述并在下面进一步描述的这样的类似恶意软件。
在一个实施例中,如在图21中所示的系统的部件图示了用于实现用于确定恶意软件样本是否相似的所公开技术的架构的整体视图。在示例实现中,用于确定恶意软件样本是否相似的所公开部件可以使用诸如以上描述的各种开源和/或商业上可获得的部件来实现,并且以各种编程语言(诸如Python、Java和/或其他编程语言)编码。
在一个实施例中,所公开的技术可以使用如在图21中所示的系统的部件来实现,如下面进一步描述的那样。
例如,可以使用所公开的技术来识别恶意软件家族并将样本分组到恶意软件家族中,如下面进一步描述的那样。作为另一示例,可以以批处理模式执行自动化相似性确定以识别恶意软件家族并减少由以上描述的用于威胁情报使得可操作的恶意软件分析平台执行的数据的索引(例如,仅使用相似恶意软件样本的一个副本)。作为又一示例,可以以手动模式执行自动化相似性确定,以允许用户在两个恶意软件样本之间搜索。作为又一示例,可以以导航模式执行自动化相似性确定,以允许用户查看与所选择的给定样本相关的其他样本。
用于自动确定样本是否相似的过程
图22是根据一些实施例的用于自动确定恶意软件样本是否相似的流程图。在各种实施例中,图22中所示的过程由包括以上关于图1-3和21描述的实施例的如以上类似地描述的平台和技术执行。
在2202处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析来生成结果(例如,生成的结果可以以一个或多个原始日志文件/报告的形式输出,诸如以上类似地描述的那样)。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在2204处,执行比较基于自动化分析的结果。例如,可以生成在样本的自动化恶意软件分析期间观察到的属性和/或行为的文本格式(例如,在由如以上类似地描述的自动化恶意软件分析系统生成的日志文件中),以促进结果的比较。
在2206处,基于基于自动化分析的结果的比较,执行样本是否相似。例如,可以比较这些属性和行为的文本表示,以基于它们相应的属性和/或观察到的行为自动确定两个恶意软件样本是否相似(例如,基于属性和/或行为的阈值比较和/或相似性百分比)。
在2208处,基于确定两个样本是相似的来执行动作。例如,相似的恶意软件样本可以与现有的或新的恶意软件家族相关联,用于进一步分析和/或可以针对与该家族相关联的恶意软件执行的自动响应/防御。作为另一示例,可以将(一个或多个)赝象导入到安全信息和事件管理(SIEM)工具,或者支持防火墙阻止列表以在企业网络上执行安全实施以自动阻止这样的类似恶意软件(例如,与相似的恶意软件样本相关联的恶意软件家族),诸如以上类似地描述的那样。
在一个实施例中,使用用于威胁情报使得可操作的恶意软件分析平台从恶意软件分析结果提取赝象并将其分类,诸如以上类似地描述的那样。在一个实施例中,赝象被分类为高度可疑的赝象、可疑的赝象和无害赝象的类别,如以上类似地描述的那样。
如以上类似地描述的那样,在示例实现中,可以使用基于行计数计算的行计数技术来确定可疑赝象,其中赝象(例如,行或子行)与恶意软件样本相关联是所述赝象与良性样本相关联的至少阈值倍(例如,三倍的阈值,诸如恶意软件行计数(m#) > 3x良性行计数(b#),或者可以应用一些其他阈值或计算)。同样如以上类似地描述的那样,在示例实现中,还可以使用基于行计数计算的行计数技术来确定高度可疑的赝象,其中所述赝象(例如,行或子行)与恶意软件样本相关联是所述赝象与良性样本相关联的至少阈值倍,并且在阈值数量的恶意软件样本中找到(例如,三倍的阈值,诸如m#> 3 x b#,以及赝象(例如,行或子行)与少于阈值数量的恶意软件样本相关联(例如,m#<500个样本);或者可以应用一些其他阈值或计算。
例如,如在图15A-15D中所示,从恶意软件分析结果提取和分类的赝象可以在用户界面中呈现为高度可疑的赝象(例如,用三角形内具有感叹号的彩色/阴影三角形表示,或可以使用其他不同的指示符)、可疑的赝象(例如,用彩色/粗体感叹号或其他不同的指示符表示,或可以使用其他不同的指示符),以及无害的赝象(例如,没有特殊指示符),其还包括多个与赝象相关联的良性结果(# B)和与赝象相关联的多个恶意软件结果(# M),如以上类似地描述的那样。
图23是根据一些实施例的用于自动确定恶意软件样本是否相似的另一流程图。在各种实施例中,图23中所示的过程由包括以上关于图1-3和21描述的实施例的如以上类似地描述的平台和技术执行。
在2302处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括如以上类似地描述的动态和/或静态分析。
在2304处,执行处理日志文件以基于自动化分析选择赝象的子集。例如,可以使用所公开的技术来确定可疑赝象和高度可疑的赝象。
在2306处,执行从日志文件中的每个提取赝象的子集。例如,可以使用所公开的技术来提取可疑赝象和高度可疑的赝象。
在2308处,执行基于从日志文件中的每个提取的赝象的子集来比较自动化分析结果。例如,可以使用诸如在本文中描述的各种技术来执行所提取的可疑赝象和高度可疑赝象的比较(例如,基于阈值或基于百分比的比较)。
在一个实施例中,基于从日志文件中的每个提取的赝象的子集来比较自动化分析结果包括基于提取的可疑赝象和高度可疑的赝象执行日志文件的加权比较。例如,可以对文档成对地执行包括提取的可疑赝象和高度可疑赝象的文档的加权,以比较两个不同样本的自动化结果。可以基于与赝象相关联的多个恶意软件结果(# M)和与赝象相关联的多个良性结果(# B)来执行示例加权函数,如下所示。
其中#M和#B如以上描述的那样确定。
在示例实现中,可以使用以下示例函数来实现加权函数,其中#M和#B如以上描述的那样确定。
在另一个示例中,灰色软件(# G)确定可以类似地被计算并包括在加权因子和比较分析中。
在一个实施例中,赝象对应于从日志文件提取的行,如以上类似地描述的那样,并且可以使用高度可疑行和可疑行的加权比较来执行自动化分析结果的比较。在该示例中,对于一对文档(d1,d2)成对地执行的加权比较,其总结了两个不同样本的自动化分析结果,可以使用以下等式来实现,其中RL指的是提取的高度可疑行并且YL指的是提取的可疑行,RLc指的是与文档(d1,d2)中的每个相同的提取的高度可疑行,并且RLd指的是与文档(d1,d2)的每个不相同的提取的可疑行)(即,不同的、非重叠的高度可疑行),并且YLc指的是与文档(d1,d2)中的每个相同的提取的可疑行,并且YLd指的是与文档(d1,d2)的每个不相同的提取的可疑行(即不同的、不重叠的可疑行)。
以下示出行的示例加权计算。
在一个实施例中,赝象对应于从日志文件提取的行并且也对应于如以上类似地描述的子行,并且可以使用高度可疑行和可疑行的加权比较来执行自动化分析结果的比较。在该示例中,对于一对文档(d1,d2)成对地执行的加权比较,其总结了两个不同样本的自动化分析结果,可以使用以下等式来实现,其中RL指的是提取的高度可疑行并且YL指的是提取的可疑行,RLc指的是与文档(d1,d2)中的每个相同的提取的高度可疑行,并且RLd指的是与文档(d1,d2)中的每个不相同的提取的高度可疑行(即,不同的、非重叠的高度可疑行),YLc指的是与文档(d1,d2)中的每个相同的提取的可疑行,并且YLd指的是与文件(d1,d2)中的每个不相同的提取的可疑行(即,不同的、不重叠的可疑行),RA指的是提取的高度可疑的子行,并且YA指的是提取的可疑子行,RAc指的是与文档(d1,d2)中的每个相同的提取的高度可疑的子行,并且RAd是指与文档(d1,d2)中的每个不相同的提取的高度可疑的子行(即,不同的、不重叠的高度可疑子行),YAc指的是与文档(d1,d2)中的每个相同的提取的可疑子行,并且YAd指的是与文档(d1,d2)中的每个不相同的提取的高度可疑的子行(即不同的、不重叠的可疑子行)。
以下示出行和子行的示例加权计算。
在示例实现中,可以对加权比较进行规格化(例如,规格化到0和1之间的值),以促进使用所公开的技术来比较自动化分析结果。如现在将显而易见的,可以类似地实现各种其他加权比较计算以促进使用所公开的技术比较自动化分析结果。
在2310处,执行基于基于提取的赝象的自动化分析结果的比较来确定样本是否相似。例如,可以执行以上描述的赝象的加权比较(例如,高度可疑的行和可疑的行和/或高度可疑的子行和可疑的子行)以确定用于自动化分析结果的成对比较的规格化值。然后可以基于使用阈值(例如,应用默认和/或可配置的(一个或多个)阈值)的该比较的结果来确定样本是相似的还是不相似的。在示例实现中,使用加权规格化(例如,0...1),然后成对比较是否指示文档至少90%相似(例如,或者某个其他阈值可以用作默认值或者配置的相似性阈值可以被应用于基于阈值的比较)可以被应用于确定相似性。
在一个实施例中,(一个或多个)相似性阈值是可配置的。例如,可以基于是否优选对相似的恶意软件样本分组(例如,可以应用较低的相似性阈值)或者是否优选更精细地区分不同的恶意软件样本来选择(一个或多个)相似性阈值(例如,可以应用较高的相似性阈值)。例如,相似的恶意软件样本可以与现有的或新的恶意软件家族相关联,用于进一步分析和/或可以针对与该家族相关联的恶意软件执行的自动化响应/防御。
图24是根据一些实施例的用于自动确定恶意软件样本是否相似的流程图。在各种实施例中,图24中所示的过程由包括以上关于图1-3和21描述的实施例的如以上类似地描述的平台和技术执行。
在2402处,接收多个样本以用于执行自动化恶意软件分析以基于自动化恶意软件分析生成结果(例如,生成的结果可以以一个或多个原始日志文件/报告的形式输出,诸如以上类似地描述的那样)。例如,自动化恶意软件分析可以包括如以上类似地描述的动态和/或静态分析。
在2404处,执行基于自动化分析的结果的文档比较(例如,比较处理的日志文件,所述日志文件可以使用各种技术来处理,诸如以上类似地描述的那样)。例如,可以生成在样本的自动化恶意软件分析期间观察到的属性和/或行为的文本格式,以促进比较结果(例如,可以由自动化恶意软件分析系统生成(一个或多个)原始日志文件/(一个或多个)报告),然后可以对其进行处理以促进比较文档/处理的(一个或多个)日志文件/(一个或多个)报告,诸如以上类似地描述的那样。
在一个实施例中,使用相似性文档算法来执行比较文档,所述相似性文档算法诸如余弦相似性、Jaccard相似性指数、SimHash和/或另一相似性文档算法(例如,使用这些算法的开源或商业上可获得的实现来实现)。例如,输入可以是整个文档(例如,要比较的每个样本的自动化恶意软件分析的结果的整个/原始日志文件,其可以是这些日志文件的以上描述的处理版本,这些日志文件具有如以上类似地描述的日志文件的去重的行)。作为另一示例,文档(例如,日志文件)可以被转换成仅包括提取的赝象的集合(例如,如以上类似地描述的高度可疑和可疑的行/子行,诸如从原始日志文件仅提取具有或不具有灰色行(例如,与灰色软件相关联的行)的行线{L1,...,LN},并且然后提取赝象/子行{A1,......,An}以生成日志文件的新修订版本)。比较器部件(例如,图21的比较器部件2110)可以使用(一个或多个)文档比较算法(例如,可以实现余弦相似性、Jaccard相似性指数、SimHash和/或其他相似性文档算法)来实现,以执行比较结果(例如,原始日志文件或转换的日志文件,如以上描述的那样)以确定相似性。
在2406处,基于基于自动化分析的结果的文档的比较,执行样本是否相似。例如,可以执行文档比较以基于阈值比较(例如,可配置阈值,诸如90%相似性阈值)自动确定两个恶意软件样本是否相似。
在2408处,基于确定两个恶意软件结果是相似的来执行动作。例如,相似的恶意软件样本可以与现有的或新的恶意软件家族相关联,用于进一步分析和/或可以针对与该家族相关联的恶意软件执行的自动化响应/防御。作为另一示例,可以将(一个或多个)赝象导入到安全信息和事件管理(SIEM)工具,或者支持防火墙阻止列表以在企业网络上执行安全实施以自动阻止这样的类似恶意软件(例如,与相似的恶意软件样本相关联的恶意软件家族),诸如以上类似地描述的那样。
基于赝象的恶意软件样本的自动化分组
如以上类似地描述的那样,当前恶意软件分析和安全领域中存在的问题是攻击者经常修改(例如,对其进行微小改变或其他修改)现有恶意软件(例如,恶意程序或其他恶意软件/灰色软件内容)并重复使用它们来攻击/感染另外的网络和环境。该方法对防御者(例如,反恶意软件解决方案提供者)提供了显著的技术挑战,以有效且高效地独立地检测和响应于每个恶意软件程序。例如,此问题可能导致延迟、错误,并导致额外的时间被花费在随时间被重复重新分析的有效类似的恶意软件上。
因此,需要新的和改进的技术来解决该安全技术问题。因此,公开了用于基于赝象自动对恶意软件样本分组的新的和改进的技术。例如,可以使用以上描述的用于威胁情报使得可操作的恶意软件分析平台来实现用于基于赝象自动对恶意软件样本分组的技术,如下面进一步描述的那样。
例如,随着每天发现的破坏和新恶意软件样本越来越普遍,期望的是识别共享赝象的恶意软件样本的组(例如,群集)以更有效且更高效地防御这样的恶意软件。
在一个实施例中,基于赝象自动对恶意软件样本分组包括:基于多个样本的自动化恶意软件分析来接收结果;以及执行一个或多个基于群集的建模技术以基于赝象(例如,如下面进一步描述的提取的特征)来识别相似的恶意软件样本。例如,如以上类似地描述的那样,赝象可以包括属性或行为(例如,基于使用自动化恶意软件分析系统执行的动态和/或静态分析技术,诸如以上类似地描述的那样)。
在一些实施例中,用于基于赝象自动对恶意软件样本分组的系统、过程和/或计算机程序产品包括接收多个样本,用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件;处理日志文件以提取与恶意软件相关联的特征;基于提取的特征群集多个样本;并基于群集输出执行动作。
在一个实施例中,用于基于赝象自动对恶意软件样本分组的系统、过程和/或计算机程序产品还包括使用决策树群集过程基于所提取的特征来群集多个样本。
在一个实施例中,用于基于赝象自动对恶意软件样本分组的系统、过程和/或计算机程序产品还包括使用k均值++群集过程基于所提取的特征来群集多个样本。
在一个实施例中,基于赝象自动对恶意软件样本分组包括从恶意软件样本的自动化恶意软件分析结果选择一个或多个特征,并为每个指示符分配值(例如,唯一数值);针对每个样本收集数组中的分配值;比较两个样本之间阵列的分配值并计算两个样本之间的距离;并将样本群集在定义的距离的阈值内。下面将进一步描述用于基于赝象自动对恶意软件样本分组的这些和其他群集技术。
例如,所公开的用于基于赝象自动对恶意软件样本分组的技术可以被应用于基于类似赝象将恶意软件样本分组到家族中(例如,表现出类似特征的恶意软件的家族,诸如类似的属性和/或行为)。此外,所识别的恶意软件家族然后可以促进更有效且更高效地检测和响应于恶意软件的解决方案,诸如下面进一步描述的那样。
用于基于赝象自动对恶意软件样本分组的部件
图25是根据一些实施例的用于基于赝象自动对恶意软件样本分组的功能部件的部件图。在各种实施例中,图25中所示的部件可以通过以上类似地描述的平台和技术来实现,包括上面关于图1-3和25描述的实施例,并且如下面进一步描述的那样。
参考图25,如在2502处所示,用于基于赝象自动对恶意软件样本分组的部件架构包括特征提取预处理器部件2504,其从样本的自动化分析结果提取赝象,诸如多个样本的自动化分析结果(例如,数千到数百万样本的自动化恶意软件分析结果)。例如,这些文档可以是包括来自自动化分析结果的行(例如,去重的行)的日志文件,所述自动化分析结果来自自动化恶意软件分析系统,如以上类似地描述的那样。在该示例中,特征提取预处理器部件从来自这些日志文件的行提取特征(例如,准备用于群集的输入,从日志文件的行提取诸如子行/赝象的特征,其提取恶意软件阈值,诸如80%与恶意软件相关联)。
在一个实施例中,执行作为处理的初始阶段的特征选择以预过滤数据集合,用于应用以上描述的自动分组/群集技术。在示例实现中,可以基于用于应用所公开的自动分组/群集技术的特征选择过程来执行预过滤(例如,用于高效地降低问题的维度并消除噪声)。在示例实现中,可以基于以下标准来选择特征:(1)如果在>10%的样本中找到特征,则忽略所述特征(例如,常见的Windows API);以及(2)如果在<n(=10)个样本中找到特征,则忽略所述特征。示例特征类别包括互斥、文件名、库(lib)名称、注册表名称、DNS、IP、用户代理和/或其他特征类别。
还如在图25中所示,可以将提取的赝象提供给一个或多个群集部件,用于基于提取的特征来群集恶意软件样本。在一个实施例中,群集部件包括决策树群集器部件2506和k均值++群集器部件2508,如示出的那样。例如,群集器部件中的每个可以使用下面进一步描述的各种技术基于提取的特征生成群集。在一个实施例中,可以实现附加的和/或不同的群集算法,用于基于提取的特征来群集恶意软件样本。在一个实施例中,可以实现后处理部件(例如,如与相应的群集部件集成或作为不同的部件(未示出)),其标准化来自一个或多个群集部件的输出。
还如在图25中所示,然后可以将群集结果提供给标签提取处理器部件2510。在一个实施例中,标签提取处理器部件过滤并分析群集结果以确定是否执行以下动作中的一个或多个:(1)生成新标签;(2)生成黑特征列表;以及(3)验证现有标签。在一个实施例中,这可以使用全自动化或半监督专家系统来实现(例如,减少数据集合——可以由安全分析员进一步验证/分析的样本/组)。还如在图25中所示,标签提取处理器部件可以使用新的标签生成器部件2512确定是否生成新标签。例如,如果由于群集分析而识别了新的恶意软件家族,那么新标签可以基于确定为与新恶意软件家族相关联的特征来生成。
还如在图25中所示,标签提取处理器与黑特征列表生成器部件2514通信,该黑特征列表生成器部件2514可以被实现以生成可以被提供给特征提取预处理器部件2504的黑特征列表。例如,如果确定新特征为与新恶意软件家族相关联,那么可以将新特征提供给特征提取预处理器部件2504作为反馈循环机制,以使这样的特征被提取为该预处理阶段的部分,如下面将进一步描述的那样。
在一个实施例中,可以由坏特征列表生成器自动识别坏特征(例如,列入黑名单的特征),以识别被确定为不是用于将恶意软件样本细分/划分到组/家族中的好特征的特征,作为对特征提取预处理器阶段的反馈循环。例如,可以将常见操作系统特征识别为这样的坏特征,因为这对于识别恶意软件家族将不是有效的。作为示例,常见的平台特征,诸如windows.ini,因为其是跨Windows的常见特征,通常将是尝试用于对恶意软件样本分组的坏特征,而不是例如_windows.ini,如果这在恶意软件分析期间确定为在本地安装的常见部件的版本,而不是在系统上得到该常见部件。作为另一示例,如果仅存在Minecraft的恶意软件样本并且没有Minecraft的良性样本,则可能被识别为恶意软件的常见的Minecraft/其他部件通常将是尝试用于对恶意软件样本分组的坏特征,因此可能导致Minecraft的常见部件特征被用作用于识别Minecraft恶意软件的特征,而这实际上只识别任何Minecraft相关的app。此外,一旦恶意软件组被自动过程识别,恶意软件专家就可以查看这些组以检查质量。通常,组的数量(~100)相对于样本数量(~10亿个唯一的样本)是非常小的,使得手动检查所述组是可行的。在(一个或多个)恶意软件专家检查组之后,他们可以判定特征中的一个是坏特征,并且然后他们可以标记这样的坏特征,使得下次执行以上描述的自动化分组处理时可以避免(例如,不选择)这样的坏特征。
还如在图25中所示,标签提取处理器与现有标签验证器部件2516通信,现有标签验证器部件2516可以被实现以验证现有标签识别适当的恶意软件家族。例如,可以验证指定用于识别先前识别的恶意软件家族的先前识别的标签是否可以准确地识别被确定为群集到先前识别的恶意软件家族中的恶意软件样本,作为对现有标签的反馈机制,如下面将进一步描述的那样。
然后,可以使用新的和/或验证的标签来应用基于赝象确定的恶意软件样本的自动化分组的结果,以执行各种动作。例如,可以生成识别恶意软件家族的报告(例如,可以将样本分组到新的或现有的恶意软件家族中,如下面进一步描述的那样)。作为另一示例,如果样本匹配新的或验证的现有标签(例如,确定样本与新的或现有的恶意软件家族匹配),则可以生成警报。作为又一示例,可以基于新的或现有的验证的标签来执行响应/动作(例如,与标签相关联的(一个或多个)常见赝象可以被导入到安全信息和事件管理(SIEM)工具或者支持防火墙阻止列表,以在企业网络上执行安全实施,以自动阻止这样的类似恶意软件,如以上类似地描述并在下面进一步描述的那样)。
在一个实施例中,如在图25中所示的系统的部件图示了用于实现用于基于赝象自动对恶意软件样本分组的所公开技术的架构的整体视图。在示例实现中,用于基于赝象自动对恶意软件样本分组的所公开的部件可以使用诸如以上描述的各种开源和/或商业上可获得的部件来实现,并且以各种编程语言(诸如Python、Java和/或其他编程语言)编码。
在一个实施例中,可以使用如在图25中所示的系统的部件来实现所公开的技术,如下面进一步描述的那样。
例如,可以使用所公开的技术来识别恶意软件家族并将样本分组到恶意软件家族中,如下面进一步描述的那样。作为另一示例,可以以批处理模式执行自动化相似性确定以识别恶意软件家族并减少由以上描述的用于威胁情报使得可操作的恶意软件分析平台执行的数据的索引(例如,仅使用类似恶意软件样本的一个副本)。
用于基于提取的特征自动将恶意软件样本分组到家族中的决策树群集技术
在一个实施例中,所执行的群集技术之一是基于决策树的群集技术,如下面进一步描述的那样。所公开的基于决策树的群集技术表示决策树的新用途,用于群集无监督的数据的集合(例如,包括多个样本的自动化恶意软件分析的结果的无监督的数据的集合)。通常,决策树具有各种应用,但通常不用于数据的群集(例如,存在现有的、众所周知的群集算法,并且决策树通常不包括在现有的、众所周知的群集算法的该集合中)。例如,决策树通常用于基于监督的训练的数据的集合对数据集合进行分类。
此外,在该问题中对用于基于赝象自动对恶意软件样本分组的无监督数据的集合的群集通常是在必须尝试以计算高效的方式将大规模的数据集合群集到可能具有相对大的集团的数据集合上的上下文中(例如,数据集合通常与类似集团的行为相关联,其中,例如,每个节点可以被连接到每个其他节点或大量的其他节点,这通常是恶意软件开发者经常使用厨房水槽方法的结果——即,在给定的恶意软件样本中包括许多不同的常见恶意软件攻击)。因此,用于尝试群集恶意软件样本结果数据的图表可以快速增长(例如,恶意软件样本结果数据的一天可以生成500GB图表,并使用基于图表的群集技术以n平方速率增长,因此传统群集技术通常对于群集具有类似集团的行为的这样的大数据集合是无效的和/或不高效的。
从计算资源和时间使用角度看,与类似集团的行为相关联的这样的大数据集合的群集对高效实现群集提出了技术挑战。例如,在恶意软件样本结果数据的此问题上下文中,要处理和群集的数据集合对群集而言是相对大的数据集合,诸如要群集的分析恶意软件样本的四千万到数亿个结果。此外,这些恶意软件样本结果(例如,日志文件)中的一些可能具有例如平均40个特征,并且一些可能具有十万或更多特征(例如,对于正在对恶意软件执行所谓的厨房水槽方法的恶意软件,其包括尝试许多不同的攻击向量,例如针对操作系统、浏览器等的每个版本)。
因此,所公开的群集技术被设计成识别新的组/恶意软件家族并且还验证现有的组/恶意软件家族。另外,所公开的群集技术被设计成避免良性组的群集(例如,从计算资源和时间使用角度来看,这样将是太昂贵的,并且当目标是识别恶意软件组时可能导致错误的结果)。
在一个实施例中,要处理和群集的恶意软件样本结果数据包括标签,该标签指示恶意软件样本中的每个是否被标记为良性或恶意软件样本(例如,如由自动化恶意软件分析系统确定和识别,如以上描述的那样,并且在某些情况下,也可以被标记为灰色软件,也如以上讨论的那样)。如以上类似地描述的那样,可以首先对恶意软件样本结果数据执行特征提取预处理阶段(例如,为了将恶意软件样本群集到组/家族中的目的,提取特征,诸如相对感兴趣的子行/属性)。然后,可以执行所公开的基于决策树的群集技术以将组分层地关联到组和组的子集中,其中树可以建立在所选特征上(例如,左分支指示针对给定特征的真值,并且右分支指示针对给定特征的假值)。
图26是根据一些实施例的可以被生成用于将恶意软件样本群集到恶意软件家族中的决策树的图形可视化。如在2602处所示,选择第一特征并且左分支用于将样本划分为包括特征1的样本的集合。可以选择一个或多个特征的下一集合,诸如如在2604处所示的特征2和4,用于进一步细分该样本的子集。如在2602处所示,右分支用于将样本划分为不包括特征1的样本的集合。可以选择一个或多个特征的下一集合,诸如如在2606处所示的特征3,用于进一步细分该样本的子集。在一个实施例中,决策树群集过程由决策树群集器部件2506实现,如在图25中所示。
在一个实施例中,决策树可以被生成以基于恶意软件样本的组中存在和/或不存在的特征的集合来识别恶意软件家族。例如,决策树技术可以被执行以基于一个或多个约束(例如,该组的至少99%或一些其他阈值是恶意软件,并且至少阈值数量的恶意软件样本,诸如至少1000个恶意软件样本或一些其他阈值数量的恶意软件样本)来识别恶意软件组/家族,并且可以通过该组中常见的特征的集合来识别。在示例实现中,特征提取预处理阶段(例如,使用特征提取预处理器2504实现)包括选择和提取满足特征阈值的特征(例如,仅提取至少90%的时间每个都与恶意软件相关联的特征,或者可以配置一些其他阈值,因为可以实现该阈值特征约束以避免提取和尝试利用良性特征,例如,因为常见的良性特征可能只是对特定OS平台常见的,并且通常将不会促进基于这样的特征的恶意软件样本的高效且有效的群集)。然后可以选择满足阈值的另一个特征(例如,特征阈值可以被配置成要求所选择的特征是至少90%的时间与恶意软件相关联的特征,或者可以配置一些其他阈值),并且进一步细分/划分最大的组,该最大的组是被识别/标记为恶意软件的样本的至少阈值百分比(例如,该组的至少99%或一些其他阈值是恶意软件)。对于每个新选择的提取特征(例如,具有特征2和特征4,或者不具有特征x并且确实具有特征y等),可以针对树中的每个级别执行该迭代)并且可以应用阈值,直到识别出具有阈值属性的恶意软件样本的组的新的细分/划分(例如,组是至少99%的恶意软件,选择的特征是阈值特征,以及至少阈值数量的恶意软件样本,诸如至少1000个恶意软件样本或一些其他阈值数量的恶意软件样本)。
在示例实现中,该决策树群集过程可以在恶意软件样本结果数据集合的第一遍中执行,以迭代到预定深度级别(例如,以迭代到n深度级别,诸如x = 100的预定树深度最大级别)。在该示例中,然后可以执行第二遍来识别每个组的最佳特征(例如,应用以上描述的99%阈值,用于选择最佳特征)。例如,如果确定特征识别(大致)恶意软件样本的相同组,则可以折叠特征的集合(例如,特征2和4)。
该决策树群集过程通常良好地(线性地)扩展并且可以在计算上高效地应用于群集,例如,整年的恶意软件结果样本数据。如上面关于图25类似地描述的那样,在恶意软件结果样本数据被群集之后,然后恶意软件样本群集可以被用于对由该决策树群集过程识别的恶意软件组/家族加标签/分类。
在一个实施例中,决策树群集过程还可以利用标签数据信息。例如,可以被包括在组选择处理中的另一个约束可以包括在选择特征时基于阈值(例如,99%的恶意软件样本,或者组中的另一个阈值未加标签)仅选择未加标签的组,以进一步细分/划分组。添加该约束的益处是避免必须尝试找到先前识别的恶意软件家族(例如,使用所公开的决策树群集过程或另一群集/恶意软件家族识别技术)。
例如,可以执行所公开的决策树群集技术以识别恶意软件特征的共同集合,其唯一地识别阈值大小的恶意软件组(例如,该组中99%的恶意软件样本是恶意软件)(例如,包括至少阈值数量的恶意软件样本(诸如1000个或更多恶意软件样本)的组),其中所识别的特征基于阈值与恶意软件相关联(例如,每个特征至少90%的时间与恶意软件相关联,诸如高风险的赝象/特征)。
可以基于标签来验证由所公开的决策树群集技术生成的恶意软件分组/家族结果,以识别先前识别/验证的恶意软件组/家族(例如,预定标签和/或来自安全分析员的标签)。另外,如下面将进一步描述的,还可以通过将另外的(一个或多个)群集方法应用于恶意软件样本数据集合来验证所公开的决策树群集技术的结果,诸如所公开的k均值++群集技术,如以下进一步描述的那样。例如,所公开的决策树群集技术可以对大量的恶意软件样本分组(例如,使用所公开的决策树群集技术,大致三分之二的恶意软件样本被有效且高效地分组,相比之下,使用下面描述的k均值++群集技术,大致50%的恶意软件样本被有效和高效地分组,尽管应该注意,k均值++群集技术是最便宜的群集算法,如下面进一步描述的那样)。
在一个实施例中,决策树群集过程由决策树群集器部件2506实现,如在图25中所示。在示例实现中,决策树群集器部件可以使用Hadoop框架(例如,Java Hadoop或另一开源或商业上可获得的Hadoop框架)实现)并且可以以Java、Python和/或另一编程语言编程(例如,并且决策树本身可以以Java Hadoop或Java实现)。在该示例中,使用该实现处理的数据集合可以周期性地执行(例如,每周一次或两次或一些其他频率或根据需要)并且在少于24小时内执行(例如,在服务器类硬件上执行,假设大致一个百万个以上的特征)。
用于基于提取的特征自动将恶意软件样本分组到家族中的K均值++群集技术
在一个实施例中,所执行的群集技术之一是基于k均值++的群集技术,如下面进一步描述的那样。通常,k均值++群集是指用于提供数据分类的技术,使得分配给相同群集的点是相似的(例如,在一些方面中,诸如基于与给定群集中的样本相关联的提取特征的类似)。除了将对本领域普通技术人员显而易见的初始条件的选择之外,k均值++算法通常可以类似于k均值算法来实现。应用k均值群集的输出结果通常是群集的列表(例如,相关的点的集合)。
在一个实施例中,公开了k均值++群集器(例如,其可以使用如在图25中所示的k均值++群集器部件2508来实现),其被唯一地应用于恶意软件样本数据集合和提取的特征以有效地和高效地生成基于所提取的特征相关联的恶意软件样本的群集/组(例如,基于恶意软件样本的特征/属性将恶意软件样本分组到恶意软件家族中),如下面进一步描述的。例如,所公开的k均值++群集器提供k均值++的可扩展实现,以基于所提取的特征来识别恶意软件组/家族。如以上类似地描述的那样,所公开的k均值++群集过程可以被独立地应用或者与基于决策树的群集过程和/或另一个群集过程组合应用,以验证/补充恶意软件组/家族的识别。
如以上类似地描述的那样,作为用于基于赝象自动对恶意软件样本分组的整个过程的预处理阶段执行的特征选择和提取,如上面关于图25描述的那样,提供了用于基于与恶意软件样本相关联的特征的恶意软件家族识别的过程中的初始输入阶段。这样,在一个实施例中,k均值++群集器部件接收(例如,从特征提取预处理器接收)对每个恶意软件样本的输入(例如,每个恶意软件样本被唯一地识别,诸如通过应用散列函数来提供每个恶意软件样本的散列,诸如SHA1、SHA2,和/或可以应用另外的(一个或多个)散列函数可以如以上类似地描述的那样),该输入包括由数字表示识别的提取特征的列表(例如,针对每个恶意软件样本提取的行号可以作为初始输入来提供,诸如SHA1:1、3、7、9;SHA2:2、3、6、8和/或可以类似地识别子行/属性)。
作为处理的下一个阶段,在多维空间中,k均值++群集器为每个恶意软件样本分配多维空间中的点/向量。作为k均值++群集器的约束提供的另一输入(例如,可配置输入)是恒定值,其确定k均值++算法群集器将群集的k个群集。作为初始化步骤,k均值++群集器选择k个随机点。
在一个实施例中,可以使用签名(例如,恶意软件可执行文件中的字节模式和/或字符串/内容可以是恶意软件的签名)来实现另一种方法,该签名可以用于用于应用所公开的k均值++群集过程的初始化阶段(例如,以避免必须简单地选择k个随机点来初始化多维空间)。例如,可以基于签名匹配将样本的集合放入桶中(例如,桶化(bucketized))(例如,在自动化恶意软件样本分析系统期间确定的恶意软件样本的签名匹配,诸如由基于WildFireTM云的恶意软件分析环境确定的样本的签名匹配,所述恶意软件分析环境是由Palo Alto Networks公司提供的商业上可获得的云安全服务,或者可以利用由另一供应商提供的类似解决方案,如以上类似地描述的那样)。该初始桶装阶段允许所公开的k均值++群集过程的以下三个选项/版本,其可以利用签名桶作为下采样初始化阶段:(1)针对每个桶执行所公开的k均值++群集过程以验证给定单个桶内是否存在一个或多个群集;(2)从每个桶选择(例如,随机选择)一个样本,然后关于所选样本的该集合执行所公开的k均值++群集处理;以及(3)通过从这些桶中的每个桶选择样本来选择k均值++起点/中心,以选择针对给定k个群集的起点(例如,在该选项/版本中,所公开的k均值++群集过程仍然被应用于所有样本,因此这不是缩小规模,而是用于选择针对用于应用所公开的k均值++聚类过程的多维k空间的初始化的起点的有效机制)。在该示例中,每个样本与签名相关联(例如,因此,每个样本在桶中,但是给定桶可能仅是单个样本的桶,而其他桶可能具有许多样本)。
在一个实施例中,在初始化多维k空间之后,k均值++群集器遍历所有文档(例如,具有它们的提取的特征的恶意软件样本)以将每个文档分配给其最接近的所选k个点(例如,所述k个点是相应的初始k个群集中的每个的起点),其中k点被随机选择以分布在k空间上。在第一次通过/遍历所有文档之后,k均值++群集器确定每个k群集的新中心,其基于分配给该相应k个群集的文档的平均值/均值来选择。
在一个实施例中,k均值++群集器重复直到满足(一个或多个)收敛条件(例如,示例收敛条件可以是小于(一个或多个)k-中心的阈值移动/距离)。在另一个实施例中,k均值++群集器重复直到至少阈值数量的k个群集已经收敛(例如,至少90%的k个群集已经收敛或另一个阈值数量的k个群集已经收敛)。
在示例实现中,k均值++群集器可以被实现为半监督群集技术,其中基于实验来选择k(例如,对于恶意软件样本输入,如以上类似地描述的那样,k可以被选择为50-100,诸如大致70-80)。在该示例实现中,所公开的k均值++群集技术通常涉及识别相对较大的组,而不是尝试识别非常小的组(例如,通过选择将尝试将恶意软件样本细分/划分为更小的恶意软件组/家族的大k值)。
在基于一个或多个标准/约束确定收敛或者否则确定k均值++群集过程被完成或耗尽之后,输出是k个群集。k均值++群集器的输出结果中的k个群集中的每个包括恶意软件样本的唯一的集合(例如,分配给这样的k个群集的点/向量)。
在一个实施例中,该过程包括提取特征的集合,所述特征的集合唯一地识别k个群集中的每一个,并且还描述该k个群集中的大多数文档。这可以使用评分算法来实现,以识别针对每个k群集的提取的特征,其可以被确定为与每个k群集中的恶意软件样本的集合相关联(例如,唯一地相关联):
在示例实现中,k均值++群集过程可以在Hadoop框架(例如,Java Hadoop或另一个开源或商业上可获得的Hadoop框架)上实现,并且可以以Java、Python和/或另一个编程语言来编程。在该示例中,使用该实现处理的数据集合可以被周期性地执行(例如,每周一次或两次或一些其他频率或根据需要)并且在少于12小时内执行(例如,在服务器类硬件上执行,假设大致一个百万个以上特征)。
用于基于赝象自动对恶意软件样本分组的过程
图27是根据一些实施例的用于基于赝象自动对恶意软件样本分组的流程图。在各种实施例中,图27中所示的过程由包括以上关于图1-3和25描述的实施例的如以上类似地描述的平台和技术执行。
在2702处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成结果(例如,生成的结果可以以一个或多个原始日志文件/报告的形式输出,诸如以上类似地描述的那样)。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在2704处,处理日志文件以提取与恶意软件相关联的特征。例如,可以执行特征提取预处理阶段,如以上类似地描述的那样。
在2706处,执行基于提取的特征对多个样本进行群集。例如,可以执行所公开的决策树群集和/或所公开的k均值++群集,如以上类似地描述的那样。
在2708处,基于群集输出执行动作。例如,可以基于类似的赝象(例如,表现出类似特征的恶意软件的家族,诸如类似的属性和/或行为)将群集输出应用于将恶意软件样本分组到家族中。
图28是根据一些实施例的用于基于赝象自动对恶意软件样本分组的另一流程图。在各种实施例中,图28中所示的过程由包括以上关于图1-3和25描述的实施例的如以上类似地描述的平台和技术执行。
在2802处,接收多个样本用于执行自动化恶意软件分析以基于自动化恶意软件分析生成日志文件。例如,自动化恶意软件分析可以包括动态和/或静态分析,如以上类似地描述的那样。
在2804处,处理日志文件以提取与恶意软件相关联的特征。例如,可以执行特征提取预处理阶段,如以上类似地描述的那样。
在2806处,执行使用决策树群集过程基于提取的特征对多个样本进行群集。例如,可以执行所公开的决策树群集,如以上类似地描述的那样。
在2808处,执行使用k均值++群集过程基于提取的特征对多个样本进行群集。例如,可以执行所公开的k均值++群集,如以上类似地描述的那样。
在2810处,基于群集输出执行标签提取。例如,可以基于新识别的恶意软件家族生成新标签,可以验证现有标签,和/或可以生成坏特征列表,如以上类似地描述的那样。
尽管为了清楚理解的目的已经在一些细节中描述了前述实施例,但是本发明不限于所提供的细节。存在许多实现本发明的替代方式。所公开的实施例是说明性的而非限制性的。
Claims (20)
1.一种系统,包括:
处理器,其被配置成:
接收多个样本,用于执行自动化恶意软件分析,以基于自动化恶意软件分析生成日志文件;
处理日志文件以提取与恶意软件相关联的特征;
基于提取的特征对多个样本进行群集;以及
根据群集输出执行动作;以及
存储器,其耦合到处理器并被配置成向处理器提供指令。
2.如权利要求1所述的系统,其中提取的特征对应于高风险赝象,并且其中基于自动化恶意软件分析确定每个高风险赝象与恶意软件样本相关联。
3.如权利要求1所述的系统,其中处理器被进一步配置成:
使用决策树群集过程基于提取的特征对多个样本进行群集。
4.如权利要求1所述的系统,其中处理器被进一步配置成:
使用k均值++群集过程基于提取的特征对多个样本进行群集。
5.如权利要求1所述的系统,其中处理器被进一步配置成:
使用决策树群集过程基于提取的特征对多个样本进行群集;以及
使用k均值++群集过程基于提取的特征对多个样本进行群集。
6.一种系统,包括:
处理器,其被配置成:
接收多个样本,用于执行自动化恶意软件分析,以基于自动化恶意软件分析生成日志文件;
处理日志文件以确定与恶意软件相关联的赝象;以及
根据赝象执行动作;以及
存储器,其耦合到处理器并被配置成向处理器提供指令。
7.如权利要求6所述的系统,其中赝象是高风险赝象,并且其中基于自动化恶意软件分析确定高风险赝象与恶意软件相关联。
8.如权利要求6所述的系统,其中样本的原始日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,并且其中处理器被进一步配置成:
处理原始日志文件以生成处理的日志文件;
识别处理的日志文件中的不同行;以及
根据针对先前处理的日志文件执行的行计数更新不同行中的每个的行计数。
9.如权利要求6所述的系统,其中样本的原始日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行,并且其中处理器被进一步配置成:
处理原始日志文件以生成处理的日志文件;
识别处理日志文件中的不同行;以及
确定不同行中的任何行是否是可疑的。
10.一种系统,包括:
处理器,其被配置成:
接收多个样本,用于执行自动化恶意软件分析,以基于自动化恶意软件分析生成日志文件;
基于自动化恶意软件分析比较日志文件;
基于基于自动化恶意软件分析的日志文件的比较,确定多个样本中的任何样本是否是相似的;以及
基于确定至少两个样本是相似的来执行动作;以及
存储器,其耦合到处理器并被配置成向处理器提供指令。
11.如权利要求10所述的系统,其中处理日志文件以提取与日志文件相关联的一个或多个赝象和/或一个或多个高风险赝象。
12.如权利要求10所述的系统,其中处理器被进一步配置成:
处理日志文件以提取与日志文件相关联的赝象。
13.如权利要求10所述的系统,其中处理器被进一步配置成:
处理日志文件以提取与日志文件相关联的赝象;以及
基于赝象确定第一恶意软件样本是否与多个样本中的任何样本相似。
14.一种系统,包括:
处理器,其被配置成:
接收多个样本,用于执行自动化恶意软件分析,以基于自动化恶意软件分析生成日志文件;
处理日志文件以提取与日志文件相关联的赝象;
基于赝象确定标签是否与多个样本中的任何样本匹配;以及
基于标签是否与多个样本中的任何样本匹配来执行动作;以及
存储器,其耦合到处理器并被配置成向处理器提供指令。
15.如权利要求14所述的系统,其中提取的赝象是高风险赝象,并且其中基于自动化恶意软件分析确定高风险赝象与恶意软件相关联。
16.如权利要求14所述的系统,其中处理器被进一步配置成:
基于标签与监视的企业网络上检测到的样本匹配的确定来生成警报。
17.如权利要求14所述的系统,其中处理器被进一步配置成:
基于与一个或多个赝象相关联的多个条件来配置标签;以及
基于与一个或多个赝象相关联的多个条件确定标签是否与多个样本中的任何样本匹配。
18.如权利要求1、6、10或14所述的系统,其中执行自动化恶意软件分析包括执行动态分析。
19.如权利要求1、6、10或14所述的系统,其中执行自动化恶意软件分析包括执行静态分析。
20.如权利要求1、6、10或14所述的系统,其中样本的日志文件包括基于样本的自动化恶意软件分析结果的一个或多个行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210360204.0A CN114679329B (zh) | 2016-02-29 | 2017-02-27 | 用于基于赝象对恶意软件自动分组的系统 |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/056981 | 2016-02-29 | ||
US15/056980 | 2016-02-29 | ||
US15/056974 | 2016-02-29 | ||
US15/056,974 US10200389B2 (en) | 2016-02-29 | 2016-02-29 | Malware analysis platform for threat intelligence made actionable |
US15/056,981 US10333948B2 (en) | 2016-02-29 | 2016-02-29 | Alerting and tagging using a malware analysis platform for threat intelligence made actionable |
US15/056,976 US10230749B1 (en) | 2016-02-29 | 2016-02-29 | Automatically grouping malware based on artifacts |
US15/056,980 US10200390B2 (en) | 2016-02-29 | 2016-02-29 | Automatically determining whether malware samples are similar |
US15/056976 | 2016-02-29 | ||
PCT/US2017/019731 WO2017151515A1 (en) | 2016-02-29 | 2017-02-27 | Automatically grouping malware based on artifacts |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210360204.0A Division CN114679329B (zh) | 2016-02-29 | 2017-02-27 | 用于基于赝象对恶意软件自动分组的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074454A true CN109074454A (zh) | 2018-12-21 |
CN109074454B CN109074454B (zh) | 2022-04-19 |
Family
ID=59743175
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210360204.0A Active CN114679329B (zh) | 2016-02-29 | 2017-02-27 | 用于基于赝象对恶意软件自动分组的系统 |
CN201780024945.9A Active CN109074454B (zh) | 2016-02-29 | 2017-02-27 | 基于赝象对恶意软件自动分组 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210360204.0A Active CN114679329B (zh) | 2016-02-29 | 2017-02-27 | 用于基于赝象对恶意软件自动分组的系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3423980A4 (zh) |
CN (2) | CN114679329B (zh) |
WO (1) | WO2017151515A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602044A (zh) * | 2019-08-12 | 2019-12-20 | 贵州电网有限责任公司 | 一种网络威胁分析方法和系统 |
CN112085039A (zh) * | 2019-06-12 | 2020-12-15 | 四川大学 | 一种基于随机森林的icmp隐蔽通道检测方法 |
TWI726449B (zh) * | 2019-10-18 | 2021-05-01 | 臺灣銀行股份有限公司 | 網路攻擊分析方法 |
TWI795312B (zh) * | 2022-06-20 | 2023-03-01 | 英業達股份有限公司 | 適用於檢測系統的自動配置設定系統及其方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898505B (zh) * | 2018-05-28 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 作弊团伙的识别方法、相关存储介质和电子设备 |
US20200259857A1 (en) * | 2019-02-11 | 2020-08-13 | Saudi Arabian Oil Company | System and method for forensic artifact analysis and visualization |
CN112202759B (zh) * | 2020-09-28 | 2021-09-07 | 广州大学 | 基于同源性分析的apt攻击识别及归属方法、系统和存储介质 |
US11574054B2 (en) | 2020-11-10 | 2023-02-07 | Huawei Technologies Co., Ltd. | System, method and apparatus for malicious software detection |
US20220321587A1 (en) * | 2021-03-30 | 2022-10-06 | Traceable Inc. | Automatic anomaly detection based on api sessions |
WO2022256833A1 (en) * | 2021-06-04 | 2022-12-08 | Bluevoyant Llc | Standardizing and streamlining the deployment of security information |
CN114707617B (zh) * | 2022-05-31 | 2022-08-26 | 每日互动股份有限公司 | 一种获取pkg簇的数据处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211826A1 (en) * | 2005-11-12 | 2010-08-19 | Logrhythm, Inc. | Log collection, structuring and processing |
EP2610776A2 (en) * | 2011-09-16 | 2013-07-03 | Veracode, Inc. | Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security |
US8555385B1 (en) * | 2011-03-14 | 2013-10-08 | Symantec Corporation | Techniques for behavior based malware analysis |
US20150244733A1 (en) * | 2014-02-21 | 2015-08-27 | Verisign Inc. | Systems and methods for behavior-based automated malware analysis and classification |
US9245114B2 (en) * | 2010-08-26 | 2016-01-26 | Verisign, Inc. | Method and system for automatic detection and analysis of malware |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411955B2 (en) * | 2012-08-09 | 2016-08-09 | Qualcomm Incorporated | Server-side malware detection and classification |
RU2580036C2 (ru) * | 2013-06-28 | 2016-04-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ создания гибкой свертки для обнаружения вредоносных программ |
-
2017
- 2017-02-27 CN CN202210360204.0A patent/CN114679329B/zh active Active
- 2017-02-27 EP EP17760554.0A patent/EP3423980A4/en active Pending
- 2017-02-27 CN CN201780024945.9A patent/CN109074454B/zh active Active
- 2017-02-27 WO PCT/US2017/019731 patent/WO2017151515A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211826A1 (en) * | 2005-11-12 | 2010-08-19 | Logrhythm, Inc. | Log collection, structuring and processing |
US9245114B2 (en) * | 2010-08-26 | 2016-01-26 | Verisign, Inc. | Method and system for automatic detection and analysis of malware |
US8555385B1 (en) * | 2011-03-14 | 2013-10-08 | Symantec Corporation | Techniques for behavior based malware analysis |
EP2610776A2 (en) * | 2011-09-16 | 2013-07-03 | Veracode, Inc. | Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security |
US20150244733A1 (en) * | 2014-02-21 | 2015-08-27 | Verisign Inc. | Systems and methods for behavior-based automated malware analysis and classification |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085039A (zh) * | 2019-06-12 | 2020-12-15 | 四川大学 | 一种基于随机森林的icmp隐蔽通道检测方法 |
CN112085039B (zh) * | 2019-06-12 | 2022-08-16 | 四川大学 | 一种基于随机森林的icmp隐蔽通道检测方法 |
CN110602044A (zh) * | 2019-08-12 | 2019-12-20 | 贵州电网有限责任公司 | 一种网络威胁分析方法和系统 |
TWI726449B (zh) * | 2019-10-18 | 2021-05-01 | 臺灣銀行股份有限公司 | 網路攻擊分析方法 |
TWI795312B (zh) * | 2022-06-20 | 2023-03-01 | 英業達股份有限公司 | 適用於檢測系統的自動配置設定系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3423980A4 (en) | 2019-10-16 |
CN114679329A (zh) | 2022-06-28 |
EP3423980A1 (en) | 2019-01-09 |
WO2017151515A1 (en) | 2017-09-08 |
CN114679329B (zh) | 2023-06-30 |
CN109074454B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972493B2 (en) | Automatically grouping malware based on artifacts | |
US10530789B2 (en) | Alerting and tagging using a malware analysis platform for threat intelligence made actionable | |
US11343268B2 (en) | Detection of network anomalies based on relationship graphs | |
US11089040B2 (en) | Cognitive analysis of security data with signal flow-based graph exploration | |
US10200390B2 (en) | Automatically determining whether malware samples are similar | |
US10200389B2 (en) | Malware analysis platform for threat intelligence made actionable | |
US10956566B2 (en) | Multi-point causality tracking in cyber incident reasoning | |
CN109074454A (zh) | 基于赝象对恶意软件自动分组 | |
US10762206B2 (en) | Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security | |
US11550911B2 (en) | Multi-representational learning models for static analysis of source code | |
US11194905B2 (en) | Affectedness scoring engine for cyber threat intelligence services | |
US9313232B2 (en) | System and method for data mining and security policy management | |
US11184374B2 (en) | Endpoint inter-process activity extraction and pattern matching | |
Tien et al. | KubAnomaly: Anomaly detection for the Docker orchestration platform with neural network approaches | |
US11374946B2 (en) | Inline malware detection | |
US20210019412A1 (en) | Generating models for performing inline malware detection | |
WO2021015941A1 (en) | Inline malware detection | |
US20220245249A1 (en) | Specific file detection baked into machine learning pipelines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |