CN113779574B - 一种基于上下文行为分析的apt检测方法 - Google Patents
一种基于上下文行为分析的apt检测方法 Download PDFInfo
- Publication number
- CN113779574B CN113779574B CN202110909243.7A CN202110909243A CN113779574B CN 113779574 B CN113779574 B CN 113779574B CN 202110909243 A CN202110909243 A CN 202110909243A CN 113779574 B CN113779574 B CN 113779574B
- Authority
- CN
- China
- Prior art keywords
- tag
- description
- file
- label
- data
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 238000004458 analytical method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 164
- 230000008569 process Effects 0.000 claims abstract description 149
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000013144 data compression Methods 0.000 claims description 21
- 238000013138 pruning Methods 0.000 claims description 12
- 238000010380 label transfer Methods 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 230000003542 behavioural effect Effects 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004374 forensic analysis Methods 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 206010020751 Hypersensitivity Diseases 0.000 description 2
- 208000026935 allergic disease Diseases 0.000 description 2
- 230000007815 allergy Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于上下文行为分析的APT检测方法,包括:实时采集日志数据,所述日志数据涉及的对象包括进程、文件和事件;对采集到的日志数据进行预处理;根据简化后的数据依赖图基于上下文行为分析进行入侵检测;取最新的数据依赖图,根据其中所包含的携带威胁标签的进程进行溯源,得到完整的APT攻击链。本发明的基于上下文行为分析的APT检测方法,具有良好的适配性,且检测成功率高。
Description
技术领域
本申请属于APT攻击检测领域,具体涉及一种基于上下文行为分析的APT检测方法。
背景技术
APT(Advanced Persistent Threat)攻击,即高级持续性威胁攻击,通常是指对政府、核心基础设施(如能源、运输、通讯)和重要行业(如军工、金融、医疗)所发动的攻击。APT攻击与传统的攻击模式相比,具有持续时间久、攻击链长、隐蔽性高、手段多样、危害性强等特征,可利用社会工程学、0-day漏洞、受感染的存储介质等多种方式进行攻击。故利用现有的检测方法很难直接检测出一条完整的APT攻击链,分析人员通常在某个时间点检测出攻击的某一个步骤后,通过取证分析来快速定位入口点并判断攻击的范围,进而执行后续的补救措施。其中取证分析通常利用系统日志记录实体(如进程、文件等)以及实体间的信息流(如读、写、创建等),以有向图的形式直观展现实体间的依赖关系。其中图的顶点是实体,边是信息流。
根据调研显示,现在大多数的APT检测来自于传统的网络攻击检测,主要分为以下四类:网络流量分析、软件静态特征分析、钩子追踪分析和动态沙箱分析。其中基于网络流量分析的检测方法依赖程序产生的流量,不能直接观察恶意程序的活动;基于软件静态特征分析的检测方法容易被代码的多态变化和混淆所回避;基于钩子追踪分析的检测方法会修改底层实现代码逻辑,使得程序/系统变得不稳定,并可能暴露新的漏洞;基于动态沙箱分析的检测方法需要模拟真实的环境,运行的开销大。在以上传统的网格攻击检测方法之外,现在还提出了一种端点检测与响应的检测方法,但该方法也存在威胁警报疲劳、分析日志需要技术知识成本和日志存储效率低的缺陷。
发明内容
本申请的目的在于提供一种基于上下文行为分析的APT检测方法,具有良好的适配性,且检测成功率高。
为实现上述目的,本申请所采取的技术方案为:
一种基于上下文行为分析的APT检测方法,所述基于上下文行为分析的APT检测方法,包括:
步骤S1、实时采集日志数据,所述日志数据涉及的对象包括进程、文件和事件;
步骤S2、对采集到的日志数据进行预处理,包括:
步骤S21、将所有进程连接至同一个预定义的虚拟的祖父进程;
步骤S22、将进程和文件作为节点、将事件作为边构建数据依赖图;
步骤S23、采用数据压缩算法滤除冗余的事件,简化数据依赖图;
步骤S3、根据简化后的数据依赖图基于上下文行为分析进行入侵检测,包括:
步骤S31、根据ATT&CK框架制定相应的标签规则,对数据依赖图中满足标签规则的进程或文件打上相应的标签;
步骤S32、根据ATT&CK框架制定相应的标签传递规则,对数据依赖图中满足标签传递规则的进程或文件打上相应的标签;
步骤S33、根据ATT&CK框架制定相应的威胁检测规则,对数据依赖图中包含特定的标签的进程进行威胁警报,并标记导致威胁警报的标签为威胁标签;
步骤S34、对进程中不包含威胁标签和子进程的退出进程进行剪枝处理,得到新的数据依赖图;
步骤S4、取最新的数据依赖图,根据其中所包含的携带威胁标签的进程进行溯源,得到完整的APT攻击链。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述数据压缩算法,包括:
所述数据压缩算法的输入为:按时间顺序排列的事件,每个事件对应一个源实体和目标实体;
所述数据压缩算法的输出为:压缩后的事件;
所述数据压缩算法的压缩流程为:
初始化一个空集作为实体集;
对于一个事件,如果该事件的源实体不存在于实体集中,则将该事件的源实体添加进实体集中,并且将该事件的源实体的语义信息清空;如果该事件的目标实体存在于源实体的语义信息中,则删除该事件;最后,将该事件的目标实体的语义信息清空,并将该事件的目标实体添加进源实体的语义信息里。
作为优选,所述标签规则包含进程标签规则和文件标签规则,其中进程标签规则包括标签PT1、PT2、PT3、PT4、PT5、PT6、PT7、PS1、PS2、PS3、PS4、PS5、PS6、PS7、PS8,标签PT1的描述为进程有网络连接,标签PT2的描述为进程访问高价值数据流节点中的数据,标签PT3的描述为进程获取了网络数据,标签PT4的描述为进程加载或读取了被上传的文件,标签PT5的描述为进程与不存在的文件交互,标签PT6的描述为进程读取了passwd文件,标签PT7的描述为进程读取了~/.bash_history文件,标签PS1的描述为进程执行了网络中的文件,标签PS2的描述为进程执行了敏感文件,标签PS3的描述为进程执行了敏感命令,标签PS4的描述为进程执行了命令,标签PS5的描述为进程执行了shell命令,标签PS6的描述为进程修改了crontab文件,标签PS7的描述为进程修改了sudoers文件,标签PS8的描述为进程读取了敏感信息;
所述文件标签规则包括标签FT1、FT2、FT3、FT4、FS1、FS2、FS3、FS4、FS5、FS6、FS7、FV1、FV2、FV3、FV4,标签FT1的描述为文件在默认情况下是敏感文件,标签FT2的描述为文件来源于便携式设备,标签FT3的描述为文件最近被修改或创建,标签FT4的描述为文件是被上传的,标签FS1的描述为文件包含来源于网络的数据,标签FS2的描述为文件由执行了危险代码的进程所写,标签FS3的描述为该文件是敏感的,标签FS4的描述为文件不存在,标签FS5的描述为文件被Webshell进程写过,标签FS6的描述为文件被RAT进程写过,标签FS7的描述为文件被Livingoffland进程写过,标签FV1的描述为/etc/crontab文件,标签FV2的描述为/etc/sudoers文件,标签FV3的描述为/etc/passwd文件,标签FV4的描述为~/.bash_history文件。
作为优选,所述对数据依赖图中包含特定的标签的进程进行威胁警报,其中包含特定的标签的进程为:具有标签PS1的进程,或者具有标签PT4&PS4的进程,或者具有标签PT6&PS5的进程,或者具有标签PS1&PS5的进程,或者具有标签PS6/PS7/PT7/PT8的进程,或者具有标签PS8的进程,或者具有标签PT4&PS4和标签PS8的进程,或者具有标签PT6&PS5和标签PS8的进程,或者具有标签PS1&PS5和标签PS8的进程。
作为优选,所述取最新的数据依赖图,根据其中所包含的携带威胁标签的进程进行溯源,得到完整的APT攻击链,包括:
步骤S41、对进行威胁警报的进程进行分析,提取该进程中的威胁标签;
步骤S42、根据威胁检测规则,通过威胁标签确定该标签对应的标签传递规则和该标签对应的源节点;
步骤S43、对步骤S42中确定的源节点重复执行步骤S41和步骤S42,直至找到最初产生威胁的节点;
步骤S44、取步骤S41至步骤S43中所找到的所有节点以及事件生成溯源图,得到完整的APT攻击链,所述节点为进程或文件。
本申请提供的基于上下文行为分析的APT检测方法,基于ATT&CK框架进行上下文行为分析并结合了压缩的思维和非存活节点剪枝的策略。其中,APT&CK框架用于制定规则与检测策略,根据ATT&CK各阶段的攻击技术和战术,能够制定绝大多数的攻击策略。压缩的思维体现在利用数据压缩算法对冗余的事件进行跳过处理,提高检测效率。非存活节点剪枝的策略体现在对于退出进程进行有选择性的保留和删除,可以减少内存开销。该检测方法具有良好的适配性,对于新型的攻击手段只要制定好检测策略就能够成功检测,且误报率低可以减轻管理人员阅读日志的开销。
附图说明
图1为本申请的基于上下文行为分析的APT检测方法的流程图;
图2为本申请对依赖图进行压缩删减前后的一种实施例示意图;
图3为本申请进行剪枝处理的一种实施例示意图;
图4为本申请生成溯源图的一种实施例示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,为了克服已有检测策略存在的缺陷,提供了一种具有高适配性、高覆盖性,能够实现实时检测的基于上下文行为分析的APT检测方法。
如图1所示,本实施例的基于上下文行为分析的APT检测方法,具体包括以下步骤:
步骤S1、实时采集日志数据,日志数据涉及的对象包括进程、文件和事件。
Linux audit作为当下Linux操作系统的原生日志系统,是近年来相当多研究工作所依赖的数据源。原因如下:1)能以相对较低的负载来完整记录源于系统内核的事件,具有相当强的可信度。2)系统日志不用针对不同软件做适配,3)其还不像网络流量受加密影响,在语义还原上存在效率低的缺陷。
因此本实施例针对Linux audit提供一种日志数据的采集方法,包括:
S11、在本地的Linux主机上安装Spade作为采集日志数据的工具。安装成功后,运行Spade即可采集到来自Linux内核的audit日志数据。
S12、采集到的audit日志数据经过Avro序列化后实时传入本地的检测框架中,并准备做数据预处理。
需要说明的是,以上所提供的日志数据采集方法速度快、完整性高。在其他实施例中还可以针对其他系统采用其他方式进行日志数据采集,例如通过filebeat、logstash、rsyslog等方式进行采集。
步骤S2、对采集到的日志数据进行预处理,包括:
步骤S21、创建进程树,将所有进程连接至同一个预定义的虚拟的祖父进程,使所有进程都拥有相同的祖父进程,方便进程之间的管理。容易理解的是,与步骤S12中对应的是,在执行步骤S21之前需要先对数据进程Avro反序列化。
步骤S22、将进程和文件作为节点、将事件作为边构建数据依赖图;
步骤S23、采用数据压缩算法滤除冗余的事件,简化数据依赖图。采用压缩的思维跳过部分冗余语义数据。在大多数情况,系统会对同一个文件产生大量的读写操作,而冗余的读操作或写操作对于检测框架是没有必要的,是不会影响最终的检测结果的。因此采用数据压缩的思维,存储最近的一次或多次语义,对相同语义的数据进行跳过处理,提高检测速率。
本实施例中提供的数据压缩算法是一种保持全局语义的数据压缩策略。由于系统事件中通常包含参与实体(源实体和目标实体)、操作类型、发生时间等信息,拟采用源实体的语义特性来删除到同一目标实体的等价信息流,大量减少系统事件的存储。这里所指的参与实体可以是进程、文件等。而事件则是描述了实体之间如何相互作用,并可以转化为信息流。信息流又可分为数据流和控制流。数据流是指数据内容的依赖关系,它反映了数据的流动路径(例如,一个进程读取一个文件)。控制流主要指流程创建关系(如父流程创建子流程)。信息流对取证分析的重要性取决于连接的实体(例如,对于读取事件,读取从互联网下载的文件比读取本地已存在的文件更容易引入恶意信息)。
本实施例中提供的数据压缩算法的核心思想是:在源节点(对于数据依赖图而言,节点为进程或文件,同理源节点理解为源进程或源文件,目标节点理解为目标进程或目标文件)语义不变的前提下,信息流对同一目标的影响是等价的,等价事件可以作为冗余删除。需要保留的是对目标节点有影响的第一个事件。对于依赖图,当一个节点没有引入边时,可以认为它的语义不变,也可以认为它的出边语义不变。
如图2所示,在时间点3,进程A语义变化后,时间点4进程A写文件2的事件保留。同时在压缩后数据依赖图上也能反馈语义变化后的实体是否仍对此前作用目标造成影响。如果没有时间点4的事件,在删减后数据上可通过观测得知,进程A读取文件1改变语义后,进程A没有再写文件2,文件2中不会存在来自文件1的数据。
本实施例中提供的数据压缩算法不局限于单节点的特性,删减不影响局部依赖关系的事件,使得压缩后的数据依旧维持了系统中全实体间的依赖关系且无损语义。具体的本实施例的数据压缩算法的输入、输出和压缩流程如下:
数据压缩算法的输入为:按时间顺序排列的事件,每个事件对应一个源实体和目标实体。
数据压缩算法的输出为:压缩后的事件。
数据压缩算法的压缩流程为:初始化一个空集作为实体集W;对于一个事件ei,如果该事件ei的源实体Sei不存在于实体集W中,则将该事件ei的源实体Sei添加进实体集W中,并且将该事件ei的源实体Sei的语义信息Sem(Sei)清空;如果该事件ei的目标实体Dei存在于源实体Sei的语义信息Sem(Sei)中,则删除该事件ei;最后,将该事件ei的目标实体Dei的语义信息Sem(Dei)清空,并将该事件ei的目标实体Dei添加进源实体Sei的语义信息Sem(Sei)里。
也就是在处理实时事件时,该算法将确定是否存在从源实体Sei到目的实体Dei的具有相同语义的信息流。如果存在,将删除等效事件。否则,Sem(Dei)将被清空,Dei将被添加到Sem(Sei)中。其程序执行流程如下:
步骤S3、根据简化后的数据依赖图基于上下文行为分析进行入侵检测。
ATT&CK(Adversarial Tactics,Techniques,and Common Knowledge)是一个反映各个攻击生命周期的攻击行为的模型和知识库。起源于一个项目,用于枚举和分类针对Microsoft WindowsTM系统的攻陷后的战术,技术和过程(TTP),以改进对恶意活动的检测。
ATT&CK框架能够实现全面的恶意活动检测,因此本实施例基于ATT&CK框架进程入侵检测,其具体步骤如下:
步骤S31、根据ATT&CK框架制定相应的标签规则,对数据依赖图中满足标签规则的进程或文件打上相应的标签;如对拥有网络连接的进程打上“进程有网络连接”的标签,对敏感文件打上“该文件是敏感的”的标签等。
步骤S32、根据ATT&CK框架制定相应的标签传递规则,对数据依赖图中满足标签传递规则的进程或文件打上相应的标签;如对执行过敏感文件的进程打上“进程执行了敏感文件”的标签等。
步骤S33、根据ATT&CK框架制定相应的威胁检测规则,对数据依赖图中包含特定的标签的进程进行威胁警报,并标记导致威胁警报的标签为威胁标签;本实施例中进行威胁警报理解为检测出存在APT攻击。如对包含“对不可信文件进行执行操作标签”的进程报出不可信执行(Untrusted Execution)的威胁,对同时包含“该进程包含敏感信息标签”和“该进程与外部主机有交互”报出数据泄露(Data Exfiltration)的威胁。
本实施例中提供的标签规则包含进程标签规则和文件标签规则,则所制定的具体的标签规则、标签传递规则和威胁检测规则如下:
表1进程标签规则
表2文件标签规则
表3标签传递规则
表3中的标签1对应于进程的标签,标签2对应于文件的标签。并且表3中的传递方向指数据的传递方向,“正”表示进程对文件进行写操作,即数据由进程传递给文件,“反”表示进程对文件进程读操作,即数据由文件传递给进程。
表4威胁检测规则
/>
注,表4中的标签即为导致威胁警报的威胁标签。
表1~4中的描述理解为对每一条的定义。并且需要说明的是,通常敏感命令为用户自定义的敏感命令,例如whoami,id等操作,正常情况下敏感命令不会被执行。通常上述表格中涉及的文件目录为Linux系统的基本架构,本实施例针对其他系统可进行自定义的高价值文件划分,或者基于本实施例在Linux系统下的划分方法对应划分。
本实施例设置进程标签和文件标签进行单点分析,并通过标签之间的传递规则将单点分析结果通过控制流和数据流进行连接,从而进行完整的链路分析。
步骤S34、对进程中不包含威胁标签和子进程的退出进程进行剪枝处理,得到新的数据依赖图。
进程根据其执行操作的不同可分为多种类型,例如读进程、写进程、退出进程等,本实施例中为简化数据依赖图,提高APT攻击溯源速度,对进程中的退出进程进行剪枝处理,对不包含任何威胁标签和子进程的退出进程在进程树上对其进行剪枝,释放内存,减少内存开销。对包含威胁标签或子进程的退出进程不做剪枝处理,为了后续的溯源分析。本实施例中剪枝处理的算法如下:
开始:
对于EXIT(退出)进程e(u,v);
判断进程节点u是否存在威胁标签(PHF);
如果不存在,则:
判断进程节点u是否存在子进程;
如果不存在,则:
删除该进程;
结束。
如图3所示,图中左边虚线框内为处理前的数据依赖图(Graph),其中所包含的加粗箭头(标注R)为冗余事件,虚线箭头和圆(标注P)为不包含任何威胁标签和子进程的退出进程,经过剪枝处理(Prune)和删除冗余(Redundancy Deletion)后得到右边虚线框内简化后的数据依赖图。由图中可以看出简化后的数据依赖图相较于处理前的数据依赖图简化很多。
步骤S4、取最新的数据依赖图,根据其中所包含的携带威胁标签的进程进行溯源,得到完整的APT攻击链,包括:
步骤S41、对进行威胁警报的进程进行分析,提取该进程中的威胁标签;
步骤S42、根据威胁检测规则,通过威胁标签确定该标签对应的标签传递规则和该标签对应的源节点;
步骤S43、对步骤S42中确定的源节点重复执行步骤S41和步骤S42,直至找到最初产生威胁的节点;对步骤S42中确定的源节点重复执行步骤S41和步骤S42,理解为以步骤S42中确定的源节点进行分析。
步骤S44、取步骤S41至步骤S43中所找到的所有节点以及事件生成溯源图,得到完整的APT攻击链。
如图4所示,图中左边虚线框中的黑色填充的圆为通过威胁检测规则识别出来的具有威胁标签的节点,基于该节点的标签传递规则和该标签对应的源节点进行分析(Analysis)进行溯源,得到右边虚线框中的溯源图(Source),溯源图中的黑色填充的圆以及之间的箭头为完整的APT攻击链。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (3)
1.一种基于上下文行为分析的APT检测方法,其特征在于,所述基于上下文行为分析的APT检测方法,包括:
步骤S1、实时采集日志数据,所述日志数据涉及的对象包括进程、文件和事件;
步骤S2、对采集到的日志数据进行预处理,包括:
步骤S21、将所有进程连接至同一个预定义的虚拟的祖父进程;
步骤S22、将进程和文件作为节点、将事件作为边构建数据依赖图;
步骤S23、采用数据压缩算法滤除冗余的事件,简化数据依赖图;所述数据压缩算法,包括:
所述数据压缩算法的输入为:按时间顺序排列的事件,每个事件对应一个源实体和目标实体;
所述数据压缩算法的输出为:压缩后的事件;
所述数据压缩算法的压缩流程为:
初始化一个空集作为实体集;
对于一个事件,如果该事件的源实体不存在于实体集中,则将该事件的源实体添加进实体集中,并且将该事件的源实体的语义信息清空;如果该事件的目标实体存在于源实体的语义信息中,则删除该事件;最后,将该事件的目标实体的语义信息清空,并将该事件的目标实体添加进源实体的语义信息里;
步骤S3、根据简化后的数据依赖图基于上下文行为分析进行入侵检测,包括:
步骤S31、根据ATT&CK框架制定相应的标签规则,对数据依赖图中满足标签规则的进程或文件打上相应的标签;
步骤S32、根据ATT&CK框架制定相应的标签传递规则,对数据依赖图中满足标签传递规则的进程或文件打上相应的标签;
步骤S33、根据ATT&CK框架制定相应的威胁检测规则,对数据依赖图中包含预设的标签的进程进行威胁警报,并标记导致威胁警报的标签为威胁标签;
步骤S34、对进程中不包含威胁标签和子进程的退出进程进行剪枝处理,得到新的数据依赖图;
步骤S4、取最新的数据依赖图,根据其中所包含的携带威胁标签的进程进行溯源,得到完整的APT攻击链,包括:
步骤S41、对进行威胁警报的进程进行分析,提取该进程中的威胁标签;
步骤S42、根据威胁检测规则,通过威胁标签确定该标签对应的标签传递规则和该标签对应的源节点;
步骤S43、对步骤S42中确定的源节点重复执行步骤S41和步骤S42,直至找到最初产生威胁的节点;
步骤S44、取步骤S41至步骤S43中所找到的所有节点以及事件生成溯源图,得到完整的APT攻击链,所述节点为进程或文件。
2.如权利要求1所述的基于上下文行为分析的APT检测方法,其特征在于,所述标签规则包含进程标签规则和文件标签规则,其中进程标签规则包括标签PT1、PT2、PT3、PT4、PT5、PT6、PT7、PS1、PS2、PS3、PS4、PS5、PS6、PS7、PS8,标签PT1的描述为进程有网络连接,标签PT2的描述为进程访问高价值数据流节点中的数据,标签PT3的描述为进程获取了网络数据,标签PT4的描述为进程加载或读取了被上传的文件,标签PT5的描述为进程与不存在的文件交互,标签PT6的描述为进程读取了passwd文件,标签PT7的描述为进程读取了~/.bash_history文件,标签PS1的描述为进程执行了网络中的文件,标签PS2的描述为进程执行了敏感文件,标签PS3的描述为进程执行了敏感命令,标签PS4的描述为进程执行了命令,标签PS5的描述为进程执行了shell命令,标签PS6的描述为进程修改了crontab文件,标签PS7的描述为进程修改了sudoers文件,标签PS8的描述为进程读取了敏感信息;
所述文件标签规则包括标签FT1、FT2、FT3、FT4、FS1、FS2、FS3、FS4、FS5、FS6、FS7、FV1、FV2、FV3、FV4,标签FT1的描述为文件在默认情况下是敏感文件,标签FT2的描述为文件来源于便携式设备,标签FT3的描述为文件最近被修改或创建,标签FT4的描述为文件是被上传的,标签FS1的描述为文件包含来源于网络的数据,标签FS2的描述为文件由执行了危险代码的进程所写,标签FS3的描述为该文件是敏感的,标签FS4的描述为文件不存在,标签FS5的描述为文件被Webshell进程写过,标签FS6的描述为文件被RAT进程写过,标签FS7的描述为文件被Livingoffland进程写过,标签FV1的描述为/etc/crontab文件,标签FV2的描述为/etc/sudoers文件,标签FV3的描述为/etc/passwd文件,标签FV4的描述为~/.bash_history文件。
3.如权利要求2所述的基于上下文行为分析的APT检测方法,其特征在于,所述对数据依赖图中包含预设的标签的进程进行威胁警报,其中包含预设的标签的进程为:具有标签PS1的进程,或者具有标签PT4&PS4的进程,或者具有标签PT6&PS5的进程,或者具有标签PS1&PS5的进程,或者具有标签PS6/PS7/PT7/PT8的进程,或者具有标签PS8的进程,或者具有标签PT4&PS4和标签PS8的进程,或者具有标签PT6&PS5和标签PS8的进程,或者具有标签PS1&PS5和标签PS8的进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909243.7A CN113779574B (zh) | 2021-08-09 | 2021-08-09 | 一种基于上下文行为分析的apt检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909243.7A CN113779574B (zh) | 2021-08-09 | 2021-08-09 | 一种基于上下文行为分析的apt检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779574A CN113779574A (zh) | 2021-12-10 |
CN113779574B true CN113779574B (zh) | 2024-02-27 |
Family
ID=78837076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110909243.7A Active CN113779574B (zh) | 2021-08-09 | 2021-08-09 | 一种基于上下文行为分析的apt检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779574B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006775B (zh) * | 2021-12-31 | 2022-04-12 | 北京微步在线科技有限公司 | 一种入侵事件的检测方法及装置 |
CN114024773B (zh) * | 2022-01-05 | 2022-03-29 | 北京微步在线科技有限公司 | 一种webshell文件检测方法及系统 |
CN114915501B (zh) * | 2022-07-15 | 2022-09-13 | 北京微步在线科技有限公司 | 基于进程行为图的入侵事件检测方法、装置及电子设备 |
CN115086071B (zh) * | 2022-07-20 | 2022-12-06 | 中孚安全技术有限公司 | 一种基于日志因果溯源的数据窃取检测方法、系统及设备 |
CN115499169A (zh) * | 2022-08-22 | 2022-12-20 | 西安电子科技大学 | 一种基于因果图的多阶段攻击过程重构方法 |
CN115622802B (zh) * | 2022-12-02 | 2023-04-07 | 北京志翔科技股份有限公司 | 攻击溯源方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307292A (zh) * | 2020-10-30 | 2021-02-02 | 中国信息安全测评中心 | 基于高级持续性威胁攻击的信息处理方法及系统 |
CN112506885A (zh) * | 2020-12-10 | 2021-03-16 | 浙江工业大学 | 一种基于系统审计日志与打分机制的webshell实时检测方法 |
CN112738126A (zh) * | 2021-01-07 | 2021-04-30 | 中国电子科技集团公司第十五研究所 | 基于威胁情报和att&ck的攻击溯源方法 |
-
2021
- 2021-08-09 CN CN202110909243.7A patent/CN113779574B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307292A (zh) * | 2020-10-30 | 2021-02-02 | 中国信息安全测评中心 | 基于高级持续性威胁攻击的信息处理方法及系统 |
CN112506885A (zh) * | 2020-12-10 | 2021-03-16 | 浙江工业大学 | 一种基于系统审计日志与打分机制的webshell实时检测方法 |
CN112738126A (zh) * | 2021-01-07 | 2021-04-30 | 中国电子科技集团公司第十五研究所 | 基于威胁情报和att&ck的攻击溯源方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113779574A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113779574B (zh) | 一种基于上下文行为分析的apt检测方法 | |
CN108052825B (zh) | 针对二进制可执行文件的模糊测试与符号执行相结合的漏洞检测系统 | |
CN107004088B (zh) | 确定装置、确定方法及记录介质 | |
JP2021060987A (ja) | コンピュータネットワークにおけるデータ効率のよい脅威検出の方法 | |
CN104598823A (zh) | 一种安卓系统中内核级rootkit检测方法及其系统 | |
US20180018460A1 (en) | Inferential exploit attempt detection | |
EP4172823A1 (en) | Deep learning-based analysis of signals for threat detection | |
CN104965731A (zh) | 一种数据处理方法及电子终端 | |
CN105426751A (zh) | 一种防止篡改系统时间的方法及装置 | |
CN113468530A (zh) | 基于云计算的风险管理安全实时监控方法 | |
CN115396182A (zh) | 工控安全自动化编排与响应方法及系统 | |
Sadeghi et al. | Mining the categorized software repositories to improve the analysis of security vulnerabilities | |
JPWO2019181005A1 (ja) | 脅威分析システム、脅威分析方法および脅威分析プログラム | |
KR20160138523A (ko) | 위험 파일에 대응하는 행위 정보를 결정하는 방법 및 장치 | |
KR20080096518A (ko) | 해석가능한 코드를 실행시키는 것과 연관된 위험의 사정을용이하게 하는 컴퓨터 구현 방법, 컴퓨터 프로그램 제품,및 컴퓨팅 시스템 | |
CN113965497B (zh) | 服务器异常识别方法、装置、计算机设备及可读存储介质 | |
CN112989135B (zh) | 实时风险团伙的识别方法、介质、装置和计算设备 | |
CN107920067B (zh) | 一种主动对象存储系统上的入侵检测方法 | |
US20140222496A1 (en) | Determining cost and risk associated with assets of an information technology environment | |
Mondek et al. | Security analytics in the big data era | |
CN115587357A (zh) | 一种基于大数据的威胁场景分析方法及系统 | |
US20180032393A1 (en) | Self-healing server using analytics of log data | |
JP2016018227A (ja) | 作業ログ編集方法、情報処理装置、およびプログラム | |
CN113467941A (zh) | 用于分享信息的方法和装置 | |
CN114154155B (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 | ||
GR01 | Patent grant |