CN114637989A - 基于分布式***的apt攻击追溯方法、***及存储介质 - Google Patents
基于分布式***的apt攻击追溯方法、***及存储介质 Download PDFInfo
- Publication number
- CN114637989A CN114637989A CN202210278944.XA CN202210278944A CN114637989A CN 114637989 A CN114637989 A CN 114637989A CN 202210278944 A CN202210278944 A CN 202210278944A CN 114637989 A CN114637989 A CN 114637989A
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- event
- data
- log
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000005065 mining Methods 0.000 claims abstract description 23
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 238000007670 refining Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000005303 weighing Methods 0.000 claims 1
- 238000004880 explosion Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000001419 dependent effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000008260 defense mechanism Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012826 global research Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于分布式***的APT攻击追溯方法、***及存储介质,方法包括:收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;使用FP‑Tree数据关联挖掘算法找出事件之间的关系;根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。本发明解决了单个主机面对海量数据时计算效率低下的问题,同时保障了数据完整性。使用FP‑Tree算法挖掘事件关联,解决了事件关联过于单薄的问题。使用图匹配算法解决了关系图中事件依赖***的问题。本发明还具备良好的可扩展性。
Description
技术领域
本发明属于网络安全领域,具体涉及一种基于分布式***的APT攻击追溯方法、***及存储介质。
背景技术
新冠疫情的全球蔓延下,以疫情为诱饵的网络攻击变得越发频繁。特别是全球高级持续性威胁(APT),这种长期的、持续性的攻击能造成破坏性的后果。因此,为了研究APT的攻击手段,追溯攻击路线并构建攻击链显得尤为重要。然而,和传统的攻击手段和入侵方式相比,APT攻击过程更为复杂,攻击持续时间也更长,同时带有很强的隐蔽性。与此同时,APT攻击还在不断演进。卡巴斯基全球研究与分析团队(GReAT)在其所做的2020年第一季度和第二季度全球高级持续性威胁(APT)趋势报告中指出,APT威胁参与者在近几月主要利用软件的0day或者Nday漏洞进行高效的攻击,包括利用一些远程服务、VPN,或者针对目标网络基础设施的漏洞。此外,移动植入物(mobile implant)也成为了APT威胁参与者的武器之一。然而,公司、用户***中配置的杀毒软件、防火墙等安全设备无法完整地构建攻击过程。面对大量的攻击警告,管理员无法自行构建攻击关系,分析攻击过程。
目前,无法通过单一的安全产品和安全技术来有效检测和抵御APT攻击。APT攻击行为特征难以提取,攻击渠道多元化,这使得难以使用单一的手段建立防御机制。APT攻击注重动态行为和静态文件的隐蔽性,导致实时监测十分困难。另外,在攻击者长期的APT攻击计划中,必然会在起始阶段对目标进行渗透测试。比如:使用专业的渗透软件对目标主机端口进行扫描以及操作***指纹提取,这些操作都需要通过对目标发送大量请求来实现。所以,APT攻击的渗透测试阶段往往都会产生大量的日志数据,而且这些记录攻击行为的日志往往与主机中正常产生的日志混杂在一起。随着时间的推移,日志数量呈指数级增长,单个主机在处理如此大规模的日志数据时就显得力不从心。为了更加快速、准确的还原攻击场景,防止高误报率和漏网之鱼,如何改善日志数据处理方式并从原始日志数据中抽象出具体事件在整个APT攻击链的还原过程中尤为重要。在日志数据收集和处理方面,现有的许多研究方法仅以单个主机作为数据处理单位,计算速度和准确度都不够理想,从而无法支持大规模的日志数据并从中找出依赖关系,大量冗余日志无法被剔除,导致日志状态依赖***的问题,使得日志分析难以继续进行。在日志事件关联挖掘方面,现有的部分研究方法采用时间戳对齐的方法来划分出具体事件,这种仅仅以时间戳作为单一指标来划分事件的方法很容易错误地将不同类别的事件划为同一类,导致无法正确地构建日志事件之间的关系图。
发明内容
本发明的目的在于针对上述现有技术中存在的计算速度缓慢、日志数据依赖***和事件关联过于单薄的问题,提供一种基于分布式***的APT攻击追溯方法、***及存储介质,能够以高速度、高准确性从海量数据中提取事件并建立关系,通过图匹配检测并还原攻击链。
为了实现上述目的,本发明有如下的技术方案:
一种基于分布式***的APT攻击追溯方法,包括:
收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;
根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;
使用FP-Tree数据关联挖掘算法找出事件之间的关系;
根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。
作为本发明的一种优选方案,在所述收集多源日志数据并输入到MapReduce分布式计算框架进行预处理的步骤中,收集到的多源日志数据包括从多台主机不同源收集到的防火墙、DNS、CPU利用、网络流量记录以及进程日志,将数据以键值对<K1,V1>的形式输入到MapReduce分布式计算框架中,式中,K1表示日志的时间戳部分,V1表示具体数据部分;根据日志数据特征构建正则表达式,正则表达式如下:
Month | (?P<Month>.*?) |
Day | (?P<Day>.*?) |
H | (?P<H>.*?) |
M | (?P<M>.*?) |
S | (?P<S>.*?) |
Level | (?P<Level>.*?) |
Category | (?P<Category>.*?) |
Content | (?P<Content>.*?) |
整体的正则表达式为:
^(?P<Month>.*?)\\s+(?P<Day>.*?)\\s+(?P<H>.*?):(?P<M>.*?):(?P<S>.*?)\\s+(?P<Level>.*?)\\s+(?P<Category>.*?):\\s+(?P<Content>.*?)$
通过正则匹配将日志解析为结构化的实体,并初步过滤日志中不满足正则表达式的内容。
作为本发明的一种优选方案,所述MapReduce分布式计算框架包括一个主节点和若干个从节点,所述的主节点负责资源和执行任务的分配,所述的从节点负责分布式任务的计算处理;设置工作追踪结点是在所述主节点上运行的一个master服务,当其他主机将日志数据输入到MapReduce分布式计算框架之后,由工作追踪结点负责初始化数据,调度节点并根据日志数量分配资源,当计算过程开始后,再由工作追踪结点负责监控执行任务的节点,保证计算过程的正确性;设置任务追踪节点是执行任务的具体节点,一个任务追踪节点负责一部分日志数据的解析工作。
作为本发明的一种优选方案,所述根据字符串相似度从预处理后的日志中提取模板的步骤包括,使用树结构来递归比较日志数据的相似度:起初,树中只有一个根节点nroot,当输入一条日志数据时m时,将m分为一个单词列表,得到[wa1,wa2...,wan]=Wa,然后,创建一个含有Wa的节点并添加进树结构,新节点na在树中寻找与其具有相似日志消息或格式的节点,相似度的计算通过函数C(w)来实现,通过分析w字符串的特征将其转化到D维坐标系中,该函数将字符串中的字符分为d个类别,计算字符串特征数后w将以坐标c的形式呈现在坐标系D中;随后按下式计算c1,c2两点的欧氏距离,如果距离值较小,则认为两个字符串相似度较高,相似度取值为[0,1];
当检测到子节点nc和节点n的相似度很高时,函数Format(nc,n)就为该日志信息创建一个模板格式;如果两节点都没有模板格式,则函数接收两节点na和nb中的单词列表Wa和Wb,并比较两个序列;如果Wa和Wb中相同位置的单词不匹配,则将其作为参数p1来处理;如果函数Format()接收到的其中一个节点已经具有该格式,合并该格式和新的日志消息,并细化该格式;模板生成完毕后,将日志中每条数据归类,标明所属的模板并记录各个模板包含日志的数目。
作为本发明的一种优选方案,所述使用张量分解法从模板中提取事件的步骤包括:
选择时间窗口将原始日志数据分区,把同一主机中趋向于同时出现的日志模板定义为一个模板组,表示为m∈M,M表示模板组的集合;一个模板组就代表一个主机中的一个事件;对于一个模板组,可能出现在多台主机中,因为不同主机可能会出现相同的事件;事件e被定义为主机和模板组的元组集,即e={(h1,m1),(h2,m2)......}((h1,h2...∈H,m1,m2...∈M));
将日志张量X定义为拥有维数M×H×T的秩为3的张量,其中M为日志模板集合,H为主机集合,T为时间窗口集合,定义张量元素xmht为一条日志信息出现的次数;对于一个给定的张量X(M×H×T)和整数E,N,E为事件数目,N为模板组数目,将其张量分解为:
定义一个M×N的矩阵V=[vmn],一个N×E×H的张量Z为Z=zne,一个E×T的矩阵W为W=wet;矩阵V看作是一个模板群矩阵,如果模板m属于模板组M,则vmn>0,否则vmn=0;秩3张量Z看作是一个事件张量,称每个H×N矩阵ze为一个事件片,在每个事件片中,如果主机h上的模板组m属于第e个网络事件,则zmeh>0;最后,矩阵W看作是一个权重矩阵;每个元素wet表示第e个网络事件在时间窗口t中所占的权重;通过观察we来理解第e个网络事件何时发生,X被视为具有权重{we}的事件片的叠加。
作为本发明的一种优选方案,所述使用张量分解法从模板中提取事件的步骤之后还包括,定义输出为<K2,list(V2)>,式中,K2表示事件时间戳,list(V2)表示K2范围内包含的事件;将输出传入HDFS文件***,该***由两部分组成:名称节点和数据节点;名称节点用来管理命名空间,数据节点用来存储提取出的日志事件;数据节点定期将数据块的位置传递给名称节点,读取文件时,就通过名称节点来查找对应数据节点的位置;在每个数据节点中都会存在一份原始数据的备份,防止数据丢失。
作为本发明的一种优选方案,所述使用FP-Tree数据关联挖掘算法找出事件之间的关系包括:
首先,定义I={i1,i2...,im}是m个不同项目的集合;频繁项目头表Htable由以下两个域组成:项目名称item-name和项目链头item-head,所述项目链头item-head指向FP-Tree中与之名称相同的第一节点;每个节点由以下四个域组成:节点名称node-name、节点计数node-count、节点链node-link以及父节点指针node-parent;再从HDFS文件***中读取数据;
扫描数据,得到所有频繁1项集的计数,将1项频繁集放入项头表,并按照支持度降序排列;为了保证不发生漏报的情况,此处不选择删除支持度低于阈值的项;
读入排序后的数据集,***FP树;***时按照排序后的顺序,***FP树中;排序靠前的节点是父节点nparent,而排序靠后的是子节点nchild;如果有共用的父节点,则对应的公用父节点计数加1;***后,如果有新节点出现,则项头表对应的节点通过节点链表链接上新节点;直到所有的数据都***到FP树后,FP树的建立完成;
从项头表的底部项依次向上挖掘,对于项头表对应FP树的每一项,找到条件模式基,条件模式基是以要挖掘的节点作为叶子节点所对应的FP子树,从条件模式基递归挖掘得到频繁项集,对所挖掘到的频繁项集递归合并,得到项目更多的频繁项集,找到最大频繁项集;
根据构建节点图的需要,挑选出满足项数要求的频繁项集。
作为本发明的一种优选方案,所述根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链的步骤包括:
将事件作为节点,并根据事件之间的关联和时序生成有向节点图;
判断有向节点图的数量是否满足图匹配算法中所需的数量,即满足在图匹配分析中,具备正常事件图、攻击事件图以及攻击未遂事件图;
使用图匹配算法VF2对有向图进行处理,在图论中,图G和图H的同构关系被描述成二者之间顶点的双射关系:
f:V(G)→V(H)
该映射关系使得当且仅当f(u)和f(v)在H中相邻时,G的两个顶点u和v才在G中相邻;图同构是图上的等价关系,一组彼此同构的图被称为同构图,将其看作是等价的;对于两个非空图G1和G2,图匹配算法VF2逐步匹配G1和G2中的点,若匹配成功则加入匹配映射(n,m)到映射集M中,失败则回退到上一状态进行搜索;经过不断递归,最终建立起两个图之间的映射关系M;一开始,M(s0)中为空,调用Match函数开始后,先根据当前状态s和一些与s中节点的连接拓扑关系,获得节点对集合P(s);接下来加入状态s候选节点对集合,每一节点对包含一个小图节点和一个大图节点;再对这个候选节点对集合遍历,每取出一对节点,先用IsFeasible()函数判断其是否可行,即判断加入这一对节点后是否能在有限步骤内得到子图同构,若加入节点对后必然不可能得到一对子图同构,就不继续往下搜索;如果该节点对可行,就将这对节点加入状态s得到状态s′,并递归调用Match函数继续往下搜索;搜索完每一分支进行回溯,每找到一个深度达到小图节点数的子图同构,就把结果加入Solution;对去除同构部分的图进行分析溯源,将节点和边的信息与日志数据对应,还原出APT攻击链。
一种基于分布式***的APT攻击追溯***,包括:
预处理模块,用于收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;
事件提取模块,用于根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;
事件关系挖掘模块,用于使用FP-Tree数据关联挖掘算法找出事件之间的关系;
攻击还原模块,用于根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述基于分布式***的APT攻击追溯方法。
相较于现有技术,本发明第一方面至少具有如下的有益效果:
通过从多个主机收集多源日志进行分析处理,避免仅研究单类日志所导致的遗漏、误报等问题,全面地还原出攻击链;将收集到的日志数据传入MapReduce分布式计算框架中,大大缩短了对原始数据的处理时间,提高了解析的准确度。本发明的日志解析过程主要为对数据的两次提取分析操作,分别为从原始数据中提取模板和从模板中提取事件,以此来大幅减少日志冗余所带来的状态依赖***问题。通过将日志数据转化为树节点,并比较节点和节点之间的相似度来生成模板,随后使用张量分解方法从模板和主机元组中提取事件。通过数据关联挖掘算法FP-Tree寻找事件中的关联,便于有向图的构建。根据事件之间的关系绘制出事件有向节点图之后,本发明攻击溯源方法通过图匹配方法比较不同类型节点图,从而去除正常事件图和攻击事件图中大量的同构部分,能够快速从大量节点图中提取出攻击路径。
进一步的,本发明所耗费的资源很小,通过预先构造的正则表达式对原始数据进行处理,提取出日志模板,在保证日志模板高度准确性的前提下,通过张量分解的方法从日志模板中提取事件,最后利用VF2图匹配算法对不同类别的事件节点图进行比较去重,大大降低了节点图的复杂度,多步的压缩和提取操作使得本发明有效减少了***开支。
可以预见的是,上述第二方面至第三方面同样具有同上述第一方面相同的技术效果,因而在此处不再赘述。
附图说明
图1本发明基于分布式***的APT攻击追溯方法流程图;
图2本发明MapReduce分布式计算框架与HDFS文件***交互示意图;
图3本发明实施例模板解析准确度和模板数量统计图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
实施例1
一种基于分布式***的APT攻击追溯方法,包括以下步骤:
步骤一、日志数据预处理及解析:
(1a)收集主机多源日志,将多个主机的日志传入部署在服务器的MapReduce分布式计算框架,首先进行Map阶段,使用正则表达式和***自带软件功能,预先定义冗余及无关日志标准,对日志数据进行过滤;
(1b)Map阶段结束后,进行Reduce阶段。Master节点为每个计算节点分配资源,分配完成后,计算节点按照预先设定的程序开始计算。先将日志数据拆分为由若干单词构成的列表,并将列表设为根节点,与后续节点进行相似度比较,如果相似度高于预先设置的阈值,则认为两节点属于同一模板;
(1c)对日志数据进行归类,并计算各模板中所含同类日志数据的个数,最后生成日志模板文件。文件内容包括:
模板文件列名 | 描述 |
LineId | 行号 |
Month | 记录日志数据的月份 |
Day | 记录日志数据的日期 |
H:M:S | 记录日志数据的时间(小时:分钟:秒) |
Level | 日志数据所属级别 |
Category | 日志数据所属范畴 |
Content | 日志内容 |
TemplateId | 日志所属模板的ID号 |
Template | 模板表达式 |
Occurrences | 模板中包含日志的数量 |
步骤二、根据模板提取事件:
收集多个主机的日志数据信息,并根据设定的时间窗口将步骤一中生成的模板文件划分为若干部分。将倾向于在同一时间窗口出现的模板定义为一个模板组m∈M,M代表模板组的集合。定义事件e为主机和模板组的元组集,即e={(h1,m1),(h2,m2)......}(h1,h2...∈H,m1,m2...∈M)。根据定义,事件被认为是模板组的空间扩展。
从数学描述上,利用改良的张量分解方法从日志模板中提取事件。将日志张量X定义为拥有维数M×H×T的秩为3的张量,其中M为日志模板集合,H为主机集合,T为时间窗口集合,定义张量元素xmht为一条日志信息出现的次数。将从日志模板中提取事件的问题转化为张量分解问题主要是依据以下观点:把每个时间窗口的日志数据视为分层叠加,即日志数据实际上是事件的混合物,也包括模板组。对于一个给定的张量X(M×H×T)和整数E,N(E为事件数目,N为模板组数目),可将其张量分解为:
Reduce阶段结束,将提取出的日志事件存入HDFS文件***,便于管理和后续使用。
步骤三、寻找事件之间的关系:
通过FP-Tree数据关联挖掘算法找出事件之间的关系。
FP-Tree相较于Apriori算法有着更高的运行效率,只需要扫描两次数据集,该特征在面对海量日志数据时能体现出极为明显的优势。FP-Tree算法主要包含以下步骤:
(3a)扫描数据,得到所有频繁1项集的计数,将1项频繁集放入项头表,并按照支持度降序排列;
(3b)读入排序后的数据集,建立FP树;
(3c)挖掘频繁项集:从项头表的底部项依次向上找到项头表项对应的条件模式基,从条件模式基递归挖掘得到项头表项项的频繁项集;
(3d)返回满足项数要求的频繁项集。
步骤四、构建事件节点图并还原攻击链:
分析出日志事件之间的关联之后,便可以生成事件节点图。以事件名称作为节点,事件之间的关联作为边,依据关联之间主体和客体的关系生成有向图。其中,常见的事件关联可以表述为:
·A→B:只要事件A发生,那么B事件一定会在A后面的某一时刻发生,尽管不一定紧随其后;
·A→B:如果事件A发生,那么事件B一定不会在A后面发生;
·A←B:如果事件B发生,那么事件A一定在B前面的某一时刻发生了;
为了解决状态***问题,生成图主要有以下步骤:
(4a)产生正常运行时,***中的事件关系图G1;
(4b)产生攻击成功时的***中事件关系图G2;
(4c)产生攻击未遂时***中的事件关系图G3;
(4d)将G2与G1、G3比较,并将G2中与G1重复的部分去除得到G2',取G2'和G3重叠的部分得到攻击链G4;
(4e)将G3与G1比较,并去掉G3中与G1重叠的部分,可以得到攻击发生前的入侵痕迹G5;
为了提高图匹配的效率,引入基于子图同构的图匹配算法VF2来还原攻击链。在图论中,图G和图H的同构关系被描述成二者之间顶点的双射关系:
f∶V(G)→V(H)
该映射关系使得当且仅当f(u)和f(v)在H中相邻时,G的两个顶点u和v才在G中相邻。图同构是图上的等价关系,一组彼此同构的图被称为同构图。
经过VF2图匹配算法的筛选后,节点图中属于正常事件的节点将会被剔除,含有可疑攻击事件的节点和边将会被保留,通过对有向攻击图的分析溯源,便可以还原APT攻击链。
本发明从多个主机收集多源日志进行分析处理,避免仅研究单类日志所导致的遗漏、误报等问题,全面地还原出攻击链;将收集到的日志数据传入MapReduce分布式计算框架中,大大缩短了对原始数据的处理时间,提高了解析的准确度。本发明的日志解析过程主要为对数据的两次提取分析操作,分别为从原始数据中提取模板和从模板中提取事件,以此来大幅减少日志冗余所带来的状态依赖***问题。通过将日志数据转化为树节点,并比较节点和节点之间的相似度来生成模板。随后使用张量分解方法从模板和主机元组中提取事件,再将表示事件的数据存入HDFS文件***中,便于后续管理和使用。通过数据关联挖掘算法FP-Tree寻找事件中的关联,便于有向图的构建。本发明方法能够快速从大量节点图中提取出攻击路径,通过图匹配方法比较不同类型节点图,从而去除正常事件图和攻击事件图中大量的同构部分。
实施例2
本发明提出的一种基于分布式***的APT攻击追溯方法主要由四个阶段组成:收集多源日志数据并输入到MapReduce框架预处理、提取日志模板及事件、分析事件关联以及构建有向节点图并还原攻击链。参见图1,具体的实现方法如下:
步骤一、收集多源日志数据并输入到MapReduce框架预处理:
首先从多台主机的不同源收集日志数据(防火墙,DNS,CPU利用,网络流量记录,进程日志),将数据以键值对<K1,V1>的形式输入到MapReduce分布式计算框架中,其中K1表示日志的时间戳部分,V1表示具体数据部分,然后进行Map阶段:
根据日志数据特征构建正则表达式,正则表达式各部分如下:
Month | (?P<Month>.*?) |
Day | (?P<Day>.*?) |
H | (?P<H>.*?) |
M | (?P<M>.*?) |
S | (?P<S>.*?) |
Level | (?P<Level>.*?) |
Category | (?P<Category>.*?) |
Content | (?P<Content>.*?) |
整体的正则表达式为:
^(?P<Month>.*?)\\s+(?P<Day>.*?)\\s+(?P<H>.*?):(?P<M>.*?):(?P<S>.*?)\\s+(?P<Level>.*?)\\s+(?P<Category>.*?):\\s+(?P<Content>.*?)$
通过正则匹配的方式,将日志解析为结构化的实体,并初步过滤日志中不满足正则表达式的内容。
步骤二、提取日志模板及事件:
(2a)进行Reduce阶段:
参见图2,MapReduce分布式计算框架中包括一个主节点(Master)和N个从节点(Client),Master节点主要负责资源和执行任务的分配,Client节点负责分布式任务的计算处理。工作追踪结点(JobTracker)是在主节点上运行的一个master服务,当其他主机将日志数据输入到MapReduce框架之后,JobTracker负责初始化数据,调度节点并根据日志数量分配资源,当计算过程开始后,JobTracker负责监控执行任务的节点,保证计算过程的正确性。任务追踪节点(TaskTracker)是执行任务的具体节点,一个TaskTracker负责一部分日志数据的解析工作,每一个日志解析步骤都按照以下流程:
(2b)从经过过滤的日志数据中提取模板:
使用树结构来递归比较日志数据的相似度,起初,树中只有一个根节点nroot,当输入一条日志数据时m时,按照步骤一中匹配的格式将m分为一个单词列表,[wa1,wa2...,wan]=Wa,然后,创建一个含有Wa的节点并将其添加进树结构,新节点na在树中寻找与其具有相似日志消息或格式的节点。相似度的计算通过函数C(w)来实现,通过分析w字符串的特征将其转化到D维坐标系中,该函数将字符串中的字符分为d个类别,大小写,字母,数字都可算作字符串特征,计算字符串特征数后w将以坐标c的形式呈现在坐标系D中。随后计算c1,c2两点的欧氏距离(Euclidean Distance),如果距离值较小,则认为两个字符串相似度较高,相似度取值为[0,1]。公式如下:
当检测到子节点nc和节点n的相似度很高时,函数Format(nc,n)就为该日志信息创建一个模板格式。如果两节点都没有模板格式,则函数接收两节点na和nb中的单词列表Wa和Wb,并比较两个序列。如果Wa和Wb中相同位置的单词不匹配,则将其作为参数p1来处理;如果函数Format()接收到的其中一个节点已经具有该格式,合并该格式和新的日志消息,并细化该格式。
模板生成完毕后,将日志中每条数据归类,标明其所属的模板,并记录各个模板包含日志的数目。
(2c)使用张量分解方法从(2b)生产的模板中提取事件:
首先,根据定义日志模板组,再定义事件。选择时间窗口将原始日志数据分区,把同一主机中趋向于同时出现的日志模板定义为一个模板组,表示为m∈M,M表示模板组的集合。一个模板组就代表一个主机中的一个事件。对于一个模板组,可能出现在多台主机中,因为不同主机可能会出现相同的事件。事件e被定义为主机和模板组的元组集,即e={(h1,m1),(h2,m2)......}((h1,h2...∈H,m1,m2...∈M))。
该非负张量分解方法是基于NMF和NTF的,并在此基础上引入新的规则使其能够同时对模板组和主机进行建模。将日志张量X定义为拥有维数M×H×T的秩为3的张量,其中M为日志模板集合,H为主机集合,T为时间窗口集合,定义张量元素xmht为一条日志信息出现的次数。对于一个给定的张量X(M×H×T)和整数E,N(E为事件数目,N为模板组数目),可将其张量分解为:
定义一个M×N的矩阵V=[vmn],一个N×E×H的张量Z为Z=zne,一个E×T的矩阵W为W=wet。矩阵V可以看作是一个模板群矩阵,如果模板m属于模板组M,则vmn>0,否则vmn=0。秩3张量Z可以看作是一个事件张量,称每个H×N矩阵ze为一个事件片,在每个事件片中,如果主机h上的模板组m属于第e个网络事件,则zme>0。最后,矩阵W可以看作是一个权重矩阵。每个元素wet表示第e个网络事件在时间窗口t中所占的权重。通过观察we来理解第e个网络事件何时发生。X可以被视为具有权重{we}的事件片的叠加。
(2d)Reduce阶段结束。定义Reduce阶段的输出为<K2,list(V2)>,K2表示事件时间戳,list(V2)表示K2范围内包含的事件。将Reduce阶段的输出传入HDFS文件***。该***由两部分组成:名称节点(NameNode)和数据节点(DataNodes)。
NameNode用来管理命名空间,DataNodes用来存储提取出的日志事件。DataNodes定期将数据块的位置传给NameNode,读取文件时,就通过NameNode来查找对应DataNodes的位置。在每个DataNode中,都会存在一份原始数据的备份,防止数据丢失。
步骤三、分析事件关联:
(3a)首先定义I={i1,i2...,im}是m个不同项目的集合;频繁项目头表Htable由两个域组成:项目名称item-name和项目链头item-head,项目链头指向FP-Tree中与之名称相同的第一节点;每个节点有四个域组成:节点名称node-name,节点计数node-count,节点链node-link以及父节点指针node-parent;
(3b)从HDFS文件***中读取数据;
(3c)扫描数据,得到所有频繁1项集的的计数,将1项频繁集放入项头表,并按照支持度降序排列。由于在整个日志数据中出现频率极低的事件很可能更加具有意义,为了保证不发生漏报的情况,此处不选择删除支持度低于阈值的项;
(3d)读入排序后的数据集,***FP树,***时按照排序后的顺序,***FP树中,排序靠前的节点是父节点nparent,而靠后的是子节点nchild。如果有共用的父节点,则对应的公用父节点计数加1。***后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点。直到所有的数据都***到FP树后,FP树的建立完成;
(3e)从项头表的底部项依次向上挖掘,对于项头表对应于FP树的每一项,要找到它的条件模式基,条件模式基是以要挖掘的节点作为叶子节点所对应的FP子树,从条件模式基可以递归挖掘得到频繁项集。对所挖掘到的频繁项集递归合并,可以得到项目更多的频繁项集,直到找到最大频繁项集;
(3f)根据构建节点图的需要,挑选出适合的频繁项集。
步骤四、构建有向节点图并还原攻击链:
(4a)将事件作为节点,并根据事件之间的关联和时序生成有向节点图;
(4b)判断有向图的数量是否满足图匹配算法中所需的数量(图匹配分析中,需要正常事件图、攻击事件图、攻击未遂事件图);
(4c)使用图匹配算法VF2对有向图进行处理。在图论中,图G和图H的同构关系被描述成二者之间顶点的双射关系:
f:V(G)→V(H)
该映射关系使得当且仅当f(u)和f(v)在H中相邻时,G的两个顶点u和v才在G中相邻。图同构是图上的等价关系,一组彼此同构的图被称为同构图,将其看作是等价的。对于两个非空图G1和G2,图匹配算法VF2逐步匹配G1和G2中的点,若匹配成功则加入匹配映射(n,m)到映射集M中,失败则回退到上一状态进行搜索。经过不断递归,最终可以建立起两个图之间的映射关系M。一开始,M(s0)中为空,调用Match函数开始后,先根据当前状态s和一些与s中节点的连接拓扑关系,获得节点对集合P(s)。接下来准备加入状态s候选节点对集合,每一节点对包含一个小图节点和一个大图节点。接着对这个候选节点对集合遍历,每取出一对节点,先用IsFeasible()函数判断其是否可行,即判断加入这一对节点后是否能在有限步骤内得到子图同构。若加入节点对后必然不可能得到一对子图同构,就可以不继续往下搜索;如果该节点对可行,就将这对节点加入状态s得到状态s′,并递归调用Match函数继续往下搜索。搜索完每一分支进行回溯,每找到一个子图同构(也就是深度达到小图节点数),就把结果加入Solution;
(4d)对去除同构部分的图进行分析溯源,将节点和边的信息与日志数据对应,还原出APT攻击链。
本发明另一实施例还给出一种基于分布式***的APT攻击追溯***,包括:
预处理模块,用于收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;
事件提取模块,用于根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;
事件关系挖掘模块,用于使用FP-Tree数据关联挖掘算法找出事件之间的关系;
攻击还原模块,用于根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述基于分布式***的APT攻击追溯方法。
示例性的,所述存储器中存储的指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在计算机可读存储介质中,并由所述处理器执行,以完成本发明所述的数据不平衡目标识别方法。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在服务器中的执行过程。
所述电子设备可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述电子设备还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述服务器的内部存储单元,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述模块单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于分布式***的APT攻击追溯方法,其特征在于,包括:
收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;
根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;
使用FP-Tree数据关联挖掘算法找出事件之间的关系;
根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。
2.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,在所述收集多源日志数据并输入到MapReduce分布式计算框架进行预处理的步骤中,收集到的多源日志数据包括从多台主机不同源收集到的防火墙、DNS、CPU利用、网络流量记录以及进程日志,将数据以键值对<K1,V1>的形式输入到MapReduce分布式计算框架中,式中,K1表示日志的时间戳部分,V1表示具体数据部分;根据日志数据特征构建正则表达式,正则表达式如下:
整体的正则表达式为:
^(?P<Month>.*?)\\s+(?P<Day>.*?)\\s+(?P<H>.*?):(?P<M>.*?):(?P<S>.*?)\\s+(?P<Level>.*?)\\s+(?P<Category>.*?):\\s+(?P<Content>.*?)$
通过正则匹配将日志解析为结构化的实体,并初步过滤日志中不满足正则表达式的内容。
3.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,所述MapReduce分布式计算框架包括一个主节点和若干个从节点,所述的主节点负责资源和执行任务的分配,所述的从节点负责分布式任务的计算处理;设置工作追踪结点是在所述主节点上运行的一个master服务,当其他主机将日志数据输入到MapReduce分布式计算框架之后,由工作追踪结点负责初始化数据,调度节点并根据日志数量分配资源,当计算过程开始后,再由工作追踪结点负责监控执行任务的节点,保证计算过程的正确性;设置任务追踪节点是执行任务的具体节点,一个任务追踪节点负责一部分日志数据的解析工作。
4.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,所述根据字符串相似度从预处理后的日志中提取模板的步骤包括,使用树结构来递归比较日志数据的相似度:起初,树中只有一个根节点nroot,当输入一条日志数据时m时,将m分为一个单词列表,得到[wa1,wa2…,wan]=Wa,然后,创建一个含有Wa的节点并添加进树结构,新节点na在树中寻找与其具有相似日志消息或格式的节点,相似度的计算通过函数C(w)来实现,通过分析w字符串的特征将其转化到D维坐标系中,该函数将字符串中的字符分为d个类别,计算字符串特征数后w将以坐标c的形式呈现在坐标系D中;随后按下式计算c1,c2两点的欧氏距离,如果距离值较小,则认为两个字符串相似度较高,相似度取值为[0,1];
当检测到子节点nc和节点n的相似度很高时,函数Format(nc,n)就为该日志信息创建一个模板格式;如果两节点都没有模板格式,则函数接收两节点na和nb中的单词列表Wa和Wb,并比较两个序列;如果Wa和Wb中相同位置的单词不匹配,则将其作为参数p1来处理;如果函数Format()接收到的其中一个节点已经具有该格式,合并该格式和新的日志消息,并细化该格式;模板生成完毕后,将日志中每条数据归类,标明所属的模板并记录各个模板包含日志的数目。
5.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,所述使用张量分解法从模板中提取事件的步骤包括:
选择时间窗口将原始日志数据分区,把同一主机中趋向于同时出现的日志模板定义为一个模板组,表示为m∈M,M表示模板组的集合;一个模板组就代表一个主机中的一个事件;对于一个模板组,可能出现在多台主机中,因为不同主机可能会出现相同的事件;事件e被定义为主机和模板组的元组集,即e={(h1,m1),(h2,m2)……}((h1,h2…∈H,m1,m2…∈M));
将日志张量X定义为拥有维数M×H×T的秩为3的张量,其中M为日志模板集合,H为主机集合,T为时间窗口集合,定义张量元素xmht为一条日志信息出现的次数;对于一个给定的张量X(M×H×T)和整数E,N,E为事件数目,N为模板组数目,将其张量分解为:
定义一个M×N的矩阵V=[vmn],一个N×E×H的张量Z为Z=zneh,一个E×T的矩阵W为W=wet;矩阵V看作是一个模板群矩阵,如果模板m属于模板组M,则vmn>0,否则vmn=0;秩3张量Z看作是一个事件张量,称每个H×N矩阵ze为一个事件片,在每个事件片中,如果主机h上的模板组m属于第e个网络事件,则zmeh>0;最后,矩阵W看作是一个权重矩阵;每个元素wet表示第e个网络事件在时间窗口t中所占的权重;通过观察we来理解第e个网络事件何时发生,X被视为具有权重{we}的事件片的叠加。
6.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,所述使用张量分解法从模板中提取事件的步骤之后还包括,定义输出为<K2,list(V2)>,式中,K2表示事件时间戳,list(V2)表示K2范围内包含的事件;将输出传入HDFS文件***,该***由两部分组成:名称节点和数据节点;名称节点用来管理命名空间,数据节点用来存储提取出的日志事件;数据节点定期将数据块的位置传递给名称节点,读取文件时,就通过名称节点来查找对应数据节点的位置;在每个数据节点中都会存在一份原始数据的备份,防止数据丢失。
7.根据权利要求6所述基于分布式***的APT攻击追溯方法,其特征在于,所述使用FP-Tree数据关联挖掘算法找出事件之间的关系包括:
首先,定义I={i1,i2…,im}是m个不同项目的集合;频繁项目头表Htable由以下两个域组成:项目名称item-name和项目链头item-head,所述项目链头item-head指向FP-Tree中与之名称相同的第一节点;每个节点由以下四个域组成:节点名称node-name、节点计数node-count、节点链node-link以及父节点指针node-parent;再从HDFS文件***中读取数据;
扫描数据,得到所有频繁1项集的计数,将1项频繁集放入项头表,并按照支持度降序排列;为了保证不发生漏报的情况,此处不选择删除支持度低于阈值的项;
读入排序后的数据集,***FP树;***时按照排序后的顺序,***FP树中;排序靠前的节点是父节点nparent,而排序靠后的是子节点nchild;如果有共用的父节点,则对应的公用父节点计数加1;***后,如果有新节点出现,则项头表对应的节点通过节点链表链接上新节点;直到所有的数据都***到FP树后,FP树的建立完成;
从项头表的底部项依次向上挖掘,对于项头表对应FP树的每一项,找到条件模式基,条件模式基是以要挖掘的节点作为叶子节点所对应的FP子树,从条件模式基递归挖掘得到频繁项集,对所挖掘到的频繁项集递归合并,得到项目更多的频繁项集,找到最大频繁项集;
根据构建节点图的需要,挑选出满足项数要求的频繁项集。
8.根据权利要求1所述基于分布式***的APT攻击追溯方法,其特征在于,所述根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链的步骤包括:
将事件作为节点,并根据事件之间的关联和时序生成有向节点图;
判断有向节点图的数量是否满足图匹配算法中所需的数量,即满足在图匹配分析中,具备正常事件图、攻击事件图以及攻击未遂事件图;
使用图匹配算法VF2对有向图进行处理,在图论中,图G和图H的同构关系被描述成二者之间顶点的双射关系:
f∶V(G)→V(H)
该映射关系使得当且仅当f(u)和f(v)在H中相邻时,G的两个顶点u和v才在G中相邻;图同构是图上的等价关系,一组彼此同构的图被称为同构图,将其看作是等价的;对于两个非空图G1和G2,图匹配算法VF2逐步匹配G1和G2中的点,若匹配成功则加入匹配映射(n,m)到映射集M中,失败则回退到上一状态进行搜索;经过不断递归,最终建立起两个图之间的映射关系M;一开始,M(s0)中为空,调用Match函数开始后,先根据当前状态s和一些与s中节点的连接拓扑关系,获得节点对集合P(s);接下来加入状态s候选节点对集合,每一节点对包含一个小图节点和一个大图节点;再对这个候选节点对集合遍历,每取出一对节点,先用IsFeasible()函数判断其是否可行,即判断加入这一对节点后是否能在有限步骤内得到子图同构,若加入节点对后必然不可能得到一对子图同构,就不继续往下搜索;如果该节点对可行,就将这对节点加入状态s得到状态s′,并递归调用Match函数继续往下搜索;搜索完每一分支进行回溯,每找到一个深度达到小图节点数的子图同构,就把结果加入Solution;对去除同构部分的图进行分析溯源,将节点和边的信息与日志数据对应,还原出APT攻击链。
9.一种基于分布式***的APT攻击追溯***,其特征在于,包括:
预处理模块,用于收集多源日志数据并输入到MapReduce分布式计算框架进行预处理;
事件提取模块,用于根据字符串相似度从预处理后的日志中提取模板,并使用张量分解法从模板中提取事件;
事件关系挖掘模块,用于使用FP-Tree数据关联挖掘算法找出事件之间的关系;
攻击还原模块,用于根据事件之间的关系绘制出事件有向节点图,利用图匹配算法VF2去除事件有向节点图中同构部分,分析还原出APT攻击链。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至8中任意一项所述基于分布式***的APT攻击追溯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210278944.XA CN114637989B (zh) | 2022-03-21 | 2022-03-21 | 基于分布式***的apt攻击追溯方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210278944.XA CN114637989B (zh) | 2022-03-21 | 2022-03-21 | 基于分布式***的apt攻击追溯方法、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114637989A true CN114637989A (zh) | 2022-06-17 |
CN114637989B CN114637989B (zh) | 2024-07-12 |
Family
ID=81950689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210278944.XA Active CN114637989B (zh) | 2022-03-21 | 2022-03-21 | 基于分布式***的apt攻击追溯方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637989B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114944964A (zh) * | 2022-07-21 | 2022-08-26 | 北京未来智安科技有限公司 | 一种网络安全事件处理方法及装置 |
CN115037561A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 一种网络安全检测方法和*** |
CN115277124A (zh) * | 2022-07-12 | 2022-11-01 | 清华大学 | 基于***溯源图搜索匹配攻击模式的在线***及服务器 |
CN115567325A (zh) * | 2022-12-02 | 2023-01-03 | 浙江工业大学 | 一种基于图匹配的威胁狩猎方法 |
CN115622802A (zh) * | 2022-12-02 | 2023-01-17 | 北京志翔科技股份有限公司 | 攻击溯源方法、装置、设备和存储介质 |
CN115630626A (zh) * | 2022-11-17 | 2023-01-20 | 国网湖北省电力有限公司信息通信公司 | 一种数据中心设备日志模板在线提取方法 |
CN115632888A (zh) * | 2022-12-22 | 2023-01-20 | 国家工业信息安全发展研究中心 | 一种基于图算法的攻击路径还原方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988285A (zh) * | 2020-08-03 | 2020-11-24 | 中国电子科技集团公司第二十八研究所 | 一种基于行为画像的网络攻击溯源方法 |
US20210248443A1 (en) * | 2020-02-06 | 2021-08-12 | International Business Machines Corporation | Fuzzy Cyber Detection Pattern Matching |
US20210248268A1 (en) * | 2019-06-21 | 2021-08-12 | nference, inc. | Systems and methods for computing with private healthcare data |
CN113723220A (zh) * | 2021-08-11 | 2021-11-30 | 电子科技大学 | 基于大数据联邦学习架构下的深度伪造溯源*** |
CN114143020A (zh) * | 2021-09-06 | 2022-03-04 | 北京许继电气有限公司 | 一种基于规则的网络安全事件关联分析方法和*** |
-
2022
- 2022-03-21 CN CN202210278944.XA patent/CN114637989B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210248268A1 (en) * | 2019-06-21 | 2021-08-12 | nference, inc. | Systems and methods for computing with private healthcare data |
US20210248443A1 (en) * | 2020-02-06 | 2021-08-12 | International Business Machines Corporation | Fuzzy Cyber Detection Pattern Matching |
CN111988285A (zh) * | 2020-08-03 | 2020-11-24 | 中国电子科技集团公司第二十八研究所 | 一种基于行为画像的网络攻击溯源方法 |
CN113723220A (zh) * | 2021-08-11 | 2021-11-30 | 电子科技大学 | 基于大数据联邦学习架构下的深度伪造溯源*** |
CN114143020A (zh) * | 2021-09-06 | 2022-03-04 | 北京许继电气有限公司 | 一种基于规则的网络安全事件关联分析方法和*** |
Non-Patent Citations (2)
Title |
---|
HASSAAN IRSHAD等: "TRACE: Enterprise-Wide Provenance Tracking for Real-Time APT Detection", pages 1 - 14, Retrieved from the Internet <URL:《网页在线公开:https://ieeexplore.ieee.org/abstract/document/9492041》> * |
李腾等: "隐私保护的基于图卷积神经网络的攻击溯源方法", 《计算机研究》, vol. 58, no. 5, 1 July 2021 (2021-07-01), pages 1006 - 1020 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277124A (zh) * | 2022-07-12 | 2022-11-01 | 清华大学 | 基于***溯源图搜索匹配攻击模式的在线***及服务器 |
CN115277124B (zh) * | 2022-07-12 | 2024-07-12 | 清华大学 | 基于***溯源图搜索匹配攻击模式的在线***及服务器 |
CN114944964A (zh) * | 2022-07-21 | 2022-08-26 | 北京未来智安科技有限公司 | 一种网络安全事件处理方法及装置 |
CN115037561A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 一种网络安全检测方法和*** |
CN115630626A (zh) * | 2022-11-17 | 2023-01-20 | 国网湖北省电力有限公司信息通信公司 | 一种数据中心设备日志模板在线提取方法 |
CN115630626B (zh) * | 2022-11-17 | 2023-02-28 | 国网湖北省电力有限公司信息通信公司 | 一种数据中心设备日志模板在线提取方法 |
CN115567325A (zh) * | 2022-12-02 | 2023-01-03 | 浙江工业大学 | 一种基于图匹配的威胁狩猎方法 |
CN115622802A (zh) * | 2022-12-02 | 2023-01-17 | 北京志翔科技股份有限公司 | 攻击溯源方法、装置、设备和存储介质 |
CN115632888A (zh) * | 2022-12-22 | 2023-01-20 | 国家工业信息安全发展研究中心 | 一种基于图算法的攻击路径还原方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114637989B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114637989B (zh) | 基于分布式***的apt攻击追溯方法、***及存储介质 | |
US11449562B2 (en) | Enterprise data processing | |
CN108664375B (zh) | 用于检测计算机网络***用户的异常行为的方法 | |
US11281793B2 (en) | User permission data query method and apparatus, electronic device and medium | |
CN114143020B (zh) | 一种基于规则的网络安全事件关联分析方法和*** | |
US8204904B2 (en) | Network graph evolution rule generation | |
US9594823B2 (en) | Data relationships storage platform | |
CN111831636A (zh) | 一种数据处理方法、装置、计算机***及可读存储介质 | |
US11113317B2 (en) | Generating parsing rules for log messages | |
US9830451B2 (en) | Distributed pattern discovery | |
CN103488683B (zh) | 一种微博数据管理***及其实现方法 | |
CN110727663A (zh) | 数据清洗方法、装置、设备及介质 | |
CN111008521A (zh) | 生成宽表的方法、装置及计算机存储介质 | |
Huang et al. | Twain: Two-end association miner with precise frequent exhibition periods | |
CN112003884A (zh) | 一种网络资产的采集和自然语言检索方法 | |
CN112750047B (zh) | 行为关系信息提取方法及装置、存储介质、电子设备 | |
CN115858322A (zh) | 日志数据处理方法、装置和计算机设备 | |
CN113645286B (zh) | 一种面向数据泄露的Web安全事件取证方法及*** | |
Baudin et al. | Lscpm: communities in massive real-world link streams by clique percolation method | |
US20210226996A1 (en) | Network Data Clustering | |
Jiang et al. | MapReduce-based frequent itemset mining for analysis of electronic evidence | |
CN117453856B (zh) | 一种基于多源数据融合的历审案件串联的提取方法及装置 | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、***及介质 | |
CN115834352B (zh) | 网络空间资产的关联分析方法、装置及*** | |
CN115604000B (zh) | 一种越权检测方法、装置、设备及存储介质 |
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 |