恶意代码有被称之为恶意软件,它是对人们电脑造成损害或者破坏存储在用户电脑的数据。近年来,随着计算机技术的发展,它为人们的工作、学习、生活带来便利的同时,其数据安全是人们最为关心的问题,人们通过网络传递文件、接收邮件等过程中,难免会存在一些恶意代码文件,这些恶意代码文件紧靠人工区分是非常困难。基于此,通过机器学习知识,实现一个未知恶意代码检测系统各有必要。
本文通过UCI等网站收集恶意代码文件和正常软件文件的数据集,通过图像转换将其转换为图形文件分类存储,通过CNN模型中的ResNet算法,构建恶意代码检测模型。通过收集恶意代码及正常代码图像文件数据集训练恶意代码检测模型,作为未知恶意代码文件识别的分类器。通过PyQt5完成UI界面设计,通过Python语言完成未知恶意代码检测系统功能。通过该系统,用户可快捷的辨别文件是否是恶意代码文件,提高电脑的安全性。
研究背景
根据GIR的相关调研报告[1]可知,2022年到现在全球的高级恶意软件保护软件带来的经济效益高大8334.5百万美元,我国的恶意软件的保护软件市场收益也达到几百美元。根据市场调研可知[2],随着计算机技术的逐渐发展,恶意软件的形式也在发展,目前主要病毒、蠕虫、木马、间谍等形式的恶意软件为主流,但是随着技术的发展,恶意软件的形式也逐渐向着多样化发展,如何高效、准确的定位恶意软件成为当前最为关注的问题。恶意软件对电脑的破坏力之强,严重的恶意软件可能泄露个人隐私、企业的商业机密、国家的军事、安全等机密,它们给个人、企业、国家造成的危害之大,甚至影响人民的生命财产和国家安全,可见恶意软件保护软件其重要性不言而喻。近年来,随着机器学习算法的发展,尤其是卷积神经网络技术的发展,为恶意软件的识别提供新的技术,在此背景下,基于机器学习的未知恶意代码检测系统课题便产生了。
研究意义
恶意软件的保护软件核心内容就是如何识别软件是否恶意软件,随着大数据技术的发展,通过挖掘技术从现有的恶意代码数据中挖掘有价值的内容,通过及其学习算法,构建一个未知恶意代码检测模型实现未知恶意代码检测系统,以为用户提供一个未知恶意代码检测功能,用户通过该系统对不确定的或者陌生的文件进行检测,确保文件是不恶意代码文件,从而保护自身电脑的安全,同时也可帮助企业内部防止恶意软件造成重要机密泄露事件的发生,保护部队、政府等重要部门内部信息的安全。
国内外研究现状
恶意软件的识别研究课题已经成为国内外非常关注的话题,尤其在军事领域,重要军事信息的泄露可能会导致战争的失败,各国对恶意软件的识别技术尤为重视。2022年,赵敏,张雪芹,朱唯一[3]等人依托LSTM-SVM方法,建立手机端静态诶一软件的检测模型,为恶意软件检测功能实现提供提供依据,作者主要从恶意软件在执行时对应的时序性、特征维度等角度进行分析,将这些特征数据作为样本特征来训练LSTM恶意软件检测模型。乔梦晴,李琳[4]等人基于遗传规划算法来实现恶意软件检测功能,其核心内容是解决软件特征处理和构建检测模型分开操作无法解决恶意软件识别准确率和多样性的问题,通过将两个步骤集成来解决该问题。白敬华[5]将图卷积网络技术应用在恶意代码检测上,他就恶意软件特征提取、多标签分类模型构建等进行了研究,最终实现了恶意代码检测模型,重点解决了恶意软件多标签分类问题。2023年,王海宽[6]将深度学习算法应用在恶意软件检测上面,重点解决恶意软件的加密、寡态、打包等问题,他通过Transformer来搭建恶意软件检测框架,最终训练得到恶意软件的检测模型。国外对应的研究著作也不少,2023年,Naeem Hamad,Dong Shi[7]等人通过CNNs等方法构建恶意代码检测和分类模型,其核心将未知恶意代码文件转换为图像,通过深度学习算法完成模型训练。
研究工作内容
本文恶意代码和正常代码文件数据为样本,将文件转换为图像,采用卷积神经网络中的残差神经网络 (ResNet) 来构建恶意代码检测模型,实未知恶意代码检测系统,本文主要研究内容如下:
(1)通过网络搜集恶意代码和正常代码文件数据信息,本文从UCI等网站下载恶意代码相关文件数据,通过并将其通过图像技术进行转换为图像文件。。
(2)恶意代码和正常代码文件图像数据集进行划分,建立训练数据集、验证数据集、测试数据集样本。
(3)通过恶意代码和正常代码文件图像数据集基于ResNet模型算法构建恶意代码检测模型,并保存训练好的模型文件,通过测试集数据验证模型。
(4)基于训练的到的恶意代码检测模型文件,实现未知恶意代码检测系统。
系统功能需求分析
通过调研,该未知恶意代码检测系统要求用户能够选择未知恶意代码文件病转换,能够验证未知恶意代码文件是否是恶意代码,能够查看未知恶意代码检测结果,下面通过用例图对未知恶意代码检测系统中的用户功能进行详细说明。通过上述用户需求可知,该系统终用户参与的用例主要有未知恶意代码文件选择、未知恶意代码文件检测、未知恶意代码文件检测结果查看。
系统功能总体设计
通过上面对未知恶意代码检测系统用户需求了解,本系统功能模块分未知恶意代码文件选择、未知恶意代码文件检测、未知恶意代码文件检测结果查看功能。其系统的结构图如下
(1)未知恶意代码文件选择及转换,为用户提供选择需要检测未知恶意代码文件地方,并将上传的未知恶意代码文件进行图像转换。
(2)未知恶意代码文件检测,通过上述训练得到的恶意文件检测模型,对上传的未知恶意代码文件进行检测。
(3)对未知恶意代码文件检测的结果进行查看。
系统功能模块设计
未知恶意代码文件选择及转换功能设计
未知恶意代码文件选择及转换流程,用户打开软件,点击文件选择按钮,从电脑中选择文件,系统后台读取未知恶意代码文件信息,将其转换为图像文件存储在本地,完成未知恶意代码文件选择及转换功能
未知恶意代码文件检测功能设计
未知恶意代码文件检测流程,系统读取转换后的未知恶意代码文件图像,加载上文训练的恶意代码文件检测模型文件,检测未知恶意代码文件图像是否输入恶意代码分类,如果是恶意代码文件,则返回该文件是恶意代码文件,请立即清除,如果不是,则返回该文件不是恶意代码文件其流程图如所示: