当前位置: 首页 > news >正文

论文解读:《DeepGray:基于灰度图像和深度学习的恶意软件分类方法》

开篇

今天继续来学习网络安全领域的优秀论文,多了解一些创新的方法,旨在开阔眼界和思路。这次要解读的论文属于二进制恶意样本分类领域,二进制检测和分类是一个长久的话题了,业界使用的方法也多种多样,传统方法比如签名、沙箱等。但是传统检测方法往往难以跟上不断变异和混淆的恶意软件的步伐,所以越来越多的研究开始转向能有效进行恶意软件分析和分类的深度学习方法。

这篇论文提出的方法非常新颖,值得深入学习一下。总的来说,该论文提出了一种名为DeepGrey的新方法,该方法将二进制样本转换为灰度图像,保留关键数据特征,然后基于计算机视觉的深度学习模型通过图像分类的方式,来实现二进制样本的分类。

好的,接下来我们就来详细分析下这个方法。

灰度图

先来简单科普下什么是灰度图。

灰度图(Gray Scale Image)是数字图像处理中的一种基础形式,其核心特征是仅保留图像的亮度信息,而舍弃颜色信息。
在这里插入图片描述

灰度图有如下特点:

1.单通道表示:灰度图中每个像素仅包含一个值(即灰度值),范围通常为 ​0(纯黑)到255(纯白)​,中间值代表不同深浅的灰色(如128为中灰);

  • 与彩色图像(RGB三通道)不同,灰度图通过单一通道简化了数据维度。
  • 与二值图像(仅黑白两色)不同,灰度图具有256级(8位)或更高(如16位65536级)的连续灰度层次

2.​视觉表现:灰度图以黑白灰的渐变呈现图像内容,例如黑白照片本质是灰度图的一种应用形式;

使用灰度图有如下的优势:
简化计算与存储

  • 单通道数据量仅为彩色图像的1/3,提升处理效率(如边缘检测、图像分割)
  • 节省存储空间和传输带宽,适用于实时处理系统(如视频监控)

突出结构与纹理
去除颜色干扰后,图像中的形状、边缘和亮度变化更易识别,适用于:

  • ​医学影像​(X光、MRI病灶分析)
  • ​工业检测​(零件表面缺陷识别)
  • ​遥感图像​(地形灰度量化分析)

​算法兼容性
多数传统图像处理算法默认针对灰度数据设计的。

二进制样本->灰度图像

好的,那怎么将一个二进制样本文件转换为灰度图呢?
在这里插入图片描述

首先,将二进制文件的所有内容按二进制连续8位(1字节) 为单位读取,每个字节转换为一个无符号整数(范围0-255,对应灰度图中的一个像素)。
比如,二进制流 00111010 01010010… → 转换为一维整数向量 [58, 82, …]。

然后,将一维整数向量重组为二阶矩阵(高度与宽度相同的二阶方阵),如果一维整数向量长度不足以构成二阶方阵,则使用0来填充,直到该向量能形成最小2阶方阵。
比如一维向量[58,82,45,67,12,90,88],转换成的二阶方阵为:
[ [58,82,45], [67,12,90], [88,0,0] # 这里使用0来填充 ]

最后,因为不同大小的样本构成的二阶方阵的宽度是不同的,而深度学习模型(如VGG16、ViT)要求固定输入尺寸,因此需要对原灰度图进行降维处理,统一降维压缩到512X512的固定尺寸。

降维采用了两种方法:

  • PCA(主成分分析);
  • 双二次元插值;

PCA

主成分分析(PCA)是一种将高维数据转换为低维数据的技术,同时尽可能保留更多的信息。

如下图的三维转二维效果图:

在这里插入图片描述
在这里插入图片描述

这里不对PCA做过多详细介绍,想深入了解的可以查阅网上资料。

双三次插值

双三次插值可以理解为一种“高级猜像素法”——当需要放大或缩小图片时,它通过分析周围16个邻居像素的颜色,推测新位置该填什么颜色值。

想象你要画一幅数字油画,但原图太小看不清细节:

1.普通放大法(最近邻插值):直接复制最近的像素点 → 结果像马赛克(锯齿明显)。
2.进阶放大法(双线性插值):取上下左右4个点算平均值 → 画面变糊(像隔了毛玻璃)。
3.高级放大法(双三次插值):

  • 步骤1:以目标点为中心,画一个4×4的网格(共16个像素点)。
  • 步骤2:给每个邻居像素分配不同的权重(离得近的权重大,离得远的权重小)。
  • 步骤3:用三次函数曲线(类似平滑的抛物线)计算加权平均值 → 得到新像素颜色。

放大后依然清晰,边缘不生硬,更接近原图效果。
恶意软件图像尺寸不一,需统一缩放到512×512:

  • 小图放大:用双三次插值补像素,避免像病毒散点图被拉成模糊色块。
  • 大图缩小:用双三次插值浓缩信息,防止勒索软件的加密区块纹理被过度压缩丢失。

模型训练

DeepGray创新性地将计算机视觉(CV)领域的四大预训练模型(VGG16/InceptionV3/EfficientNetV2B0/ViT)改造为恶意软件分类引擎,主要包括以下三个关键点:

1.灰度图转换为RGB彩色图
恶意软件图像是黑白的(单通道),但预训练模型(VGG/ViT等)只学过彩色图(三通道),所以需要将灰度图转换为RGB彩色图。转换的逻辑也比较简单,将灰度图的一个像素值直接复制三份,最终合并这三份值就形成了RGB彩色图。

2.模型优化
这些预训练模型原来的任务是用于识别猫狗和汽车等这些普通物体,而识别恶意软件图像则只需要它们前期的看图能力(提取图片特征的能力)。所以,需要把模型的最后一层的分类层(原本用来分类猫狗的)去掉。

去掉旧分类层之后,需要添加新的分类层。

3.用大量带标签的恶意软件图片训练这些模型
在这里插入图片描述

总结

DeepGray的这种基于图像识别技术来进行恶意软件分类的方法确实很新颖,但是就像大多数机器学习在安全领域的应用一样,误报和漏报的修复是一大难点。同时,模型的效果也很大程度上依赖训练样本的质量和数量。不过在创新性上来说还是很值得肯定的,只有不断创新,才能应对愈加复杂化的攻击场景。

http://www.dtcms.com/a/266963.html

相关文章:

  • OneCode 智能化UI布局与定位:注解驱动的视觉编排艺术
  • 图灵完备之路(数电学习三分钟)----数据选择器与总线
  • 使用alist+RaiDrive+webdav将百度夸克网盘变为本地电脑磁盘方法教程
  • 《人生顶层设计》读书笔记7
  • J20250704 算法题5道
  • css-多条记录,自动换行与自动并行布局及gap兼容
  • 智能私域运营中枢:从客户视角看 SCRM 的体验革新与价值重构
  • $route
  • Dash 安装使用教程
  • 浅层神经网络:原理与Python实现
  • Golang服务端处理Unity 3D游戏地图与碰撞的详细实现
  • docker运行的一些常用命令
  • SAP入门到放弃系列-流程订单-Process Instruction Category-自定义设置
  • QNetworkAccessManager异步请求有时候操作UI控件崩溃问题
  • ASP.NET MVC架构 路由提取
  • 第2期汽车模型数字工程沙龙,世冠科技分享汽车控制系统开发国产应用
  • 飞凌OK3568核心板与FPGA之间PCIe通信测试操作手册
  • FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
  • Day05: Python 中的并发和并行(1)
  • 堆的应用(建堆、堆排序、TOP-K问题)
  • 网安系列【3】之深入理解内容安全策略(CSP)
  • 迁移Ubuntu启动文件到另一块硬盘
  • ubuntu 18.04配置镜像源
  • 操作Choose Boot Java Run time for the IDE 导致AS重新安装后依然无法启动(已解决)
  • 考研408《计算机组成原理》复习笔记,第三章(3)——多模块存储器
  • Web前端:全选框的使用
  • Abase和ByteKV存储方案对比
  • 【C#】入门
  • tmux 左下角会话名显示不全的解决方法
  • SpringBoot-规划多模块目录结构