CN113065132B - 一种宏程序的混淆检测方法、装置、电子设备和存储介质 - Google Patents
一种宏程序的混淆检测方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113065132B CN113065132B CN202110322284.6A CN202110322284A CN113065132B CN 113065132 B CN113065132 B CN 113065132B CN 202110322284 A CN202110322284 A CN 202110322284A CN 113065132 B CN113065132 B CN 113065132B
- Authority
- CN
- China
- Prior art keywords
- macro
- macro program
- keywords
- sample
- detection model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 159
- 238000001514 detection method Methods 0.000 claims abstract description 202
- 238000012549 training Methods 0.000 claims description 111
- 230000035772 mutation Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 6
- 238000013101 initial test Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 3
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003631 expected effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 238000012800 visualization Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提出了一种宏程序的混淆检测方法、装置、电子设备和计算机存储介质,该方法包括:对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。本申请实施例可以快速确定待检测的宏程序是否经过混淆技术处理,提升检测效率。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种宏程序的混淆检测方法、装置、电子设备和计算机存储介质。
背景技术
Office类型文件被广泛应用于企事业单位的日常办公活动中,而宏程序作为Office类型文件的重要功能扩展,亦被频繁使用。其中,以Office类型文件的宏程序为宿主的宏病毒,掺杂在日常办公涉及的正常文件中间,由于具有较好的隐蔽性和较高的攻击成功率,因而,经常被黑客在网络攻击中大量运用。
宏病毒为了躲避杀毒软件的查杀,通常采用混淆技术;可见,宏病毒检测的重要挑战是如何对抗混淆技术;混淆技术是一种程序转换的技术,它能够保留恶意程序的恶意行为,同时修改程序的外观,使得杀毒软件无法辨认,增加网络安全风险;特别地,以钓鱼邮件附加混淆宏病毒为形式的攻击,已经成为攻击方的主要攻击方式。因而,为了提高网络的安全性,需要一种能够有效检测宏程序是否经过混淆技术处理的方法。
发明内容
本申请提供一种宏程序的混淆检测方法、装置、电子设备和计算机存储介质。
本申请的技术方案是这样实现的:
本申请实施例提供了一种宏程序的混淆检测方法,所述方法包括:
对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;
分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;
将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
在一些实施例中,所述第一标识和所述第二标识的颜色、形状和个数中至少一项存在区别。
在一些实施例中,所述检测结果用于指示所述待检测的宏程序为正常宏程序或混淆宏程序。
在一些实施例中,所述待检测的宏程序包括VBA程序。
在一些实施例中,所述对待检测的宏程序的关键词进行提取,包括:
使用词频-逆文本频率指数词频-逆文本频率指数(Term Frequency-InverseDocument Frequency,TF-IDF)算法对所述待检测的宏程序的关键词进行提取。
在一些实施例中,所述对待检测的宏程序的关键词进行提取,包括:
在确定所述待检测的宏程序的长度小于或等于设定长度的情况下,对所述待检测的宏程序的关键词进行提取。
在一些实施例中,所述使用第一标识对所述恶意关键词进行替换,包括:
基于不同恶意程度的恶意关键词,使用不同的第一标识对所述恶意关键词进行替换。
在一些实施例中,所述检测模型是根据第一训练数据集训练得到的;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息。
本申请实施例提供了一种检测模型的训练方法,所述方法包括:
获取第一训练数据集;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息;
对每个宏程序样本的关键词进行提取,得到所述每个宏程序样本的恶意关键词和正常关键词;
分别使用第一标识和第二标识对所述每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;
将所述替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和所述宏程序样本的标签信息对所述检测模型进行训练,得到初始检测模型;
基于所述初始检测模型的质量检测结果,得到训练完成的检测模型。
在一些实施例中,在得到所述初始检测模型后,所述方法还包括:
基于所述初始检测模型的质量检测结果,得到训练完成的检测模型;所述质量检测结果包括所述混淆宏程序的检出率和/或误报率。
在一些实施例中,所述基于所述初始检测模型的质量检测结果,得到训练完成的检测模型,包括:
判断所述初始检测模型的质量检测结果是否达到设定要求,得到第一判断结果;
在所述第一判断结果为是的情况下,得到训练完成的检测模型;
在所述第一判断结果为否的情况下,对所述初始检测模型继续进行训练,得到训练完成的检测模型。
在一些实施例中,所述对所述初始检测模型继续进行训练,得到训练完成的检测模型,包括:
获取漏报的混淆宏程序样本,对所述漏报的混淆宏程序样本进行第一变异操作,得到第一混淆宏程序样本;和/或,
获取误报的混淆宏程序样本,对所述误报的混淆宏程序样本进行第二变异操作,得到第二混淆宏程序样本;
将所述第一训练数据集与目标混淆宏程序样本进行合并,得到第二训练数据集;使用所述第二训练数据集对所述检测模型继续进行训练,得到训练完成的检测模型;所述目标混淆宏程序样本包括:所述第一混淆宏程序样本和/或第二混淆宏程序样本。
在一些实施例中,所述第一变异操作表示将所述漏报的混淆宏程序样本与正常宏程序样本合并、将所述漏报的混淆宏程序样本与其它混淆宏程序样本合并或调换函数声明顺序;所述第二变异操作表示将所述误报的混淆宏程序样本与正常宏程序样本合并或调换函数声明顺序。
本申请实施例还提出了一种宏程序的混淆检测装置,所述装置包括提取模块、替换模块和检测模块,其中,
提取模块,用于对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;
替换模块,用于分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;
检测模块,用于将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
本申请实施例还提出了一种检测模型的训练装置,所述装置包括获取模块、第一确定模块、第二确定模块和训练模块,其中,
获取模块,用于获取第一训练数据集;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息;
第一确定模块,用于对每个宏程序样本的关键词进行提取,得到所述每个宏程序样本的恶意关键词和正常关键词;
第二确定模块,用于分别使用第一标识和第二标识对所述每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;
训练模块,用于将所述替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和所述宏程序样本的标签信息对所述检测模型进行训练,得到初始检测模型。
本申请实施例提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的任意一种方法。
本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的宏任意一种方法。
本申请实施例提出了一种宏程序的混淆检测方法、装置、电子设备和计算机存储介质,该方法包括:对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果;如此,通过第一标识和第二标识对恶意关键词和正常关键词做替换,再将替换后的宏程序转换成可视化的目标图像;由于第一标识和第二标识之间存在区分,在使用预先训练的检测模型对该目标图像进行检测时,能够快速确定待检测的宏程序是否经过混淆技术处理,提升检测效率。
附图说明
图1a为相关技术中的正常宏程序的代码示意图;
图1b为相关技术中的混淆宏程序的代码示意图;
图2a是本申请实施例中的一种宏程序的混淆检测方法的流程示意图;
图2b是本申请实施例中的一种检测模型的训练方法的流程示意图;
图2c为本申请实施例中的训练检测模型的流程示意图;
图2d为本申请实施例中的通过训练完成的检测模型进行预测的流程示意图;
图3a为本申请实施例的宏程序的混淆检测装置的组成结构示意图;
图3b为本申请实施例的检测模型的训练装置的组成结构示意图一;
图3c为本申请实施例的检测模型的训练装置的组成结构示意图二;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其它要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,I和/或J,可以表示:单独存在I,同时存在I和J,单独存在J这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括I、J、R中的至少一种,可以表示包括从I、J和R构成的集合中选择的任意一个或多个元素。
例如,本申请实施例提供的宏程序的混淆检测方法包含了一系列的步骤,但是本申请实施例提供的宏程序的混淆检测方法不限于所记载的步骤,同样地,本申请实施例提供的宏程序的混淆检测装置包括了一系列模块,但是本申请实施例提供的宏程序的混淆检测装置不限于包括所明确记载的模块,还可以包括为获取相关数据、或基于数据进行处理时所需要设置的模块。
本申请实施例可以应用于终端设备和服务器组成的计算机系统中,并可以与众多其它通用或专用计算系统环境或配置一起操作。这里,终端设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络连接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性地,图1a为相关技术中的一种正常宏程序的代码示意图;图1b为相关技术中的一种混淆宏程序的代码示意图;结合图1a和图1b可以看出,正常宏程序的代码结构清晰,为程序员人工编写;而混淆宏程序的代码几乎为乱码,为机器自动生成。在杀毒场景中,宏程序的混淆识别是重要的功能;基于混淆识别的识别结果,可激进地认为混淆宏程序均为宏病毒;亦可保守地将混淆宏程序送入沙箱做进一步动态鉴定。即,宏程序的混淆识别是确定宏程序是否为宏病毒的基础。
相关技术中,对于检测宏程序是否经过混淆技术处理的方案,主要有两种:第一种是基于规则的方案;具体地,由人工凭借经验提取一些规则描述经混淆技术处理过的宏程序。例如,字符串长度超过200,整数常量超过100个,字符串拼接操作数量超过30个等等。第二种是基于机器学习算法的方案;具体地,首先由人工实施特征工程,即,对大量混淆宏程序和正常宏程序提取特征;然后以特征为训练数据,用机器学习算法训练模型;最后,用模型预测宏程序是否经过混淆技术处理。
然而,上述两种方案存在以下技术问题:
1)第一种方案中人工提取的规则难于描述混淆特征,会导致严重的误判和漏判;并且当规则数量较大时,可维护性差。
2)第二种方案中特征工程需要人工实施且特征工程的质量会影响模型的检测效果。
针对上述技术问题,提出以下各实施例。
在本申请的一些实施例中,宏程序的混淆检测方法可以利用宏程序的混淆检测装置中的处理器实现,上述处理器可以为特定用途集成电路(Application SpecificIntegrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgrammableLogic Device,PLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
图2a是本申请实施例中的一种宏程序的混淆检测方法的流程示意图,如图2a所示,该方法包括如下步骤:
步骤100:对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词。
本申请实施例中,待检测的宏程序可以包括宏语言(Visual Basic forApplications,VBA)程序,也可以称为脚本,由程序代码组成;其中,VBA是一种基于VisualBasic宏语言的脚本语言扩展,主要用于扩展Windows的应用程序功能,常用于MicrosoftOffice软件中;VBA程序也是一种应用程序视觉化的Basic脚本。
在一种实施例中,在对待检测的宏程序的关键词进行提取之前,获取待检测的宏程序;这里,对于获取待检测的宏程序的方式不作限定,例如,可以通过人工输入的方式进行获取,也可以通过宏程序的混淆检测装置进行自动获取等。
本申请实施例中,在获取到待检测的宏程序后,使用关键词提取算法对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词。示例性地,关键词提取算法可以为TF-IDF算法。
示例性地,在使用TF-IDF算法对待检测的宏程序提取关键词的过程中,首先,对待检测的宏程序进行分词、词性标注和去除停用词等数据预处理操作,得到若干个候选关键词;然后计算每个候选关键词的词频和逆文本频率指数,通过词频和逆文本频率指数的乘积确定每个候选关键词的TF-IDF数值,根据TF-IDF数值对每个候选关键词进行排序,将排名在前的候选关键词作为关键词。这里,关键词包括恶意关键词或正常关键词,即,正常关键词和正常关键词可以通过上述过程进行提取。
这里,恶意关键词表示在混淆宏程序中出现次数较多,但在正常宏程序中出现次数很少的词;正常关键词表示在正常宏程序中出现次数较多,但在混淆宏程序中出现次数很少的词;进一步地,恶意关键词的重要性随着它在混淆宏程序中出现的次数成正比增加,但同时会随着它在正常宏程序中出现的次数成反比下降;类似地,正常关键词的重要性随着它在正常宏程序中出现的次数成正比增加,但同时会随着它在混淆宏程序中出现的次数成反比下降。
可见,恶意关键词和正常关键词具有很好的类别区分能力,适合用来对混淆宏程序和正常宏程序进行分类。
在一些实施例中,对待检测的宏程序的关键词进行提取,可以包括:在确定待检测的宏程序的长度小于或等于设定长度的情况下,对待检测的宏程序的关键词进行提取。
本申请实施例中,在获取到待检测的宏程序后,首先对待检测的宏程序的长度进行判断,若确定待检测的宏程序的长度小于或等于设定长度,则通过关键词提取算法对待检测的宏程序的关键词进行提取;若确定待检测的宏程序的长度大于设定长度,则可以直接确定待检测的宏程序为正常宏程序。
这是因为基于大量样本审计的经验,发现绝大多数混淆技术被实施于恶意宏程序,而恶意宏程序出于网络传输效率的考虑,一般长度较短;即,长度较短的宏程序被混淆技术处理成为混淆宏程序的概率更高,且绝大数混淆宏程序为恶意宏程序;因而,通过对待检测的宏程序的长度判断,仅对长度小于或等于设定长度的宏程序进行关键词提取,可以提升检测效率。
示例性地,设定长度的取值是根据实际场景预先设定的,本申请实施例对此不作限制,例如,可以为100KB、120KB等。
步骤101:分别使用第一标识和第二标识对恶意关键词和正常关键词进行替换,得到替换后的宏程序。
本申请实施例中,在通过上述步骤得到待检测的宏程序中的恶意关键词和正常关键词后,使用第一标识对恶意关键词进行替换,使用第二标识对正常关键词进行替换,得到替换后的宏程序;即,相比于纯代码组成的待检测的宏程序,替换后的宏程序由代码以及第一标识、第二标识共同组成。
这里,第一标识和第二标识可以表示两种不同的标识;该标识可以为图片也可以为字符;且第一标识和第二标识的颜色、形状和个数中至少一项存在区别。
示例性地,可以使用三个第一标识对恶意关键词进行替换,其中,三个第一标识可以是三个连续的红色方框;可以使用三个第二标识对正常关键词进行替换,其中,三个第二标识可以是三个连续的绿色圆形;另外,三个第一标识还可以是三个连续的紫色三角形,三个第二标识还可以是三个连续的黄色梯形。示例性地,第一标识和第二标识对应的形状可以为实心,也可以为空心。
在一些实施例中,使用第一标识对恶意关键词进行替换,可以包括:基于不同恶意程度的恶意关键词,使用不同的第一标识对恶意关键词进行替换。
在一种实施方式中,可以根据恶意关键词在混淆宏程序中的出现次数,确定恶意关键词的恶意程度;进而,根据恶意关键词的恶意程度,确定对应的第一标识;即,不同恶意程度的恶意关键词对应的第一标识存在区别。
示例性地,如果某一恶意关键词在混淆宏程序中出现次数小于或等于第一设定次数,则说明该恶意关键词的恶意程度为较弱,其对应的第一标识可以是一个红色方框;如果某一恶意关键词在混淆宏程序中出现次数大于第一设定次数,则说明其恶意程度为较强,其对应的第一标识可以是三个连续的红色方框;即,通过使用不同的第一标识进行区别,使得在后续的检测过程中,不仅可以确定出恶意关键词,还能直观地确定恶意关键词对应的恶意程度。
这里,第二设定次数大于第一设定次数;对于第一设定次数和第二设定次数的取值可以根据实际情况进行设置,本申请实施例对此不做限制。例如,第一设定次数可以为三次,第二设定次数可以为五次等。
本申请实施例中,在混淆宏程序识别场景下,通过第一标识和第二标识对恶意关键词和正常关键词做替换,而第一标识和第二标识之间存在区分;能够使后续进行检测的神经网络算法快速收敛,提升检测效果。
步骤102:将替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
本申请实施例中,在通过上述步骤得到替换后的宏程序后,使用开源的图片转换工具将替换后的宏程序中包括的内容转换成对应的目标图片。将该目标图片输入至预先训练的检测模型进行检测,得到检测结果。
在一种实施方式中,检测结果可以用于指示待检测的宏程序为正常宏程序或混淆宏程序;进而,在将上述目标图片输入至预先训练的检测模型进行检测,可以确定出待检测的宏程序是正常宏程序,还是混淆宏程序。
本申请实施例中,在将替换后的宏程序转换成目标图片后,还需要对该目标图片的尺寸进行正则化;其中,目标图片的尺寸小于设定尺寸的,通过末尾填补空白达到尺寸要求;目标图片的尺寸大于设定尺寸的,通过等比例缩小达到尺寸要求。即,在待检测的宏程序为多个的情况下,每个待检测的宏程序对应的目标图片的尺寸都应与设定尺寸相同。
这里,设定尺寸与检测模型训练过程中所有输入图片的尺寸一致。示例性地,对于输入图片的尺寸可以根据实际场景进行设置,本申请实施例不作限制,例如,可以为600*800像素的图片或700*800像素等。
在一些实施例中,上述检测模型是根据第一训练数据集训练得到的;第一训练数据集包括:宏程序样本和宏程序样本的标签信息。
这里,第一训练数据集包括多个宏程序样本以及多个宏程序样本对应的标签信息组成的集合;其中,多个宏程序样本由若干个正常宏程序样本和若干个混淆宏程序样本组成;宏程序样本的标签信息用于表明每个宏程序样本是正常宏程序还是混淆宏程序。
本申请实施例中,在根据宏程序样本和宏程序样本的标签信息对检测模型进行训练,得到训练完成的检测模型后,通过该检测模型对上述目标图片进行检测,得到检测结果。下面,对检测模型的训练过程进行说明。
图2b是本申请实施例中的一种检测模型的训练方法的流程示意图,如图2b所示,该方法包括如下步骤:
步骤103:获取第一训练数据集;第一训练数据集包括:宏程序样本和宏程序样本的标签信息;
步骤104:对每个宏程序样本的关键词进行提取,得到每个宏程序样本的恶意关键词和正常关键词;
步骤105:分别使用第一标识和第二标识对每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;
步骤106:将替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和宏程序样本的标签信息对检测模型进行训练,得到初始检测模型。
示例性地,在获取到上述第一训练数据集后,首先对第一训练数据集中每个宏程序样本的长度进行筛选;具体地,将长度小于或等于设定长度的宏程序样本进行保留;将长度大于设定长度的宏程序样本进行丢弃;这里的设定长度与上述对待检测的宏程序的长度进行判断时的设定长度保持一致。
由于本申请实施例可以使用机器学习算法对检测模型进行训练,而经过对第一训练数据集中的宏程序样本进行筛选后,可以提升机器学习算法的效率,并为机器学习算法消除大量噪音。
本申请实施例中,在对上述的宏程序样本筛选后,使用关键词提取算法对保留的每个宏程序样本的关键词进行提取;这里,在宏程序样本为混淆宏程序样本的情况下,提取恶意关键词;在宏程序样本为正常宏程序样本的情况下,提取正常关键词;在得到每个宏程序样本的恶意关键词和正常关键词后,分别使用第一标识和第二标识对每个宏程序样本的恶意关键词和正常关键词进行替换;再使用开源的图片转换工具将替换后的每个宏程序样本转换成对应的图片样本。对于恶意关键词和正常关键词的提取、替换以及转换,均在上述步骤中已经描述,此处不再赘述。
这里,对检测模型的训练是有监督的学习,即,对于输入X有着与之对应的实际值Y;这里,输入X表示每个图片样本,实际值Y表示每个图片样本对应的标签信息。而检测模型的输入X与实际值Y之间的损失函数就是网络反向传播,整个神经网络的训练过程就是不断缩小损失函数的值的过程。
本申请实施例中,对检测模型的类型不作限制,可以使用神经网络模型,比如卷积神经网络(Convolutional Neural Networks,CNN),也可以使用其它机器学习模型。
在一种实施方式中,基于初始检测模型的质量检测结果,得到训练完成的检测模型;质量检测结果包括混淆宏程序的检出率和/或误报率。
示例性地,在经过上述训练过程得到初始检测模型后,对该初始检测模型进行质量检测,得到质量检测结果;判断初始检测模型的质量检测结果是否达到设定要求,得到第一判断结果;在第一判断结果为是的情况下,得到训练完成的检测模型;在第一判断结果为否的情况下,对初始检测模型继续进行训练,得到训练完成的检测模型。
这里,质量检测结果包括混淆宏程序的检出率和误报率至少一项。示例性地,在确定初始检测模型的质量检测结果达到设定要求的情况下,说明初始检测模型符合预期检测效果,该初始检测模型即为训练完成的检测模型;在确定初始检测模型的质量检测结果未达到设定要求的情况下,说明初始检测模型不符合预期检测效果,需要对初始检测模型继续进行训练以得到符合预期检测效果的检测模型。
示例性地,设定要求可以根据实际场景进行设置,本申请实施例不做限制,例如,可以将设定要求中混淆宏程序的检出率设置为99%,误报率设置为0.5%。
在一些实施例中,对初始检测模型继续进行训练,得到训练完成的检测模型,可以包括:获取漏报的混淆宏程序样本,对漏报的混淆宏程序样本进行第一变异操作,得到第一混淆宏程序样本;和/或,获取误报的混淆宏程序样本,对误报的混淆宏程序样本进行第二变异操作,得到第二混淆宏程序样本;将第一训练数据集与目标混淆宏程序样本进行合并,得到第二训练数据集;使用第二训练数据集对检测模型继续进行训练,得到训练完成的检测模型;目标混淆宏程序样本包括:第一混淆宏程序样本和/或第二混淆宏程序样本。
在一些实施例中,第一变异操作表示将漏报的混淆宏程序样本与正常宏程序样本合并、将漏报的混淆宏程序样本与其它混淆宏程序样本合并或调换函数声明顺序;第二变异操作表示将误报的混淆宏程序样本与正常宏程序样本合并或调换函数声明顺序。
在一种实施方式中,调换函数声明顺序表示将漏报的混淆宏程序样本和误报的混淆宏程序样本中关于函数声明的代码之间的顺序进行调换。
这里,对漏报的混淆宏程序样本进行第一变异操作得到的第一混淆宏程序样本依然是混淆宏程序样本;对误报为混淆宏程序的正常宏程序样本进行第二变异操作得到的第二混淆宏程序样本依然是正常宏程序样本。
在混淆宏程序识别场景下,本申请实施例通过对第一训练数据集中的图片做变异操作,得到变异样本,即,第一混淆宏程序样本和第二混淆宏程序样本;通过变异样本扩充第一训练数据集,得到第二训练集,进而,通过第二训练集继续对初始检测模型继续进行训练,能够迭代地提升检测模型的效果。
这里,可以将混淆宏程序称为混淆脚本,将正常宏程序称为正常脚本;即,通过训练完成的检测模型能够确定待检测的宏程序是否为被混淆技术处理的混淆脚本;即,本申请实施例能够实现对混淆脚本的检测;进而,可以为后续确定混淆脚本是否为恶意脚本,以提高计算机和网络的安全性提供一定保证。
本申请实施例提出了一种宏程序的混淆检测方法、装置、电子设备和计算机存储介质,该方法包括:对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;分别使用第一标识和第二标识对恶意关键词和正常关键词进行替换,得到替换后的宏程序;将替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果;如此,通过第一标识和第二标识对恶意关键词和正常关键词做替换,再将替换后的宏程序转换成可视化的目标图像;由于第一标识和第二标识之间存在区分,在使用预先训练的检测模型对该目标图像进行检测时,能够快速确定待检测的宏程序是否经过混淆技术处理,提升检测效率。
为了能够更加体现本申请的目的,在本申请上述实施例的基础上,进行进一步的举例说明。
图2c为本申请实施例中的训练检测模型的流程示意图,如图2c所示,该流程包括以下步骤:
步骤A1:判断是否超过设定长度。
在一种实施方式中,在得到第一训练数据集后,对第一训练数据集中每个宏程序样本的长度是否超过设定长度进行判断,在判断结果为否的情况下,执行步骤A2;在判断结果为是的情况下,将长度超过设定长度的宏程序样本进行丢弃。
步骤A2:提取恶意关键词和正常关键词。
在一种实施方式中,可以使用经典的TF-IDF算法,以宏程序的词法分析器为分词器,从第一训练数据集的混淆宏程序样本中提取恶意关键词;从第一训练数据集的正常宏程序样本中提取正常关键词。
步骤A3:替换恶意关键词。
在一种实施方式中,使用第一标识对混淆宏程序样本中的恶意关键词进行替换;得到替换后的混淆宏程序样本。
步骤A4:替换正常关键词。
在一种实施方式中,使用第二标识对正常宏程序样本中的正常关键词进行替换,得到替换后的正常宏程序样本。
这里,步骤A3和步骤A4的目的是使图像识别的机器学习算法能够快速收敛,这两个步骤的执行顺序不分先后。
步骤A5:转换成图片样本。
在一种实施方式中,使用开源的图片转换工具将替换后的混淆宏程序样本和正常宏程序样转换成对应的图片样本。
步骤A6:图片样本尺寸正则化。
在一种实施方式中,将所有图片样本缩放到统一的设定尺寸(例如600*800像素)。其中,图片样本的尺寸小于设定尺寸的,通过末尾填补空白达到尺寸要求得到设定尺寸的图片样本;图片样本的尺寸大于设定尺寸的,通过等比例缩小得到设定尺寸的图片样本。
步骤A7:对检测模型进行训练。
在一种实施方式中,将上述设定尺寸的图片样本输入至检测模型,使用神经网络对检测模型进行训练,得到初始检测模型。
步骤A8:判断初始检测模型是否达标。
在一种实施方式中,对初始检测模型进行质量检测,判断其对混淆宏程序样本的检出率和误报率是否符合预期效果(例如检出率99%,误报率0.5%)。若符合预期,则输出模型,流程结束;若不符合预期,则执行步骤A9。
步骤A9:对误报和/或漏报样本进行变异操作。
在一种实施方式中,对误报和漏报样本做变异操作,生成变异样本。对漏报的混淆宏程序样本,可通过与正常宏程序样本合并、与其他混淆宏程序样本合并、调换函数声明顺序的方式进行第一变异操作,变异后的宏程序样本依然是混淆宏程序样本。对误报为混淆宏程序的正常宏程序,可通过与其他正常宏程序样本合并、调换函数声明顺序的方式进行第二变异操作,变异后的宏程序样本依然是正常宏程序样本。将变异后的混淆宏程序样本和正常宏程序样本用步骤A3至步骤A5的方式生成补充的图片样本。
步骤A10:补充第一训练数据集。
在一种实施方式中,将步骤A9生成的变异后的混淆宏程序样本和/或正常宏程序样本添加至第一训练数据集,得到新训练数据集,即,第二训练数据集,然后经过步骤A7,可迭代地训练检测模型,直到检测模型符合预期效果。
可见,经过上述步骤后,可以得到训练完成的检测模型,下面继续对该检测模型的预测过程进行说明。图2d为本申请实施例中的通过训练完成的检测模型进行预测的流程示意图,如图2d所示,该流程包括以下步骤:
步骤A11:判断是否超过设定长度。
在一种实施方式中,对待检测的宏程序的长度是否超过设定长度进行判断,在判断结果为否的情况下,执行步骤A12;在判断结果为是的情况下,直接确定待检测的宏程序为正常宏程序,流程结束。
步骤A12:替换恶意关键词。
在一种实施方式中,提取待检测的宏程序的恶意关键词,并使用第一标识对待检测的宏程序中的恶意关键词进行替换,得到替换后的宏程序。
步骤A13:替换正常关键词。
在一种实施方式中,提取待检测的宏程序的正常关键词,并使用第二标识对待检测的宏程序中的正常关键词进行替换,得到替换后的宏程序。
步骤A14:转换成目标图片。
在一种实施方式中,使用开源的图片转换工具将替换后的宏程序转换成对应的图片。
步骤A15:目标图片尺寸正则化。
在一种实施方式中,将目标图片缩放到统一的设定尺寸(例如600*800像素),得到设定尺寸的目标图片。与步骤A5的设定尺寸保持一致。
步骤A16:使用训练完成的检测模型预测。
在一种实施方式中,根据训练流程得到训练完成的检测模型,使用该检测模型对步骤A15生成的目标图片进行预测,进而,确定待检测的宏程序是否为混淆宏程序。
可见,本申请实施例在混淆宏程序识别场景下,将待检测的宏程序转为图像实体,通过计算机视觉领域的神经网络做训练和预测。另外,使用TF-IDF算法提取恶意关键词和正常关键词,并用第一标识和第二表示对它们做替换,使神经网络算法快速收敛,提升效果。进一步地,通过对第一训练数据集中的图片进行变异操作,扩充第一训练数据集,迭代地提升检测模型效果。
图3a为本申请实施例的宏程序的混淆检测装置的组成结构示意图,如图3a所示,该装置包括:提取模块300、替换模块301和检测模块302,其中:
提取模块300,用于对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;
替换模块301,用于分别使用第一标识和第二标识对恶意关键词和正常关键词进行替换,得到替换后的宏程序;
检测模块302,用于将替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
在一些实施例中,第一标识和第二标识的颜色、形状和个数中至少一项存在区别。
在一些实施例中,检测结果用于指示待检测的宏程序为正常宏程序或混淆宏程序。
在一些实施例中,待检测的宏程序包括VBA程序。
在一些实施例中,提取模块300,用于对待检测的宏程序的关键词进行提取,包括:
使用TF-IDF算法对待检测的宏程序的关键词进行提取。
在一些实施例中,提取模块300,用于对待检测的宏程序的关键词进行提取,包括:
在确定待检测的宏程序的长度小于或等于设定长度的情况下,对待检测的宏程序的关键词进行提取。
在一些实施例中,替换模块301,用于使用第一标识对恶意关键词进行替换,包括:
基于不同恶意程度的恶意关键词,使用不同的第一标识对恶意关键词进行替换。
在一些实施例中,检测模型是根据第一训练数据集训练得到的;第一训练数据集包括:宏程序样本和宏程序样本的标签信息。
图3b为本申请实施例的检测模型的训练装置的组成结构示意图一,如图3b所示,该装置包括:获取模块303、第一确定模块304、第二确定模块305和训练模块306,其中:
获取模块303,用于获取第一训练数据集;第一训练数据集包括:宏程序样本和宏程序样本的标签信息;
第一确定模块304,用于对每个宏程序样本的关键词进行提取,得到每个宏程序样本的恶意关键词和正常关键词;
第二确定模块305,用于分别使用第一标识和第二标识对每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;
训练模块306,用于将替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和宏程序样本的标签信息对检测模型进行训练,得到初始检测模型。
图3c为本申请实施例的检测模型的训练装置的组成结构示意图二,如图3c所示,该装置还包括:第三确定模块307;
第三确定模块307,用于基于初始检测模型的质量检测结果,得到训练完成的检测模型;质量检测结果包括混淆宏程序的检出率和/或误报率。
在一些实施例中,第三确定模块307,用于基于初始检测模型的质量检测结果,得到训练完成的检测模型,包括:
判断初始检测模型的质量检测结果是否达到设定要求,得到第一判断结果;
在第一判断结果为是的情况下,得到训练完成的检测模型;
在第一判断结果为否的情况下,对初始检测模型继续进行训练,得到训练完成的检测模型。
在一些实施例中,第三确定模块307,还用于对初始检测模型继续进行训练,得到训练完成的检测模型,包括:
获取漏报的混淆宏程序样本,对漏报的混淆宏程序样本进行第一变异操作,得到第一混淆宏程序样本;和/或,
获取误报的混淆宏程序样本,对误报的混淆宏程序样本进行第二变异操作,得到第二混淆宏程序样本;
将第一训练数据集与目标混淆宏程序样本进行合并,得到第二训练数据集;使用第二训练数据集对检测模型继续进行训练,得到训练完成的检测模型;目标混淆宏程序样本包括:第一混淆宏程序样本和/或第二混淆宏程序样本。
在一些实施例中,第一变异操作表示将漏报的混淆宏程序样本与正常宏程序样本合并、将漏报的混淆宏程序样本与其它混淆宏程序样本合并或调换函数声明顺序;第二变异操作表示将误报的混淆宏程序样本与正常宏程序样本合并或调换函数声明顺序。
在实际应用中,上述提取模块300、替换模块301、检测模块302、获取模块303、第一确定模块304、第二确定模块305、训练模块306和第三确定模块307均可以由位于电子设备中的处理器实现,该处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的宏程序的混淆检测方法和检测模型的训练方法对应的计算机程序指令可以被存储在光盘、硬盘、U盘等存储介质上,当存储介质中的与宏程序的混淆检测方法和检测模型的训练方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种宏程序的混淆检测方法和检测模型的训练方法。
基于前述实施例相同的技术构思,参见图4,其示出了本申请实施例提供的电子设备400,可以包括:存储器401和处理器402;其中,
存储器401,用于存储计算机程序和数据;
处理器402,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种方法。
在实际应用中,上述存储器401可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM、快闪存储器(flash memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器402提供指令和数据。
上述处理器402可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的处理设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (16)
1.一种宏程序的混淆检测方法,其特征在于,所述方法包括:
对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;
分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;其中,所述第一标识和所述第二标识的颜色、形状和个数中至少一项存在区别;
将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
2.根据权利要求1所述的方法,其特征在于,所述检测结果用于指示所述待检测的宏程序为正常宏程序或混淆宏程序。
3.根据权利要求1所述的方法,其特征在于,所述待检测的宏程序包括VBA程序。
4.根据权利要求1所述的方法,其特征在于,所述对待检测的宏程序的关键词进行提取,包括:
使用词频-逆文本频率指数TF-IDF算法对所述待检测的宏程序的关键词进行提取。
5.根据权利要求1所述的方法,其特征在于,所述对待检测的宏程序的关键词进行提取,包括:
在确定所述待检测的宏程序的长度小于或等于设定长度的情况下,对所述待检测的宏程序的关键词进行提取。
6.根据权利要求1所述的方法,其特征在于,所述使用第一标识对所述恶意关键词进行替换,包括:
基于不同恶意程度的恶意关键词,使用不同的第一标识对所述恶意关键词进行替换。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述检测模型是根据第一训练数据集训练得到的;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息。
8.一种检测模型的训练方法,其特征在于,所述方法包括:
获取第一训练数据集;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息;
对每个宏程序样本的关键词进行提取,得到所述每个宏程序样本的恶意关键词和正常关键词;
分别使用第一标识和第二标识对所述每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;其中,所述第一标识和所述第二标识的颜色、形状和个数中至少一项存在区别;
将所述替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和所述宏程序样本的标签信息对所述检测模型进行训练,得到初始检测模型。
9.根据权利要求8所述的方法,其特征在于,在得到所述初始检测模型后,所述方法还包括:
基于所述初始检测模型的质量检测结果,得到训练完成的检测模型;所述质量检测结果包括混淆宏程序的检出率和/或误报率。
10.根据权利要求9所述的方法,其特征在于,所述基于所述初始检测模型的质量检测结果,得到训练完成的检测模型,包括:
判断所述初始检测模型的质量检测结果是否达到设定要求,得到第一判断结果;
在所述第一判断结果为是的情况下,得到训练完成的检测模型;
在所述第一判断结果为否的情况下,对所述初始检测模型继续进行训练,得到训练完成的检测模型。
11.根据权利要求10所述的方法,其特征在于,所述对所述初始检测模型继续进行训练,得到训练完成的检测模型,包括:
获取漏报的混淆宏程序样本,对所述漏报的混淆宏程序样本进行第一变异操作,得到第一混淆宏程序样本;和/或,
获取误报的混淆宏程序样本,对所述误报的混淆宏程序样本进行第二变异操作,得到第二混淆宏程序样本;
将所述第一训练数据集与目标混淆宏程序样本进行合并,得到第二训练数据集;使用所述第二训练数据集对所述检测模型继续进行训练,得到训练完成的检测模型;所述目标混淆宏程序样本包括:所述第一混淆宏程序样本和/或第二混淆宏程序样本。
12.根据权利要求11所述的方法,其特征在于,所述第一变异操作表示将所述漏报的混淆宏程序样本与正常宏程序样本合并、将所述漏报的混淆宏程序样本与其它混淆宏程序样本合并或调换函数声明顺序;所述第二变异操作表示将所述误报的混淆宏程序样本与正常宏程序样本合并或调换函数声明顺序。
13.一种宏程序的混淆检测装置,其特征在于,所述装置包括:
提取模块,用于对待检测的宏程序的关键词进行提取,得到恶意关键词和正常关键词;
替换模块,用于分别使用第一标识和第二标识对所述恶意关键词和所述正常关键词进行替换,得到替换后的宏程序;其中,所述第一标识和所述第二标识的颜色、形状和个数中至少一项存在区别;
检测模块,用于将所述替换后的宏程序转换成目标图片,输入至预先训练的检测模型进行检测,得到检测结果。
14.一种检测模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取第一训练数据集;所述第一训练数据集包括:宏程序样本和所述宏程序样本的标签信息;
第一确定模块,用于对每个宏程序样本的关键词进行提取,得到所述每个宏程序样本的恶意关键词和正常关键词;
第二确定模块,用于分别使用第一标识和第二标识对所述每个宏程序样本的恶意关键词和正常关键词进行替换,得到替换后的每个宏程序样本;其中,所述第一标识和所述第二标识的颜色、形状和个数中至少一项存在区别;
训练模块,用于将所述替换后的每个宏程序样本转换成对应的图片样本,通过每个图片样本和所述宏程序样本的标签信息对所述检测模型进行训练,得到初始检测模型。
15.一种电子设备,其特征在于,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至12任一项所述的方法。
16.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322284.6A CN113065132B (zh) | 2021-03-25 | 2021-03-25 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322284.6A CN113065132B (zh) | 2021-03-25 | 2021-03-25 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065132A CN113065132A (zh) | 2021-07-02 |
CN113065132B true CN113065132B (zh) | 2023-11-03 |
Family
ID=76563648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110322284.6A Active CN113065132B (zh) | 2021-03-25 | 2021-03-25 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065132B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007094344A1 (ja) * | 2006-02-14 | 2007-08-23 | Nec Corporation | オペレータ業務支援方法と装置、プログラムおよび記録媒体 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
WO2017020776A1 (zh) * | 2015-07-31 | 2017-02-09 | 北京金山安全软件有限公司 | 获取关键词和基于该关键词进行信息推荐的方法及装置 |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN109063482A (zh) * | 2018-08-09 | 2018-12-21 | 博彦科技股份有限公司 | 宏病毒识别方法、装置、存储介质及处理器 |
CN110196718A (zh) * | 2018-05-10 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 脚本混淆方法 |
CN110650117A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 跨站攻击防护方法、装置、设备及存储介质 |
CN111310186A (zh) * | 2020-03-17 | 2020-06-19 | 优刻得科技股份有限公司 | 混淆命令行检测方法、装置及系统 |
CN111400707A (zh) * | 2020-03-10 | 2020-07-10 | 深信服科技股份有限公司 | 一种文件宏病毒检测方法、装置、设备及存储介质 |
WO2020147238A1 (zh) * | 2019-01-18 | 2020-07-23 | 平安科技(深圳)有限公司 | 关键词的确定方法、自动评分方法、装置、设备及介质 |
CN112163419A (zh) * | 2020-09-23 | 2021-01-01 | 南方电网数字电网研究院有限公司 | 文本的情绪识别方法、装置、计算机设备和存储介质 |
CN112231507A (zh) * | 2020-10-14 | 2021-01-15 | 维沃移动通信有限公司 | 识别方法、装置及电子设备 |
CN112311733A (zh) * | 2019-07-30 | 2021-02-02 | 四川大学 | 一种基于强化学习优化xss检测模型防御对抗攻击的方法 |
CN112380537A (zh) * | 2020-11-30 | 2021-02-19 | 北京天融信网络安全技术有限公司 | 一种检测恶意软件的方法、装置、存储介质和电子设备 |
CN112395875A (zh) * | 2020-11-17 | 2021-02-23 | 中国平安人寿保险股份有限公司 | 一种关键词提取方法、装置、终端以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10621507B2 (en) * | 2016-03-12 | 2020-04-14 | Wipro Limited | System and method for generating an optimized result set using vector based relative importance measure |
-
2021
- 2021-03-25 CN CN202110322284.6A patent/CN113065132B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007094344A1 (ja) * | 2006-02-14 | 2007-08-23 | Nec Corporation | オペレータ業務支援方法と装置、プログラムおよび記録媒体 |
WO2017020776A1 (zh) * | 2015-07-31 | 2017-02-09 | 北京金山安全软件有限公司 | 获取关键词和基于该关键词进行信息推荐的方法及装置 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN110196718A (zh) * | 2018-05-10 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 脚本混淆方法 |
CN109063482A (zh) * | 2018-08-09 | 2018-12-21 | 博彦科技股份有限公司 | 宏病毒识别方法、装置、存储介质及处理器 |
WO2020147238A1 (zh) * | 2019-01-18 | 2020-07-23 | 平安科技(深圳)有限公司 | 关键词的确定方法、自动评分方法、装置、设备及介质 |
CN112311733A (zh) * | 2019-07-30 | 2021-02-02 | 四川大学 | 一种基于强化学习优化xss检测模型防御对抗攻击的方法 |
CN110650117A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 跨站攻击防护方法、装置、设备及存储介质 |
CN111400707A (zh) * | 2020-03-10 | 2020-07-10 | 深信服科技股份有限公司 | 一种文件宏病毒检测方法、装置、设备及存储介质 |
CN111310186A (zh) * | 2020-03-17 | 2020-06-19 | 优刻得科技股份有限公司 | 混淆命令行检测方法、装置及系统 |
CN112163419A (zh) * | 2020-09-23 | 2021-01-01 | 南方电网数字电网研究院有限公司 | 文本的情绪识别方法、装置、计算机设备和存储介质 |
CN112231507A (zh) * | 2020-10-14 | 2021-01-15 | 维沃移动通信有限公司 | 识别方法、装置及电子设备 |
CN112395875A (zh) * | 2020-11-17 | 2021-02-23 | 中国平安人寿保险股份有限公司 | 一种关键词提取方法、装置、终端以及存储介质 |
CN112380537A (zh) * | 2020-11-30 | 2021-02-19 | 北京天融信网络安全技术有限公司 | 一种检测恶意软件的方法、装置、存储介质和电子设备 |
Non-Patent Citations (1)
Title |
---|
结合关键词混淆网络的关键词检出系统;张磊;陈晶;项学智;贾梅梅;;智能系统学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113065132A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941491B2 (en) | Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content | |
US9852297B1 (en) | Methods and apparatus for detecting malware samples with similar image sets | |
US10474818B1 (en) | Methods and devices for detection of malware | |
US7809795B1 (en) | Linguistic nonsense detection for undesirable message classification | |
JP2020505707A (ja) | 侵入検出のための継続的な学習 | |
CN111917740B (zh) | 一种异常流量告警日志检测方法、装置、设备及介质 | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN110362996B (zh) | 一种离线检测PowerShell恶意软件的方法与系统 | |
CN112487422B (zh) | 一种恶意文档检测方法、装置、电子设备及存储介质 | |
US20220277174A1 (en) | Evaluation method, non-transitory computer-readable storage medium, and information processing device | |
CN112052451A (zh) | 一种webshell检测方法和装置 | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
WO2019165006A1 (en) | Image hidden information detector | |
Khan et al. | Digital forensics and cyber forensics investigation: security challenges, limitations, open issues, and future direction | |
CN111881446A (zh) | 一种工业互联网恶意代码识别方法及装置 | |
CN108446543B (zh) | 一种邮件处理方法、系统及邮件代理网关 | |
AlGarni et al. | An efficient convolutional neural network with transfer learning for malware classification | |
Kumar et al. | SVM with Gaussian kernel-based image spam detection on textual features | |
CN111680291A (zh) | 一种对抗样本生成方法、装置、电子设备及存储介质 | |
CN113190847B (zh) | 一种脚本文件的混淆检测方法、装置、设备及存储介质 | |
Čeponis et al. | Evaluation of deep learning methods efficiency for malicious and benign system calls classification on the AWSCTD | |
CN113111350A (zh) | 一种恶意pdf文件的检测方法、装置及电子设备 | |
CN113065132B (zh) | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 | |
CN113553586B (zh) | 病毒检测方法、模型训练方法、装置、设备及存储介质 | |
Rathod et al. | AI & ML Based Anamoly Detection and Response Using Ember Dataset |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method, device, electronic device, and storage medium for detecting confusion in macro programs Effective date of registration: 20231212 Granted publication date: 20231103 Pledgee: Shenzhen Branch of China Merchants Bank Co.,Ltd. Pledgor: SANGFOR TECHNOLOGIES Inc. Registration number: Y2023980070863 |