[发明专利]一种恶意代码家族分类方法在审
申请号: | 201910929429.1 | 申请日: | 2019-09-27 |
公开(公告)号: | CN110659495A | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 王凤英;高明哲;李彩虹;贾立鹏;姜倩玉 | 申请(专利权)人: | 山东理工大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06K9/62;G06F16/951 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 255086 山东省淄博*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 恶意代码 家族分类 抓取 算法 多个网站 恶意代码样本 归一化预处理 卷积神经网络 图像 二进制码 汇编文件 全局特征 自动更新 爬虫 多线程 特征库 再利用 调用 标准化 检测 优化 | ||
1.一种恶意代码家族分类方法,其特征在于采用以下步骤:
1)利用多线程爬虫算法,从网站抓取恶意代码样本,放入恶意代码样本库,多线程爬虫算法采用并发线程池编程模板threading中的Thread类,再重写run方法,线程自动运行run方法中的代码实现封装,采用threading.Condition实现线程高效上锁和解锁操作;
2)对步骤1)抓取的每一个恶意代码样本进行反汇编生成二进制码文件,放入扩展名为bytes的文件中;
3)通过B2M算法,将每一个二进制码文件生成恶意代码图像,并进行标准化、归一化预处理,放入恶意代码图像库;
4)批量化读取恶意代码图像库中的所有恶意代码图像,再利用Gist算法,调用Matlab软件接口提取恶意代码Gist图像全局特征,放入Gist全局特征库;
5)从Gist全局特征库获取全局特征,使用优化卷积神经网络模型进行深度学习训练,优化卷积神经网络采用多通道卷积技术和批量归一化算法,卷积神经网络优化是在单个卷积层中加入若干个不同尺寸的过滤器,生成更具多样性的feature map特征;批量归一化算法采用BN算法,训练后得到恶意代码家族种族分类,放入恶意代码家族分类特征库;若要自动更新恶意代码家族分类特征库转步骤1),否则结束。
2.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤1)中,从提供恶意代码网站发布站点抓取恶意代码样本,爬虫算法采用python语言编程,利用并发的线程池模板实现多线程,线程数量与服务器核数及每个物理核上的逻辑processor一致;多线程的实现通过继承threading中的Thread类,再重写run方法,线程就会自动运行run方法中的代码,让线程代码封装,线程的上锁和解锁操作使用threading.Condition,使用notify的相关函数通知其他处于等待状态的线程工作,由此完成从网站抓取恶意代码样本文件,并放入恶意代码样本库。
3.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤2)中,运行IDA反汇编软件打开恶意代码样本可执行文件,反汇编生成汇编码文件以及二进制机器码文件,创建一个名为主文件与原文件名相同,扩展名为bytes的文件。
4.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤3)中,用B2M算法读取二进制机器码文件,以8bit作为一个单位,取值在0-255,对应灰度图的一个像素点,图像宽度固定,高度为整个文件大小与宽度的比值,让每一个文件都生成一个固定宽度的恶意代码图像文件;
恶意代码图像文件标准化image_standardization计算如式(1):
其中μ是图像像素点的均值,x表示图像矩阵,其中adjust_stddev的值如式(2):
其中α表示标准方差,N表示图像的像素数量;
接着进行图像归一化处理,归一化处理norm计算如式(3):
其中xi表示图像在第i个点处的像素点值,max(x)、min(x)分别表示图像像素的最大值和最小值;
将预处理后的图像文件进行存放,形成恶意代码图像库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东理工大学,未经山东理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910929429.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可扩展的智能合约漏洞检测方法
- 下一篇:一种智能手机管控设备及方法