CN112764791B - 一种增量更新的恶意软件检测方法及系统 - Google Patents

一种增量更新的恶意软件检测方法及系统 Download PDF

Info

Publication number
CN112764791B
CN112764791B CN202110097851.2A CN202110097851A CN112764791B CN 112764791 B CN112764791 B CN 112764791B CN 202110097851 A CN202110097851 A CN 202110097851A CN 112764791 B CN112764791 B CN 112764791B
Authority
CN
China
Prior art keywords
model
decision tree
training
temporary
tree models
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
CN202110097851.2A
Other languages
English (en)
Other versions
CN112764791A (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.)
University of Jinan
Original Assignee
University of Jinan
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 University of Jinan filed Critical University of Jinan
Priority to CN202110097851.2A priority Critical patent/CN112764791B/zh
Publication of CN112764791A publication Critical patent/CN112764791A/zh
Application granted granted Critical
Publication of CN112764791B publication Critical patent/CN112764791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了增量更新的恶意软件检测方法及系统。其中该方法包括获取应用程序产生的TCP流,提取TCP流的统计特征;将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;增量更新的检测模型的训练过程为:使用训练集Train1和测试集Test1对初始化模型进行训练和测试;将增量数据集划分临时训练集Temp和测试集I‑Test;其中增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;使用临时训练集Temp训练临时模型;临时模型和初始化模型均由设定数量的决策树模型构成;使用测试集I‑Test分别对初始化模型和临时模型进行测试,通过精确度筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型。

Description

一种增量更新的恶意软件检测方法及系统
技术领域
本发明属于恶意软件检测领域,尤其涉及一种增量更新的恶意软件检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
移动智能设备的普及推动了移动互联网时代的到来。与此同时大量的应用程序也应运而生,人们在享用应用程序带来便利的同时,也将个人的隐私信息与移动智能设备紧密相连,这也促使大量的攻击者将目标由原来的pc端转向移动智能设备。现如今对用户隐私信息最大的威胁是恶意软件,检测恶意软件的方法主要分为三个方法。第一是基于静态检测的技术,它检查应用程序的文件结构特征以检测恶意代码。然而,静态检测的技术具有较高的误报率,无法识别未知恶意软件和检测应用程序的混淆或加密。第二是动态检测的技术,它使用敏感的API触发器来确定应用程序的行为。这种方法的缺点是不能保证在应用程序运行过程中检测到所有的路径,这可能导致错误报警和长期的分析资源占用问题。最后一种是基于网络流量检测的技术主要是对应用程序产生的流量进行分析,克服了静态分析和动态分析方法的不足。
机器学习在恶意软件检测领域的广泛应用,无论是静态,动态还是网络流量检测方法。然而,几乎所有的机器学习方法都是批量学习设置,并使用现有的批处理学习算法。在这种情况下,存在一定的缺陷,随着时间的推移,恶意软件也在不断地发展和增加,因此需要不断更新检测模型,以确保检测率不会下降。然而,发明人发现,使用批处理学习更新检测模型需要大量的训练时间、存储资源和执行内存。
发明内容
为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种增量更新的恶意软件检测方法及系统,其通过增量学习来解决检测模型的更新问题,在一个新的数据集面前,训练的恶意软件检测模型可以做出一些改变来学习新的知识,从而建立一个有效的检测模型。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种增量更新的恶意软件检测方法。
一种增量更新的恶意软件检测方法,包括:
获取应用程序产生的TCP流,提取TCP流的统计特征;
将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;
其中,增量更新的检测模型的训练过程为:
使用训练集Train1和测试集Test1对初始化模型进行训练和测试;
将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;
使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成;
使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型。
本发明的第二个方面提供一种增量更新的恶意软件检测系统。
一种增量更新的恶意软件检测系统,包括:
统计特征提取模块,其用于获取应用程序产生的TCP流,提取TCP流的统计特征;
应用程序检测模块,其用于将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;
其中,增量更新的检测模型的训练过程为:
使用训练集Train1和测试集Test1对初始化模型进行训练和测试;
将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;
使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成;
使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的增量更新的恶意软件检测方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的增量更新的恶意软件检测方法中的步骤。
与现有技术相比,本发明的有益效果是:
(1)本发明基于增量式更新恶意软件检测模型,通过添加和删除分类器实现增量更新,通过增量学习来解决检测模型的更新问题。在一个新的数据集面前,训练的恶意软件检测模型可以做出一些改变来学习新的知识,从而建立一个有效的检测模型,大大缩短了应用程序检测的时间以及提高了应用程序检测的准确性。
(2)本发明克服了长期检测恶意软件时模型重新训练的高昂的时间花费,因为本发明实现模型更新不需要将数据累积,只依靠新的数据集,因此模型更新不会存在随着时间的推移,训练数据不断增长导致模型训练时间持续增加的过程。
(3)本发明缓解了因需要不断更新模型导致数据存储资源占用问题,因为本发明提出的方法实现模型更新不依托于旧的数据集,而是学习新数据集的知识,因此对旧的数据集没有必须保存的需求,从而缓解存储资源紧缺的问题。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的增量更新的恶意软件检测方法流程图;
图2是本发明实施例的增量更新的检测模型的训练过程;
图3是本发明实施例的训练初始化模型模块流程图;
图4是本发明实施例的训练临时模型模块流程图;
图5是本发明实施例的模型增量更新模块流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
TCP,Transmission Control Protocol,传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
实施例一
如图1所示,本实施例提供了一种增量更新的恶意软件检测方法,其具体包括如下步骤:
步骤1:获取应用程序产生的TCP流,提取TCP流的统计特征。
需要说明的是,此处的应用程序可能为正常应用程序或恶意应用程序。
针对应用程序为正常应用程序时,提取TCP流的统计特征的过程为:
使用tshark命令过滤获取增量数据中正常应用程序产生TCP流,所述Tshark命令是:tshark-r<待提取的pcap文档>-f‘tcp’-w<提取出的TCP流的pcap文档>;
使用python的scapy库获取增量数据中正常应用程序的TCP流的设定数量(比如:7个)统计特征,以csv文件存储。
其中,这7个统计特征分别为:上传数据包个数,下载数据包个数,总的数据包个数,上传数据包长度,下载数据包长度,数据包时间间隔。
可以理解的是,在其他实施例中,正常应用程序的TCP流的统计特征也可根据实际情况来选择其他数量的统计特征。
针对应用程序为恶意应用程序时,提取TCP流的统计特征的过程为:
使用tshark命令过滤获取增量数据中恶意应用程序产生TCP流,所述Tshark命令是:tshark-r<待提取的pcap文档>-f‘tcp’-w<提取出的TCP流的pcap文档>;
使用python的scapy库获取增量数据中恶意应用程序的TCP流的设定数量(比如:7个)统计特征,以csv文件存储。
其中,这7个统计特征分别为:上传数据包个数,下载数据包个数,总的数据包个数,上传数据包长度,下载数据包长度,数据包时间间隔。
可以理解的是,在其他实施例中,恶意应用程序的TCP流的统计特征也可根据实际情况来选择其他数量的统计特征。
步骤2:将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序。
其中,如图2所示,增量更新的检测模型的训练过程为:
步骤100:使用训练集Train1和测试集Test1对初始化模型进行训练和测试;将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成。
在具体实施中,将已有的数据集T1划分为2部分,训练集Train1和测试集Test1。
其中,训练集Train1和测试集Test1的生成过程为:
步骤10011:获取正常应用程序产生的TCP流,提取TCP流的统计特征;
步骤10012:获取恶意应用程序产生的TCP流,提取TCP流的统计特征;
步骤10013:将正常应用程序的数据集按照7:3(也可为其他设定比例)的比例划分为训练集和测试集;
步骤10014:将恶意应用程序的数据集按照7:3(也可为其他设定比例)的比例划分为训练集和测试集;
步骤10015:将步骤10013与步骤10014的训练集合并生成训练初始化模型的训练数据;
步骤10016:将步骤10013与步骤10014的测试集合并生成测试初始化模型的测试数据。
在具体实施中,如图3所示,训练初始化模型的过程为:
设定训练决策树模型的个数为n;
使用训练集Train1有放回的随机抽取m次,m表示训练集的样本个数;
使用随机抽取的m个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于设定的阈值n;
若等于,则n个决策树模型组成初始化模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n。
采用上述方法训练初始化模型的优点在于:首先,采用有放回选取训练决策树模型的优势在于,Train1中的某个样本没有被选择来训练决策的概率为(1-1/m)m。当m接近无穷大时,值约为1/e(36.8%),这样保证了决策树模型的多样性,从而提高整体模型的性能。其次,由于检测模型是集成多个决策树模型的,并且相互独立,所以检测模型训练m个决策树模型时可以并行处理,提高检测模型的构建效率。
使用测试集Test1测试的初始化模型精确度,其具体过程为:
测试集Test1的样本分别输入到初始化模型的每个决策树模型中;
每个决策树模型对测试集的每一个样本得出一个预测标签;
统计预测标签占比,占比大的为初始化模型最终的预测结果。
比如预测为恶意标签的决策树模型为i个,预测为正常标签的决策树个数为n-i个,i>(n-i),则初始化模型预测输出结果为恶意。
在本实施例中,临时训练集Temp和测试集I-Test的生成过程为:
步骤10021:获取正常应用程序产生的TCP流,提取TCP流的统计特征;
步骤10022:获取恶意应用程序产生的TCP流,提取TCP流的统计特征;
步骤10023:将正常应用程序的数据集按照7:3(也可为其他设定比例)的比例划分为训练集和测试集;
步骤10024:将恶意应用程序的数据集按照7:3(也可为其他设定比例)的比例划分为训练集和测试集;
步骤10025:将步骤10023与步骤10024的训练集合并生成训练临时模型的训练数据;
步骤10026:将步骤10023与步骤10024的测试集合并生成测试临时模型的测试数据。
步骤101:使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成。
如图4所示,训练临时模型的过程为:
设定训练决策树模型的个数为n;
使用临时训练集Temp有放回的随机抽取k次,k表示训练集的样本个数;
使用随机抽取的k个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于步骤设定的阈值n;
若等于则n个决策树模型组成临时模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n。
采用上述方法训练临时模型的优点在于:因为训练临时模型使用的训练数据集为临时数据集,这在真实应用场景中为模型拥有者新采集获取的数据集,即增量数据集,所以训练临时模型数据集小,极大提高临时模型的训练效率。
步骤102:使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型。
如图5所示,通过精确度对初始化模型和临时模型中每个决策树模型进行排序。在组成最新的检测模型的过程中,删除初始化模型和临时模型中的精确度排名后设定位数的决策树模型,将初始化模型和临时模型中剩余的决策树模型组成最新的检测模型。
例如:删除初始化模型中精确度排名后x%位的决策树模型;删除临时模型中精确度排名后1-x%位的决策树模型;将初始化模型和临时模型中剩余的决策树模型组成最新的检测模型。其中,x为设定的正整数。
采用上述方法组成最新的检测模型的优点在于:该方法可以使得模型在学习新知识的同时,避免旧知识的灾难性遗忘,从而导致模型检测性能的下降。
实施例二
本实施例提供了一种增量更新的恶意软件检测系统,其具体包括如下模块:
统计特征提取模块,其用于获取应用程序产生的TCP流,提取TCP流的统计特征;
应用程序检测模块,其用于将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;
其中,增量更新的检测模型的训练过程为:
使用训练集Train1和测试集Test1对初始化模型进行训练和测试;
将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;
使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成;
使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型。
此处需要说明的是,本实施例的增量更新的恶意软件检测系统中的各个模块,与实施例一中的增量更新的恶意软件检测方法中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的增量更新的恶意软件检测方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的增量更新的恶意软件检测方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种增量更新的恶意软件检测方法,其特征在于,包括:
获取应用程序产生的TCP流,提取TCP流的统计特征;
将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;
其中,增量更新的检测模型的训练过程为:
使用训练集Train1和测试集Test1对初始化模型进行训练和测试;
将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;
使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成;
使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型;
其中,训练初始化模型的过程为:
设定训练决策树模型的个数为n;
使用训练集Train1有放回的随机抽取m次,m表示训练集的样本个数;
使用随机抽取的m个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于设定的阈值n;
若等于,则n个决策树模型组成初始化模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n;
使用测试集Test1测试的初始化模型精确度;
其中,训练临时模型的过程为:
设定训练决策树模型的个数为n;
使用临时训练集Temp有放回的随机抽取k次,k表示训练集的样本个数;
使用随机抽取的k个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于步骤设定的阈值n;
若等于则n个决策树模型组成临时模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n;
通过精确度对初始化模型和临时模型中每个决策树模型进行排序;
在组成最新的检测模型的过程中,删除初始化模型和临时模型中的精确度排名后设定位数的决策树模型,将初始化模型和临时模型中剩余的决策树模型组成最新的检测模型。
2.如权利要求1所述的增量更新的恶意软件检测方法,其特征在于,正常应用程序或恶意应用程序所产生的TCP流的统计特征的提取过程为:
使用tshark命令过滤获取正常应用程序或恶意应用程序产生TCP流;
使用python的scapy库获取正常应用程序或恶意应用程序的TCP流的设定数量的统计特征。
3.如权利要求1所述的增量更新的恶意软件检测方法,其特征在于,使用测试集Test1测试的初始化模型精确度的过程为:
测试集Test1的样本分别输入到初始化模型的每个决策树模型中;
每个决策树模型对测试集的每一个样本得出一个预测标签;
统计预测标签占比,占比大的为初始化模型最终的预测结果。
4.一种增量更新的恶意软件检测系统,其特征在于,包括:
统计特征提取模块,其用于获取应用程序产生的TCP流,提取TCP流的统计特征;
应用程序检测模块,其用于将TCP流的统计特征输入至增量更新的检测模型中,输出应用程序是否为恶意应用程序;
其中,增量更新的检测模型的训练过程为:
使用训练集Train1和测试集Test1对初始化模型进行训练和测试;
将增量数据集划分临时训练集Temp和测试集I-Test;其中,增量数据集、训练集Train1和测试集Test1均由正常应用程序及恶意应用程序所产生的TCP流的统计特征构成;
使用临时训练集Temp训练临时模型;其中,临时模型和初始化模型均由设定数量的决策树模型构成;
使用测试集I-Test分别对初始化模型和临时模型进行测试,通过精确度来筛选初始化模型和临时模型中决策树模型,最终组成最新的检测模型;
其中,训练初始化模型的过程为:
设定训练决策树模型的个数为n;
使用训练集Train1有放回的随机抽取m次,m表示训练集的样本个数;
使用随机抽取的m个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于设定的阈值n;
若等于,则n个决策树模型组成初始化模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n;
使用测试集Test1测试的初始化模型精确度;
其中,训练临时模型的过程为:
设定训练决策树模型的个数为n;
使用临时训练集Temp有放回的随机抽取k次,k表示训练集的样本个数;
使用随机抽取的k个数据样本训练决策树模型;
判断训练出的决策树模型个数是否等于步骤设定的阈值n;
若等于则n个决策树模型组成临时模型,训练完成,否则继续利用随机抽取的数据样本训练决策树模型,直至训练出的决策树模型个数为n;
通过精确度对初始化模型和临时模型中每个决策树模型进行排序;
在组成最新的检测模型的过程中,删除初始化模型和临时模型中的精确度排名后设定位数的决策树模型,将初始化模型和临时模型中剩余的决策树模型组成最新的检测模型。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的增量更新的恶意软件检测方法中的步骤。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-3中任一项所述的增量更新的恶意软件检测方法中的步骤。
CN202110097851.2A 2021-01-25 2021-01-25 一种增量更新的恶意软件检测方法及系统 Active CN112764791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110097851.2A CN112764791B (zh) 2021-01-25 2021-01-25 一种增量更新的恶意软件检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110097851.2A CN112764791B (zh) 2021-01-25 2021-01-25 一种增量更新的恶意软件检测方法及系统

Publications (2)

Publication Number Publication Date
CN112764791A CN112764791A (zh) 2021-05-07
CN112764791B true CN112764791B (zh) 2023-08-08

Family

ID=75707172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110097851.2A Active CN112764791B (zh) 2021-01-25 2021-01-25 一种增量更新的恶意软件检测方法及系统

Country Status (1)

Country Link
CN (1) CN112764791B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868660B (zh) * 2021-12-01 2022-03-08 北京华云安信息技术有限公司 恶意软件检测模型的训练方法、装置以及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595840B1 (en) * 2010-06-01 2013-11-26 Trend Micro Incorporated Detection of computer network data streams from a malware and its variants
CN106845230A (zh) * 2016-12-29 2017-06-13 济南大学 基于恶意网络流量词库的恶意软件检测可视化方法及系统
CN107577942A (zh) * 2017-08-22 2018-01-12 中国民航大学 一种用于Android恶意软件检测的混合特征筛选方法
CN109117634A (zh) * 2018-09-05 2019-01-01 济南大学 基于网络流量多视图融合的恶意软件检测方法及系统
CN111027069A (zh) * 2019-11-29 2020-04-17 暨南大学 恶意软件家族检测方法、存储介质和计算设备
CN111581640A (zh) * 2020-04-02 2020-08-25 北京兰云科技有限公司 一种恶意软件检测方法、装置及设备、存储介质
CN111753299A (zh) * 2020-06-22 2020-10-09 重庆文理学院 一种基于分组集成的不平衡恶意软件检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595840B1 (en) * 2010-06-01 2013-11-26 Trend Micro Incorporated Detection of computer network data streams from a malware and its variants
CN106845230A (zh) * 2016-12-29 2017-06-13 济南大学 基于恶意网络流量词库的恶意软件检测可视化方法及系统
CN107577942A (zh) * 2017-08-22 2018-01-12 中国民航大学 一种用于Android恶意软件检测的混合特征筛选方法
CN109117634A (zh) * 2018-09-05 2019-01-01 济南大学 基于网络流量多视图融合的恶意软件检测方法及系统
CN111027069A (zh) * 2019-11-29 2020-04-17 暨南大学 恶意软件家族检测方法、存储介质和计算设备
CN111581640A (zh) * 2020-04-02 2020-08-25 北京兰云科技有限公司 一种恶意软件检测方法、装置及设备、存储介质
CN111753299A (zh) * 2020-06-22 2020-10-09 重庆文理学院 一种基于分组集成的不平衡恶意软件检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于网络流量分析的未知恶意软件检测;李浩等;基于网络流量分析的未知恶意软件检测;第第33卷卷(第第6期期);第500-505页 *

Also Published As

Publication number Publication date
CN112764791A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
KR102480204B1 (ko) 침입 탐지를 위한 지속적인 학습
US20190205759A1 (en) Method and apparatus for compressing neural network
CN111191767B (zh) 一种基于向量化的恶意流量攻击类型的判断方法
CN106557695B (zh) 一种恶意应用检测方法和系统
CN109117634B (zh) 基于网络流量多视图融合的恶意软件检测方法及系统
CN111614599B (zh) 基于人工智能的webshell检测方法和装置
CN111586071B (zh) 一种基于循环神经网络模型的加密攻击检测方法及装置
CN110059747B (zh) 一种网络流量分类方法
CN110011932B (zh) 一种可识别未知流量的网络流量分类方法和终端设备
CN110781960B (zh) 视频分类模型的训练方法、分类方法、装置及设备
CN108063768B (zh) 基于网络基因技术的网络恶意行为识别方法及装置
US20140380466A1 (en) Method and apparatus for providing hierarchical pattern recognition of communication network data
CN110321430B (zh) 域名识别和域名识别模型生成方法、装置及存储介质
EP3807775A1 (en) An ensemble-based data curation pipeline for efficient label propagation
CN111431819A (zh) 一种基于序列化的协议流特征的网络流量分类方法和装置
CN111428236A (zh) 一种恶意软件的检测方法、装置、设备及可读介质
CN112764791B (zh) 一种增量更新的恶意软件检测方法及系统
CN109508545B (zh) 一种基于稀疏表示和模型融合的Android Malware分类方法
CN113726545B (zh) 基于知识增强生成对抗网络的网络流量生成方法及装置
CN113256438A (zh) 网络用户的角色识别方法及系统
CN114285587A (zh) 域名鉴别方法和装置、域名分类模型的获取方法和装置
CN114726823B (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
CN112149121A (zh) 一种恶意文件识别方法、装置、设备及存储介质
CN112860303B (zh) 一种模型增量更新的方法及系统
CN115473734A (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