CN113592103A - 一种基于集成学习和动态分析的软件恶意行为识别方法 - Google Patents
一种基于集成学习和动态分析的软件恶意行为识别方法 Download PDFInfo
- Publication number
- CN113592103A CN113592103A CN202110843022.4A CN202110843022A CN113592103A CN 113592103 A CN113592103 A CN 113592103A CN 202110843022 A CN202110843022 A CN 202110843022A CN 113592103 A CN113592103 A CN 113592103A
- Authority
- CN
- China
- Prior art keywords
- software
- information
- malicious
- behavior identification
- dynamic
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及网络安全、信息安全检测领域,具体涉及一种基于集成学习和动态分析的软件恶意行为识别方法,包括采用沙箱方法对软件进行动态分析,同时运用monkey对其进行随机点击模拟用户使用,从而提取出系统调用、网络行为、污点追踪和字符串操作作为动态特征;采用基于stacking的集成学习方法,将随机森林、支持向量机、朴素贝叶斯和k近邻进行集成,对特征向量进行训练以此产生训练模型;将待识别的恶意软件的动态特征输入完成训练的分类器,分类器完成识别;本发明采用集成学习方法规避了传统机器学习中各个分类器的优劣点,同时利用动态行为作为特征更能反映恶意行为识别的有效性。
Description
技术领域
本发明涉及网络安全、信息安全检测领域,具体涉及一种基于集成学习和动态分析的软件恶意行为识别方法。
背景技术
随着信息科技的发展,软件的复杂度越来越高,人们对软件的依赖也愈发强烈。许多非法程序开发者也瞄准了这一市场,开发了许多恶意程序注入软件由此谋取巨额利润,严重侵害了用户的信息安全。传统的软件检测方法大多依赖于特征库,使得面对日益复杂的软件变得十分困难。如何有效的识别恶意软件中的恶意行为,保障用户的个人利益,这一研究成为当今的热点。国内外学者和研究组织积极投身到软件的信息安全,当下流行的技术主要集中于静态分析和动态分析,以及人工智能,许多成果对软件进行静态分析,获取多种特征以此进行机器学习,进而对恶意软件实行检测。还有部分成果利用恶意行为的特征库,提取未知软件的特征进行匹配,以此来判断是否含有恶意行为。恶意行为的识别有助于人们提高自身的个人信息安全和保障自身利益,且对当今的社会发展起着重要的作用。因此,从另一方面动态分析的角度出发,结合人工智能技术对软件进行分析,是未来应对恶意行为攻击的关键技术。
发明内容
为了有效识别软件中的恶意行为,保障用户的个人信息安全,本发明提供一种基于集成学习和动态分析的软件恶意行为识别方法,具体包括以下步骤:
S1、采用沙箱方法对软件进行动态分析,同时运用monkey对其进行随机点击模拟用户使用,从而提取出系统调用、网络行为、污点追踪和字符串操作作为动态特征;
S2、采用基于stacking的集成学习方法,将随机森林、支持向量机、朴素贝叶斯和k近邻进行集成,对特征向量进行训练以此产生训练模型;
S3、将待识别的恶意软件的动态特征输入完成训练的分类器,分类器完成识别。
进一步的,采用信息增益算法对系统调用这一动态特征进行去冗余操作,处理后的特征表示为:
Gain(D,Fd)=H(D)-H(D,Fd);
其中,Gain(D,Fd)为处理后的系统调用特征;H(D)为采用信息增益算法计算的系统调用数据样本集的信息熵;H(D,Fd)为采用信息增益算法计算的系统调用数据样本集中第d个特征属性的信息熵。
进一步的,采用信息增益算法计算的系统调用数据样本集的信息熵H(D)表示为:
其中,P(Rk)表示样本集D中类别属性的出现概率,k=1时表示类别属性为正常,k=2时表示类别属性为恶意。
进一步的,采用信息增益算法计算的系统调用数据样本集中第d个特征属性的信息熵H(D,Fd)表示为:
进一步的,将一个软件一个周期内变化数据作为一列构建信息矩阵,对信息矩阵进行标准化处理使其符合正态分布,处理后的特征作为网络行为特征。
进一步的,使用标记每一条数据流的source-out,将数据集中软件的所有正常样本和恶意样本数据流存入数据库,当进行未知软件行为识别与之匹配该数据流数据库,将匹配结果作为污点追踪特征。
进一步的,采用0、1映射方法对字符串操作这一特征进行处理,即含有字符串则标记为1,否则标记为0,将处理后的数据作为字符串操作的特征。
本发明设计了基于Stacking模型,采用元分类器以基于性能差异来组合不同类型的基分类器,采用集成学习方法规避了传统机器学习中各个分类器的优劣点,通过训练组合基分类器的优势,能提高了现有模型的泛化能力,同时利用动态行为作为特征更能反映恶意行为识别的有效性,弥补了静态检测中的对代码混淆、字节码加密的处理方式。
附图说明
图1为本发明中智能终端软件安全性评估模型示意图;
图2为本发明方法对采集的各特征数据处理示意图;
图3为本发明采用的集成学习模型示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,包括以下步骤:
S1、采用沙箱方法对软件进行动态分析,同时运用monkey对其进行随机点击模拟用户使用,从而提取出系统调用、网络行为、污点追踪和字符串操作作为动态特征;
S2、采用基于stacking的集成学习方法,将随机森林、支持向量机、朴素贝叶斯和k近邻进行集成,对特征向量进行训练以此产生训练模型;
S3、将待识别的恶意软件的动态特征输入完成训练的分类器,分类器完成识别。
实施例
图1所示为本发明对安全性评估的模型示意图,主要采用动态分析特征和集成学习训练两个部分,因此本发明主要包含动态分析阶段和行为识别阶段。
在动态分析阶段,首先采用沙箱方法对软件进行模拟运行,本发明采用DroidBox动态分析工具,将软件数据集全部进行沙箱模型运行,以此尽可能符合正常使用规范。同时运用monkey对其进行随机点击模拟用户使用,因此多种动态特征更能反应该软件的真实性。从而提取出系统调用、网络行为、污点追踪和字符串操作等多种动态特征,下面以此对各个特征进行解释。
系统调用是操作系统内核的一部分,是操作系统为用户态进程与硬件设备进行交互的接口,通常是向内核发出明确的请求。网络行为是软件在后台运行时产生的数据流量,通常恶意软件会在软件运行过程中产生大量的异常网络连接和数据流量。污点追踪是在数据流的source进行标记,在软件运行的一系列行为后,在数据流的out处进行结束,这一行为的目的可以由一条完整的source-out数据流表示,因此分析污点追踪有助于理解软件行为。字符串操作是因此软件在开发中定义的许多字符变量和资源,可以根据软件源码得到在代码中定义的一些字符特征。
采用沙箱分析,本发明采用monkey模拟了用户点击,因此多种动态特征更能反应该软件的真实性;在得到提取出各个特征后,需要进行相应的特征处理,最后得到相应的特征向量。本发明运用多种动态行为特征,有助于提高恶意行为的识别效率。
系统调用特征,代表了用户程序和硬件设备之间的关系,网络行为特征表示了软件在连接网络时行为,污点追踪特征表示了数据点软件运行中的行为追踪,字符串操作特征代表了该软件在运行时产生的一系列行为日志。系统调用特征采用信息增益算法计算样本集D的信息熵H(D),表达式如下所示:
其中,P(Rk)表示样本集D中类别属性的出现概率。在样本集D中,计算第d个特征属性Fd的信息熵为:
其中,Ds为D的子集,根据其取值进行划分,且类别属性为R1或R2,代表正常或恶意,H(Ds)为其信息熵。根据式(1)和(2),得到样本集D中第d个特征Fd的信息增益,其计算如下:
Gain(D,Fd)=H(D)-H(D,Fd) (3)
网络行为特征中的每一列元素代表了该软件每隔一秒的变化情况。对各信息矩阵进行标准化处理使其符合正态分布。污点追踪特征使用了标记每一条数据流的source-out,将数据集中软件的所有正常样本和恶意样本数据流存入数据库,当进行未知软件行为识别与之匹配该数据流数据库。字符串操作特征中含有了大量的字符串信息,同时提取出部分敏感的特征,例如API、图片资源等,对全部的敏感字符串进行0、1映射,当含有该特征时,标记为1,不含有时则标记为0。关于各个特征的数据处理由图2所示。
支持向量机是一种二元分类模型,它以最大化最优线性超平面决策分界两个样本之间的差距。随机森林中利用了多颗决策树进行训练和预测,朴素贝叶斯以贝叶斯原理为基础,使用概率统计的知识对样本对数据进行分类,K近邻算法是在训练集中找到与某一类实例最近邻的K个实例,能对样本进行有效的划分。
选择了基分类器算法后,基于集成学习的stacking模型主要思想是对正确和错误预测概率进行堆叠以此得到性能更优的模型,利用了不同机器学习算法的优点以提升齐分类器的性能,stacking每次抽取各个不同的训练数据集合进行训练以此得到基分类器,然后将各基分类器的输出作为元分类器的输入得到最终的训练模型,即包括以下步骤:
步骤一:利用随机森林对部分特征进行训练,得到基分类器;
步骤二:利用支持向量机对部分特征进行训练,得到基分类器;
步骤三:利用朴素贝叶斯对部分特征进行训练,得到基分类器;
步骤四:利用K近邻对部分特征进行训练,得到基分类器;
步骤五:将各基分类器的预测概率作为输入,集成堆叠,从而作为新的输入训练元分类器,元分类器模型将基分类器中错误预测的内容进行优化,重新分类各权重,
步骤六:元分类器模型生成,对未知软件进行识别。
因此,利用集成学习生成的模型,对未知软件进行动态分析后生成的特征向量进行识别,可得到最后的恶意行为识别结果,即恶意和正常的输出日志报告。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,包括以下步骤:
S1、采用沙箱方法对软件进行动态分析,同时运用monkey对其进行随机点击模拟用户使用,从而提取出系统调用、网络行为、污点追踪和字符串操作作为动态特征;
S2、采用基于stacking的集成学习方法,将随机森林、支持向量机、朴素贝叶斯和k近邻进行集成,对特征向量进行训练以此产生训练模型;
S3、将待识别的恶意软件的动态特征输入完成训练的分类器,分类器完成识别。
2.根据权利要求1所述的一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,采用信息增益算法对系统调用这一动态特征进行去冗余操作,处理后的特征表示为:
Gain(D,Fd)=H(D)-H(D,Fd);
其中,Gain(D,Fd)为处理后的系统调用特征;H(D)为采用信息增益算法计算的系统调用数据样本集的信息熵;H(D,Fd)为采用信息增益算法计算的系统调用数据样本集中第d个特征属性的信息熵。
5.根据权利要求1所述的一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,将一个软件一个周期内变化数据作为一列构建信息矩阵,对信息矩阵进行标准化处理使其符合正态分布,处理后的特征作为网络行为特征。
6.根据权利要求1所述的一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,使用标记每一条数据流的source-out,将数据集中软件的所有正常样本和恶意样本数据流存入数据库,当进行未知软件行为识别与之匹配该数据流数据库,将匹配结果作为污点追踪特征。
7.根据权利要求1所述的一种基于集成学习和动态分析的软件恶意行为识别方法,其特征在于,采用0、1映射方法对字符串操作这一特征进行处理,即含有字符串则标记为1,否则标记为0,将处理后的数据作为字符串操作的特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843022.4A CN113592103A (zh) | 2021-07-26 | 2021-07-26 | 一种基于集成学习和动态分析的软件恶意行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843022.4A CN113592103A (zh) | 2021-07-26 | 2021-07-26 | 一种基于集成学习和动态分析的软件恶意行为识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113592103A true CN113592103A (zh) | 2021-11-02 |
Family
ID=78249984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110843022.4A Pending CN113592103A (zh) | 2021-07-26 | 2021-07-26 | 一种基于集成学习和动态分析的软件恶意行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592103A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722992A (zh) * | 2023-02-22 | 2023-09-08 | 浙江警察学院 | 一种基于多模态融合的诈骗网站识别方法及装置 |
CN116962089A (zh) * | 2023-09-21 | 2023-10-27 | 厦门晨晟昱科技有限公司 | 一种针对信息安全的网络监测方法及系统 |
CN117807598A (zh) * | 2024-02-29 | 2024-04-02 | 典基网络科技(上海)有限公司 | 一种恶意软件的检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753800A (zh) * | 2019-01-02 | 2019-05-14 | 重庆邮电大学 | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 |
CN109753801A (zh) * | 2019-01-29 | 2019-05-14 | 重庆邮电大学 | 基于系统调用的智能终端恶意软件动态检测方法 |
CN111797394A (zh) * | 2020-06-24 | 2020-10-20 | 广州大学 | 基于stacking集成的APT组织识别方法、系统及存储介质 |
-
2021
- 2021-07-26 CN CN202110843022.4A patent/CN113592103A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753800A (zh) * | 2019-01-02 | 2019-05-14 | 重庆邮电大学 | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 |
CN109753801A (zh) * | 2019-01-29 | 2019-05-14 | 重庆邮电大学 | 基于系统调用的智能终端恶意软件动态检测方法 |
CN111797394A (zh) * | 2020-06-24 | 2020-10-20 | 广州大学 | 基于stacking集成的APT组织识别方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
PENGBIN FENG, JIANFENG MA等: "A Novel Dynamic Android Malware Detection System With Ensemble Learning", IEEE ACCESS * |
王丹: "智能终端软件安全性与可信性分析研究", 中国优秀硕士学位论文全文数据库信息科技辑 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722992A (zh) * | 2023-02-22 | 2023-09-08 | 浙江警察学院 | 一种基于多模态融合的诈骗网站识别方法及装置 |
CN116962089A (zh) * | 2023-09-21 | 2023-10-27 | 厦门晨晟昱科技有限公司 | 一种针对信息安全的网络监测方法及系统 |
CN116962089B (zh) * | 2023-09-21 | 2023-12-05 | 厦门晨晟昱科技有限公司 | 一种针对信息安全的网络监测方法及系统 |
CN117807598A (zh) * | 2024-02-29 | 2024-04-02 | 典基网络科技(上海)有限公司 | 一种恶意软件的检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xue et al. | Malware classification using probability scoring and machine learning | |
CN113592103A (zh) | 一种基于集成学习和动态分析的软件恶意行为识别方法 | |
Marteau | Sequence covering for efficient host-based intrusion detection | |
Hu et al. | Scsguard: Deep scam detection for ethereum smart contracts | |
Fan et al. | Can we trust your explanations? Sanity checks for interpreters in Android malware analysis | |
Ceschin et al. | The need for speed: An analysis of brazilian malware classifiers | |
Fang et al. | WOVSQLI: Detection of SQL injection behaviors using word vector and LSTM | |
Woodbridge et al. | Detecting homoglyph attacks with a siamese neural network | |
Rahul et al. | Analysis of machine learning models for malware detection | |
Thunga et al. | Identifying metamorphic virus using n-grams and hidden markov model | |
CN115577357A (zh) | 一种基于堆叠集成技术的Android恶意软件检测方法 | |
CN116318830A (zh) | 一种基于生成对抗网络的日志入侵检测系统 | |
Assefa et al. | Intelligent phishing website detection using deep learning | |
Sharif et al. | A deep learning based technique for the classification of malware images | |
Saletta et al. | Towards the evolutionary assessment of neural transformers trained on source code | |
Liu et al. | Automatic feature extraction and selection for machine learning based intrusion detection | |
Banik et al. | Android malware detection by correlated real permission couples using FP growth algorithm and neural networks | |
Pei et al. | Combining multi-features with a neural joint model for Android malware detection | |
CN111310185A (zh) | 一种基于改进stacking算法的Android恶意软件检测方法 | |
Omar et al. | From text to threats: A language model approach to software vulnerability detection | |
CN113259369B (zh) | 一种基于机器学习成员推断攻击的数据集认证方法及系统 | |
Alipour et al. | An advanced profile hidden Markov model for malware detection | |
Zhu et al. | Sadroid: A deep classification model for android malware detection based on semantic analysis | |
Wai et al. | Clustering based opcode graph generation for malware variant detection | |
Thahira et al. | Phishing Website Detection Using LGBM Classifier With URL-Based Lexical Features |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 401120 39-1, Building 1, No. 64, Middle Huangshan Avenue, Yubei District, Chongqing Applicant after: China Star Network Application Co.,Ltd. Address before: 618 Liangjiang Avenue, Longxing Town, Yubei District, Chongqing Applicant before: Dongfanghong Satellite Mobile Communication Co.,Ltd. |