CN113420295A - 恶意软件的检测方法及装置 - Google Patents

恶意软件的检测方法及装置 Download PDF

Info

Publication number
CN113420295A
CN113420295A CN202110715369.0A CN202110715369A CN113420295A CN 113420295 A CN113420295 A CN 113420295A CN 202110715369 A CN202110715369 A CN 202110715369A CN 113420295 A CN113420295 A CN 113420295A
Authority
CN
China
Prior art keywords
malware
training
software
sample set
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.)
Pending
Application number
CN202110715369.0A
Other languages
English (en)
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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202110715369.0A priority Critical patent/CN113420295A/zh
Publication of CN113420295A publication Critical patent/CN113420295A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Virology (AREA)
  • Image Analysis (AREA)

Abstract

本公开涉及一种恶意软件的检测方法、装置、电子设备及计算机可读介质。该方法包括:获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。本公开涉及的恶意软件的检测方法、装置、电子设备及计算机可读介质,能够降低恶意软件检测时,对人员的知识储备需求,避免受人为影响,自动化的对恶意软件进行检测,提高检测效率和准确度。

Description

恶意软件的检测方法及装置
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种恶意软件的检测方法、装置、电子设备及计算机可读介质。
背景技术
在人工智能得到快速应用与普及的今天,对于一个新的软件是否为恶意软件的准确判断大多依然需要人工逆向进行。传统的逆向工程主要分为静态与动态。静态分析主要为使用工具收集软件信息,研究软件结构与敏感的字符串。动态分析主要涉及使用虚拟环境运行所测试的软件,通过观察、跟踪来推断或确认所测试软件的行为。在倡导学习编程,越来越多人会编程的环境下,新的软件层出不穷。同时,随着计算机与互联网的高度普及,信息安全也显得尤为重要。因此,寻找一种简便、自动的恶意软件检测方式非常关键。无论是战胜过围棋冠军的AlphaGo还是可以与人类应答的Siri,无不展现出人工智能的强大与广阔的前景。故而在目前人工智能应用相对较少的信息安全领域进行一些让人工智能代替人工的尝试是个不错的选择。
因此,需要一种新的恶意软件的检测方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种恶意软件的检测方法、装置、电子设备及计算机可读介质,能够降低恶意软件检测时,对人员的知识储备需求,避免受人为影响,自动化的对恶意软件进行检测,提高检测效率和准确度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种恶意软件的检测方法,该方法包括:获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
在本公开的一种示例性实施例中,将所述目标软件转换为至少一个灰度图像,包括:基于B2M算法将所述目标软件转换为至少一个灰度图像。
在本公开的一种示例性实施例中,在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件,包括:在所述至少一个恶意软件概率中的至少一个大于单独阈值时,确定所述目标软件为恶意软件;在所述至少一个恶意软件概率的和大于总体阈值时,确定所述目标软件为恶意软件。
在本公开的一种示例性实施例中,还包括:获取多个恶意软件;基于所述多个恶意软件生成训练样本集和测试样本集;通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
在本公开的一种示例性实施例中,基于所述多个恶意软件生成训练集样本和测试集样本,包括:将所述多个恶意软件转换为多个灰度图像;提取第一预设比例的恶意软件的灰度图像生成训练样本集;提取第二预设比例的恶意软件的灰度图像生成测试样本集。
在本公开的一种示例性实施例中,将所述多个恶意软件转换为多个灰度图像之后,还包括:基于resize函数将所述多个灰度图像统一为预定尺寸。
在本公开的一种示例性实施例中,基于所述多个恶意软件生成训练样本集和测试样本集之后,还包括:为所述训练样本集和测试样本集中的样本设置训练标签。
在本公开的一种示例性实施例中,通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型,包括:通过所述训练样本集对卷积神经网络模型进行训练;在所述卷积神经网络模型中的收敛函数满足要求时,根据当前参数生成所述初始模型。
在本公开的一种示例性实施例中,在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型,包括:在训练结束后通过所述测试样本集对所述初始模型进行测试;在测试的准确率大于准确率阈值时,将所述初始模型作为所述恶意软件识别模型。
根据本公开的一方面,提出一种恶意软件的检测装置,该装置包括:目标模块,用于获取待进行检测的目标软件;转换模块,用于将所述目标软件转换为至少一个灰度图像;输入模块,用于将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;判别模块,用于在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
在本公开的一种示例性实施例中,还包括:训练模块,用于获取多个恶意软件;基于所述多个恶意软件生成训练样本集和测试样本集;通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的恶意软件的检测方法、装置、电子设备及计算机可读介质,获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件的方式,能够降低恶意软件检测时,对人员的知识储备需求,避免受人为影响,自动化的对恶意软件进行检测,提高检测效率和准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种恶意软件的检测方法及装置的系统框图。
图2是根据一示例性实施例示出的一种恶意软件的检测方法的流程图。
图3是根据另一示例性实施例示出的一种恶意软件的检测方法的流程图。
图4是根据另一示例性实施例示出的一种恶意软件的检测方法的示意图。
图5是根据另一示例性实施例示出的一种恶意软件的检测方法的示意图。
图6是根据另一示例性实施例示出的一种恶意软件的检测方法的示意图。
图7是根据一示例性实施例示出的一种恶意软件的检测装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
图9是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
在现有方案中,存在几种恶意软件检测方法,可例如,将目标文件上传至在线恶意软件检测查看基本信息,初步判断是否恶意。如非恶意,判断是否有壳,脱壳后将其导入逆向软件,了解程序结构并寻找敏感字符串,跟踪、观察来判断其大致功能。结合经验与逆向知识判断软件是否恶意。这种方式非自动化检测,无法应对层出不穷的大批量新软件。需要人工且对操作人员知识要求较高,需要大量时间来脱壳与分析。会出现因操作人员知识差异而产生的检测结果差异。
还可例如,在虚拟环境中使用工具对目标文件进行动态检测,捕获可疑行为。观察并分析,判断其行为是否恶意。这种方式需要人工且对操作人员知识要求较高,需要大量时间来脱壳与分析。会出现因操作人员知识差异而产生的检测结果差异。有些恶意软件会在虚拟环境中依然能对计算机造成威胁,即使在虚拟环境中运行目标文件依然对计算机早晨风险。有些恶意软件会发现虚拟环境并且隐藏其恶意行为,从而影响检测结果。
还可例如,收集恶意软件与非恶意软件样本组成训练集,通过沙箱生成json格式的报告文件,进行动态API序列提取并向量化处理得到报告文件的特征向量。构建神经网络模型,将特征向量作为输入,传入到未训练的神经网络中进行训练学习,通过调整参数,将所述卷积神经网络训练至最佳状态,以得到训练完毕的模型。将待测试软件以同样方式制作成测试集,使用训练好的模型检测判断软件是否为恶意。这种方式对训练集预处理需要很多人力、时间与资源,较为繁琐。而且,训练样本为json格式的报告文件,受限于报告文件是否对软件内容描述清晰准确。
在本申请的恶意软件的检测方法中,提出了一种基于卷积神经网络Convolutional Neural Networks(CNN)的恶意软件检测方式,直接将文件转化为图片来进行图像识别训练,能够完全保留恶意软件的各种特征数据,得到的训练结果更加准确。减少检测对操作人员的知识储备有较高要求,检测准确性不受人为影响严重;能够实现自动检测前所需要的准备工作,对计算机而言,本方案中的检测方式不具有危险性。
图1是根据一示例性实施例示出的一种恶意软件的检测方法、装置、电子设备及计算机可读介质的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
终端设备101、102、103可例如获取待进行检测的目标软件;终端设备101、102、103可例如将所述目标软件转换为至少一个灰度图像;终端设备101、102、103可例如将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;终端设备101、102、103可例如在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所提交的目标软件进行检测分析的后台检测服务器。后台检测服务器可以对接收到的数据进行分析等处理,并将处理结果反馈给终端设备。
服务器105可例如获取待进行检测的目标软件;服务器105可例如将所述目标软件转换为至少一个灰度图像;服务器105可例如将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;服务器105可例如在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
服务器105还可例如获取多个恶意软件;基于所述多个恶意软件生成训练样本集和测试样本集;通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的恶意软件的检测方法可以由服务器105和/或终端设备101、102、103执行,相应地,恶意软件的检测装置可以设置于服务器105和/或终端设备101、102、103中。
图2是根据一示例性实施例示出的一种恶意软件的检测方法的流程图。恶意软件的检测方法20至少包括步骤S202至S208。
如图2所示,在S202中,获取待进行检测的目标软件。可例如,通过用户端用户的检测请求获取待进行检测的目标软件,还可例如,远端服务器定时的主动对用户端进行扫描,以获取目标软件。
在S204中,将所述目标软件转换为至少一个灰度图像。包括:基于B2M算法将所述目标软件转换为至少一个灰度图像。可例如,将需要检测是否恶意的目标文件转为32*32的灰度图。可根据目标软件不同的存储容量或者执行功能将目标软件转换为多个灰度图像,从而一次对每一部分进行处理。
B2M算法的执行过程可例如为:对于给定的恶意代码可执行文件,即二进制文件,读取8位为一个无符号的整形(范围为0-255),固定的行宽为一个向量,整个文件最后生成一个二维数组。将此数组可视化为一个灰阶图像,该二维数组中每个元素的范围为0-255,正好为灰度图像中每个像素的取值范围,即每个数组元素对应图像中的一个像素。
在S206中,将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成。恶意软件概率代表该灰度图像包含恶意软件程序的概率,恶意软件概率越大,该灰度图像中包含的部分含有恶意代码的概率也就越高。
在S208中,在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。包括:在所述至少一个恶意软件概率中的至少一个大于单独阈值时,确定所述目标软件为恶意软件;在所述至少一个恶意软件概率的和大于总体阈值时,确定所述目标软件为恶意软件。
在上文中,可根据目标软件不同的执行功能,将目标软件分为多个灰度图像,每个灰度图像可代表目标软件某一部分的功能。在目标软件中的任一部分的功能中包含恶意代码时,则认为该目标软件为恶意软件。如果该目标软件中,多个灰度图像对应的概率大于一定的阈值时,也可认为,该目标软件为恶意软件的概率很大,需要管理员进行后续判别分析。
根据本公开的恶意软件的检测方法,获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件的方式,能够降低恶意软件检测时,对人员的知识储备需求,避免受人为影响,自动化的对恶意软件进行检测,提高检测效率和准确度。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种恶意软件的检测方法的流程图。图3所示的流程30是对“通过卷积神经网络模型训练生成”的详细描述。
如图3所示,在S302中,获取多个恶意软件。可获取不同时间段、不同代码格式、不同运行平台上的多个恶意软件。
在S304中,基于所述多个恶意软件生成训练样本集和测试样本集。其中,为了训练的准确性,可挑选经过核验的,正常软件作为训练样本和测试样本的一部分。
在一个实施例中,可例如,将所述多个恶意软件转换为多个灰度图像;提取第一预设比例的恶意软件的灰度图像生成训练样本集;提取第二预设比例的恶意软件的灰度图像生成测试样本集。
可通过70%的恶意软件生成训练样本集,通过30%的恶意软件生成测试样本集。
在一个实施例中,将所述多个恶意软件转换为多个灰度图像之后,还包括:基于resize函数将所述多个灰度图像统一为预定尺寸。resize函数可调整灰度图像大大小。更具体的,可将所有的灰度图像调整为32*32。
在一个实施例中,还包括:为所述训练样本集和测试样本集中的样本设置训练标签。根据恶意软件实际的标签为样本设置标签。
在S306中,通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型。包括:通过所述训练样本集对卷积神经网络模型进行训练;在所述卷积神经网络模型中的收敛函数满足要求时,根据当前参数生成所述初始模型。
在S308中,在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。包括:在训练结束后通过所述测试样本集对所述初始模型进行测试;在测试的准确率大于准确率阈值时,将所述初始模型作为所述恶意软件识别模型。
在本公开的恶意软件的检测方法中,通过CNN模型检测恶意软件可以节省人力,减少人为因素对检测结果的影响。是现代大批量检测恶意软件所需要的。CNN的关键点主要在于大量的训练数据,而将文件直接以灰度图输出的方式可以很快捷方便地获得大量数据。
图4是根据另一示例性实施例示出的一种恶意软件的检测方法的示意图。本方案利用卷积神经网络在图像识别与分类上使用局部识别的特点以及高精度的优点,可以精确地寻找像素恶意特征并且区分转换为灰度图的恶意与非恶意样本。
在本方案中,首先需要收集一定数量的恶意与非恶意样本,将他们转为尺寸相同的灰度图并输出为训练集与测试集。然后构建卷积神经网络,使用训练集训练,使用测试集进行测试并且根据实际情况调整神经网络。最后将目标文件输入卷积神经网络进行检测获得结果。使用人工智能是现代互联网的一大趋势,其自动的特点可以减少很多人力资源的投入以及人为因素对检测结果的影响。在本方案中,利用卷积神经网络在图像的识别与分类上精度很高,对图像特征的提取胜过其他网络的特点来进行分析,从而达到了满意的效果。
首先,收集恶意与非恶意软件样本,需要注意的是收集的样本要多样化。例如各个时间创建、各个大小的文件,各个类型的恶意软件与非恶意软件都要囊括其中并且具有一定的数量。
其次,使用B2M算法将文件转为灰度图输出。B2M是binary to matrix的简称,意为将二进制转换为矩阵。
再次,使用resize函数将第二步的灰度图样本统一尺寸。在本方案样例中所使用的是inter_cubic,尺寸为32*32。
然后,添加训练标签。将大部分恶意样本与非恶意样本的灰度图分置于训练集文件夹里两个不同的文件夹中,两文件夹名为其标签。将小部分样本置于测试集文件夹里两个不同的文件夹中,要确保测试集与训练集无重合样本。
最后,构建卷积神经网络模型,训练并测试。训练至最佳状态。其精度为阈值为在95%以上。
值得一提的是,在对图像训练集数据的预处理是,可采用任意的interpolation的种类选择。图5中左侧为inter_area的输出,右侧为inter_cubic的输出。interpolation选择的种类对最后的输出结果的准确度并不会有影响,只需要训练集、测试集以及实际应用时选择的种类一致即可。图6为以上步骤输出的部分训练集样本。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图7是根据一示例性实施例示出的一种恶意软件的检测装置的框图。如图7所示,恶意软件的检测装置70包括:目标模块702,转换模块704,输入模块706,判别模块708,训练模块710。
目标模块702用于获取待进行检测的目标软件;
转换模块704用于将所述目标软件转换为至少一个灰度图像;转换模块704还用于基于B2M算法将所述目标软件转换为至少一个灰度图像。
输入模块706用于将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;
判别模块708用于在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。可例如,在所述至少一个恶意软件概率中的至少一个大于单独阈值时,确定所述目标软件为恶意软件;在所述至少一个恶意软件概率的和大于总体阈值时,确定所述目标软件为恶意软件。
训练模块710用于获取多个恶意软件;基于所述多个恶意软件生成训练样本集和测试样本集;通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
根据本公开的恶意软件的检测装置,获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件的方式,能够降低恶意软件检测时,对人员的知识储备需求,避免受人为影响,自动化的对恶意软件进行检测,提高检测效率和准确度。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图2,图3中所示的步骤。
所述存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
所述存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备800’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备800交互的设备通信,和/或该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器880可以通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图9所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取待进行检测的目标软件;将所述目标软件转换为至少一个灰度图像;将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (11)

1.一种恶意软件的检测方法,其特征在于,包括:
获取待进行检测的目标软件;
将所述目标软件转换为至少一个灰度图像;
将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;
在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
2.如权利要求1所述的方法,其特征在于,将所述目标软件转换为至少一个灰度图像,包括:
基于B2M算法将所述目标软件转换为至少一个灰度图像。
3.如权利要求1所述的方法,其特征在于,在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件,包括:
在所述至少一个恶意软件概率中的至少一个大于单独阈值时,确定所述目标软件为恶意软件;
在所述至少一个恶意软件概率的和大于总体阈值时,确定所述目标软件为恶意软件。
4.如权利要求1所述的方法,其特征在于,还包括:
获取多个恶意软件;
基于所述多个恶意软件生成训练样本集和测试样本集;
通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;
在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
5.如权利要求4所述的方法,其特征在于,基于所述多个恶意软件生成训练集样本和测试集样本,包括:
将所述多个恶意软件转换为多个灰度图像;
提取第一预设比例的恶意软件的灰度图像生成训练样本集;
提取第二预设比例的恶意软件的灰度图像生成测试样本集。
6.如权利要求5所述的方法,其特征在于,将所述多个恶意软件转换为多个灰度图像之后,还包括:
基于resize函数将所述多个灰度图像统一为预定尺寸。
7.如权利要求4所述的方法,其特征在于,基于所述多个恶意软件生成训练样本集和测试样本集之后,还包括:
为所述训练样本集和测试样本集中的样本设置训练标签。
8.如权利要求1所述的方法,其特征在于,通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型,包括:
通过所述训练样本集对卷积神经网络模型进行训练;
在所述卷积神经网络模型中的收敛函数满足要求时,根据当前参数生成所述初始模型。
9.如权利要求1所述的方法,其特征在于,在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型,包括:
在训练结束后通过所述测试样本集对所述初始模型进行测试;
在测试的准确率大于准确率阈值时,将所述初始模型作为所述恶意软件识别模型。
10.一种恶意软件的检测装置,其特征在于,包括:
目标模块,用于获取待进行检测的目标软件;
转换模块,用于将所述目标软件转换为至少一个灰度图像;
输入模块,用于将所述至少一个灰度图像分别输入恶意软件识别模型中,生成至少一个恶意软件概率,所述恶意软件识别模型通过卷积神经网络模型训练生成;
判别模块,用于在所述至少一个恶意软件概率满足预设策略时,确定所述目标软件为恶意软件。
11.如权利要求10所述的装置,其特征在于,还包括:
训练模块,用于获取多个恶意软件;基于所述多个恶意软件生成训练样本集和测试样本集;通过所述训练样本集对卷积神经网络模型进行训练,生成初始模型;在训练结束后通过所述测试样本集对所述初始模型进行测试以生成所述恶意软件识别模型。
CN202110715369.0A 2021-06-27 2021-06-27 恶意软件的检测方法及装置 Pending CN113420295A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110715369.0A CN113420295A (zh) 2021-06-27 2021-06-27 恶意软件的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110715369.0A CN113420295A (zh) 2021-06-27 2021-06-27 恶意软件的检测方法及装置

Publications (1)

Publication Number Publication Date
CN113420295A true CN113420295A (zh) 2021-09-21

Family

ID=77717064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110715369.0A Pending CN113420295A (zh) 2021-06-27 2021-06-27 恶意软件的检测方法及装置

Country Status (1)

Country Link
CN (1) CN113420295A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114329475A (zh) * 2022-03-15 2022-04-12 北京华云安信息技术有限公司 恶意代码检测模型的训练方法、装置以及设备
CN116226854A (zh) * 2023-05-06 2023-06-06 江西萤火虫微电子科技有限公司 恶意软件检测方法、系统、可读存储介质及计算机

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659495A (zh) * 2019-09-27 2020-01-07 山东理工大学 一种恶意代码家族分类方法
CN110826060A (zh) * 2019-09-19 2020-02-21 中国科学院信息工程研究所 物联网恶意软件的可视化分类方法、装置与电子设备
CN112163222A (zh) * 2020-10-10 2021-01-01 哈尔滨工业大学(深圳) 一种恶意软件检测方法及装置
CN112182577A (zh) * 2020-10-14 2021-01-05 哈尔滨工程大学 一种基于深度学习的安卓恶意代码检测方法
CN112214766A (zh) * 2020-10-12 2021-01-12 杭州安恒信息技术股份有限公司 一种检测挖矿木马的方法、装置、电子装置和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826060A (zh) * 2019-09-19 2020-02-21 中国科学院信息工程研究所 物联网恶意软件的可视化分类方法、装置与电子设备
CN110659495A (zh) * 2019-09-27 2020-01-07 山东理工大学 一种恶意代码家族分类方法
CN112163222A (zh) * 2020-10-10 2021-01-01 哈尔滨工业大学(深圳) 一种恶意软件检测方法及装置
CN112214766A (zh) * 2020-10-12 2021-01-12 杭州安恒信息技术股份有限公司 一种检测挖矿木马的方法、装置、电子装置和存储介质
CN112182577A (zh) * 2020-10-14 2021-01-05 哈尔滨工程大学 一种基于深度学习的安卓恶意代码检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋晨: "基于图像纹理和卷积神经网络的恶意文件检测方法", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114329475A (zh) * 2022-03-15 2022-04-12 北京华云安信息技术有限公司 恶意代码检测模型的训练方法、装置以及设备
CN114329475B (zh) * 2022-03-15 2022-08-02 北京华云安信息技术有限公司 恶意代码检测模型的训练方法、装置以及设备
CN116226854A (zh) * 2023-05-06 2023-06-06 江西萤火虫微电子科技有限公司 恶意软件检测方法、系统、可读存储介质及计算机

Similar Documents

Publication Publication Date Title
CN111460446B (zh) 基于模型的恶意文件检测方法及装置
CN111460250B (zh) 用于画像的数据的清洗方法、装置、介质及电子设备
CN111107048A (zh) 一种钓鱼网站检测方法、装置和存储介质
KR20220107120A (ko) 생체 검측 모델의 트레이닝 방법 및 장치, 생체 검측 모델을 이용한 생체 검측 방법 및 장치, 전자장비, 저장매체 및 컴퓨터 프로그램
CN108229485A (zh) 用于测试用户界面的方法和装置
CN113450147B (zh) 基于决策树的产品匹配方法、装置、设备及存储介质
CN112863683A (zh) 基于人工智能的病历质控方法、装置、计算机设备及存储介质
CN111900694B (zh) 一种基于自动识别的继电保护设备信息采集方法及系统
CN113420295A (zh) 恶意软件的检测方法及装置
CN115063875A (zh) 模型训练方法、图像处理方法、装置和电子设备
CN115314291A (zh) 模型训练方法及组件,安全检测方法及组件
CN114462040A (zh) 一种恶意软件检测模型训练、恶意软件检测方法及装置
CN114282258A (zh) 截屏数据脱敏方法、装置、计算机设备及存储介质
CN111797395B (zh) 恶意代码可视化及变种检测方法、装置、设备及存储介质
CN112231696A (zh) 恶意样本的识别方法、装置、计算设备以及介质
CN114741697B (zh) 恶意代码分类方法、装置、电子设备和介质
CN112784189A (zh) 一种识别页面图像的方法和装置
CN111353039A (zh) 文件类别检测方法和装置
CN112801960B (zh) 图像处理方法及装置、存储介质、电子设备
CN114842476A (zh) 水印检测方法及装置、模型训练方法及装置
CN114301713A (zh) 风险访问检测模型的训练方法、风险访问检测方法及装置
CN111262818B (zh) 病毒检测方法、系统、装置、设备及存储介质
CN113127858A (zh) 异常检测模型训练方法、异常检测方法及装置
CN114693955A (zh) 比对图像相似度的方法与装置及电子设备
CN111475811A (zh) 一种Android应用程序动态生成控件中用户输入隐私检测方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921

RJ01 Rejection of invention patent application after publication