CN104871171B - 分布式模式发现 - Google Patents

分布式模式发现 Download PDF

Info

Publication number
CN104871171B
CN104871171B CN201280077653.9A CN201280077653A CN104871171B CN 104871171 B CN104871171 B CN 104871171B CN 201280077653 A CN201280077653 A CN 201280077653A CN 104871171 B CN104871171 B CN 104871171B
Authority
CN
China
Prior art keywords
tree
frequent pattern
local
mode
node
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.)
Active
Application number
CN201280077653.9A
Other languages
English (en)
Other versions
CN104871171A (zh
Inventor
阿努拉克·辛格拉
赵志鹏
高飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weifosi Co., Ltd
Original Assignee
Antite Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Antite Software Co Ltd filed Critical Antite Software Co Ltd
Publication of CN104871171A publication Critical patent/CN104871171A/zh
Application granted granted Critical
Publication of CN104871171B publication Critical patent/CN104871171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文公开的示例实施例涉及分布式模式发现。能够合并一个或多个局部频繁模式树。该合并能够基于与该一个或多个局部频繁模式树关联的活动或事务。

Description

分布式模式发现
背景技术
安全信息和事件管理(SIEM)技术提供由网络硬件和应用程序生成的安全警报的实时分析。SIEM技术能够检测对计算网络的潜在威胁。这些潜在威胁能够根据安全事件的分析来确定。
附图说明
下面的具体实施方式参照附图,其中:
图1至图3是根据各示例的用于分布式模式发现的计算系统的框图;
图4是根据一个示例的局部设备的框图;
图5是根据一个示例的分层设备的框图;以及
图6至图8是根据各示例的用于分布式模式发现的方法的流程图。
具体实施方式
模式发现(pattern discovery)是基于数据挖掘的先占式方法,以解决由安全信息和事件管理(SIEM)系统面临的许多挑战。随着大安全数据的增长和由职业信息攻击者使用的协作技术的推进,SIEM系统正在面临各种挑战,如零日漏洞探索、慢攻击、从一个系统至另一系统扩散的长期渗透以及信息撤出。进一步,黑客们正在向他们的武器库中加入以前没有见过的新武器。
先占式方法能够用来检测系统异常,不是通过匹配已知签名,而是通过对安全信息进行相关和发现系统中未知跟踪模式。SIEM中的模式发现是确定这些漏洞的强大方法。关联挖掘算法可以用于系统中的数据,以检测模式,模式在一个示例中可以是不同事务之间频繁共同发生的事件。可以通过跟踪系统来开发这些模式,并且一旦这些模式被确定为恶意的,那么这些模式可以用于实时系统监视和分析。
在特定示例中,网络的安全信息/事件管理可以包括从网络和网络设备收集反映网络活动和/或网络设备操作的数据,并且分析该数据以提高安全性。网络设备的示例可以包括防火墙、入侵检测系统、服务器、工作站、个人计算机等。可以分析该数据以检测模式,模式可以表示网络或网络设备上的攻击或异常。检测到的模式可以用于例如定位该数据中的那些模式。例如,那些模式可以表示以下活动:蠕虫或另一种计算机病毒正在试图访问该网络中的计算机并安装恶意软件。
从网络和网络设备收集的数据用于事件。事件可以是能够被监控和被分析的任何活动。为事件捕获的数据被称为事件数据。可以执行对所捕获的事件数据的分析,以确定该事件与威胁关联还是与某一其它情况关联。与事件关联的活动的示例可以包括登录、注销、通过网络发送数据、发送电子邮件、访问应用程序、读取或写入数据、端口扫描、安装软件等。可以从由网络设备生成的消息、日志文件条目或从其它源收集事件数据。安全系统还可以生成事件数据,如相关事件和审计事件。在一些实例中,每秒钟可以生成一千个事件。这可以达到每天1亿个事件或每月30亿个事件。
在一些示例中,还可以通过建立已经脱机学到的系统正常模式的基线(baseline)来实现异常检测。当任何异常发生时,该系统能够检测新模式并告警系统管理。SIEM的单个节点上的模式发现可能受系统资源(例如存储器、数据库(DB)的IO带宽、等)限制,从而其可能不能处理在目前企业安全系统中常见的大数据。
因此,本文公开的各实施例涉及SIEM中的分布式模式发现。本文描述的方法允许并行处理SIEM上的模式发现。例如,可以对大数据安全信息管理域实现批处理模式解决方案。分布式模式发现引擎能够以多级分布式的方式探查大量数据来捕获模式。局部节点可以生成局部模式树。局部模式树可以被发送至合并节点,合并节点可以将局部模式树合并为全局模式树。全局模式树可以被回传至局部节点,在特定示例中,可以使用全局模式树和/或局部模式树执行安全功能。此外,在一些示例中,模式树可以包括关于潜在模式的信息。该信息可以包括实际的潜在模式和/或指向这些潜在模式。进一步,局部模式树可以包括潜在模式的支持度信息和/或长度信息,或与潜在模式的支持度信息和/或长度信息关联。
该分布式方法可以将数据划分到不同局部节点内,以避免数据密集的IO瓶颈。进一步,这些分布式方法并行处理事务构建和局部频繁模式树(local frequent patterntree)生成,以避免计算密集的瓶颈。
利用这些方法,局部节点首先检查事件要件并且将相关事件的组识别为事务(transaction)。然后,确定频繁项集。在特定示例中,频繁项集是在不同事务之间频繁一起发生的相关事件的组。因此,在事务中可以包括一个或多个安全事件。这些频繁项集中的一些频繁项集(可以定制这些频繁项集,以例如满足由消费者指定的标准)是对恶意攻击的跟踪并且可以用作用于进一步分析的签名。
这可以是关联项集挖掘的情况,该情况可以正式地表述如下:令I={a1,a2,a3,…,am}为一项集,并且事务数据库DB是I的子集的集合,该集合由DB={T1,T2,T3,…,Tn}表示,其中Ti(1≤i≤n)被称为事务。由supp(A)表示的潜在模式A的支持度是在DB中包含A的事务的数量,并且由length(A)表示的潜在模式A的长度是A中项的数量。在一个示例中,当且仅当supp(A)≥ξ1并且length(A)≥ξ2时,A被认为是频繁模式(frequent pattern),其中ξ1是模式支持度的预定阈值,ξ2是模式长度的预定阈值。项的示例可以包括用于模式发现的域(field)和参数。模式长度可以被认为是活动的数量。
根据示例,为模式发现选择域和参数。事件数据中的事件可以具有多个属性。可以根据与事件数据中的事件的属性关联的域来存储该事件数据。例如,域是描述事件数据中事件的属性。域的示例包括事件日期/时间、事件名称、事件类别、事件ID、源地址、源MAC地址、目的地址、目的MAC地址、用户ID、用户权限、设备客户字符串等。事件数据可以被存储在由域组成的表格中。在一些情况下,可以使用反映不同事件属性的数百个域来存储事件数据。
为进行模式发现,选择这些域中的一些域。例如,所选择的域可以包括来自该表格的域的集合。该集合中的域的数量可以包括来自该表格的域中的一个或多个域。为该集合选择的域可以根据各种统计进行选择,并且可以被存储在模式发现配置文件(profile)中。模式发现配置文件是用于发现事件数据中的模式的任何数据。模式发现配置文件可以包括用于模式发现的域的集合、参数和其它信息。
除了包括域以外,参数可以用于模式发现。在用于模式发现的模式发现配置文件中可以包括参数。参数可以指定为检测模式而将模式发现配置文件中的域与事件数据进行匹配的条件。参数还可以用于调整检测到的模式的数量。参数的一个示例是模式长度,模式长度是活动的数量。模式长度参数可以表示对被认为是模式的活动执行的不同活动的最小数量。参数的另一示例是重复性参数,该重复性参数可以表示为使不同活动被认为是模式而将不同活动重复的最少次数。在一个示例中,重复性与两个域关联。例如,可以将重复性表示为该活动在源域和目标域之间重复的源域和目标域的不同组合。源IP地址和目标IP地址的不同组合的最小数量是重复性参数的示例。可以调整这些参数,直至识别出预定数量的匹配模式。
在特定示例中,模式是像事务这样的多个不同活动的序列。频繁模式可以被检测为满足诸如支持度和长度之类的特定参数的潜在模式。在模式的示例中,活动的该序列包括扫描端口、识别开放端口、向该端口发送具有特定净荷的分组、登录计算机系统以及在该计算机系统上的特定位置存储程序。
还识别重复的模式。例如,如果重复多个不同活动,那么其可以被认为是重复模式。模式还可以在两个计算机系统之间。因此,该模式可以包括与不同计算机系统关联的源域和目标域。在一个示例中,源域和目标域是计算机系统的互联网协议(IP)地址。源域和目标域描述计算机系统之间的事务。除了源域和目标域之一以外或者替代源域和目标域之一,模式活动还可以通过其它域组合到一起。在一个示例中,可以在多个用户ID之间分析模式活动,以识别由多个用户重复的活动的序列或集合。在另一示例中,可以在多个信用卡号或顾客之间分析模式活动,以识别多个信用卡账户之间活动的序列或集合。
除了源域和目标域之一以外或代替源域和目标域之一,其它事件域可以被包括在模式发现配置文件中。在一个示例中,域用于识别特定模式,并且被称为模式识别域。在一个示例中,模式识别域是事件名称或事件类别。在另一示例中,模式识别域可以是信用卡交易量。在又一示例中,模式识别域可以是用于检测应用程序URL访问模式的事件请求URL域。
下面是病毒的模式的一个简单示例。一个事件是端口扫描。端口扫描发生在源机器上。下一事件是向目标机器发送分组。下一事件可以是登录目标机器。下一事件可以是目标机器处的端口扫描以及其它事件的重复。通过这种方式,病毒可以复制。通过将重复的事件检测为模式,可以检测该病毒。例如,用于模式发现的选择域可以是事件名称,重复性参数是4,并且活动参数的数量是3。检测到的独特事件具有以下事件名:端口扫描、分组传输和登录目标/目的机器。事件数量为3。该模式包括3个不同事件(例如,端口扫描、分组传输和登录目标/目的机器),这满足活动参数的数量。如果例如在模式发现运行期间此模式被检测到至少支持度次数,那么它满足重复性参数,并且被认为是模式匹配。可以生成通知消息或另一种警报。
如果检测到模式,那么可以创建多个模式发现配置文件来检测多个不同参数,可以执行活动。例如,如果模式表示对网络安全的攻击,那么可以执行通知、警告或其它动作来阻止该攻击。其它动作可以包括显示模式中的事件,以供网络管理员进行分析。
图1至图3是根据各示例的用于分布式模式发现的计算系统的框图。系统100可以包括主节点102,主节点102通过通信网络110与中间级节点104a-104n和/或局部节点106a-106b通信。在特定示例中,节点102、104、106是计算设备,如服务器、客户计算机、台式计算机、移动计算机等。节点102、104、106可以通过处理元件、存储器和/或其它部件来实现。在特定示例中,中间级节点104可以被认为是也可以执行附加功能的局部节点106。
局部节点106能够从主节点102接收模式发现配置文件。在一个示例中,模式发现配置文件是可以用于模式发现任务的参数的集合。在一些示例中,配置文件可以由客户、最终用户、管理员等定制,以执行指定的模式发现任务。主节点102能够生成模式发现配置文件。
各节点中的每个节点可以查询数据,来为其局部频繁模式树构建事务。在特定示例中,局部节点106中的每个节点可以通信地连接至一个或多个数据库。这些数据库可以包括用于构建事务的数据。在一些示例中,局部节点106连接至相同的数据库和/或相同或复本数据库的一部分。在其它示例中,这些数据库中的一个或多个数据库可以不同。在一个示例中,该数据库是单个数据库,并且每个节点都可以负责该单个数据库的分区。在另一示例中,数据库可以属于公司的不同业务、业务集团等。因此,可以在组织的不同业务部门之间相关数据。
然后,局部节点106查询与各个节点106关联的数据,来为其局部模式树构建事务。在一个示例中,将模式的支持度计算为来自不同事务的项集的发生。因此,删除一个事务中的重复项将有利于正确计数。
由于来自一个事务的数据可能分布在多个节点106之间,因此为了实现这一点,在一个示例中,可以保持事务信息以用于在下面描述的树生成期间的处理,或用于将一个事务的数据聚集到一个节点内来建立局部生长树。
在一个示例中,可以在多个节点106之间处理相同的事务数据。在这种方法中,为每个节点106保持支持度数。还可以为节点106所属的事务保持注释域。在下面描述的后来树合并阶段中,当主节点102接收从其它节点传递的事务并且将事务添加至其局部频繁模式树时,关于来自相同事务的项是否已经被添加至该树,检查事务注释。如此,可以避免多个节点106之间的重复事务。
在另一示例中,在单个节点106处处理单个事务。在此示例中,由单个局部节点106在局部频繁模式树生成期间处理来自一个事务的所有数据。使用该方法,在局部频繁模式树中不需要包括事务注释。
在一个示例中,主节点102发出对系统100中事务数量的查询。假定分布式系统100中有n个节点,则主节点102将事务划分为n个部分并获取事务划分边界信息。然后,主节点102将该边界信息分别发送至局部节点108中的每个。
在接收到该边界信息后,每个节点106将该边界信息作为‘where’语句集成到其模式发现查询中,以在不同数据库之间关于其特定事务划分检索其数据。在一些示例中,每个节点102、104、106都可以与数据库关联。因此,可以通过其它节点检索该数据。使用该方法,来自分布式系统中的一个事务的所有数据都可以被检索到一个节点106中,以建立局部频繁模式树。
然后,生成局部树。每个单独的局部节点106建立其自己的局部模式树,并且保持用于在树构建期间发生的项的数量的局部信息表。如果在一个局部节点106上处理相同事务数据,则局部信息可以是局部项计数器表。如果在多个节点106之间处理相同事务数据,则局部信息可以是局部项和事务对计数器表。在构建了每个局部频繁模式树以后,将该局部信息表发送至主节点102,以建立全局项计数器表。
在一个示例中,以降序整理该全局项计数器表,并且移除小于支持度阈值ξ1的项。在其它示例中,不需要整理该全局项计数器表来移除没有阈值支持度的项。然后,主节点102可以将该全局项计数器表发送至其它节点104、106。每个节点104、108都从主节点102获得该全局项计数器表,并且根据该全局项计数器表重构建并修剪其局部频繁模式树。
从局部频繁模式树提取的模式被提取为事务,并且被发送至主节点102去进行树合并。在接收到这些事务后,主节点102将这些事务添加至其局部频繁模式树,以生成全局频繁模式树。然后,在一个示例中,通过移除该树中长度小于ξ2的所有路径和和该树中支持度小于ξ1的所有节点,修剪在主节点102处的该全局频繁模式树。然后,从该全局模式树中提取的模式被返回给其它节点104、106。
最终的全局模式树可以由这些节点用于执行安全功能。例如,每个节点可以是SIEM的局部实例。每个实例可以使用这些模式来查看进入的数据并且执行安全功能,如将事务标记为有问题、恶意等。其它功能可以包括对项进行沙盒化,向管理员或其它实体发送警报(例如,电子邮件、消息等),等等。在一个示例中,模式可以被标记为恶意的或以其它方式被认为是威胁,并且当检测到模式时,可以采取方法来处理该威胁。
在特定示例中,中间级节点104可以用于执行主节点102的功能中的一些功能。在一个示例中,中间级节点104可以充当一组局部节点的主节点。可以根据与该组关联的信息来生成对该组和中间级节点104来说全局的中间级模式树。然后,中间级节点104可以生成中间级模式树,并且将中间级模式树传播给在层次上更高的另一中间级节点,或处于层次顶部的主节点102。可以将全局频繁模式树传播至每个节点。
通信网络110可以使用有线通信、无线通信或有线通信和无线通信的组合。进一步,通信网络110可以包括多个子通信网络,如数据网络、无线网络、电话网络等。例如,这样的网络可以包括公共数据网络,如互联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、有线电视网、光纤网络及它们的组合等等。在特定示例中、无线网络可以包括蜂窝网络、卫星通信、无线LAN等。进一步,通信网络110可以呈设备之间的直接网络链接的形式。可以使用各种通信结构和基础结构来实现通信网络。
作为示例,节点102、104、106通过经由通信协议或多种协议访问通信网络110而彼此通信以及与其它组件通信。协议可以是定义通信网络110的节点如何与其它节点交互的一组规则。进一步,网络节点之间的通信可以通过交换离散的数据分组或发送消息来实现。分组可以包括净荷信息以及与协议(例如,关于要联系的网络节点的位置的信息)关联的头信息。
图2示出根据一个示例的用于分布式模式发现的主-从计算系统200。在此系统200中,主节点202与局部节点204a-204n交互,以生成全局频繁模式树。在特定示例中,主节点202也是局部节点。此外,每个节点可以是SIEM的实例。
图3示出根据一个示例的用于分布式模式发现的分层系统300。在此示例中,主节点302可以用来生成全局模式树。局部节点304a-304n可以用来生成被传播至关联的中间级节点306a-306m的局部模式树。这些中间级节点306可以用来以与主节点生成全局模式树的方式类似的方式,形成中间级频繁模式树。然后,中间级节点306可以将该中间级频繁模式树提供给该层次中更高的通向主节点302的其它中间级节点。主节点302可以从中间级节点306和/或其它局部节点取得频繁模式树,并且生成全局频繁模式树。在特定示例中,中间级节点不修剪树。因此,支持度可以由所有节点而不是由与各个中间级节点306关联的子集提供。
图4是根据一个示例的局部设备的框图。在此示例中,局部设备400包括树生成模块410、通信模块412、安全模块414、活动读取器416、处理器420和存储器422。如本文中详细说明的,局部设备400可以例如利用图6的过程来生成局部频繁模式树。
局部设备400可以表示系统的节点之一。在特定示例中,局部设备400可以表示SIEM的实例。在各示例中,局部设备400可以是局部节点、中间级节点或主节点。
在一个示例中,局部设备400是局部节点。安全模块414可以为局部设备400执行安全功能。例如,安全模块414可以执行由网络硬件和应用程序生成的安全警报的实时分析。因此,安全模块414可以生成安全信息和事件的数据库。安全信息和事件(例如,通过各种日志、认证信息、输入/输出等)可以表示项和/或事务,可以对这些项和/或事务进行数据挖掘以生成潜在模式的频繁模式树。可以对局部频繁模式树进行相关来确定模式。然后,这些模式可以用于识别与该模式匹配的事件的发生。
活动读取器416可以读取数据库,以帮助生成频繁模式树。频繁模式树可以根据要寻找的一个或多个配置文件来确定。这些配置文件可以在主节点处生成并且被提供至局部节点。在一个示例中,树生成模块410可以根据该数据库生成局部频繁模式树。如上所述,该数据库可以与局部设备400关联,可以是可与其它节点关联的另一数据库的分区或子集,可以是多个较小数据库的组合,等等。
局部设备400可以使用通信模块412来接收配置文件。进一步,局部设备400可以使用通信模块412来向其它节点发送局部频繁模式树。其它节点可以是层次中的主节点或中间级节点。
局部设备400还可以从该系统的主节点或中间级节点接收频繁模式的全局模式树。全局模式树可以与局部频繁模式树一起使用,以执行安全功能。在一些示例中,可以根据全局模式树来更新树生成模块410。
局部设备400可以是服务器、台式计算机、工作站、膝上型计算机、或能够生成局部频繁模式树和/或执行SIEM功能的任何其它计算设备。处理器420可以是适于检索和执行指令的CPU、GPU或微处理器和/或被配置为执行本文描述的模块410、412、414、416中任一模块的功能的电子电路。
如本文中详细描述的,局部设备400可以包括用于生成局部频繁模式树的一系列模块410、412、414、416。模块410、412、414、416中的每个模块可以包括例如硬件设备,该硬件设备包括用于实现本文描述的功能的电子电路。除此之外或作为替代,每个模块可以被实现为在局部设备400的机器可读存储介质上编码并且可由处理器420执行的一系列指令。应该注意到,在一些实施例中,一些模块被实现为硬件设备,而其它模块被实现为可执行指令。
在一些示例中,存储器422可以包括机器可读存储介质,该机器可读存储介质能够存储用于这些模块中一个或多个模块的指令。在一些示例中,机器可读存储介质可以是包含或存储可执行指令的任何电子设备、磁性设备、光学设备或其它物理存储设备。因此,机器可读存储介质可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等等。因此,机器可读存储介质可以是非暂时的。如在本发明中详细说明的,机器可读存储介质可以被编码有用于分布式模式发现的一系列可执行指令。
图5是根据一个示例的分层设备的框图。在此示例中,分层设备500包括通信模块510、合并模块512、处理器514和存储器516。如本文详细说明的,分层设备500还可以是可例如利用图6的过程生成局部频繁模式树的局部设备400。在一些示例中,分层设备500能够执行局部设备400的功能,并且包括用于执行这样的功能的模块。进一步,分层设备500可以执行其它功能,例如合并来自一组子节点的局部频繁模式树。分层设备500可以用作中间级节点或主节点。
在一个示例中,通信模块510可以从一个或多个子节点接收多个局部频繁模式树。在一些示例中,分层设备500还可以是其自身的子节点或向其自身提供局部频繁模式树。各个局部频繁模式树可以基于多个事务。
合并模块512能够执行合并功能。在一个示例中,合并模块512能够帮助局部树重构建和修剪。在一个示例中,局部节点向分层设备提供在其树构建期间发生的项的数量的局部信息表。如上所述的,如果在一个局部节点上处理相同事务数据,则局部信息可以是局部项计数器表,而如果在多个节点之间处理相同事务数据,则局部信息可以是局部项和事务对计数器表。因此,局部频繁模式树中的一个或多个局部频繁模式树可以包括特定潜在模式已经发生的次数的计数,或可以与特定潜在模式已经发生的次数的计数关联。如上所述,可以在活动和/或事务中检测潜在模式。
在一个示例中,局部频繁模式树中的一个局部频繁模式树可以包括与事务关联的部分模式。在此示例中,计数低于阈值水平,例如低于支持度阈值ξ1。在另一示例中,局部频繁模式树中的第二局部频繁模式树包括相同潜在模式已经发生的次数的第二计数,或与该相同潜在模式已经发生的次数的第二计数关联。第二局部频繁模式树包括与事务关联的第二部分模式。第二计数也可以低于支持度阈值。在一些示例中,多个其它局部频繁模式树可以具有低于阈值的与该潜在模式或其它潜在模式关联的计数。如果潜在模式的计数在被组合时达到和/或高出支持度阈值,那么潜在模式作为频繁模式被包括在全局模式树中。可以以这一方式处理局部频繁模式树中的一个或多个潜在模式。
合并模块512能够建立全局项计数器表。在一个示例中,以降序整理该全局项计数器表,并且移除小于支持度阈值ξ1的项。在其它示例中,不需要整理该全局项计数器表来移除不具有阈值支持度的项。然后,通信模块510可以向子节点发送该全局项计数器表。每个子节点从其相应的分层节点或主节点获得该全局项计数器表,并且根据该全局项计数器表重构建并修剪其局部频繁模式树。
从局部频繁模式树提取的模式被提取,并且直接地或通过分层设备发送给主节点去进行树合并。在接收到这些事务后,合并模块512将事务添加至其局部频繁模式树,以生成全局频繁模式树。然后,在一个示例中,通过移除该树中长度小于ξ2的所有路径和该树中支持度小于ξ1的节点,在合并模块512处修剪该全局频繁模式树。然后,从全局模式树提取的模式被返回给其它节点。通信模块510可以向子节点发送该全局模式树。
如上所述,分层设备500可以以与局部设备400相同的方式实现。例如,分层设备500可以是服务器、台式计算机、工作站、膝上型计算机或任何其它计算设备。如同处理器420那样,处理器512可以是适于检索和执行指令的CPU、GPU或微处理器和/或被配置为执行本文描述的模块510、512中任一模块的功能的电子电路。进一步,实现可以包括局部设备400的模块410、412、414、416的功能。
图6是根据一个示例的用于分布式模式发现的方法的流程图。可以利用计算设备(例如,局部设备400)来实现用于执行方法600的组件。方法600可以以在机器可读存储介质上存储的可执行指令的形式和/或以电子电路的形式实现。
局部设备可以执行各种任务,例如SIEM任务。在一些示例中,除了其它任务以外,局部设备可以用于分布式模式发现。在其它示例中,局部设备可以专用于分布式模式发现。
在602处,局部设备可以生成多个事务的局部频繁模式树。在一个示例中,可以根据模式发现配置文件来确定局部频繁模式树。可以从节点(例如从层次结构中更高的节点(例如从主节点或中间级节点))接收模式发现配置文件。因此,可以从主节点和/或另一计算设备接收模式配置文件。还可以使用多个模式配置文件。在一个示例中,根据在数据库中存储的活动的分析,确定局部频繁模式树。还可以根据模式配置文件来确定事务。
在一个示例中,局部频繁模式树的生成可以包括如上所述确定在树构建期间项发生次数的局部信息表。根据是否仅在局部设备(例如,局部项计数器表)处执行事务数据的处理或者是否可以在另一设备(例如,局部项和事务对计数表)处处理事务的一部分,可以对局部信息使用不同方法。可以向分层节点(例如,主节点或中间级节点)发送来自该局部设备以及其它局部设备的局部信息表,去进行处理。
这一信息可以传播至能够建立全局项计数器表的主节点。可以处理该全局项计数器表,使得对至少由阈值数量的事务支持的项保持全局项目计数信息。在局部设备处接收该全局项计数器表。
该局部设备以及其它局部设备可以将经修剪的全局项计数信息用于在各个局部设备处发现的项。根据这一信息,从局部频繁模式树中修剪掉没有进入该经修剪的全局项计数列表中的项。因此,可以修剪或压缩局部频繁模式树。因此,当向层次中的更高级节点发送局部频繁模式树时,移动较少的数据。在604处,局部设备向分层计算系统中的节点发送局部频繁模式树,其中该节点处于比局部设备更大或更高的层级。局部频繁模式树可以与更高节点处的其它局部频繁模式树组合,并且沿该层次被向上发送。主节点可以根据局部频繁模式树生成全局频繁模式树,并且将该全局频繁模式树发送回局部设备。可以根据该局部频繁模式树和来自与该局部设备处于相同层级的设备的其它局部模式树,合并全局模式树。在一些示例中,来自更高层级的局部设备和/或主节点的局部模式树也可以包括在全局模式树中。
在606处,接收全局模式树。如上所述,全局模式树可以至少部分基于局部模式树。在一个示例中,全局模式树可以合并到局部设备的局部模式树内。模式还可以用于执行安全功能。例如,可以认为这些模式之一是威胁,例如蠕虫、病毒等。局部设备可以今后试图搜索出该模式,以提高计算系统的安全性。在一个示例中,当发现该模式时,可以警报和/或记录该威胁。在另一示例中,当发现该模式时,可以沙箱化或以其它方式处理该威胁。
图7是根据一个示例的用于分布式模式发现的方法的流程图。可以利用计算设备(例如,分层设备500)来实现用于执行方法700的组件。方法700可以以在机器可读存储介质上存储的可执行指令的形式和/或以电子电路的形式实现。
该分层设备可以执行各种任务,例如SIEM任务。在一些示例中,除了其它任务以外,该分层设备可以用于分布式模式发现,如合并分布式模式树。在一个示例中,该分层设备是合并分布式模式树的主节点。
在702处,该分层设备可以从多个子节点接收多个局部频繁模式树。各个局部频繁模式树可以基于多个活动或事务。这些局部频繁模式树中的一个或多个局部频繁模式树可以包括在这些活动和/或事务中一个或多个潜在模式之一出现的次数的计数,或可以与在这些活动和/或事务中一个或多个潜在模式之一出现的次数的计数关联。可以在合并过程中使用该计数信息。在一个示例中,模式树可以包括与潜在模式关联的部分模式。
在704处,该分层设备至少部分地根据该计数和其它树的计数,将局部频繁模式树合并为子节点的全局模式树。在一个示例中,其它树之一可以是由该分层设备创建的局部树。
在一个示例中,该计数低于阈值水平。因此,如果不提供另外的信息,那么与活动或事务关联的模式将不包括在全局模式树中。在一个示例中,局部频繁模式树中的第二局部频繁模式树包括在其它事务和/或活动中该潜在模式发生的次数的第二计数。第二局部频繁模式树可以包括与该活动或事务关联的第二部分模式。第二计数也可以低于阈值水平。然而,如果这些计数和/或其它关联计数的组合至少达到该阈值水平,那么合并过程将潜在模式作为频繁模式包括在全局模式树中。
在一个示例中,合并可以包括确定应当如何根据在局部频繁模式树中存储的重复信息组合该计数和该第二计数。如上所述的,这可以根据注释。进一步,如上所述的,合并可以包括向其局部频繁模式树添加其它局部频繁模式树的活动或事务,以生成全局频繁模式树。在一个示例中,可以在主节点处修剪全局频繁模式树。在此示例中,可以通过移除树中长度小于阈值(例如ξ2)的所有路径来修剪全局频繁模式树。进一步,可以移除该树中支持度小于ξ1的所有节点。然后,在706处,该分层设备可以向子节点发送全局模式树。
图8是根据一个示例的用于分布式模式发现的方法的流程图。可以利用计算设备(例如,分层设备500)来实现用于执行方法800的组件。方法800可以以在机器可读存储介质上存储的可执行指令的形式和/或以电子电路的形式实现。
如上所述,分层设备可以执行各种任务,例如SIEM任务。在一些示例中,除其它任务以外,该分层设备可以用于分布式模式发现,如合并分布式模式树。在一个示例中,该分层设备是合并分布式模式树的主节点。在其它示例中,该分层设备可以是中间级节点。
方法800可以用于生成向子节点提供的组项计数信息,从而允许修剪局部频繁模式树。在802处,该分层设备从多个局部节点接收局部项计数信息。在一个示例中,该分层设备可以被认为是局部节点。
在804处,可以将项计数信息组合到组项计数信息内。可以修剪该项计数信息。在一个示例中,如果潜在模式至少满足阈值支持度,那么该潜在模式被确定为模式。因此,如果该项计数信息不满足该潜在模式的支持度,那么可以从经修剪的全局项计数信息中修剪用于创建该潜在模式的项。
在806处,将该组项计数信息发送至子节点。该组项计数信息可以由子节点处理,以生成经修剪的局部模式树。可以将局部模式树返回给该分层节点。在808处,该分层节点从子节点接收局部模式树。然后,在810处,该分层节点合并局部模式树。
如上所述,如果潜在模式满足预定的模式长度。因此,如果潜在模式不满足模式长度的预定阈值(例如,ξ2),那么可以在将模式树合并到组局部频繁模式树内时修剪这些模式树。
在一个情境中,分层设备是主节点,并且将所合并的组局部频繁模式树作为全局模式树发送至子节点。
在另一情境中,可以在组合该组项计数信息以后但未在分层设备处修剪时将该组项计数信息转发至主节点。进一步,在一个情境中,中间级节点可以负责组合项计数信息和/或局部模式树,但是将该信息转发至主节点去进行修剪。因此,可以在不同节点处并行地执行动作。
另外,计数信息的处理可以与对局部频繁模式树的处理和合并分离地发生。这有利地允许在没有将潜在模式中每个潜在模式发送至用于合并的设备的情况下修剪树。在一个示例中,在向负责合并的节点发送的局部频繁模式树中包括根据该计数信息满足支持度参数和/或长度参数的潜在模式。
在特定示例中,本文描述的方法能够以单节点频繁模式生长树算法为基础。该方法可以利用分治技术,该分治技术可以使用对正被分析的数据库进行的两次扫描。该频繁模式生长算法计算在其第一次数据库扫描期间按其频度整理的频繁项列表。在一个示例中,这可以基于该频度以降序进行整理。在第二次扫描中,将数据库压缩为树结构,其中根据其支持度和长度准则对模式进行挖掘。

Claims (10)

1.一种用于分布式模式发现的系统,包括:
节点,包括处理器和存储器,所述节点用于:
从多个子节点接收多个局部频繁模式树,其中各个局部频繁模式树基于多个事务;
将所述多个局部频繁模式树合并到所述多个子节点的全局模式树内;
将该全局模式树发送至所述多个子节点;
其中所述多个局部频繁模式树中的一个局部频繁模式树与在与所述一个局部频繁模式树关联的所述多个事务中潜在模式发生的次数的第一计数关联;
其中所述一个局部频繁模式树包括与一个事务关联的部分模式,其中所述第一计数低于阈值水平;
其中所述多个局部频繁模式树中的第二局部频繁模式树包括在与所述第二局部频繁模式树关联的所述多个事务中所述潜在模式发生的次数的第二计数,
其中所述第二局部频繁模式树包括与所述潜在模式关联的第二部分模式,其中所述第二计数低于所述阈值水平;以及
其中,所述全局模式树用于执行安全功能。
2.根据权利要求1所述的系统,其中如果所述第一计数和所述第二计数在组合后至少达到所述阈值水平,那么所述潜在模式被包括在所述全局模式树中作为频繁模式。
3.根据权利要求2所述的系统,进一步包括:
所述多个子节点中的第一子节点,包括另一个处理器和存储器,所述第一子节点用于:
生成所述一个局部频繁模式树;
将所述一个局部频繁模式树发送至所述节点;
接收所述全局模式树;
使用所述一个局部频繁模式树和所述全局模式树来执行所述安全功能。
4.根据权利要求3所述的系统,其中所述一个事务是一个或多个安全事件。
5.根据权利要求3所述的系统,其中所述一个局部频繁模式树基于所述全局模式树而被更新。
6.根据权利要求2所述的系统,其中所述合并包括确定应当如何根据在所述一个局部频繁模式树和所述第二局部频繁模式树中存储的重复信息来组合所述第一计数和所述第二计数。
7.一种用于分布式模式发现的非暂时性机器可读存储介质,所述非暂时性机器可读存储介质存储指令,该指令如果由设备的至少一个处理器执行则致使所述设备:
生成多个事务的潜在模式的局部频繁模式树;
将所述局部频繁模式树发送至分层计算系统的节点,其中所述节点位于比所述设备更大的层级;其中与第一个潜在模式关联的第一计数低于阈值水平;
接收全局模式树,所述全局模式树基于所述局部频繁模式树和来自位于所述设备的相同层级的多个设备的其它局部模式树而被合并,其中,如果所述第一计数和第二计数大于所述阈值水平,所述第一个潜在模式被包括在所述全局模式树中;所述第二计数与所述第一个潜在模式关联,所述第一个潜在模式与其它局部频繁模式树中的之一关联;以及
使用所述局部频繁模式树和所述全局模式树来执行安全功能。
8.根据权利要求7所述的非暂时性机器可读存储介质,进一步包括指令,该指令如果由所述至少一个处理器执行则致使所述设备:
从所述节点接收模式发现配置文件,其中所述节点是主节点,
其中所述局部频繁模式树基于所述模式发现配置文件而被生成,并且
其中所述局部频繁模式树包括事务注释,所述事务注释用于标识对局部频繁模式树有贡献的事务。
9.一种用于分布式模式发现的方法,包括:
在节点处接收来自多个子节点的多个潜在模式的多个局部频繁模式树,其中各个局部频繁模式树基于多个活动,其中所述多个局部频繁模式树中的一个局部频繁模式树与在所述多个活动中所述多个潜在模式中的一个潜在模式发生的次数的第一计数关联;
至少部分地基于所述第一计数,将所述多个局部频繁模式树合并到所述多个子节点的全局模式树内;以及
将所述全局模式树发送至所述多个子节点;
其中所述第一计数低于阈值水平,
其中所述多个局部频繁模式树中的第二局部频繁模式树与所述一个潜在模式已经发生的次数的第二计数关联,
其中所述第二计数低于所述阈值水平,并且
其中如果所述第一计数和所述第二计数在组合后至少达到所述阈值水平,那么所述一个潜在模式被包括在所述全局模式树中;以及
使用所述全局模式树来执行安全功能。
10.根据权利要求9所述的方法,其中所述合并包括确定应当如何根据在所述一个局部频繁模式树和所述第二局部频繁模式树中存储的重复信息来组合所述第一计数和所述第二计数。
CN201280077653.9A 2012-11-30 2012-11-30 分布式模式发现 Active CN104871171B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/067332 WO2014084849A1 (en) 2012-11-30 2012-11-30 Distributed pattern discovery

Publications (2)

Publication Number Publication Date
CN104871171A CN104871171A (zh) 2015-08-26
CN104871171B true CN104871171B (zh) 2018-09-21

Family

ID=50828317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077653.9A Active CN104871171B (zh) 2012-11-30 2012-11-30 分布式模式发现

Country Status (4)

Country Link
US (1) US9830451B2 (zh)
EP (1) EP2926291A4 (zh)
CN (1) CN104871171B (zh)
WO (1) WO2014084849A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9331916B1 (en) 2013-03-15 2016-05-03 Emc Corporation Data-driven detection of servers and clients
EP3039566A4 (en) * 2013-08-28 2017-06-21 Hewlett-Packard Enterprise Development LP Distributed pattern discovery
US9948661B2 (en) 2014-10-29 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for detecting port scans in a network
US10324965B2 (en) * 2014-12-30 2019-06-18 International Business Machines Corporation Techniques for suggesting patterns in unstructured documents
SG10201503755QA (en) * 2015-05-13 2016-12-29 Dataesp Private Ltd Searching large data space for statistically significant patterns
US11030157B2 (en) * 2017-05-18 2021-06-08 Nec Corporation Template based data reduction for commercial data mining
US11036741B2 (en) 2019-03-01 2021-06-15 International Business Machines Corporation Association rule mining system
US11755927B2 (en) 2019-08-23 2023-09-12 Bank Of America Corporation Identifying entitlement rules based on a frequent pattern tree

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708163B1 (en) 1999-02-24 2004-03-16 Hillol Kargupta Collective data mining from distributed, vertically partitioned feature space
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
JP2001134575A (ja) * 1999-10-29 2001-05-18 Internatl Business Mach Corp <Ibm> 頻出パターン検出方法およびシステム
US20020091680A1 (en) * 2000-08-28 2002-07-11 Chirstos Hatzis Knowledge pattern integration system
US7539677B1 (en) 2000-10-09 2009-05-26 Battelle Memorial Institute Sequential pattern data mining and visualization
US7370358B2 (en) * 2001-09-28 2008-05-06 British Telecommunications Public Limited Company Agent-based intrusion detection system
US7509677B2 (en) 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
US7352280B1 (en) * 2005-09-01 2008-04-01 Raytheon Company System and method for intruder tracking using advanced correlation in a network security system
US7624448B2 (en) 2006-03-04 2009-11-24 21St Century Technologies, Inc. Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
WO2007147166A2 (en) 2006-06-16 2007-12-21 Quantum Leap Research, Inc. Consilence of data-mining
WO2008002590A2 (en) * 2006-06-29 2008-01-03 Sipera Systems, Inc. System, method and apparatus for protecting a network or device against high volume attacks
US7953685B2 (en) 2007-12-27 2011-05-31 Intel Corporation Frequent pattern array
US7668942B2 (en) 2008-05-02 2010-02-23 Yahoo! Inc. Generating document templates that are robust to structural variations
US20100017870A1 (en) * 2008-07-18 2010-01-21 Agnik, Llc Multi-agent, distributed, privacy-preserving data management and data mining techniques to detect cross-domain network attacks
AU2010259950A1 (en) 2009-06-12 2011-12-01 QinetiQ North America, Inc. Integrated cyber network security system and method
CN101996102B (zh) 2009-08-31 2013-07-17 中国移动通信集团公司 数据关联规则挖掘实现方法与系统
KR101105363B1 (ko) * 2010-01-18 2012-01-16 연세대학교 산학협력단 롱 트랜잭션 데이터 스트림을 위한 빈발항목집합 탐색 방법
CN101931570B (zh) 2010-02-08 2011-05-04 中国航天科技集团公司第七一○研究所 一种基于频繁模式增长算法的网络攻击路径重构方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"一种网格环境下的FP-树分布式构造算法";荀亚玲,吴晓婷,张继福;《计算机工程与应用》;20111101;第47卷(第31期);第128-131、147页 *
"基于分布式数据入侵检测模型研究";彭国星;《计算机仿真》;20100615;第27卷(第6期);参见第1-4部分,图3 *
"基于频繁模式树的分布式关联规则挖掘算法";何波;《控制与决策》;20120415;第27卷(第4期);参见第2.2-2.4节、第3节 *

Also Published As

Publication number Publication date
US20150317476A1 (en) 2015-11-05
US9830451B2 (en) 2017-11-28
CN104871171A (zh) 2015-08-26
EP2926291A1 (en) 2015-10-07
WO2014084849A1 (en) 2014-06-05
EP2926291A4 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
CN104871171B (zh) 分布式模式发现
US11212299B2 (en) System and method for monitoring security attack chains
US11165815B2 (en) Systems and methods for cyber security alert triage
CN108881265B (zh) 一种基于人工智能的网络攻击检测方法及系统
CN108471429B (zh) 一种网络攻击告警方法及系统
JP5941149B2 (ja) 基準ベースラインに基づき、イベントシーケンス中の時間的位置に従ってイベントを評価するシステム及び方法
US9462009B1 (en) Detecting risky domains
CN104246786B (zh) 模式发现中的字段选择
US9661003B2 (en) System and method for forensic cyber adversary profiling, attribution and attack identification
CN104509034A (zh) 模式合并以识别恶意行为
US11159564B2 (en) Detecting zero-day attacks with unknown signatures via mining correlation in behavioral change of entities over time
Vaas et al. Detecting disguised processes using application-behavior profiling
Al-Utaibi et al. Intrusion detection taxonomy and data preprocessing mechanisms
US20240031407A1 (en) Honeypot Network Management Based on Probabilistic Detection of Malicious Port Activity
JP6616045B2 (ja) 異種混在アラートのグラフベース結合
CN114143015A (zh) 异常访问行为检测方法和电子设备
Bertino et al. Securing dbms: characterizing and detecting query floods
CN108351940B (zh) 用于信息安全事件的高频启发式数据获取与分析的系统和方法
Jakhale Design of anomaly packet detection framework by data mining algorithm for network flow
Flores et al. Network anomaly detection by continuous hidden markov models: An evolutionary programming approach
Amiri et al. A complete operational architecture of alert correlation
Mowri et al. A comparative performance analysis of explainable machine learning models with and without rfecv feature selection technique towards ransomware classification
CN113032774A (zh) 异常检测模型的训练方法、装置、设备及计算机存储介质
US20230275907A1 (en) Graph-based techniques for security incident matching
Gupta Robust and efficient intrusion detection systems

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160912

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180627

Address after: American California

Applicant after: Antite Software Co., Ltd.

Address before: American Texas

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Utah, USA

Patentee after: Weifosi Co., Ltd

Address before: California, USA

Patentee before: Antiy Software Co.,Ltd.