CN105027135A - 用于在网络环境中检测恶意软件的分布式流量模式分析和熵预测 - Google Patents
用于在网络环境中检测恶意软件的分布式流量模式分析和熵预测 Download PDFInfo
- Publication number
- CN105027135A CN105027135A CN201480011241.4A CN201480011241A CN105027135A CN 105027135 A CN105027135 A CN 105027135A CN 201480011241 A CN201480011241 A CN 201480011241A CN 105027135 A CN105027135 A CN 105027135A
- Authority
- CN
- China
- Prior art keywords
- gene program
- pas
- entropy rate
- network
- malware
- 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/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
-
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Virology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在实施例中提供了用于检测恶意软件的技术。这些实施例被配置成用于接收潜在受影响系统的熵率。这些实施例被进一步配置成用于将该熵率与平均熵率进行比较以及确定该潜在受影响系统感染恶意软件的概率。该概率至少部分地基于该比较的结果。更特定的实施例可包括接收至少部分地由基因程序生成的所接收的熵率。附加实施例可包括用于为该潜在受影响系统提供与该基因程序相关联的指定时间跨度的配置。该指定时间跨度指示观察该潜在受影响系统上的上下文信息的时间量。在至少某些实施例中,该比较的结果包括该熵率是与受感染系统还是与健康系统相关的指示符。
Description
技术领域
本公开总体上涉及信息安全领域,并且更具体地涉及用于在网络环境中检测恶意软件的分布式流量模式分析和熵预测。
背景
网络安全领域在当今社会已经变得日益重要。互联网已经允许全世界不同计算机网络的互连。具体地,互联网提供用于在相同或不同的计算机网络中的各个系统之间交换电子通信的介质。尽管互联网和其他联网基础设施的使用已经改变了商业和个人通信,其还变成供恶意操作者获得对系统和网络的未授权访问以及敏感信息的故意或不经意公开的工具。
感染系统的恶意软件(“malware”)可以能够执行任何数量的恶意动作,诸如例如从主机计算机发送出垃圾邮件或恶意电子邮件、从与主机计算机相关联的商业或个人盗取敏感信息、传播到其他主机计算机、和/或协助服务攻击的分布式拒绝和/或破坏或间谍(或其他形式的网络战争软件)。用于检测潜在受影响系统上的恶意软件的许多不同的方法是可用的。扫描器经常在端点设备上用于检测代码签名、系统修改或行为模式。其他方法涉及扫描基础设施组件以便在网络通信中检测恶意软件。无论如何,某些恶意软件仍例如通过攻击或修改恶意软件检测系统本身或者由于恶意软件检测系统具有潜在受影响系统的不充分上下文知识来逃避检测。因此,仍存在用于保护计算机和计算机网络免于恶意软件的显著的管理挑战。
附图简要描述
为了提供本公开及其特征和优点的更完整的理解,结合附图参照以下描述,其中相同的参考标号表示相同的部分,在附图中:
图1是根据本公开在其中实现用于检测恶意软件的系统的实施例的网络环境的简化框图。
图2是根据至少一个实施例的包括分布式流量模式分析的恶意软件检测系统的简化框图;
图3是示出根据至少一个实施例的具有分布式流量模式分析的恶意软件检测系统中的示例操作的简化交互图;
图4A-4B是示出与至少一个实施例相关联的潜在操作的简化流程图;
图5A-5B是示出与至少一个实施例相关联的进一步的潜在操作的简化流程图;
图6是根据至少一个实施例的包括熵预测的另一个恶意软件检测系统的简化框图;
图7是示出根据至少一个实施例的具有熵预测的恶意软件检测系统的示例操作的简化交互图;
图8A-8B是示出与至少一个实施例相关联的潜在操作的简化流程图;
图9是根据实施例的耦合到示例处理器的存储器的框图;
图10是根据实施例的示例移动设备的框图;以及
图11是根据实施例的安排在点到点(PtP)配置中的示例计算系统的框图。
实施例的详细描述
图1是根据本公开的用于检测恶意软件的系统可在其中实现的示例网络环境100的简化框图。网络环境100可包括被适配为结合一个或多个潜在受影响系统操作的后端系统120以便在某些实施例中提供分布式流量分析功能,从而检测潜在受影响系统上的恶意软件。在其他实施例中,后端系统120被适配为结合一个或多个潜在受影响系统操作以便提供熵预测功能从而检测潜在受影响系统上的恶意软件。潜在受影响系统是能够感染恶意软件的计算设备。同样,潜在受影响系统可包括(但不限于)网络服务器130、数据中心基础设施组件140、端点设备150和嵌入式设备160。如在此所使用的,“受感染系统”旨在指包含恶意软件的计算设备而,“健康系统”旨在指不包含恶意软件的计算设备。
这些潜在受影响系统可经由网络110与其他系统或其他网络通信。网络110可包括一个或多个公共网络、一个或多个私有网络、或其任何组合。在使用分布式流量分析检测恶意软件的某些实施例中,后端系统120可在私有网络内与潜在受影响系统通信。在使用熵预测检测恶意软件的至少某些其他实施例中,后端系统120可通过网络110与潜在受影响系统通信。这些网络可包括有线技术(例如,以太网等等)和无线技术(例如,于2012年3月29日公开的电子电气工程师协会(IEEE)标准802.11TM-2012、于2012年8月17日公开的IEEE标准802.16TM-2012、WiFi、WiMax、专用短距离通信(DSRC)等等)、卫星、蜂窝技术(例如,3G/4G/5G/nG等等)、其他无线电频率(例如,近场通信(NFC)、射频识别(RFID)等等)、和/或促成网络环境中的网络通信的任何其他联网协议。
通常,如在此所使用的,“服务器”、“客户机”、“设备”、“计算机”、“网络元件”、“潜在受影响系统”、“后端系统”、“网络服务器”、“数据基础设施组件”、“端点设备”和“嵌入式设备”(例如,120、130、140、150、160)可包括可操作以便接收、传输、处理、存储和/或管理与在此公开的实施例相关联的数据和信息的计算设备。这些计算设备可各自包括一个或多个处理器、计算机可读存储器和任何合适的促成其操作的硬件、软件、固件、组件、模块或对象。这些计算设备还可包括采用任何合适的连接(有线或无线)以便接收、传输和/或以其他方式在网络环境100内通信数据或信息的接口。这可包括允许数据或信息的有效交换的适当的算法和通信协议。此外,计算设备可被配置成用于执行任何操作系统(例如,Linux、UNIX、Windows、Windows服务器等等)以便管理其中的硬件组件。此外,某些计算设备可包括被适配成用于将特定操作系统的执行虚拟化的虚拟机。
服务器130可包括任何合适的软件组件或模块或能够主存和/或服务软件应用和其他程序(包括本地、分布式、企业、或基于云的软件应用)的计算设备。服务器130可包括但不限于数据库服务器、文件服务器、邮件服务器、打印服务器、web服务器、游戏服务器等等。在某些情况下,服务器的某种组合可主存在共同的计算系统、服务器或服务器池上,并且诸如在为多个不同的客户机和客户提供服务的企业软件系统中共享计算资源,包括共享存储器、处理器和接口。
网络环境100中的计算设备(例如,120、130、140、150、160)还可包括被实现为一个或多个本地和/或远程端点设备150(也被称为“客户机”)的设备,诸如个人计算机、膝上计算机、蜂窝电话、智能电话、平板计算机、个人数字助理、媒体客户机、资讯娱乐系统(例如,在诸如汽车、飞机、火车等等的运输设备中)、web启用的电视、远程呈现系统、游戏控制台、移动互联网设备和被适配为在网络环境100中接收、发送或以其他方式通信的其他设备。端点设备可包括可操作以便至少使用有线或无线连接与服务器、其他端点设备、网络110和/或其他计算设备连接或通信的任何计算设备。总体上,端点设备150可包括可操作以便接收、传输、处理并存与图1的网络环境相关联的任何适当的数据的任何电子计算设备。将理解的是,可存在与网络110相关联的任何数量的端点设备以及位于网络110外部的任何数量的端点设备。
网络环境100中的计算设备还可包括被实现为可促成其他计算设备之间和网络之间的通信的和/或可在网络环境中远程地或本地地实现通信并提供服务的一个或多个网络元件的设备。网络元件可包括网络电器、服务器、路由器、交换机、网关、网桥、负载均衡器、处理器、模块或可操作以便在网络环境中交换信息的任何其他合适的设备、组件、元件或对象。
尽管图1被描述为包含多个元件或者与其相关联,不是图1的网络环境100中示出的所有元件可在本公开的每个可替代实现方式中利用。此外,在此描述的元件中的一个或多个可位于网络110外部,而在其他情况下,某些元件可包括在其他描述的元件中的一个或多个以及未在所示出的实现方式中描述的其他元件中或作为其一部分。此外,在图1中示出的某些元件可与其他组件组合以及用于除在此描述的那些目的之外的可替代或附加目的。
出于说明在网络环境100中通过分布式流量模式分析或通过熵预测检测恶意软件的某些示例技术的目的,重要的是理解可遍历网络环境的通信。以下基础信息可被视为可从其适当地解释本公开的基础。
来自进入和离开网络流量的威胁可干扰计算机网络并且导致系统不稳定和/或不安全。如在此所使用的,“威胁”包括恶意软件(malware),恶意软件是常用于描述被设计成用于参与计算机上的敌意和/或不希望的行为的软件的广泛术语,并且通常包括被设计成用于与计算机或网络的正常操作接口连接、获得对计算机系统的未授权访问和/或盗取、销毁、公开或修改数据的任何软件。恶意软件的示例可包括但不限于病毒、垃圾邮件、钓鱼垃圾邮件、服务拒绝(DOS)攻击、目录收获、僵尸网站、间谍软件、广告软件、特洛伊和蠕虫。威胁还可包括不符合包含敏感或机密信息和未被授权通信该信息的网络策略和/或电子邮件的电子邮件。
一种常见的恶意软件检测方法是扫描潜在受影响系统(PAS)以便标识恶意软件的已知签名。某些扫描方法涉及在网络中供应保护设备以便接收某些网络流量,诸如电子消息(电子邮件)。可针对病毒或其他恶意软件(诸如垃圾邮件)在将其发送到目的主机之前分解并扫描电子邮件消息。其他方法涉及在PAS上扫描已知用于指示恶意软件的系统修改或行为模式。在进一步的方法中,扫描器可在网络元件(诸如交换机、路由器、服务器等等)上运行以便检测PAS的网络通信中的恶意软件的模式。所有这些方法通常使用已知用于指示恶意软件或指示表明恶意软件的行为或修改的一组签名或模式。因此,可能直到恶意软件被标识、新的签名或模式被生成以及PAS所使用的签名或模式已经被更新才检测感染PAS的未知恶意软件。
当前恶意软件检测技术(包括监控在PAS上安装并运行的软件以及监控与PAS相关联的所观察到的网络流量通信)会在某些场景下有缺陷。在PAS上运行的扫描器例如可潜在地被已经感染PAS的恶意软件禁用或修改。因此,禁用或修改的扫描器可能在检测恶意软件或发起可能需要的补救动作时不是有效的。在另一个场景中,在基础设施组件(例如,交换机)上运行的以便监控PAS的网络通信的扫描器可能具有其正在监控的PAS的上下文和预期行为的不充分的知识。在不具备对上下文和预期行为的充分知识的情况下,恶意软件可被更容易地修改以便逃避扫描器的检测。
在网络环境中使用分布式流量模式分析的恶意软件检测系统200(如图2所示)可解决这些问题(以及其他问题)。使用分布式流量模式分析的恶意软件检测系统监控潜在受影响系统(PAS)的行为变化以便标识PAS上的恶意软件感染。可在基础设施侧检测到行为变化,这使得攻击恶意软件更难以阻止检测。同样,评估PAS的当前上下文,这显著地增加了在任何给定时间预测PAS的正常网络流量的能力。因此,可监控并评估PAS的实际网络流量以便确定其是否偏离该PAS的预期正常网络流量至少某个量。如果与实际网络流量的偏离在可接受的偏离范围之内,则PAS可能未感染恶意软件。然而,如果与实际网络流量的偏离在可接受的偏离范围之外,则PAS可能感染恶意软件。在其他实施例中,偏离程度可指示PAS感染恶意软件的相对可能性。因此,恶意软件检测系统200的实施例可检测PAS上的威胁而无需对所检测到的特定威胁的任何知识。
图2示出使用分布式流量模式分析的恶意软件检测系统200的简化示例。为了说明简单,单个潜在受影响系统(PAS)230和后端系统220被示出为在连接到公共网络210(诸如互联网)的受保护网络215中处于通信中。通常,恶意软件检测系统200可在任何类型或拓扑的网络中实现。受保护网络215和公共网络210各自表示用于接收和传输通过通信系统200传播的信息分组的一系列互连通信路径点或节点。这些网络提供节点之间的通信接口,并且可被配置成为任何局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、内部网、外部网、虚拟私域网(VPN)以及助益网络环境中的任何其他适当的架构或系统或其任何合适的组合,包括有线和/或无线通信。如在此先前参照图1所描述的,这些网络可包括任何数量的有线和无线技术,包括例如卫星、蜂窝和其他无线电频率。
在恶意软件检测系统200中,可根据任何合适的通信消息传送协议发送和接收包括分组、帧、信号、数据等等的网络流量。合适的通信消息传送协议可包括多层方案(诸如开放系统互连(0SI)模型)或其任何衍生物或变体(例如,传输控制协议/互联网协议(TCP/IP)、用户数据报协议/IP(UDP/IP))。
分组是可在分组交换网络(诸如互联网210)上在源节点和目的节点之间路由的数据单元。分组包括源网络地址和目的网络地址。作为示例,这些网络地址可以是TCP/IP消息传送协议中的网际协议(IP)地址。如在此所使用的,术语“数据”是指任何类型的二进制、数字、语音、视频、文本或脚本数据,或任何类型的源或目标代码,或采用任何适当的格式的可从电子设备和/或网络中的一个点通信到另一个点的任何合适的信息。此外,消息、请求、响应和查询是网络流量的形式,并且因此可包括分组、帧、信号、数据等等。
如在此所引用的,“受保护网络”(诸如受保护网络215)旨在指由特定实体或组织所拥有的或以其他方式由其控制的并且可被配置成用于保护免于来自进入网络流量的威胁的网络。尝试到达受保护网络中的某些节点(诸如PAS)的通信可首先被路由通过受保护网络的一个或多个网络元件,诸如网关、防火墙、代理服务器、安全电器等等。在示例实施例中,受保护网络可以是为其在网络上的节点使用私有地址空间(例如,互联网协议(IP)地址空间)的私有网络。受保护网络还可或可替代地实现任何其他合适形式的允许特定实体或组织控制去向和来自受保护网络的网络通信的地址空间。
在至少一个实施例中,如图2所示,PAS 230可包括代理232、上下文信息储存库233和更新模块234。后端系统220可包括基因程序(GP)创建模块222、基因程序224和比较模块226。PAS 230和后端系统220可各自分别包括至少一个处理器238和228以及分别包括至少一个存储器元件239和229。
在实施例中,代理232被适配成用于观察PAS 230上的上下文。在至少一个实施例中,可连续地执行该观察。代理232可在上下文信息储存库233中存储上下文信息,该储存库可位于PAS 239内部或外部(完全地或部分地)。内部存储可包括PAS 230的任何内部存储器,诸如例如静态存储、随机存取存储器(RAM)或高速缓存等等。外部存储可包括网络存储技术,诸如网络附接存储(NAS)或存储区域网络(SAN)或另一个网络元件的内部存储器。PAS的上下文通常是与PAS的功能有关的信息并且可包括但不限于位置、应用类型、当前正在执行的应用、用户存在、用户标识等等。针对特定PAS观察的上下文可取决于PAS的设备类型。例如,如果PAS是移动设备,位置和用户信息可以是相关的,而如果PAS是服务器,应用类型和连接到PAS的客户机类型可以是更相关的。在实施例中,PAS的上下文信息可被合并以便在任何给定时间创建该PAS的唯一指纹。
PAS 230还可被配置成用于经由代理232与后端系统220通信。在至少一个实施例中,后端系统220被预设在网络215的网络基础设施中,与被监控的一个或多个PAS分开,但是能够观察与被监控的PAS相关联的网络流量。例如,是移动设备的PAS可被配置成用于与由网络运营商实现的后端系统通信。在另一个示例中,数据中心中的PAS可被配置成用于与在连接到PAS的交换机处或后面实现的后端系统通信。与被监控的一个或多个PAS分开地供应后端系统220的优点是保护监控逻辑被攻击PAS的恶意软件禁用或修改的能力。然而,在某些其他实施例中,后端系统220或其各部分的功能可在PAS本身上实现或者在被监控的一个或多个PAS可访问的并且能够观察与PAS相关联的网络流量的任何其他计算系统中实现。
代理232和后端系统220之间的通信可被配置成用于具有正在进行中的心跳(heartbeat)或握手(handshake)。在心跳通信协议的示例中,更新模块234可连续地在给定的时间间隔向后端系统220发送消息。这些消息可包含PAS 230的上下文信息,在一个实施例中可从上下文信息储存库233检索这种信息。
在握手协议的示例中,更新模块234可向后端系统220发送消息以便确定后端系统220是否准备好从PAS 230接收消息。如果后端系统220准备就绪,则PAS 230可发送包含PAS 230的上下文信息的消息。握手可基于时间间隔或基于事件发生,诸如每当检测到新的上下文信息或者每当检测到特定类型的上下文信息。因此,在每当检测到新的上下文信息时向后端系统220发送消息的某些实现方式中,可不利用上下文信息储存库233。在基于时间间隔向后端系统220发送消息的实现方式中,所选择的时间间隔可取决于被监控的设备的类型。例如,具有经常变化的上下文信息的移动设备可具有比带有可能更静态的上下文信息的服务器更短的间隔时间。心跳或握手还可由后端系统220用来检测对PAS 230上的代理232的修改或禁用。
后端系统220可包括创建基因程序224的基因程序(GP)创建模块22。在至少一个实施例中,后端系统220观察PAS 230所生成的网络流量,并且GP创建模块222将所观察的网络流量模式与从PAS 230接收的上下文信息进行相关。如在此所使用的,“网络流量模式”总体上旨在指包括流量类型和流量量值的网络流量的常规或典型特征。示例性特征可包括但不限于端口连接、分组协议、分组之间的间隔、特定时间帧内的分组量、流出分组的目的地址、进入分组的源地址等等。
基因程序是使用生物演进创建可解决经常具有许多浮动变量的复杂问题的计算机程序的想法的基于算法的方法。基于所观察的网络流量模式和上下文信息之间的相关性,GP创建模块222可创建能够在给定PAS230的当前上下文的情况下预测PAS 230的正常流量的基因程序224。可初始地基于被监控的PAS的类型创建基因程序224,因为不同的设备可具有非常不同的网络流量特征。例如,移动电话可具有比数据中心服务器更频繁地变化的上下文。因此,在一个实施例中,可基于在比为服务器创建的基因程序更短的时间跨度内接收的上下文(或基于更大的活动量)创建为移动电话创建的基因程序。通过说明但非限制,在示例实现方式中,取决于设备类型,可在任何地方从数秒到数分钟之间接收的上下文信息创建基因程序。然而,将明显的是后端系统220可被配置成用于基于任何时间量创建基因程序,这取决于特定需要和实现方式。
在至少一个实施例中,基因程序224不尝试预测PAS 230所生成或接收的实际流量。而是,基因程序224在给定PAS 230的上下文的情况下创建正常流量的预测。预测正常流量可包括从PAS 230预期的网络流量类型和网络流量量值。例如,如果电子邮件应用是活跃的,PAS 230到端口25、587或993的连接可以是某些主机上的预期类型的TPC/IP网络流量,而如果web浏览器是活跃的,到端口80和443的连接可以是在特定主机上的预期类型的TCP/IP网络流量。将明显的是其他类型的网络流量(包括不同的端口、协议、应用等等)可应用于其他类型的网络。对于预期的流量额量(volume of traffic),与电子邮件服务器或web服务器的通信可通常遵循相当一致的模式。因此,在至少某些实施例中,基因程序224可基于额量(例如,处于具有最大量和最小量的范围内)预测正常流量(例如,按天、时间、应用、用户等等)。
后端系统220还可被配置成用于当接收到新的上下文时更新基因程序224。PAS 230和后端系统220之间的心跳(或握手)通信可提供PAS 230的上下文信息的连续馈送。在至少一个实施例中,每当接收到新类型的上下文信息时,后端系统220更新基因程序224,以便解释该新类型的上下文。基因程序还可需要在某个时间跨度上更新,例如,当针对特定上下文的正常流量改变时。后端系统220更新基因程序224的频率可基于基因程序所监控的PAS的类型。
在一个示例场景中,为具有特定应用的移动电话创建基因程序。当用创建新的网络流量模式的新版本更新应用时,后端系统220可将从PAS 230接收的上下文信息与PAS 230的实际网络流量的观察相关,以便更新基因程序224从而创建映射到经更新的应用的正常流量的预测。在另一个示例场景中,当用户变得有兴趣并且开始使用先前很少使用的应用时,使用模式可改变。在此场景中,后端系统220可更新基因程序224以便创建由用户映射到应用的新使用模式的正常流量的预测。
通过说明但非限制,在示例实现方式中,取决于设备类型,可在任何地方从数秒到数分钟之间更新基因程序。然而,将明显的是后端系统220可被配置成用于基于任何时间量更新基因程序,这取决于特定需要和实现方式。更频繁更新的优点是最小化可使恶意软件困惑的联网噪声以及实现识别可指示恶意软件的上下文变化的能力。
后端系统的比较模块226可被配置成用于对PAS 230的实际观察网络流量与基因程序224所预测的正常流量进行比较。在至少一个实施例中,如果来自PAS 230的所观察的网络流量偏离超过针对当前所观察的上下文的可接受的偏离范围,则后端系统220可假设PAS 230已经受到危害并且可采取适当的行动。这种行动的示例可包括提醒用户(例如,安全管理员)、记录偏离、隔离PAS 230、禁用从PAS 230的连接等等。此外,可存在一个或多个可接受的偏离范围(例如,针对流量额量、针对流量类型),并且这些一个或多个范围可由策略控制并且可由授权用户调整。
在至少一个其他实施例中,任何偏离程度可与PAS 230受到危害的可能性相关。因此,如果来自PAS 230的所观察的网络流量偏离所预测的正常流量,则有关将采取哪一个或多个行动的确定可取决于所检测到的偏离程度(例如,针对流量额量、针对流量类型)。例如,如果发生轻微的偏离,则后端系统220可采取行动,诸如记录偏离或提醒适当的用户。然而,如果偏离程度是足够的,则后端系统220可采取行动,诸如隔离或者甚至阻止到PAS的网络连通性。
当网络流量发生显著变化时,比较模块226的配置(例如,评估可接受的偏离范围、评估偏离程度)可检测恶意软件,并且或者上下文没有发生变化(例如,没有新的应用或版本更新)或者上下文发生可指示恶意软件(例如,在半夜在企业的桌上计算机上发生网络流量)的变化。比较模块226还可被配置成用于当使用模式和流量模式发生逐渐变化时不假定恶意软件已经感染PAS。可监控逐渐变化以便确定该变化是否是网络流量的正常波动vs.指示恶意软件的变化。
在另一个示例实现方式中,PAS 230可向PAS 230发送或者以其他方式提供基因程序224和比较模块226。因此,基因程序和比较模块可在PAS 230上运行以便评估PAS 230所生成的网络流量并且确定PAS 230的实际网络流量是否指示恶意软件感染。GP创建模块222还可驻留在PAS230上,从而使得整个后端系统集成在单个潜在受感染的系统中。
转向图3,交互图示出了根据恶意软件检测系统200中的一个示例场景的PAS 230、后端系统220和网络215之间的潜在网络通信。在该示例场景中,当交互在302开始时,以下描述假设基因程序尚未由后端系统220为PAS 230创建。
在至少一个实施例中,存在与图3的活动和交互相对应的一组或多组操作。后端系统220或其部分可使用至少一组操作。后端系统220可包括用于执行这种操作的装置(包括例如图2的处理器228)。在至少一个实施例中,后端系统220的GP创建模块222、基因程序224和比较模块226可执行至少某些操作。PAS 230或其部分可使用至少另一组操作。PAS 230可包括用于执行这种操作的装置(包括例如图2的处理器238)。在至少一个实施例中,PAS 230的代理232和更新模块234可执行至少某些操作。
在302,网络流量由PAS 230生成并且在其遍历网络215到达目的地时,由后端系统220观察。该目的地可以是网络215内的另一个计算设备或者位于网络215外部的另一个计算设备。在304,跨网络215到PAS 230的传入网络流量由后端系统220观察。该传入网络流量可以源自网络215内的另一个计算设备或者源自位于网络215外部的另一个计算设备。在该示例场景中,后端系统220被配置成用于观察与PAS 230相关联的传入和传出网络流量两者。在其他实施例中,然而,后端系统220可被配置成用于仅观察PAS 230所生成的传出流量或者仅观察PAS 230所接收的传入流量。
在306,PAS 230将上下文信息通信给后端系统220。可在PAS230在线时,基于给定的时间间隔,连续地发送上下文信息。在其他实施例中,PAS 230可基于在PAS 230上观察到的新的上下文信息、基于在PAS 230上观察到的特定类型的上下文信息、或者基于针对PAS 230和后端系统220之间的心跳或握手通信的选定的时间间隔将上下文信息通信到后端系统220。还将明显的是当上下文信息被示出为在302和304中的网络流量观察之后被通信时,这些观察和通信可以根据任何其他顺序发生或者可同时发生。此外,可发生比图3中指示的更多或更少的观察以及潜在地更多的上下文信息通信。
在308,后端系统220基于所接收的上下文信息和所观察的网络流量创建基因程序,如之前在此描述的。一旦为PAS 230创建了基因程序,后端系统220继续在310观察传出网络流量并且在312观察传入网络流量。然而,在某些实施例中,后端系统220可被配置成用于仅观察PAS230所生成的网络流量(例如,在310)或者仅观察PAS所接收的网络流量(例如,在312)。此外,PAS 230继续向后端系统220提供上下文信息,如在314所指示的。再次,将明显的是当上下文信息被示出为网络流量观察之后被通信时,在310和312的这些观察和在314的这些通信可以根据任何其他顺序发生或者可同时发生。此外,更多或更少的观察和通信可在流程在后端系统220内继续之前发生。
当与PAS 230相关联的网络流量已经由后端系统220观察到并且当前上下文信息已经由后端系统220接收到时,在316,基因程序为PAS 230执行并创建正常流量的预测。在318,后端系统220确定所观察的网络流量是否与预测的网络流量偏离。在至少一个实施例中,该确定包括确定来自PAS 230的所观察的网络流量是否偏离针对当前所观察的上下文的预测网络流量,超出可接受的偏离范围。如果所观察的网络流量超出可接受的偏离范围,则后端系统220可假设PAS 230已经受到恶意软件危害。在这种情况下,可基于策略在320采取适当的行动。适当的行动可包括在PAS 230上执行的行动,如在320所指示的,诸如禁用网络连通性、禁用到PAS 230的网络连通性等等。其他行动可包括提醒用户(例如,安全管理员)、记录与恶意软件检测相关联的信息等等。
在至少一个其他实施例中,任何偏离程度可与PAS 230受到危害的可能性相关。在本实施例中,在318确定所观察的网络流量是否偏离所预测的正常流量包括确定示是否存在任何偏离程度。可评估偏离程度以便确定应当采取哪一个或多个行动,如果有的话。例如,可为显著的偏离采取严重的行动。因此,当检测到显著的偏离时,在320,PAS 230可被隔离或者网络连通性可被禁用。针对轻微的偏离,可采取更缓和的行动,诸如提醒适当的用户、记录偏离检测等等。
在采取行动之后,后端系统可在322确定是否仍可监控PAS230。如果所采取的行动阻止监控PAS 230(例如,行动禁用到PAS 230的网络连接),则流程可结束。然而,如果采取没那么严重的行动(例如,提醒、记录等等),则流程可在308继续,其中后端系统220可更新基因程序(如果需要的话)并且可继续监控PAS 230。
如果后端系统在318确定来自PAS 230的所观察的网络流量不偏离针对当前所观察的上下文的所预测的正常流量(或者因为偏离未超出可接受的偏离范围或者因为不存在偏离程度或最小的偏离程度),则后端系统220可假设PAS 230具有比较低的可能性感染恶意软件。在这种情况下,流程可返回308,其中更新基因程序(如果需要的话),并且后端系统220可继续监控PAS 230。
基本上,所观察的网络流量和当前上下文信息可被评估以便确定流量模式中是否正在发生正常的波动。随着流量模式随着时间改变,基因程序可被更新以便反映基因程序所创建的正常流量模式预测的改变。
图4A是示出根据实施例与基于流量模式分析检测恶意软件相关联的活动的简化流程图。一组操作可对应于图4A的活动。在实施例中,后端系统220的GP创建模块222可执行至少某些操作。
在402,后端系统观察与潜在受影响系统(PAS)相关联的网络流量。网络流量可以是PAS所生成的传出网络流量或者PAS所接收的传入网络流量。在404,后端系统还可从PAS接收与PAS有关的上下文信息。上下文信息可包括例如所有与PAS有关的时间、位置、运行应用、用户存在等等。
在406,后端系统可基于所观察的网络流量将流量模式与从PAS接收的上下文信息进行关联。如果从未为PAS创建基因程序,则在408,后端系统可基于网络流量和上下文信息的相关性创建基因程序。然而,如果基因程序已经针对PAS存在,则在408,后端系统可评估流量模式是否指示流量模式的逐渐改变。如果是逐渐改变(例如,源自应用的新版本、用户使用新模式等等的新的流量模式),则后端系统220可更新基因程序以便提供与改变后的流量模式相一致的正常流量的预测。
图4B是示出根据实施例与基于流量模式分析检测恶意软件相关联的活动的简化流程图。一组操作可对应于图4B的活动。在实施例中,后端系统220的基因程序224和比较模块226可执行至少某些操作。
在410,后端系统观察与潜在受影响系统(PAS)相关联的网络流量。网络流量可以是PAS所生成的传出流量、PAS所接收的传入流量或者两者。在412,后端系统还可从PAS接收与PAS有关的上下文信息。上下文信息可包括例如所有与PAS有关的时间、位置、运行应用、用户存在等等。在实施例中,在图4B中的410和412指示的操作可以是与在图4A的402和404执行的相同的操作,并且可在单次为相同的网络流量和相同的上下文信息执行。然而,从观察网络流量获得的以及用于接收上下文信息的信息可用于创建或更新基因程序两者,并且运行基因程序以便对所预测的正常流量与实际网络流量进行比较。
在414,后端系统为PAS创建正常流量预测。该预测可由基因程序创建。在416,后端系统对该预测与后端系统所观察的实际网络流量进行比较。在418,后端系统确定所观察的网络流量是否与正常流量的预测偏离。在至少一个实施例中,确定418包括确定来自PAS的所观察的网络流量是否在与针对当前所观察的上下文的所预测的正常流量的可接受偏离范围内。如果实际网络流量不在可接受的偏离范围内,则在420,可基于策略采取适当的行动(例如,提醒用户、禁用PAS的网络连通性等等)。然而,如果网络流量在可接受的偏离范围内,在流程可返回410,其中后端系统可继续通过观察网络流量、从PAS接收上下文信息以及运行基因程序以便确定实际网络流量是否偏离所预测的网络流量来监控PAS。
在至少另一个实施例中,确定418包括确定是否存在任何偏离程度。如果没有检测到偏离程度或者如果偏离程度是最小的,则流程可返回410,其中后端系统可继续监控PAS,如之前在此描述的。然而,如果所观察的网络流量被确定偏离所预测的正常流量某个程度,则后端系统可基于该偏离程度选择将采取的一个或多个行动。例如,在420,可为显著的偏离采取严重的行动。可在420为轻微的偏离采取更缓和的行动。
在420采取行动之后,后端系统可确定是否仍可监控PAS。如果所采取的行动阻止监控PAS(例如,行动禁用到PAS 230的网络连通性),则流程可结束。然而,如果在420采取没那么严重的行动(例如,提醒、记录等等),则流程可返回410,其中后端系统可继续监控PAS,如之前在此描述的。
转向图5A,图5A是示出根据实施例与基于流量模式分析检测恶意软件相关联的活动的简化流程图。一组操作可对应于图5A的活动。在实施例中,PAS 230的代理232可执行至少某些操作。
在502,PAS可检测传入或传出网络流量。在504,PAS可标识与PAS的所观察的网络流量相关的上下文信息。例如,PAS的时间、位置、在PAS上运行的应用、PAS上的用户存在等等可包括在所标识的上下文信息中。在506,PAS可将上下文信息存储在上下文信息储存库中,诸如PAS 230的储存库233。在其他实施例中,PAS可将所标识的上下文信息直接通信到后端系统。在本实施例中,PAS可能不需要上下文信息储存库。
图5B是示出根据实施例与基于流量模式分析检测恶意软件相关联的活动的简化流程图。一组操作可对应于图5B的活动。在实施例中,PAS 230的更新模块234可执行至少某些操作。
在至少一个实施例中,图5B的操作集合表示可由PAS用于与后端系统通信上下文信息的心跳或握手协议。在510,确定是否已经过去Δ(delta)间隔。如果Δ间隔尚未过去,则不向后端系统发送任何东西,并且可再次检查Δ间隔。然而,如果Δ间隔已经过去,则在512,PAS可向后端系统通信来自上下文信息储存库的上下文信息。发送到后端系统的上下文信息可包括储存库中的自从上一次心跳(即,自从对后端系统的上一次更新)起的所有信息。
转向图6,使用熵预测用于分布式分析的恶意软件检测系统还可解析与当前恶意软件检测技术相关联的许多问题。使用熵预测的恶意软件检测系统可监控潜在受影响系统(PAS)的行为的改变以便确定PAS是否已经感染恶意软件。更确切地,可通过检查来自被选择在PAS上运行的基因程序的熵输出标识恶意软件感染。来自基因程序的熵输出在此被称为“熵率”。所选择的基因程序在一组一个或多个上下文信息流上操作并且可在流中的上下文元素上执行操作。每个流包括表示上下文信息的一个或多个上下文元素。在PAS上本地运行并且将熵率通信到后端系统的基因程序最小化评估PAS的上下文信息所需的开销以便有效地预测PAS是否已经感染恶意软件。此外,恶意软件检测系统200的实施例可检测PAS上的威胁而无需对所检测到的特定威胁的任何知识。
图6示出使用熵预测用于分布式分析的恶意软件检测系统600的简化示例。为了说明简单,单个潜在受影响系统(PAS)630和后端系统620被示出为经由连接到公共网络610(诸如互联网)的网络614和616处于通信中。通常,恶意软件检测系统600可在任何类型或拓扑的网络中实现。在示例实现方式中,后端系统620可驻留在云网络(例如,网络616)中并且在一个或多个其他网络(例如,网络614)中与潜在受影响系统通信,诸如LAN、WLAN、VPN、VLAN、WAN、MAN、内部网、外部网以及促成网络环境中的通信的任何其他适当的架构或系统或其任何合适的组合,包括有线和/或无线通信。如在此先前参照图1所描述的,这些网络可包括任何数量的有线和无线技术,包括例如卫星、蜂窝和其他无线电频率。在其他实现方式中,后端系统620可在受保护网络中提供有一个或多个潜在受影响系统。这些示例旨在示出可能的实现方式并且不旨在是限制性的。将明显的是在此提供的教导可应用于使能PAS 630和后端系统220之间的通信的任何数量的不同网络配置。
可能的通信消息传送协议和接口可以与参照图2的恶意软件200描述的那些相同或类似。具体而言,在恶意软件检测系统600中,可根据任何合适的通信消息传送协议(例如,TCP/IP、UDP/IP等等)发送并接收包括分组的网络流量。
PAS 630和后端系统620所使用的数据可存储在任何合适的存储位置。上下文信息储存库633可位于PAS 239内部或外部(完全地或部分地)。类似地,后端系统620的储存库中的任何一个或多个(诸如基因程序(GP)程序储存库623、设备历史储存库625、健康上下文储存库626和受感染上下文储存库627)可位于后端系统620内部或外部(完全地或部分地)。内部存储可包括PAS 630的或后端系统620的任何内部存储器,诸如例如静态存储、随机存取存储器(RAM)或高速缓存等等。外部存储可包括网络存储技术,诸如网络附接存储(NAS)或存储区域网络(SAN)或另一个网络元件的内部存储器。
在至少一个实施例中,如图6所示,PAS 630可包括代理632、上下文信息储存库633和熵编码器636。PAS 630还可在任何给定的时间包括一个或多个基因程序6341至634n。后端系统620可包括基因程序(GP)选择模块621、基因程序(GP)创建模块622、GP储存库623、熵率比较模块624、设备历史储存库625、健康上下文储存库626和受感染上下文储存库627。PAS 630和后端系统620可各自分别包括至少一个处理器638和628以及分别包括至少一个存储器元件639和629。
在实施例中,代理632被适配成用于观察PAS 630上的上下文。在至少一个实施例中,可连续地执行该观察。代理632可将上下文信息的一个或多个流存储在上下文信息储存库633中。PAS的上下文是总体上与PAS的功能相关的信息并且可包括但不限于应用的时间、位置、类型、当前正在执行的应用、用户存在、用户标识、网络连接等等。还可观察更特定的上下文信息,诸如应用启动、键盘上的用户敲击、正在做要求特殊许可(例如,访问地址簿、应用正在使用的操作系统许可、对应用拒绝的操作系统许可等等)的事情的应用等等。同样,如之前参照图2所描述的,针对特定PAS所观察的上下文可取决于PAS的类型。
可基于或者响应于不同的事件观察上下文信息。与事件相关联的所观察的信息可被形成为上下文信息流,并且每个流可包括表示该上下文信息的一个或多个上下文元素。因此,每个流可对应于不同的事件。事件类型可包括但不限于联网事件、键盘事件、应用启动等等。对应于PAS的不同事件的上下文信息的一个或多个流可被馈送到基因程序中。基因程序然后可产生输出流。
PAS 630还可被配置成用于经由代理632与后端系统620通信。在至少一个实施例中,后端系统620被预设在云网络中,并且可经由公共网络(诸如网络610)与正在监控的一个或多个PAS通信。在示例实现方式中,后端系统620可被配置成用于监控相同或不同受保护网络中的多个PAS。
代理632和后端系统620之间的通信可被配置成用于具有正在进行中的心跳或握手以便检测对PAS 630上的代理632的修改或禁用。如之前在此参照图2所描述的,心跳或握手通信协议可在给定的时间间隔提供更新或者基于在PAS 630上检测的特定事件更新。
在至少一个实施例中,PAS 630从后端620接收一个或多个基因程序6341-n。PAS 630还可接收或配置有与基因程序相关联的一个或多个时间跨度。在至少一个实施例中,针对基因程序的时间跨度可由后端620选择并且被通信到PAS 630。时间跨度可指示PAS 630针对相关联的基因程序观察PAS 630上的上下文信息的时间量。在时间跨度期间观察的上下文信息流可由于时间跨度相关联的基因程序处理(例如,操纵)。在至少一个实施例中,相关联的基因程序可被配置成用于在时间跨度期间运行以及当它们被生成时接收上下文信息流。在至少一个其他实施例中,相关联的基因程序可被配置成用于在在时间跨度期间已经观察到上下文信息并且已经为该时间跨度生成上下文信息流之后运行。
在至少一个实施例中,基因程序例如通过对流中的一个或多个上下文元素执行各种操作来操纵上下文信息的一个或多个流。这种操作可包括但不限于基于特定条件删除或保留上下文元素、对上下文元素进行分类、将上下文元素相加、用其他上下文元素加密上下文元素等等。在至少一个实施例中,在上下文信息的该一个或多个流上执行的操作可被配置成用于产生输出流,该输出流可以是受操纵上下文信息的单个流。
基因程序的在上下文信息流上执行的操作可使能基因程序将可能受到特定类型的恶意软件影响的特定活动作为目标。例如,基因程序可在流上执行操作以便过滤出不使用PAS 630上的电子邮件端口的所有事件,以便获得可针对电子邮件恶意软件评估的输出流。在另一个示例中,基因程序可在流上执行操作以便仅保留请求访问PAS 630上的地址簿的事件,以便获得可针对间谍软件评估的输出流。因此,至少某些基因程序可被配置成用于通过操纵上下文信息流来查明PAS上特定类型的行为。
在上下文信息流上执行的操作还有助于使恶意软件检测方案受到可已经感染PAS的任何恶意软件混淆。除可被配置成用于使用上下文元素上的不同操作或操作组合的许多可能的基因程序之外,可在上下文元素上执行许多可能的操作,使得极其难以预测PAS上的当前所选择的以及执行的基因程序正在做什么。因此,如果恶意软件感染PAS,其逃避和/或挫败恶意软件检测方案的努力可能是无效的。
在至少一个实施例中,基因程序的输出流可被馈送到熵编码器,诸如PAS 630上的熵编码器636。在至少一个实施例中,熵编码器636(也被称为‘数据压缩器’)可向输出流应用数据压缩方案。某些熵编码技术可涉及用预定的可变长度代码替换输出流中的固定长度符号(例如,一个或多个字符)。总体上,经编码的数据使用比原始数据更少的位。当数据已经被压缩时,熵编码器636可生成经压缩数据的相对熵(或熵率)。在一个示例中,熵率可以是压缩率,被定义为经压缩数据大小和未经压缩数据大小之间的比率。根据至少一个实施例,在恶意软件检测系统600中使用的特定熵编码技术可基于系统的特定需要和实现方式细节。
PAS 630可将熵率通信到后端系统620。通常,该通信在与基因程序相关联的特定时间跨度已经期满之后发生。在至少一个实施例中,在任何给定的时间,多于一个基因程序可在PAS 630上是活跃的。多于一个基因程序可以是活跃的以便确保PAS 630的上下文被连续地观察并且确保所有所观察的上下文信息由至少一个基因程序处理。
在PAS 630的示例配置中,代理632管理上下文信息的观察和基因程序的执行。例如,代理632可从后端系统620接收基因程序和相关联的时间跨度,在相关联的时间跨度期间观察上下文信息,执行基因程序,以及向后端系统620提供熵率。
在后端系统620中,GP创建模块622可被配置成用于连续地创建新的基因程序和/或更新现有的基因程序,诸如基因程序6341-n,以及将基因程序存储在GP储存库623中。可通过基于来自健康系统(即,没有恶意软件)和受感染系统(即,包含恶意软件)两者的先前记录的上下文信息流评估基因程序来实现基因程序创建。可基于其在健康系统和受感染系统之间的熵率数字中生成最大的不同的能力来选择基因程序。
后端系统620可包括、可网络访问、或提供有健康上下文储存库626和受感染上下文储存库627,其可包含先前记录的上下文流。受感染上下文储存库627可包含针对受感染系统、针对不同种类和可能甚至不同恶意软件实例的多个、分开的上下文流池。类似地,健康上下文储存库626可包含针对不同设备类型的健康系统(例如,移动设备、服务器、膝上计算机等等)的分开的上下文流。而且,可在给定的时间间隔或者当特定事件发生时(例如,新的恶意软件变得已知)更新这些储存库。
当创建新的基因程序时,可例如在GP储存库623中构建并存储基因程序储存库。基于受感染上下文储存库627中可用的各种类型的流,GP创建模块622可为特定类型的恶意软件创建基因程序以及通常用于检测恶意软件的基因程序。结果是,统称地基因程序储存库可使能检测许多不同类型的已知和未知的恶意软件。
在实施例中,熵率比较模块624可使用来自设备历史储存库625的信息来评估PAS所提供的熵率、确定恶意软件是否已经感染PAS。例如,熵率比较模块624可在已经在PAS 630上执行特定的基因程序并且其相关联的时间跨度已经期满之后评估从APS 630接收的熵率。熵率比较模块624可对所接收的熵率与预期的平均熵率进行比较。在至少一个实施例中,可通过对一个或多个计算设备的所报告的熵率取平均值来确定平均熵率,其中熵率至少部分地基于特定的基因程序。为了生成将被取平均值的熵率,基因程序可在计算设备上运行或者在另一个系统(例如,后端系统620)上运行并且从计算设备接收输入。来自计算设备的输入可处于上下文信息的一个或多个流的形式。在某些实施例中,该一个或多个计算设备可以是例如企业中的所有PAS、特定网络中的所有PAS、某个预定的PAS集合中的所有PAS等等。在某些实施例中,该一个或多个计算设备可以是已知的健康系统集合。在仍其他实施例中,当先前记录的上下文信息的一个或多个流用作输入(例如,来自健康上下文储存库626)时,可使用来自基因程序的输出确定平均熵率。此外,可为每个基因程序确定平均熵率。平均熵率还可以是设备特定的。作为示例,后端系统620可具有针对在iPhone移动电话上运行的特定基因程序的平均熵率以及针对安卓移动电话上运行的相同或相似基因程序的不同的平均熵率。
如果PAS 630受到感染,其熵率可能在一个方向上在数字上与平均熵率间隔开。例如,受感染系统的熵率可具有比平均熵率更大或更小的比率之一。当PAS 630的熵率趋向移动远离平均熵率时,在受感染系统的熵率的方向上,PAS 630上的恶意软件感染的证据(在贝叶斯统计意义上)增加。相反地,如果PAS 630的熵率等于平均熵率或者在区别于指示恶意软件的熵率的平均数的相反侧,这可以是趋向指示PAS 630未感染恶意软件的证据。
在实施例中,后端系统620而不是PAS 630知道熵率相对于平均熵率的哪个移动方向趋向增加感染可能性。更具体地,PAS 630不知道什么样的健康熵率用于给定的基因程序。结果是,即使复杂的恶意软件将不能预测如何修改PAS上的上下文信息或者所生成的熵率本身、如何避免熵率比较模块624的检测。例如,某些恶意软件可被配置成用于报告其选择的错误熵率,这可通过生成随机数或者通过操纵实际测量的熵率实现。然而,恶意软件不知道在哪个方向操纵熵率。因此,少量的不正确的操纵可快速地导致设备被标记为甚至更快速地(或者甚至更严重地)被感染。
在至少一个实施例中,设备历史储存库625可在后端系统620中用于报告针对一个或多个潜在受影响系统的熵率比较的结果。在至少一个实施例中,熵率比较的结果可包括熵率是否与包含恶意软件的系统(即,受感染系统)的熵率相关或者熵率是否与不包含恶意软件的系统(即,健康系统)的熵率相关的指示符。在本说明书中,‘包含恶意软件的系统’和‘不包含恶意软件的系统’旨在包括计算设备。在某些实施例中,指示符可以是某种形式的数据并且可基于具有一系列值的相对范围(例如,熵率指示与受感染系统的熵率非常高/平均/轻微的相关性,熵率指示与健康系统的熵率非常高/平均/轻微的相关性等等)。
来自针对特定PAS(诸如PAS 630)的熵率比较的结果可提供可在聚合中评估以便确定PAS是否受到恶意软件感染的概率的PAS的统计历史。来自比较结果的单个感染指示符可能不足以决定性地确定PAS包含恶意软件和/或采取补救行动。单个感染指示符可仅仅是统计噪声。然而,一系列感染指示符可提供PAS受到感染的更决定性的证据,并且因此可基于策略证实适当的行动(例如,向管理员或其他用户发送提醒、禁用所标识的PAS的网络连接、隔离所标识的PAS等等)。在至少一个实施例中,每当从特定PAS的比较结果产生感染指示符时,可从设备历史储存库625获得来自针对该PAS的熵率比较结果的先前指示符(包括健康系统的指示符和/或受感染系统的指示符)。新的指示符和先前的指示符可被聚合并评估以便确定该PAS的感染概率。某些熵率比较结果可提供更强的感染证据或更强的未感染证据。因此,感染概率的确定可基于结果指示可能感染或可能未感染的程度。此外,每当确定新的(或经更新的)感染概率时,其可被存储(例如,存储在设备历史储存库625中)用于与未来的概率确定作比较。
在至少一个实施例中,确定是否应当采取行动基于预定的概率阈值。例如,一旦概率到达或超过预定的概率阈值,后端系统620可采取适当的行动。可相对于其应用的上下文建立概率阈值。例如,可为访问高机密数据的已知应用设置低概率阈值。相反地,更通用或良性的活动(诸如web浏览)可具有更高的概率阈值。
在至少一个其他实施例中,确定是否应当采取行动基于感染概率是否已经相对于先前的或预期的感染概率增加的确定。随着感染概率随着时间增加,可采取来自一组预定义的行动中的一个或多个行动。在至少某些实施例中,可基于新概率比先前或预期概率的增加量选择一个或多个行动。
后端系统620的GP选择模块621可基于预定义的标准选择将哪些基因程序发送到哪些潜在受影响系统。GP选择模块621还可选择将与那些基因程序相关联的时间跨度。在某些实施例中,GP选择模块621可被配置成用于自动地进行这种选择并且将所选择的基因程序和时间跨度提供给潜在受影响系统。然而,在其他实施例中,可由用户经由用户接口进行这些选择中的一个或多个。此外,在至少一个实施例中,用于进行这些选择的标准可自动地由用户经由用户接口进行。
在至少一个实施例中,选择在PAS上运行的基因程序可至少部分地取决于PAS的设备历史。例如,如果PAS之前尚未被监控或者已经连续地具有良好的熵率比较结果,则可选择更普通的基因程序并将其发送到PAS持续指定的时间跨度。然而,如果存在指示某种类型的感染的某个证据(例如,软证据,诸如来自熵率比较结果的一个感染指示符),则后端系统620可为PAS选择已知在特定种类的恶意软件之间区分更好的一个或多个基因程序。
在示例实现方式中,GP选择模块621可随机地选择在要监控的一个或多个潜在受影响系统上运行的基因程序。在另一个示例实现方式中,GP选择模块621可初始地选择为要监控的一个或多个潜在受影响系统提供通用或广泛的检测逻辑的基因程序。如果在PAS之一上运行的基因程序提供指示可能的恶意软件感染证据的熵率和/或如果其他信息致使怀疑可能的恶意软件感染(例如,在网络中的其他PAS中检测到恶意软件),则GP选择模块621可发送更有针对性的基因程序以便标识PAS上的特定恶意软件。因为PAS不知道其将从基因程序储存库(例如,GP储存库623)接收到哪个基因程序,PAS上的恶意软件将不能预测后端系统620所预期的平均熵率。因此,恶意软件检测系统600实现通过偏离潜在受影响系统的行为检测恶意软件而无需知道实际恶意软件本身。
在某些实施例中,基因程序可包括外部可观察的信息例如以便帮助避免重放恶意软件攻击。在这些实施例中,后端系统620可计算应当已经被报告的准确(或者非常接近准确)熵率。例如,后端系统620可向PAS 630发送致使某些响应网络流量的大数据消息。通过恒定的外部数据,来自PAS 630的响应应当合理地一致。因此,与针对健康系统的预期熵率的任何偏离是操纵以及因此的恶意软件感染的非常强的证据。
转向图7,交互图示出了根据恶意软件检测系统600中的一个示例场景的后端系统620和PAS 230之间的潜在网络通信。在该示例场景中,当交互在702开始时,以下描述假设已经在创建一个或多个基因程序并将其存储在GP储存库623中。
在至少一个实施例中,存在与图7的活动和交互相对应的一组或多组操作。后端系统620或其部分可使用至少一组操作。后端系统620可包括用于执行这种操作的装置(包括例如图6的处理器628)。在至少一个实施例中,GP选择模块621和熵率比较模块624可执行至少某些操作。PAS 630或其部分可使用至少另一组操作。PAS 630可包括用于执行这种操作的装置(包括例如图6的处理器638)。在至少一个实施例中,代理632、基因程序6341-n之一和熵编码器636可执行至少某些操作。
在702,后端系统620选择将由PAS 630执行的基因程序。后端系统620还可为该基因程序选择时间跨度。在各实施例中,可基于预定义的标准或者可至少部分地由用户选择该基因程序。用于为PAS选择基因程序的预定义的标准可包括例如基于PAS的历史的选择、基于PAS上的恶意软件的指示符的选择、基于相同的网络中的其他PAS中的恶意软件的指示符的选择、基于感染概率已经增加的确定的选择等等。
在704,后端系统620向PAS 630提供所选择的基因程序。在实施例中,后端系统620还可向PAS 630提供与基因程序相关联的时间跨度。在其他实施例中,可在代理632中配置该时间跨度。所配置的时间跨度可用于在PAS 630上运行的所有基因程序或者作为默认用于在相关联的时间宽度之外接收的基因程序。在至少一个实施例中,在706,代理632观察PAS 630的上下文持续指定的时间跨度并执行基因程序。当指定的时间跨度期满时,基因程序的输出可被馈送到产生所得熵率的熵编码器636。
在708,PAS 630将所计算的熵率通信给后端系统620。在710,后端系统620可将从PAS 630接收的熵率与预期的平均熵率进行比较。该比较可导致处于PAS 630或者感染恶意软件或者未感染恶意软件的指示符的形式的证据。可基于PAS 630的统计历史评估来自该比较的证据,该统计历史可存储在设备历史储存库625中。基于该评估,后端系统620可确定PAS 630感染恶意软件的概率。在712,设备历史储存库625可用与PAS630感染恶意软件的概率相关的信息(例如,所确定的概率值、健康系统指示符或受感染系统指示符等等)来更新。
在714,后端系统620确定PAS 630感染恶意软件的概率是否增加。在至少一个实施例中,该确定包括确定该概率是否已经到达或超过预定阈值。如果已经到达或超过该预定阈值,则在716,后端系统620可基于策略采取行动(例如,提醒用户、隔离设备、禁用到设备的网络连通性等等)。此外,该预定阈值可能不是静态的。例如,该阈值可相对于上下文(例如,应用是否是已知的、应用是否涉及机密数据、该概率是否先前增加——即使其未到达该预定阈值,等等)。如果尚未达到或超过预定阈值,如在716所确定的,则流程可返回702,其中后端系统620可基于预定义的标准选择另一个基因程序并且可继续监控PAS 630。
在至少一个其他实施例中,在714的确定包括确定该概率是否已经相对于预期概率或者相对于先前确定的概率增加。如果该概率尚未增加,则流程可返回702,其中后端系统620可基于预定义的标准选择另一个基因程序并且可继续监控PAS 630。然而,如果该概率已经增加,则在716,可基于策略从一组预定义的行动采取一个或多个行动(例如,提醒用户、记录信息、隔离设备等等)。在一个示例中,所采取的该一个或多个行动可包括为PAS 630选择附加的、潜在地更有针对性的基因程序。在至少一个实施例中,该组预定义的行动中的行动可随着概率随着时间增加而在严重性上增加。
出于说明性目的,考虑示例场景。在该示例场景中,当概率初始地针对PAS增加时,则在716采取的行动可包括在记录数据库或其他报告机制中记录所增加的概率。当感染概率再次增加时,则所采取的行动可包括向适当的用户(例如,IT安全管理员)发送提醒。当感染概率又再次增加时,则所采取的行动可包括禁止PAS访问网络中的某些安全敏感的服务器(例如,金融服务器、工程服务器、法律服务器等等)。在实施例中,每当感染概率增加时可继续采取行动。
在716采取行动之后,后端系统620可确定是否仍可监控PAS630。如果所采取的行动阻止监控PAS 630(例如,行动禁用到PAS 630的网络连接),则流程可结束。然而,如果在716采取没那么严重的行动(例如,提醒、记录等等),则流程可在702继续,其中后端系统620可基于预定义的标准选择另一个基因程序并且可继续监控PAS 630。
图8A-8B是示出根据实施例与基于熵预测检测恶意软件相关联的活动的简化流程图。图8A和图8B示出可由PAS(诸如PAS 630)的各个组件执行的活动。一组操作可对应于图8A的活动。在实施例中,PAS 630的代理633和熵编码器636可执行至少某些操作。
在802,PAS接收基因程序。在804,PAS可执行该基因程序持续与该基因程序相关联的特定时间跨度。在一个示例中,可用该基因程序接收该特定时间跨度。在另一个示例中,PAS可具有可用于不具有相关联的时间跨度的基因程序的默认时间跨度。
在806至810,PAS观察在PAS上发生的事件的上下文信息。这些观察活动可连续地发生在PAS上,而不管该基因程序是否正在运行。然而,806至810表示可在与基因程序相关联的特定时间跨度期间发生的观察活动。在806,PAS检测事件。事件可以是例如网络通信、应用启动、键盘按键等等。PAS可然后标识事件的上下文信息。在810,上下文信息可存储在例如上下文信息储存库633中、存储在高速缓存中等等。针对事件的上下文信息可被结合以便产生上下文信息流。在实施例中,上下文信息流可被在时间跨度期间馈送给基因程序。基因程序可基于基因程序的特定逻辑操纵这些流。
在812,PAS确定该特定时间跨度是否已经期满。如果该特定时间跨度尚未期满,则流程在806至810继续以便PAS继续观察其上下文信息。然而,如果该特定时间跨度已经期满,则在814,基因程序可结束并且来自基因程序的输出流可被馈送到熵编码器。熵编码器可从输出流产生压缩率或熵率。在816,PAS向后端系统提供熵率。
在另一个实施例中,可直到相关联的时间跨度已经期满之后才执行基因程序。在时间跨度期间,上下文信息的所生成的流可存储在例如上下文信息储存库633中、存储在高速缓存中等等。一旦时间跨度期满,相关联的基因程序可被执行并且处理在时间跨度期间所生成的上下文信息的所有流。基因程序可生成可被馈送到熵编码器中以便产生熵率的输出流。熵率可被提供给后端系统。
另一个基因程序及其相关联的时间跨度可用于一旦与先前所选择的基因程序相关联的时间跨度期满就继续监控PAS。在至少某些实施例中,时间跨度可重叠。
图8B是示出根据实施例与基于熵预测检测恶意软件相关联的活动的简化流程图。一组操作可对应于图8B的活动。在实施例中,PAS 630的基因程序224(诸如基因程序6341-n中的任一个)可执行至少某些操作。
在820,在PAS上执行的基因程序获得与PAS上的事件相关的上下文信息的一个或多个流。在822,基因程序可根据基因程序的特定逻辑操纵上下文信息的这些流。在824,基因程序可生成所操纵的上下文信息的输出流。
在某些实施例中,上下文信息的这些流可在时间跨度期间在基因程序正在执行的同时被连续地馈送到基因程序。当接收到这些流时,基因程序可根据基因程序的逻辑操纵这些流。在其他实施例中,可存储这些流(例如,存储在上下文信息储存库633或高速缓存中)并且一旦时间跨度已经期满,基因程序就可获得这些流。在本实施例中,基因程序可根据基因程序的逻辑一次性地操纵这些流。
图9至图11是可根据在此公开的实施例使用的示例性计算机架构的框图。还可使用用于处理器、移动设备和计算设备以及网络元件的现有技术中已知的其他计算机架构设计。通常,用于在此公开的实施例的合适的计算机架构可包括但不限于在图9至图11中示出的配置。
图9是根据实施例的处理器的示例图解。处理器900分别是后端系统220、PAS 230、后端系统620和PAS 630的处理器228、238、628和638的一个示例实施例。
处理器900可以是任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器、单核处理器或用于执行代码的其他设备)。尽管在图9中示出了仅一个处理器900,处理元件可替代地包括图9中示出的多于一个处理器900。处理器900可以是单线程核,或者针对至少一个实施例,处理器900可以是多线程的,因为其可包括每核多于一个硬件线程上下文(或者“逻辑处理器”)。
图9示出根据实施例与处理器900耦合的存储器902。存储器902分别是后端系统220、PAS 230、后端系统620和PAS 630的存储器元件229、239、629和639的一个示例实施例。存储器902可以是本领域技术人员已知的或者以其他方式可获得的各种各样的存储器中的任一种(包括各层存储器层级)。这种存储器元件可包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)的逻辑块、可擦可编程只读存储器(EPROM)和电可擦可编程ROM(EEPROM)。
处理器900可执行与在此详细描述的分布式恶意软件检测操作相关联的任何类型的指令。通常,处理器900可将元件或物件(例如,数据)从一个状态或事物变换为另一种状态或事物。
可以是有待由处理器900执行的一个或多个指令的代理904可存储在存储器902中。当适当时并且基于特定需要,代码904可包括各种模块(例如,GP创建模块222、基因程序224、比较模块226、代理232、更新模块234、GP选择模块621、GP创建模块622、熵率比较模块624、代理632、基因程序6341-n、熵编码器636)的可存储在软件、硬件、固件或其任何合适的组合或存储在任何其他内部或外部组件、设备、元件或对象中的指令。在一个示例中,处理器900可遵循代码904所指示的指令程序序列。每个指令进入前端逻辑906并且由一个或多个解码器908处理。解码器可生成微操作(诸如处于预定义格式的固定宽度微操作)作为其输出,或者可生成反映源代码指令的其他指令、微指令、或控制信号。前端逻辑906还包括寄存器重命名逻辑910和调度逻辑912,其通常分配资源并且对与用于执行的指令相对应的操作进行排队。
处理器900还可包括具有一组执行单元9161至916m的执行逻辑914。某些实施例可包括专用于特定功能或功能组的多个执行单元。其他实施例可包括仅一个执行单元或可执行具体功能的一个执行单元。执行逻辑914执行由代码指令指定的操作。
在代码指令指定的操作执行完成之后,后端逻辑260可引退代码904的指令。在一个实施例中,处理器900允许乱序执行但要求指令的顺序引退。引退逻辑920可采取各种已知的形式(例如,重排序缓冲器等等)。以此方式,处理器900在代码904的执行期间被转换,至少在由解码生成的输出、寄存器重命名逻辑910所利用的硬件寄存器和表和执行逻辑914所修改的任何寄存器(未示出)方面。
尽管未在图9中示出,处理元件可包括具有处理器900的其他片上元件。例如,处理元件可包括存储器控制逻辑以及处理器900。处理元件可包括I/O控制逻辑和/或可包括集成有存储器控制逻辑器的I/O控制逻辑。处理元件还可包括一个或多个高速缓存。在某些实施例中,非易失性存储器(诸如闪存或熔丝)也可包括在具有处理器900的芯片上。
现在转向图10,示出了示例移动设备1000的框图。移动设备1000是移动设备(诸如网络环境100的端点设备150)的示例。潜在受影响系统(诸如PAS 230和PAS 630)可被配置为移动设备。在实施例中,移动设备1000作为无线通信信号的传输器和接收器操作。特定地,在一个示例中,移动设备1000可以能够传输和接收蜂窝网络语音和数据移动服务两者。移动服务包括诸如全互联网访问、可下载和流式传输视频内容以及语音电话通信的功能。
移动设备1000可对应于常规的无线或蜂窝便携式电话,诸如能够接收“3G”或“第三代”蜂窝服务的手机。在另一个示例中,移动设备1000可以能够传输并接收“4G”移动服务或任何其他移动服务。
可与移动设备1000相对应的设备的示例包括蜂窝电话手机、智能电话和平板计算机(诸如能够进行互联网访问、电子邮件和即时消息传送通信的那些)以及便携式视频接收和显示设备以及支持电话服务的能力。设想的是引用本说明书的本领域技术人员将容易地理解适合用于实现在此描述的本公开的不同方面的现代智能电话、平板计算机和电话手机设备和系统的性质。这样,在图10中示出的移动设备1000的架构被呈现在相对高的级别。无论如何,设想的是可对这种架构作出修改和替代并且这些将对读者明显,诸如在本描述的范围内设想的这种修改和替代方案。
在本公开的方面中,移动设备1000包括连接到天线并且与天线通信的收发器1002。收发器1002可以是射频收发器。同样,可经由收发器1002传输和接收无线信号。收发器1002可被构造为例如包括模拟和数字射频(RF)‘前端’功能、用于如果需要的话经由中间频率(IF)、模拟和数字过滤将RF信号转换为基带频率的电路以及用于在现代蜂窝频率上执行无线通信的其他常规电路,例如,适用于3G或4G通信的那些。收发器1002连接到处理器1004,该处理器可执行在基带频率有待通信的信号和有待接收的信号的批量数字信号处理。处理器1004可向显示元件1008提供图形接口以便向用户显示文本、图形和视频。处理器1004可包括参照图9的处理器900示出和描述的实施例。
在本公开的方面中,处理器1004可以是可执行任何类型的指令以便实现移动设备上的分布式恶意软件检测操作的处理器,如在此详细描述的。处理器1004还可耦合到存储器元件1006以便存储有待用于实现分布式恶意软件检测操作的信息。在示例实施例中,移动设备1000可设计有片上系统(SoC)架构,在至少某些实施例中,该架构将移动设备的许多或全部组件集成到单个芯片中。
在本公开的方面中,移动设备1000的存储器元件1006还可包括恶意软件检测模块1012。恶意软件检测模块1012可包括在此描述的恶意软件检测系统的实施例中使用的模块和数据。例如,当移动设备1000被实现为恶意软件检测系统200中的潜在受影响系统(例如,PAS 230)时,恶意软件检测模块1012可包括但不限于GP创建模块222、基因程序224、比较模块226和上下文信息储存库。在另一个示例中,当移动设备1000被实现为恶意软件检测系统600中的潜在受影响系统(例如,PAS 630)时,恶意软件检测模块1012可包括但不限于GP创建模块632、基因程序634i_n、熵编码器636和上下文信息储存库633。
图11示出根据实施例的安排在点到点(PtP)配置中的计算系统1100。具体而言,图11示出其中处理器、存储器和输入输出设备通过多个点到点接口互连的系统。通常,可用与计算系统1100相同或相似的方式配置网络环境100的计算设备(例如,端点设备、服务器、网络元件元件)中的一个或多个。在至少一个实施例中,可用与示例性计算系统1100相同或相似的方式配置在此示出和描述的后端系统220、PAS 230、后端系统620、PAS 630中的一个或多个。
处理器1170和1180还可各自包括集成存储器控制器逻辑(MC)1172和1182以便与分别与存储器元件1110和1112通信。在替代实施例中,存储器控制器逻辑1172和1182是与处理器1170和1180分离的离散逻辑。存储器元件1132和/或1134可存储有待由处理器1170和1180用于实现与在此列出的潜在受影响系统的分布式恶意软件检测相关联的操作的各种数据。
处理器1170和1180可以是任何类型的处理器,诸如参照图9的处理器900、图2的处理器228和238以及图6的处理器628和638所讨论的那些。处理器1170和1180可使用点到点接口电路1178和1188经由点到点(PtP)接口1150交换数据。处理器1170和1180可各自使用点到点接口电路1176、1186、1194和1198经由单独的点到点接口1152和1154与控制逻辑1190交换数据。控制逻辑1190还可经由高性能图形接口1139使用接口电路1192(其可以是PtP接口电路)与高性能图形电路1138交换数据。在替代实施例中,图11中示出的任何或全部PtP互连可被实现为多点总线而不是PtP链路。
控制逻辑1190可经由接口电路1196与总线1120通信。总线1120具有通过其通信的一个或多个设备,诸如总线桥1118和I/O设备1116。经由总线1110,总线桥1118可与其他设备(诸如键盘/鼠标1112(或其他输入设备,诸如例如触摸屏、轨迹球、操纵杆等等))、通信设备1126(诸如调制解调器、网络接口设备、或其他类型的可通过计算机网络1160通信的通信设备)、音频I/O设备1114、数据存储设备1128等等)通信。数据存储设备1128可存储可由处理器1170和/或1180执行的代码1130。在替代实施例中,总线架构的任何部分用一个或多个PtP链路实现。
处理器1170和存储器元件1132、1134表示包括具有各种执行速度和功耗的单核或多核处理器的安排的广泛范围的处理器、存储器元件和其他存储器安排以及各种架构(例如,具有一个或多个高速缓存级别)和各种类型(例如,动态随机存取、FLASH等等)的存储器。
图11中描绘的计算机系统是可用于实现在此讨论的各种实施例的计算系统的实施例的示意图。将认识到在图11中描绘的系统的各个组件可根据在此提供的各实施例组合在片上系统(SoC)架构中或组合在能够实现分布式恶意软件检测的任何其他合适的配置。此外,任何这些组件可被与在此示出或描述的不同地分区以便包括仍能够实现根据本公开的分布式恶意软件检测的更多或更少的集成电路。
关于与恶意软件检测系统200和600相关联的内部结构,后端系统220和620以及潜在受影响系统230和630各自可包括用于存储有待在本文列出的操作中使用的数据和信息(包括指令和/或逻辑)的易失性和/或非易失性存储器元件(例如,存储器元件229、239、629、639)。当适当时并且基于特定需要,后端系统220和620以及潜在受影响系统230和630各自可将数据和信息保持在任何合适的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦PROM(EPROM)、电EPROM(EEPROM)、盘驱动器、软盘、致密盘ROM(CD-ROM)、数字通用盘(DVD)、闪存、磁光盘、专用集成电路(ASIC)或其他类型的能够存储数据和信息的非易失性机器可读存储介质)、软件、硬件、固件中或保持在任何其他合适的组件、设备、元件或对象中。在此讨论的任何存储器项目(例如,存储器元件229、239、629、639、902、1006、1132、1134、1128)应当被解释为包含在广义术语“存储器元件”中。而且,可在任何储存库、数据库、寄存器、队列、表、高速缓存、控制列表或其他存储结构中提供在恶意软件检测系统200和600中使用、跟踪、发送或接收的信息,可在任何合适的时间帧引用所有这些。任何这种存储选项(例如,上下文信息储存库233、上下文信息储存库633、GP程序储存库623、设备历史储存库625、健康上下文储存库626和受感染上下文储存库627)也可包括在如在此所使用的广义术语“存储器元件”中。
在示例实现方式中,恶意软件检测系统200和600的计算设备(诸如后端系统220和620以及潜在受影响系统230和630)可包括软件模块(例如,GP创建模块222和622、基因程序224和634i_n、比较模块226、代理232和632、更新模块234、GP选择模块621、熵率比较模块624、熵编码器636)以便实现或以便培育在此列出的操作。这些模块可以任何适当的方式进行合适地组合或分区,其可基于特定的配置和/或供应需要。在某些实施例中,这种操作中的一个或多个可由硬件和/或固件执行、在这些元件外部实现、或包括在某个其他计算设备中以便实现所预期的功能。这些元件还可包括可与其他计算设备协调以便实现在此列出的操作的软件(或往复式软件)。
此外,后端系统220和620以及潜在受影响系统230和630各自可包括可执行软件或算法以便执行如在此所讨论的操作的处理器(例如,处理器228、238、628、638)。处理器可执行与数据相关联的任何类型的指令以便实现在此详细描述的操作。在一个示例中,处理器可将元件或物件(例如,数据)从一个状态或事物变换为另一种状态或事物。在另一个示例中,在此列出的活动可用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且在此标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM或EEPROM)或可包括数字逻辑、软件、代码、电子指令或其任何合适的组合的ASIC。在此描述的任何可能的处理元件、模块和机器应当被解释为包含在广义术语“处理器”中。
注意,通过在此提供的示例,可针对两个、三个或更多个计算设备描述交互。然而,已经仅为了清晰性和示例的目的完成了这一动作。在某些情况下,可能更容易的是仅通过引用有限数量的计算设备描述给定流程集合的功能中的一个或多个。应当认识到恶意软件检测系统200和600及其教导是容易可扩展的并且可容纳大量的组件以及更复杂/精细的安排和配置。因此,所提供的示例不应当限制范围或抑制恶意软件检测系统200的广泛教导,因为其可能应用于非常大量的其他架构。
还重要的是注意前述流程图和交互图(即,图3至图5和图7至图8)中的操作仅示出可由恶意软件检测系统200和600或在其内执行的可能的相关场景和模式中的一些。当合适时可删除或移除这些操作中的某些,或者可相当地修改或改变这些操作而不背离本公开的范围。此外,这些操作中的多个操作已经被描述为与一个或多个附加操作并发地或并行地执行。然而,可相当地更改这些操作的定时。已经为示例和讨论的目的提供了前述操作流。恶意软件检测系统200和600提供了大量的灵活性,因为可提供任何合适的安排、时序、配置和定时机制而不背离本公开的教导。
如在此所使用的,除非明确地相反地陈述,短语“至少一个”的使用是指所列出的元件、条件或活动的任何组合。例如,“X、Y和Z中的至少一个”旨在指代以下各项中的任何一项:1)X但是非Y和非Z;2)Y但是非X和非Z;3)Z但是非X和非Y;4)X和Y但是非Z;5)X和Z但是非Y;6)Y和Z但是非X;或7)X、Y和Z。此外,除非明确地相反地陈述,术语“第一”、“第二”、“第三”等等旨在区分它们所修饰的特定名词(例如,元件、条件、模块、活动、操作、权利要求元素等等)但是不旨在指示所修饰的名词的任何类型的顺序、排序、重要性、时间顺序或层级。例如,“第一X”和“第二X”旨在指定无需由这两个元件的任何顺序、排序、重要性、时间顺序或层级限制的两个分离的X元件。
尽管已经详细地参照特定安排和配置描述了本公开,可显著地改变这些示例配置和安排而不背离本公开的范围。此外,尽管已经参照促成恶意软件检测过程的特定元件和操作示出了恶意软件检测系统200和600,这些元件和操作可由实现恶意软件检测系统200和/或600的预期功能的任何合适的架构、协议和/或过程替代。
其他注释和示例
注意,以上描述的装置和系统的所有可选特征还可参照在此描述的方法或过程实现并且示例中的细节可在一个或多个实施例中的任何地方使用。
示例E1是其上存储有用于检测恶意软件的指令的至少一种机器可独存出,当由至少一个处理器执行时,这些指令致使该处理器:接收潜在受影响系统的熵率;将所接收的熵率与平均熵率进行比较;以及确定该潜在受影响系统受恶意软件感染的概率,该概率至少部分地基于该比较的结果。
在示例E2中,示例E1所述的主题可任选地包括所接收的熵率至少部分地由基因程序生成。
在示例E3中,示例E2所述的主题可任选地包括该平均熵率是一个或多个对应的计算设备的一个或多个熵率的平均值,其中该一个或多个熵率至少部分地由该基因程序生成。
在示例E4中,示例E3所述的主题可任选地包括该计算设备未受恶意软件感染。
在示例E5中,示例E2至E4中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器:从基因程序储存库选择该基因程序;以及向该潜在受影响系统提供该基因程序。
在示例E6中,示例E2至E5中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器:提供与该基因程序相关联的指定时间跨度,其中该指定时间段指示观察该潜在受影响系统上的上下文信息的时间量。
在示例E7中,示例E2至E6中任一项所述的主题可任选地包括该比较的结果包括所接收的熵率是与受感染系统还是与健康系统相关的指示符。
在示例E8中,示例E7所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器:评估该指示符与一个或多个其他指示符,该一个或多个其他指示符是先前确定的。
在示例E9中,示例E8所述的主题可任选地包括该一个或多个其他指示符是至少部分地基于该潜在受影响系统的一个或多个其他对应的熵率确定的,其中所接收的熵率是至少部分地由基因程序生成的,并且其中该一个或多个其他熵率是至少部分地由一个或多个其他对应的基因程序生成的。
在示例E10中,示例E1至E9中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器至少部分地基于该感染概率采取行动。
在示例E11中,示例E10所述的主题可任选地包括如果该感染概率到达预定阈值则采取该行动。
在示例E12中,示例E10所述的主题可任选地包括如果该感染概率相对于先前的感染概率或预期的感染概率增加,则采取动作。
在示例E13中,示例E10至E12中任一项所述的主题可任选地包括该行动是当该概率增加时采取的一组预定的行动中的一个。
在示例E14中,示例E1至E13中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器:从基因程序储存库选择一个或多个基因程序,其中该一个或多个基因程序的该选择至少部分地基于该感染概率;以及向该潜在受影响系统提供所选择的一个或多个基因程序。
在示例E15中,示例E14所述的主题可任选地包括该基因程序中的至少一个被配置成用于检测特定类型的恶意软件。
示例E16是一种检测恶意软件的系统,该系统包括:至少一个处理器;至少一个存储器元件;以及熵率比较模块,被配置成用于:接收网络环境中的潜在受影响系统的熵率;将所接收的熵率与平均熵率进行比较;以及确定该潜在受影响系统受恶意软件感染的概率,该概率至少部分地基于该比较的结果。
在示例E17中,示例E16所述的主题可任选地包括所接收的熵率至少部分地由基因程序生成。
在示例E18中,示例E17所述的主题可任选地包括该系统被进一步配置成用于确定该平均熵率,其中该平均熵率是一个或多个对应的计算设备的一个或多个熵率的平均值,其中该一个或多个熵率至少部分地由该基因程序生成。
在示例E19中,示例E18所述的主题可任选地包括该计算设备未受恶意软件感染。
在示例E20中,示例E17至E19中任一项所述的主题可任选地包括该系统进一步包括基因程序选择模块,被配置成用于:从基因程序储存库选择该基因程序;以及向该潜在受影响系统提供该基因程序。
在示例E21中,示例E20所述的主题可任选地包括该基因程序选择模块被进一步配置成用于:提供与该基因程序相关联的指定时间跨度,其中该指定时间跨度指示观察该潜在受影响系统上的上下文信息的时间量。
在示例E22中,示例E16至E21中任一项所述的主题可任选地包括该比较的结果包括所接收的熵率是与受感染系统还是与健康系统相关的指示符。
在示例E23中,示例E22所述的主题可任选地包括该熵率比较模块被进一步配置成用于:评估该指示符与一个或多个其他指示符,该一个或多个其他指示符是先前确定的。
在示例E24中,示例E23所述的主题可任选地包括该一个或多个其他指示符是至少部分地基于该潜在受影响系统的一个或多个其他对应的熵率确定的,其中所接收的熵率是至少部分地由基因程序生成的,并且其中该一个或多个其他熵率是至少部分地由一个或多个其他对应的基因程序生成的。
在示例E25中,示例E16至E24中任一项所述的主题可任选地包括该系统被进一步配置成用于至少部分地基于该感染概率采取行动。
在示例E26中,示例E25所述的主题可任选地包括如果该感染概率到达预定阈值则采取该行动。
在示例E27中,示例E25所述的主题可任选地包括如果该感染概率相对于先前的感染概率或预期的感染概率增加,则采取动作。
在示例E28中,示例E25至E27中任一项所述的主题可任选地包括该行动是当该概率增加时采取的一组预定的行动中的一个。
在示例E29中,示例E20至E28中任一项所述的主题可任选地包括当、该基因程序选择模块被进一步配置成用于:从基因程序储存库选择一个或多个基因程序,其中该一个或多个基因程序的该选择至少部分地基于该感染概率;以及向该潜在受影响系统提供所选择的一个或多个基因程序。
在示例E30中,示例E29所述的主题可任选地包括该基因程序中的至少一个被配置成用于检测特定类型的恶意软件。
示例E31是一种检测恶意软件的方法,该方法包括:接收潜在受影响系统的熵率;将所接收的熵率与平均熵率进行比较;以及确定该潜在受影响系统受恶意软件感染的概率,该概率至少部分地基于该比较的结果。
在示例E32中,示例E31所述的主题可任选地包括所接收的熵率至少部分地由基因程序生成。
在示例E33中,示例E32所述的主题可任选地包括该平均熵率是一个或多个对应的计算设备的一个或多个熵率的平均值,其中该一个或多个熵率至少部分地由该基因程序生成。
在示例E34中,示例E33所述的主题可任选地包括该计算设备未受恶意软件感染。
在示例E35中,示例E32至E34中任一项所述的主题可任选地包括:从基因程序储存库选择该基因程序;以及向该潜在受影响系统提供该基因程序。
在示例E36中,示例E32至E35中任一项所述的主题可任选地包括提供与该基因程序相关联的指定时间跨度,其中该指定时间跨度指示观察该潜在受影响系统上的上下文信息的时间量。
在示例E37中,示例E31至E36中任一项所述的主题可任选地包括该比较的结果包括所接收的熵率是与受感染系统还是与健康系统相关的指示符。
在示例E38中,示例E37所述的主题可任选地包括评估该指示符与一个或多个其他指示符,该一个或多个其他指示符是先前确定的。
在示例E39中,示例E38所述的主题可任选地包括该一个或多个其他指示符是至少部分地基于该潜在受影响系统的一个或多个其他对应的熵率确定的,其中所接收的熵率是至少部分地由基因程序生成的,并且其中该一个或多个其他熵率是至少部分地由一个或多个其他对应的基因程序生成的。
在示例E40中,示例E31至E39中任一项所述的主题可任选地包括至少部分地基于该感染概率采取行动。
在示例E41中,示例E20所述的主题可任选地包括如果该感染概率到达预定阈值则采取该行动。
在示例E42中,示例E40所述的主题可任选地包括如果该感染概率相对于先前的感染概率或预期的感染概率增加,则采取动作。
在示例E43中,示例E40至E42中任一项所述的主题可任选地包括该行动是当该概率增加时采取的一组预定的行动中的一个。
在示例E44中,示例E31至E43中任一项所述的主题可任选地包括从基因程序储存库选择一个或多个基因程序,其中该一个或多个基因程序的该选择至少部分地基于该感染概率;以及向该潜在受影响系统提供所选择的一个或多个基因程序。
在示例E45中,示例E44所述的主题可任选地包括该基因程序中的至少一个被配置成用于检测特定类型的恶意软件。
示例E46是一种包括用于执行如示例E31至E45中任一项所述的方法的装置的系统。
在示例E47中,示例E46所述的主题可任选地包括用于执行该方法的该装置包括至少一个处理器和至少一个存储器元件。
在示例E48中,示例E47所述的主题可任选地包括该存储器元件包括机器可读指令,当该指令被执行时,致使该系统执行示例E31至E45中任一项所述的方法。
在示例E49中,示例E46至E48中任一项所述的主题可任选地包括该系统是计算设备。
示例E50是至少一种包括指令的计算机可读介质,当被执行时,该指令如在前述示例中E1至E49中任一项中所描述的那样实现一种方法或实现一种系统。
示例E51包括其上存储有用于检测恶意软件的指令的至少一种机器可读存储介质,当由至少一个处理器执行时,这些指令致使该处理器:针对一个或多个事件生成潜在受影响系统的上下文信息的一个或多个流;至少部分地基于该一个或多个流执行基因程序以便产生受操纵上下文信息的输出流;向该输出流应用熵编码以便生成熵率;以及将该熵率通信到后端系统以便确定该潜在受影响系统是否是受感染系统。
在示例E52中,示例E51所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器检测该潜在受影响系统上的一个或多个事件,其中该一个或多个流各自对应于该事件中的一个不同事件。
在示例E53中,示例E51至E52中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器操纵该一个或多个流以便产生受操纵上下文信息的该输出流。
在示例E54中,示例E53所述的主题可任选地包括该操纵包括执行删除、分类、添加、组合和加密该流中的至少一个流的至少一个上下文元素中的至少一项。
在示例55中,示例E53至E54中任一项所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器接收第二基因程序以便执行,其中该第二基因程序被配置成用于通过操纵一个或多个新流产生新输出流,其中该一个或多个新流的该操纵不同于其他一个或多个流的该操纵。
在示例E56中,示例E55所述的主题可任选地包括当该处理器执行时,该指令进一步致使该处理器接收指示观察该上下文信息以便提供给该基因程序的时间量的第一时间跨度。
在示例E57中,示例E56所述的主题可任选地包括当该处理器执行时,该指令进一步致使该处理器接收指示观察该新上下文信息以便提供给该第二基因程序的时间量的第二时间跨度,其中该第二时间跨度在该第一时间跨度期满之前开始。
示例E58是一种系统,包括:至少一个处理器;至少一个存储器元件;以及代理,被配置成用于:针对一个或多个事件生成该系统的上下文信息的一个或多个流;至少部分地基于该一个或多个流执行基因程序以便产生受操纵上下文信息的输出流;向该输出流应用熵编码以便生成熵率;以及将该熵率通信到后端系统以便确定该系统是否是受感染系统。
在示例E59中,示例E58所述的主题可任选地包括该代理被进一步配置成用于检测该系统上的一个或多个事件,其中该一个或多个流各自对应于该事件中的一个不同的事件。
在示例E60中,示例E58至E59中任一项所述的主题可任选地包括该基因程序被进一步配置成用于操纵该一个或多个流以便产生受操纵上下文信息的该输出流。
在示例61中,示例E60所述的主题可任选地包括该操纵包括执行删除、分类、添加、组合和加密该流中的至少一个流的至少一个上下文元素中的至少一项。
在示例E62中,示例E60至E61中任一项所述的主题可任选地包括该代理被进一步配置成用于接收第二基因程序以便执行,其中该第二基因程序被配置成用于通过操纵一个或多个新流产生新输出流,其中对该一个或多个新流的操纵不同于对其他一个或多个流的操纵。
在示例E63中,示例E62所述的主题可任选地包括该代理被进一步配置成用于接收指示观察该上下文信息以便提供该基因程序的时间量的第一时间跨度。
在示例E64中,示例E63所述的主题可任选地包括该代理被进一步配置成用于接收指示观察该新上下文信息以便提供给该第二基因程序的时间量的第二时间跨度,其中该第二时间跨度在该第一时间跨度期满之前开始。
示例E65是一种用于检测恶意软件的方法,包括:针对一个或多个事件生成潜在受影响系统的上下文信息的一个或多个流;至少部分地基于该一个或多个流执行基因程序以便产生受操纵上下文信息的输出流;向该输出流应用熵编码以便生成熵率;以及将该熵率通信到后端系统以便确定该系统是否是受感染系统。
在示例E66中,示例E65所述的主题可任选地包括在该潜在受影响系统上检测一个或多个事件,其中该一个或多个流各自与该事件中的一个不同的事件相对应。
在示例E67中,示例E65至E66中任一项所述的主题可任选地包括操纵该一个或多个流以便产生受操纵上下文信息的该输出流。
在示例E68中,示例E67所述的主题可任选地包括该操纵包括执行删除、分类、添加、组合和加密该流中的至少一个流的至少一个上下文元素中的至少一项。
在示例E69中,示例E67至E68中任一项所述的主题可任选地包括接收第二基因程序以便执行,其中该第二基因程序被配置成用于通过操纵一个或多个新流产生新输出流,其中对该一个或多个新流的操纵不同于对其他一个或多个流的操纵。
在示例E70中,示例E69所述的主题可任选地包括接收指示观察该上下文信息以便提供给该基因程序的时间量的第一时间跨度。
在示例E71中,示例E70所述的主题可任选地包括接收指示观察该新上下文信息以便提供给该第二基因程序的时间量的第二时间跨度,其中该第二时间跨度在该第一时间跨度期满之前开始。
示例E72是一种包括用于执行如示例E65至E71中任一项所述的方法的装置的系统。
在示例E73中,示例E72所述的主题可任选地包括用于执行该方法的该装置包括至少一个处理器和至少一个存储器元件。
在示例E74中,示例E73所述的主题可任选地包括该存储器元件包括机器可读指令,当该指令被执行时,致使该系统执行示例E65至E71中任一项所述的方法。
示例E75是至少一种包括指令的机器可读存储介质,当被执行时,该指令如在前述示例中任一项中所描述的那样实现一种方法或实现一种系统。
示例ET1是其上具有用于检测恶意软件的指令的至少一种机器可读存储介质,当被至少一个处理器执行时,该指令致使该处理器:接收与潜在受影响系统有关的上下文信息;至少部分地基于所接收的上下文信息创建正常流量预测;将所观察的网络流量与该正常流量预测进行比较;以及至少部分地基于该比较采取行动。
在示例T2中,示例T1所述的主题可任选地包括如果所观察的网络流量不在该正常流量预测的可接受的偏离范围之内则采取该行动。
在示例T3中,示例T2所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的类型。
在示例T4中,示例T2至T3中任一项所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的量值。
在示例T5中,示例T1所述的主题可任选地包括所采取的该行动至少部分地基于所观察的网络流量与该正常流量预测的偏离程度。
在示例T6中,示例T5所述的主题可任选地包括该偏离程度至少部分地基于网络流量的类型。
在示例T7中,示例T5至T6所述的主题可任选地包括该偏离程度至少部分地基于网络流量的量值。
在示例T8中,示例T1至T7所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器:至少部分地基于先前所接收的上下文信息的一个或多个实例和一个或多个先前所观察的网络流量模式创建基因程序,其中该基因程序被配置成用于创建该预测。
在示例T9中,示例T8所述的主题可任选地包括当由该处理器执行时,该指令进一步致使该处理器如果该网络流量指示从该正常流量预测的逐渐变化则更新该基因程序。
示例ET10是一种用于检测恶意软件的系统,该系统包括:至少一个处理器;至少一个存储器元件;以及比较模块,被配置成用于:接收与潜在受影响系统有关的上下文信息;至少部分地基于所接收的上下文信息创建正常流量预测;将所观察的网络流量与该正常流量预测进行比较;以及至少部分地基于该比较采取行动。
在示例T11中,示例T10所述的主题可任选地包括如果所观察的网络流量不在该正常流量预测的可接受的偏离范围之内则采取该行动。
在示例T12中,示例T11所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的类型。
在示例T13中,示例T11至T12中任一项所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的量值。
在示例T14中,示例T10所述的主题可任选地包括所采取的该行动至少部分地基于所观察的网络流量与该正常流量预测的偏离程度。
在示例T15中,示例T14所述的主题可任选地包括该偏离程度至少部分地基于网络流量的类型。
在示例T16中,示例T14至T15中任一项所述的主题可任选地包括该偏离程度至少部分地基于网络流量的量值。
在示例T17中,示例T10至T16所述的主题可任选地包括基因程序创建模块,被配置成用于至少部分地基于先前所接收的上下文信息的一个或多个实例和一个或多个先前所观察的网络流量模式创建基因程序,其中该基因程序被配置成用于创建该预测。
在示例T18中,示例T17所述的主题可任选地包括该基因程序创建模块被进一步配置成用于如果该网络流量指示从该正常流量预测的逐渐变化则更新该基因程序。
示例T19是一种用于检测恶意软件的方法,该方法包括:接收与潜在受影响系统有关的上下文信息;至少部分地基于所接收的上下文信息创建正常流量预测;将所观察的网络流量与该正常流量预测进行比较;以及至少部分地基于该比较采取行动。
在示例T20中,示例T19所述的主题可任选地包括如果所观察的网络流量不在该正常流量预测的可接受的偏离范围之内则采取该行动。
在示例T21中,示例T20所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的类型。
在示例T22中,示例T20至T21中任一项所述的主题可任选地包括该可接受的偏离范围至少部分地基于网络流量的量值
在示例T23中,示例T19所述的主题可任选地包括所采取的该行动至少部分地基于所观察的网络流量与该正常流量预测的偏离程度。
在示例T24中,示例T23所述的主题可任选地包括该偏离程度至少部分地基于网络流量的类型。
在示例T25中,示例T23至T24中任一项所述的主题可任选地包括该偏离程度至少部分地基于网络流量的量值。
在示例T26中,示例T19至T25所述的主题可任选地包括至少部分地基于先前所接收的上下文信息的一个或多个实例和一个或多个先前所观察的网络流量模式创建基因程序,其中该基因程序被配置成用于创建该预测。
在示例T27中,示例T26所述的主题可任选地包括如果该网络流量指示从该正常流量预测的逐渐变化则更新该基因程序。
示例T28是一种包括用于执行如示例T19至T27中任一项所述的方法的装置的系统。
在示例T29中,示例T28所述的主题可任选地包括用于执行该方法的该装置包括至少一个处理器和至少一个存储器元件。
在示T30中,示例T29所述的主题可任选地包括该存储器元件包括机器可读指令,当该指令被执行时,致使该系统执行示例T19至T27中任一项所述的方法。
示例T31是至少一种包括指令的计算机可读介质,当该指令被执行时,如在前述示例中T1至T30中任一项中所描述的那样实现一种方法或实现一种系统。
Claims (27)
1.至少一种其上存储有用于检测恶意软件的指令的机器可读存储介质,当由至少一个处理器执行时,所述指令致使所述处理器:
接收潜在受影响系统的熵率;
将所接收的熵率与平均熵率进行比较;以及
确定所述潜在受影响系统受恶意软件感染的概率,所述概率至少部分地基于所述比较的结果。
2.如权利要求1所述的介质,其特征在于,所接收的熵率至少部分地由基因程序生成。
3.如权利要求2所述的介质,其特征在于,所述平均熵率是一个或多个对应的计算设备的一个或多个熵率的平均值,其中所述一个或多个熵率至少部分地由所述基因程序生成。
4.如权利要求3所述的介质,其特征在于,所述计算装置未受恶意软件感染。
5.如权利要求2所述的介质,其特征在于,当由所述处理器执行时,所述指令进一步致使所述处理器:
从基因程序储存库选择所述基因程序;以及
向所述潜在受影响系统提供所述基因程序。
6.如权利要求2所述的介质,其特征在于,当由所述处理器执行时,所述指令进一步致使所述处理器:
提供与所述基因程序相关联的指定时间跨度,其中所述指定时间跨度指示观察所述潜在受影响系统上的上下文信息的时间量。
7.如权利要求1-6中任一项所述的介质,其特征在于,所述比较的结果包括所接收的熵率是与受感染系统还是与健康系统相关的指示符。
8.如权利要求7所述的介质,其特征在于,当由所述处理器执行时,所述指令进一步致使所述处理器:
评估所述指示符与一个或多个其他指示符,所述一个或多个其他指示符是先前确定的。
9.如权利要求8所述的介质,其特征在于,所述一个或多个其他指示符是至少部分地基于所述潜在受影响系统的一个或多个其他对应的熵率确定的,其中所接收的熵率是至少部分地由基因程序生成的,并且其中所述一个或多个其他熵率是至少部分地由一个或多个其他对应的基因程序生成的。
10.如权利要求1-6中任一项所述的介质,其特征在于,如果所述感染概率达到预定阈值,则采取动作。
11.如权利要求1-6中任一项所述的介质,其特征在于,如果所述感染概率相对于先前的感染概率或预期的感染概率增加,则采取动作。
12.如权利要求11所述的介质,其特征在于,所述动作是当所述感染概率增加时所采取的一组预定义动作中的一个。
13.如权利要求1-6中任一项所述的介质,其特征在于,当由所述处理器执行时,所述指进一步致使所述处理器:
从基因程序储存库选择一个或多个基因程序,其中对所述一个或多个基因程序的所述选择至少部分地基于所述感染概率;以及
向所述潜在受影响系统提供所选择的一个或多个基因程序。
14.如权利要求13所述的介质,其特征在于,所述基因程序中的至少一个被配置成用于检测特定类型的恶意软件。
15.一种用于检测恶意软件的系统,所述系统包括:
至少一个处理器;
至少一个存储器元件;以及
熵率比较模块,其被配置成用于:
在网络环境中接收潜在受影响系统的熵率;
将所接收的熵率与平均熵率进行比较;以及
确定所述潜在受影响系统受恶意软件感染的概率,所述概率至少部分地基于所述比较的结果。
16.如权利要求15所述的系统,其特征在于,进一步包括基因程序选择模块,其被配置成用于:
从基因程序储存库选择所述基因程序;以及
向所述潜在受影响系统提供所述基因程序。
17.一种用于检测恶意软件的方法,所述方法包括:
接收潜在受影响系统的熵率;
将所接收的熵率与平均熵率进行比较;以及
确定所述潜在受影响系统受恶意软件感染的概率,所述概率至少部分地基于所述比较的结果。
18.如权利要求17所述的方法,其特征在于,所述平均熵率是一个或多个对应的计算设备的一个或多个熵率的平均值,其中所述一个或多个熵率至少部分地由所述基因程序生成。
19.一种包括用于执行如权利要求17至18中任一项所述的方法的装置的系统。
20.一种用于检测恶意软件的方法,所述方法包括:
针对一个或多个事件生成潜在受影响系统的上下文信息的一个或多个流;
至少部分地基于所述一个或多个流执行基因程序以便产生受操纵上下文信息的输出流;
向所述输出流应用熵编码以便生成熵率;以及
将所述熵率传达到后端系统以便确定所述潜在受影响系统是否是受感染系统。
21.如权利要求20所述的方法,其特征在于,进一步包括:
在所述潜在受影响系统上检测一个或多个事件,其中所述一个或多个流中的每一个与所述事件中的不同事件相对应。
22.如权利要求20所述的方法,其特征在于,进一步包括:
操纵所述一个或多个流以便产生所述受操纵上下文信息的输出流,其中所述操纵包括执行删除、分类、添加、组合和加密所述流中的至少一个流的至少一个上下文元素中的至少一项。
23.如权利要求20所述的方法,其特征在于,进一步包括:
接收第二基因程序以便执行,其中所述第二基因程序被配置成用于通过针对一个或多个事件操纵所述系统的新上下文信息的一个或多个新流来产生新输出流,其中操纵所述一个或多个新流不同于操纵其他一个或多个流。
24.如权利要求23所述的方法,其特征在于,进一步包括:
接收指示观察所述上下文信息以便提供给所述基因程序的时间量的第一时间跨度。
25.如权利要求24所述的介质,其特征在于,进一步包括:
接收指示观察所述新上下文信息以便提供给所述第二基因程序的时间量的第二时间跨度,其中所述第二时间跨度在所述第一时间跨度期满之前开始。
26.一种包括用于执行如权利要求20至25中任一项所述的方法的装置的系统。
27.至少一种包括指令的机器可读存储介质,当所述指令被执行时,所述指令实现如权利要求20至25中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/853,601 | 2013-03-29 | ||
US13/853,601 US9380066B2 (en) | 2013-03-29 | 2013-03-29 | Distributed traffic pattern analysis and entropy prediction for detecting malware in a network environment |
PCT/US2014/032090 WO2014160901A1 (en) | 2013-03-29 | 2014-03-27 | Distributed traffic pattern analysis and entropy prediction for detecting malware in a network environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027135A true CN105027135A (zh) | 2015-11-04 |
CN105027135B CN105027135B (zh) | 2018-09-18 |
Family
ID=51622224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480011241.4A Active CN105027135B (zh) | 2013-03-29 | 2014-03-27 | 用于在网络环境中检测恶意软件的分布式流量模式分析和熵预测 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9380066B2 (zh) |
EP (1) | EP2979220B1 (zh) |
KR (1) | KR101753838B1 (zh) |
CN (1) | CN105027135B (zh) |
WO (1) | WO2014160901A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103236A (zh) * | 2016-02-22 | 2017-08-29 | 中国移动通信集团河北有限公司 | 一种网络防病毒指标优化方法和装置 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US9380066B2 (en) | 2013-03-29 | 2016-06-28 | Intel Corporation | Distributed traffic pattern analysis and entropy prediction for detecting malware in a network environment |
US11457029B2 (en) * | 2013-12-14 | 2022-09-27 | Micro Focus Llc | Log analysis based on user activity volume |
US20150199217A1 (en) * | 2014-01-14 | 2015-07-16 | Cisco Technology, Inc. | Entropy resource allocation management in virtualized environments |
CN103955645B (zh) * | 2014-04-28 | 2017-03-08 | 百度在线网络技术(北京)有限公司 | 恶意进程行为的检测方法、装置及系统 |
US9992225B2 (en) * | 2014-09-12 | 2018-06-05 | Topspin Security Ltd. | System and a method for identifying malware network activity using a decoy environment |
US10171491B2 (en) * | 2014-12-09 | 2019-01-01 | Fortinet, Inc. | Near real-time detection of denial-of-service attacks |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10089099B2 (en) | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10033766B2 (en) | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
US10320814B2 (en) * | 2015-10-02 | 2019-06-11 | Trend Micro Incorporated | Detection of advanced persistent threat attack on a private computer network |
US10027692B2 (en) * | 2016-01-05 | 2018-07-17 | International Business Machines Corporation | Modifying evasive code using correlation analysis |
CN105808639B (zh) * | 2016-02-24 | 2021-02-09 | 平安科技(深圳)有限公司 | 网络访问行为识别方法和装置 |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
JP2018147444A (ja) * | 2017-03-09 | 2018-09-20 | 株式会社日立製作所 | 分析プログラムを実行する計算機システム、及び、分析プログラムの実行を監視する方法 |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10440037B2 (en) * | 2017-03-31 | 2019-10-08 | Mcafee, Llc | Identifying malware-suspect end points through entropy changes in consolidated logs |
US9864956B1 (en) * | 2017-05-01 | 2018-01-09 | SparkCognition, Inc. | Generation and use of trained file classifiers for malware detection |
US10305923B2 (en) | 2017-06-30 | 2019-05-28 | SparkCognition, Inc. | Server-supported malware detection and protection |
US10616252B2 (en) | 2017-06-30 | 2020-04-07 | SparkCognition, Inc. | Automated detection of malware using trained neural network-based file classifiers and machine learning |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10728273B1 (en) * | 2017-07-31 | 2020-07-28 | Verisign, Inc. | Systems, devices, and methods for detecting and mitigating domain name registrations used for malicious behavior |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US10868821B2 (en) * | 2017-12-20 | 2020-12-15 | Sophos Limited | Electronic mail security using a heartbeat |
US10972483B2 (en) | 2017-12-20 | 2021-04-06 | Sophos Limited | Electronic mail security using root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10686807B2 (en) * | 2018-06-12 | 2020-06-16 | International Business Machines Corporation | Intrusion detection system |
US11736498B1 (en) | 2019-08-29 | 2023-08-22 | Trend Micro Incorporated | Stateful detection of cyberattacks |
US11443713B2 (en) * | 2020-01-30 | 2022-09-13 | Apple Inc. | Billboard for context information sharing |
US11562057B2 (en) | 2020-02-05 | 2023-01-24 | Quantum Digital Solutions Corporation | Ecosystem security platforms for enabling data exchange between members of a digital ecosystem using digital genomic data sets |
US11765188B2 (en) * | 2020-12-28 | 2023-09-19 | Mellanox Technologies, Ltd. | Real-time detection of network attacks |
CN112733151A (zh) * | 2021-01-14 | 2021-04-30 | 广东银基信息安全技术有限公司 | 嵌入式设备固件解析方法、装置、介质及电子设备 |
CA3177626A1 (en) * | 2021-02-04 | 2022-08-11 | Quantum Digital Solutions Corporation | Cyphergenics-based ecosystem security platforms |
WO2022169969A1 (en) * | 2021-02-04 | 2022-08-11 | Quantum Digital Solutions Corporation | Cyphergenics-based ecosystem security platforms |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070242771A1 (en) * | 2001-11-09 | 2007-10-18 | Tetsujiro Kondo | Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system |
CN101258479A (zh) * | 2005-06-29 | 2008-09-03 | 波士顿大学理事会 | 全网异常诊断 |
US8069484B2 (en) * | 2007-01-25 | 2011-11-29 | Mandiant Corporation | System and method for determining data entropy to identify malware |
US20120174227A1 (en) * | 2010-12-30 | 2012-07-05 | Kaspersky Lab Zao | System and Method for Detecting Unknown Malware |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426634B2 (en) * | 2003-04-22 | 2008-09-16 | Intruguard Devices, Inc. | Method and apparatus for rate based denial of service attack detection and prevention |
US20060259967A1 (en) * | 2005-05-13 | 2006-11-16 | Microsoft Corporation | Proactively protecting computers in a networking environment from malware |
KR20080066653A (ko) * | 2005-06-29 | 2008-07-16 | 트러스티스 오브 보스턴 유니버시티 | 완전한 네트워크 변칙 진단을 위한 방법 및 장치와 트래픽피쳐 분포를 사용하여 네트워크 변칙들을 검출하고분류하기 위한 방법 |
US7877808B2 (en) | 2005-07-01 | 2011-01-25 | Red Hat, Inc. | Using differential information entropy to detect bugs and security flaws in computer programs |
US20070152854A1 (en) * | 2005-12-29 | 2007-07-05 | Drew Copley | Forgery detection using entropy modeling |
US20100011441A1 (en) | 2007-05-01 | 2010-01-14 | Mihai Christodorescu | System for malware normalization and detection |
US8176554B1 (en) * | 2008-05-30 | 2012-05-08 | Symantec Corporation | Malware detection through symbol whitelisting |
US8291497B1 (en) | 2009-03-20 | 2012-10-16 | Symantec Corporation | Systems and methods for byte-level context diversity-based automatic malware signature generation |
US8850584B2 (en) | 2010-02-08 | 2014-09-30 | Mcafee, Inc. | Systems and methods for malware detection |
US9380066B2 (en) | 2013-03-29 | 2016-06-28 | Intel Corporation | Distributed traffic pattern analysis and entropy prediction for detecting malware in a network environment |
-
2013
- 2013-03-29 US US13/853,601 patent/US9380066B2/en not_active Expired - Fee Related
-
2014
- 2014-03-27 CN CN201480011241.4A patent/CN105027135B/zh active Active
- 2014-03-27 EP EP14774368.6A patent/EP2979220B1/en active Active
- 2014-03-27 WO PCT/US2014/032090 patent/WO2014160901A1/en active Application Filing
- 2014-03-27 KR KR1020157022582A patent/KR101753838B1/ko active IP Right Grant
-
2016
- 2016-06-27 US US15/193,188 patent/US10027695B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070242771A1 (en) * | 2001-11-09 | 2007-10-18 | Tetsujiro Kondo | Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system |
CN101258479A (zh) * | 2005-06-29 | 2008-09-03 | 波士顿大学理事会 | 全网异常诊断 |
US8069484B2 (en) * | 2007-01-25 | 2011-11-29 | Mandiant Corporation | System and method for determining data entropy to identify malware |
US20120174227A1 (en) * | 2010-12-30 | 2012-07-05 | Kaspersky Lab Zao | System and Method for Detecting Unknown Malware |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103236A (zh) * | 2016-02-22 | 2017-08-29 | 中国移动通信集团河北有限公司 | 一种网络防病毒指标优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2979220A1 (en) | 2016-02-03 |
US9380066B2 (en) | 2016-06-28 |
EP2979220B1 (en) | 2017-11-22 |
KR101753838B1 (ko) | 2017-07-05 |
KR20150110687A (ko) | 2015-10-02 |
US20160308892A1 (en) | 2016-10-20 |
WO2014160901A1 (en) | 2014-10-02 |
EP2979220A4 (en) | 2016-08-31 |
US20140298461A1 (en) | 2014-10-02 |
CN105027135B (zh) | 2018-09-18 |
US10027695B2 (en) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027135A (zh) | 用于在网络环境中检测恶意软件的分布式流量模式分析和熵预测 | |
US11050767B2 (en) | System for identifying and handling electronic communications from a potentially untrustworthy sending entity | |
US10103892B2 (en) | System and method for an endpoint hardware assisted network firewall in a security environment | |
US9667653B2 (en) | Context-aware network service policy management | |
US8842669B2 (en) | Dynamic, condition-based packet redirection | |
US11836248B2 (en) | System and method for operating an endpoint agent at an endpoint device | |
CN109313689B (zh) | 用于检测网络上的容量耗尽攻击的方法和系统 | |
US11134087B2 (en) | System identifying ingress of protected data to mitigate security breaches | |
US9800547B2 (en) | Preventing network attacks on baseboard management controllers | |
US9948667B2 (en) | Signature rule processing method, server, and intrusion prevention system | |
US20160021121A1 (en) | Methods, systems, and media for inhibiting attacks on embedded devices | |
CN104956715A (zh) | 对移动设备上的行为特征的自适应观察 | |
JP2013191199A (ja) | ネットワーク接続装置を侵入から保護するための方法およびシステム | |
CN104769984A (zh) | 网络环境中移动设备上的数据的自动清理处理 | |
US20160197941A1 (en) | Threat intelligence on a data exchange layer | |
JP2022534841A (ja) | Siemルール・ソーティングおよび条件付き実行のためのシステムおよび方法 | |
US9985980B1 (en) | Entropy-based beaconing detection | |
US11562093B2 (en) | System for generating an electronic security policy for a file format type | |
US11611580B1 (en) | Malware infection detection service for IoT devices | |
US20150134747A1 (en) | Managing a messaging queue in an asynchronous messaging system | |
CN114448888A (zh) | 金融网络拟态路由方法及装置 | |
US11790082B2 (en) | Reasoning based workflow management | |
US11212259B2 (en) | Inspection offload clustering | |
KR101914044B1 (ko) | 내부네트워크 보안강화방법 및 이를 구현하는 보안시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |