CN113221110B - 一种基于元学习的远程访问木马智能分析方法 - Google Patents
一种基于元学习的远程访问木马智能分析方法 Download PDFInfo
- Publication number
- CN113221110B CN113221110B CN202110379282.0A CN202110379282A CN113221110B CN 113221110 B CN113221110 B CN 113221110B CN 202110379282 A CN202110379282 A CN 202110379282A CN 113221110 B CN113221110 B CN 113221110B
- Authority
- CN
- China
- Prior art keywords
- meta
- behavior
- program
- sample
- task
- 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
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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
Abstract
本发明公开了一种基于元学习的远程访问木马智能分析方法,包括获取应用数据集;定义元任务;元任务训练得到行为样本;根据所述恶意程序样本和合法程序样本对应的行为样本统计得到各个行为样本的行为向量;利用各个行为样本的行为向量对GMMs模型进行训练,训练确定最终的K值以及聚簇中心和大小;利用训练后的GMMs模型对待分析的在线程序进行检测。本发明构建基于元学习算法,利用高斯混合模型、欧氏距离和动态行为特征的RAT恶意程序智能分析检测模型,模仿安全专家学习、判断恶意程序的过程,利用动态行为特征构建程序行为向量,实现针对RAT的高效、精准检测。
Description
技术领域
本申请属于信息安全技术领域,具体涉及一种基于元学习的远程访问木马智能分析方法。
背景技术
目前,网络安全形势已进入崭新的时代,面向各种新的战场和市场,需要新的架构、新的方法来支撑应对越来越多艰巨的任务,而大力发展信息系统安全检测和验证技术,特别是发展针对高级网络攻击的智能检测分析技术,实现信息系统的安全可控,以寻求在网络空间对抗中的领先地位已迫在眉睫。
当前的恶意文件与恶意程序检测方法无法适应高级网络攻击复杂多变的特点。主要表现在:一方面,恶意文件/程序的样本数量稀少,难以获得。另一方面,恶意文件/程序的变式多,检测困难。尽管学术界和工业界对高级网络攻击智能分析发现提出了一系列的解决方案(如特征检测方案、异常检测方案、大数据分析方案等),但是高级网络攻击的多样性、隐蔽性和样本稀缺性给检测带来了极大的困难,主要表现在:
在终端主机侧,远程访问木马(Remote Access Trojan,RAT)攻击工具难以收集且对恶意行为的表现能力有限。其多掌握于黑客和攻击组织手中,另外包括Symantec等安全公司收集到的RAT样本多为被控制端,无法主动触发动态行为,因而无法生成足量动态执行训练数据。因此,如何构建基于元学习(Learning to Learn)算法的RAT智能分析模型,模仿安全专家学习、判断恶意程序的过程,利用动态行为特征构建程序行为特征向量,实现针对RAT的检测,是面向高级网络攻击的样本增强及智能分析方法研究中的一个关键科学问题。
发明内容
本申请的目的在于提供一种基于元学习的远程访问木马智能分析方法,实现针对RAT的高效、精准检测。
为实现上述目的,本申请所采取的技术方案为:
一种基于元学习的远程访问木马智能分析方法,所述基于元学习的远程访问木马智能分析方法,包括:
步骤1、获取应用数据集,应用数据集包含恶意程序样本和合法程序样本;
步骤2、定义元任务包括:下载执行、远程Shell、键盘记录、获取密码、远程摄像头、访问网址、计算机控制、系统信息、录音、服务管理器、脚本执行、CD-Rom控制、枚举窗口、剪贴板管理、桌面任务栏管理、DDos、网络连接表、软件管理、显示器控制、语音转换、自启动管理、USB管理、搜索文件、文件传送;
步骤3、元任务训练得到行为样本,包括:从恶意程序样本和合法程序样本中提取元任务并记录运行时元任务对应的动态行为特征作为行为样本;
步骤4、根据所述恶意程序样本和合法程序样本对应的行为样本构建各个行为样本的行为向量;
步骤5、利用各个行为样本的行为向量对GMMs模型进行训练,训练确定最终的K值以及聚簇中心和大小;
步骤6、利用训练后的GMMs模型对待分析的在线程序进行检测,包括:
步骤6.1、利用已定义的元任务,实时匹配在线程序运行时的动态行为特征;
步骤6.2、根据在线程序匹配后的动态行为特征构建在线程序的行为向量;
步骤6.3、将在线程序的行为向量输入训练后的GMMs模型,GMMs模型根据行为向量分为不同聚簇以及明显的离群点;
步骤6.4、若GMMs模型上报离群点,则离群点对应的在线程序为恶意程序,否则待分析的在线程序为合法程序。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述记录运行时元任务对应的动态行为特征,包括:
利用Event Tracing for Windows的数据收集模块实时收集系统级别的日志数据,并根据定义的元任务对日志数据进行匹配得到元任务对应的动态行为特征。
作为优选,所述行为向量的定义如下:(x1,x2,x3,…xn),其中n为元任务的类型数,xi,i∈[1,n]表示类型数为i的元任务在程序生命周期内的执行频率。
本申请提供的基于元学习的远程访问木马智能分析方法,构建基于元学习(Learning to Learn)算法,利用高斯混合模型(GMMs)、欧氏距离和动态行为特征的RAT恶意程序智能分析检测模型,模仿安全专家学习、判断恶意程序的过程,利用动态行为特征构建程序行为特征向量,实现针对RAT的高效、精准检测。
附图说明
图1为本申请的基于元学习的远程访问木马智能分析方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,提供一种基于元学习的远程访问木马智能分析方法,元学习能够很好地实现小样本分类任务,因此基于元学习的人工智能方法被越来越多的研究者采用。总体来说,通过元学习的方法实现小样本分类大体上有三种:基于度量的元学习、基于模型的元学习和基于优化的元学习。本实施例采用元学习(meta-learning)中的“学会学习”(learning to learn)思路,提出基于度量(metri)的元学习方法应用在恶意程序检测任务上。
如图1所示,本实施例的基于元学习的远程访问木马智能分析方法,包括以下步骤:
步骤1、获取应用数据集,所述应用数据集包含恶意程序样本和合法程序样本。
本实施例提出方法中元任务训练为程序动态行为特征识别,其关键之一在于确保程序实施恶意行为,并对该行为进行标记。然而传统收集的恶意程序,因无法确认其执行的行为,因此无法对收集的数据进行有效标记。
为了克服传统收集的恶意程序存在的缺陷,本实施例通过收集网上公开的RAT,获取恶意程序样本集合。此处RAT可以理解为恶意行为集合体,单一RAT一般配备有数十个恶意功能。另外,通过收集不同应用商店中各类别排名前列的程序,构造合法程序样本集合。
在数据收集阶段,本发明会将基于Event Tracing for Windows(ETW)的数据收集模块安装在被监控的主机上,并实时收集到相关系统级别的日志数据,从这些数据中提取动态行为特征。ETW是Windows上唯一的原生日志系统,Windows系统日志、事件以及驱动、大量第三方应用程序的日志皆依赖于ETW系统。它具有免插桩、低负载、高可信的特点。ETW的最大特点是其可以提供应用程序的操作系统底层事件,例如系统调用和API。这些事件可以反应应用程序的动态行为特征,对于检测恶意入侵有极大帮助。
步骤2、定义元任务包括:下载执行、远程Shell、键盘记录、获取密码、远程摄像头、访问网址、计算机控制、系统信息、录音、服务管理器、脚本执行、CD-Rom控制、枚举窗口、剪贴板管理、桌面任务栏管理、DDos、网络连接表、软件管理、显示器控制、语音转换、自启动管理、USB管理、搜索文件、文件传送。
本实施例对多个RAT进行分析,将完整的RAT个体分为必要的数十个动态行为特征,如表1所示,这些动态行为特征是攻击者在受害者机器上进行的恶意活动,也正是因为有这些活动,致使安全专家能将其归类于恶意程序;这些动态行为可以体现恶意攻击本身,帮助识别已知或者未知恶意攻击。因此,本实施例将这些行为定为元任务,通过对元任务的训练,实现自动识别进程的动态行为语义信息,并以此为基础,学会对进程合法性进行判断。
表1潜在恶意行为列表
需要说明的是,上述行为为程序运行时出现的常见执行动作,尤其是恶意文件,需要通过上述执行动作进行恶意攻击,合法程序在运行过程也可能出现元任务模式,本实施例中不对各行为进一步解释说明。
步骤3、元任务训练得到行为样本,包括:从恶意程序样本和合法程序样本中提取元任务并记录运行时元任务对应的动态行为特征作为行为样本(本实施例中动态行为特征应理解为元任务运行时产生的API序列,而元任务是恶意程序进行行为的必要条件)。
本实施例不直接识别程序本身,而是根据程序运行产生的动态行为特征对程序进行分类评估,避免了因程序表面的伪装而导致程序分类出错的情况。在元任务训练中,所需要的正面数据来源不限于恶意RAT,合法程序的相似行为也可作为正面训练样本。因此,此元任务不构成小样本难问题。
步骤4、根据恶意程序样本和合法程序样本对应的行为样本构建各个行为样本的行为向量。
在恶意程序(RAT)识别问题中,本实施例将合法程序和恶意程序的动态行为特征部署于特征向量中(即构建过程),通过GMMs模型对行为向量进行聚类。程序动态的行为向量定义如下,(x1,x2,x3,…xn),其中n为元任务的类型数,类型数为不同元任务的标识,xi,i∈[1,n]表示类型数为i的元任务在程序生命周期内的执行频率,取值为0、1、2、3或其他正整数。根据行为向量的定义,本实施例中的构建过程可理解为统计过程,统计各元任务在程序生命周期内的执行次数(即执行频率)。
需要说明的是,为了便于表示图中采用行为模型表示根据动态行为特征进行统计得到行为向量的过程,在其他实施例中,行为模型可以是具有结构的神经网络模型,通过对模型的训练实现快速得到行为向量的过程。
步骤5、利用各个行为样本的行为向量对GMMs模型进行训练,训练确定最终的K值以及聚簇中心和大小。
模型训练数据输入为恶意程序、合法程序的行为向量,聚簇数量为训练值之一,目的为能将合法程序和恶意程序区分开。在此基础上,将训练结果(聚簇)进行标记,找出代表恶意程序的多个簇。
在模型训练过程中,引入人为验证检测模型是否有误报,由于训练样本均带有已知标签,则人为可区分恶意程序和合法程序,也就可以知道模型是否有误报(合法程序样本被标记为离群点)和漏报(恶意程序样本在大簇内,不属于离群点),若出现误报则需要将误报对应的离群点放入合法程序样本中优化训练,若出现漏报则需要将漏报对应的恶意程序样本放入恶意程序样本中优化训练。
步骤6、利用训练后的GMMs模型对待分析的在线样本进行检测。
GMMs模型(高斯混合模型,类似KMeans)以向量及其距离为核心,训练过程需要多次迭代,以获取更合适的K值(聚簇个数)以及聚簇中心和大小;利用GMMs模型的特殊性,在该模型上的离群点,即可被视为异常点;该异常点描述了具有于其他合法程序和已知恶意程序不同的动态行为。在严格限制的环境下,异常行为进程极大概率意味着(本实施例认为是等同于)恶意进程。
进行在线检测前需要在目标环境(被检测主机)部署本申请的分析方法,实现对目标环境所有进程的全方面监控。
在线检测具体包括以下步骤:
步骤6.1、利用已定义的元任务,实时匹配在线程序运行时的动态行为特征;
步骤6.2、根据在线程序匹配后的动态行为特征构建在线程序的行为向量;
步骤6.3、将在线程序的行为向量输入训练后的GMMs模型,GMMs模型根据行为向量分为不同聚簇以及明显的离群点;
步骤6.4、若GMMs模型上报离群点,则离群点对应的在线程序为恶意程序,否则待分析的在线程序为合法程序。容易理解的是,在线检测时可以是针对单个在线程序进行检测,也可以针对多个在线程序进行同时检测,根据实际情况进行选取即可。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (3)
1.一种基于元学习的远程访问木马智能分析方法,其特征在于,所述基于元学习的远程访问木马智能分析方法,包括:
步骤1、获取应用数据集,应用数据集包含恶意程序样本和合法程序样本;
步骤2、定义元任务包括:下载执行、远程Shell、键盘记录、获取密码、远程摄像头、访问网址、计算机控制、系统信息、录音、服务管理器、脚本执行、CD-Rom控制、枚举窗口、剪贴板管理、桌面任务栏管理、DDos、网络连接表、软件管理、显示器控制、语音转换、自启动管理、USB管理、搜索文件或文件传送;
步骤3、元任务训练得到行为样本,包括:从恶意程序样本和合法程序样本中提取元任务并记录运行时元任务对应的动态行为特征作为行为样本;
步骤4、根据所述恶意程序样本和合法程序样本对应的行为样本构建各个行为样本的行为向量;
步骤5、利用各个行为样本的行为向量对GMMs模型进行训练,训练确定最终的K值以及聚簇中心和大小;
步骤6、利用训练后的GMMs模型对待分析的在线程序进行检测,包括:
步骤6.1、利用已定义的元任务,实时匹配在线程序运行时的动态行为特征;
步骤6.2、根据在线程序匹配后的动态行为特征构建在线程序的行为向量;
步骤6.3、将在线程序的行为向量输入训练后的GMMs模型,GMMs模型根据行为向量分为不同聚簇以及明显的离群点;
步骤6.4、若GMMs模型上报离群点,则离群点对应的在线程序为恶意程序,否则待分析的在线程序为合法程序。
2.如权利要求1所述的基于元学习的远程访问木马智能分析方法,其特征在于,所述记录运行时元任务对应的动态行为特征,包括:
利用Event Tracing for Windows的数据收集模块实时收集系统级别的日志数据,并根据定义的元任务对日志数据进行匹配得到元任务对应的动态行为特征。
3.如权利要求1所述的基于元学习的远程访问木马智能分析方法,其特征在于,所述行为向量的定义如下:(x1,x2,x3,…xn),其中n为元任务的类型数,xi,i∈[1,n]表示类型数为i的元任务在程序生命周期内的执行频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379282.0A CN113221110B (zh) | 2021-04-08 | 2021-04-08 | 一种基于元学习的远程访问木马智能分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379282.0A CN113221110B (zh) | 2021-04-08 | 2021-04-08 | 一种基于元学习的远程访问木马智能分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221110A CN113221110A (zh) | 2021-08-06 |
CN113221110B true CN113221110B (zh) | 2022-06-28 |
Family
ID=77086758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110379282.0A Active CN113221110B (zh) | 2021-04-08 | 2021-04-08 | 一种基于元学习的远程访问木马智能分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221110B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007786B1 (en) * | 2015-11-28 | 2018-06-26 | Symantec Corporation | Systems and methods for detecting malware |
CN109961089A (zh) * | 2019-02-26 | 2019-07-02 | 中山大学 | 基于度量学习和元学习的小样本和零样本图像分类方法 |
CN111476292A (zh) * | 2020-04-03 | 2020-07-31 | 北京全景德康医学影像诊断中心有限公司 | 医学图像分类处理人工智能的小样本元学习训练方法 |
CN111931179A (zh) * | 2020-08-13 | 2020-11-13 | 北京理工大学 | 基于深度学习的云端恶意程序检测系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210089927A9 (en) * | 2018-06-12 | 2021-03-25 | Ciena Corporation | Unsupervised outlier detection in time-series data |
-
2021
- 2021-04-08 CN CN202110379282.0A patent/CN113221110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007786B1 (en) * | 2015-11-28 | 2018-06-26 | Symantec Corporation | Systems and methods for detecting malware |
CN109961089A (zh) * | 2019-02-26 | 2019-07-02 | 中山大学 | 基于度量学习和元学习的小样本和零样本图像分类方法 |
CN111476292A (zh) * | 2020-04-03 | 2020-07-31 | 北京全景德康医学影像诊断中心有限公司 | 医学图像分类处理人工智能的小样本元学习训练方法 |
CN111931179A (zh) * | 2020-08-13 | 2020-11-13 | 北京理工大学 | 基于深度学习的云端恶意程序检测系统及方法 |
Non-Patent Citations (3)
Title |
---|
ConvProtoNet: Deep Prototype Induction towards Better Class Representation for Few-Shot Malware Classification;Zhijie Tang;《MDPI》;20200420;全文 * |
基于样本增强的网络恶意流量智能检测方法;朱添田;《通信学报》;20200630;全文 * |
结合CNN和Catboost算法的恶意安卓应用检测模型;苏庆;《计算机工程与应用》;20200923;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113221110A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pu et al. | A hybrid unsupervised clustering-based anomaly detection method | |
CN109753800B (zh) | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 | |
Li et al. | Data fusion for network intrusion detection: a review | |
CN111428231B (zh) | 基于用户行为的安全处理方法、装置及设备 | |
Saxena et al. | Intrusion detection in KDD99 dataset using SVM-PSO and feature reduction with information gain | |
CN112235283A (zh) | 一种基于脆弱性描述攻击图的电力工控系统网络攻击评估方法 | |
CN110795732A (zh) | 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 | |
Krishnaveni et al. | Ensemble approach for network threat detection and classification on cloud computing | |
CN112464232B (zh) | 一种基于混合特征组合分类的Android系统恶意软件检测方法 | |
CN111598179A (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN111382783A (zh) | 恶意软件识别方法、装置及存储介质 | |
Saheed et al. | An efficient hybridization of K-means and genetic algorithm based on support vector machine for cyber intrusion detection system | |
CN111898129A (zh) | 基于Two-Head异常检测模型的恶意代码样本筛选器及方法 | |
CN111726351A (zh) | 基于Bagging改进的GRU并行网络流量异常检测方法 | |
Dehkordy et al. | DroidTKM: Detection of trojan families using the KNN classifier based on manhattan distance metric | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
CN111049828B (zh) | 网络攻击检测及响应方法及系统 | |
CN111783063A (zh) | 一种操作的验证方法和装置 | |
CN113221110B (zh) | 一种基于元学习的远程访问木马智能分析方法 | |
CN115842645A (zh) | 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质 | |
CN115296872A (zh) | 一种网络安全风险评估系统 | |
CN115545091A (zh) | 基于集成学习器的恶意程序api调用序列检测方法 | |
CN113722230A (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 |