基于深度学习的恶意软件检测

简介: 基于深度学习的恶意软件检测

深度神经网络可以有效地挖掘原始数据中的潜在特征,而无需大量数据预处理和先验经验。神经网络在计算机视觉、语音识别和自然语言处理方面取得了一系列的成功,当然,成功的原因是多方面的,其中的一个因素就是神经网络具有从诸如像素或单个文本字符之类的原始数据中学习特征的能力。


  • Malware Detection by Eating a Whole EXE(2018 AAAIW)


  • Malware detection using 1-dimensional convolutional neural networks( 2019 EuroS&PW)


  • Lemna: Explaining deep learning based security applications(2018 CSS BP)


  • 基于深度学习的安全应用提出高精度的解释,该方法提出了基于fused lasso增强的混合回归模型,解决了现有的解释技术无法处理特征依赖和非线性局部边界问题。LEMNA可以帮助安全分析人员用来理解分类器行为,排除分类错误等。


  • Activation analysis of a byte based deep neural network for malware classification (2019 S&PW)


  • Character-level Convolutional Networks for Text Classification (2015 NIPS)


  • NLP预处理参考


  • Explaining Vulnerabilities of Deep Learning to Adversarial Malware Binaries


  • 对基于MalConv字节的恶意软件分类器进行了分析


  • 几乎所有对MalConv模型最有影响的激活都发生在PE文件的头中,这是因为它使用了一个单一的门卷积层和全局池。


  • TESSERACT: Eliminating Experimental Bias in Malware Classification across Space and Time (2019 S&P)



  • Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables


  • Malconv优化



  • 开发了一种新的时间最大池方法,使得所需的内存对序列长度T保持不变。这使得MalConv的内存效率提高了116倍,在原始数据集上训练的速度提高了25.8倍,同时消除了MalConv的输入长度限制



二、MalConv模型


Malware Detection by Eating a Whole EXE(2018 AAAIW)


98884087bb2a33c9f4502bcf431ce802.png




  • 计算量和内存用量能够根据序列长度而高效地扩展
  • 我们能够通过使用门控卷积体系结构和可训练的输入字节的嵌入向量表示来最大化网络的可训练参数数量来实现了上面的第一个目标
  • 通过使用更大的步幅和更大的卷积滤波器大小来控制卷积层激活单元所占用的内存单元数量
  • 在检查整个文件的时候能同时考虑到本地和全局上下文
  • 在卷积层后面添加了全局最大池化层
  • 一种解释方法是,门控卷积层能够识别恶意软件的本地指标,对全连接层最大池化处理后,使得系统能够评估整个文件中这些指标的相对强度,从而找出重要的全局组合
  • 在分析标记为恶意软件的时候能够提供更好的解释能力
  • 挑战
  • 恶意软件中的字节包含的信息具有多态性。上下文中的任何特定字节既可以表示为人类可读的文本,也可以表示为二进制代码或任意对象(如图像等)。此外,其中的某些内容可能是经过加密处理的,这样的话,它们对神经网络来说基本上就是随机的
  • 二进制文件的内容表现出多种类型的空间相关性。函数中的代码指令在空间上具有内在的相关性,但这种相关性与函数调用和跳转命令之间存在不连续性。
  • 将每个字节作为一个序列中的一个单元,我们处理的是一个200万时间步长的序列分类问题。据我们所知,这远远超过了以往任何基于神经网络的序列分类器的输入长度。为判别性特征非常稀疏的输入序列的所有两百万个时间步建立一个唯一的标签就成为一个极具挑战性的机器学习问题
  • 可解释性
  • 类激活映射CAM
  • 希望自己的神经网络对分类的结果具有一定的可解释性,以节约分析师的精力和时间。本文的思想是受到[Zhou et al. 2016]论文中的类激活映射(CAM)技术的启发而获得灵感的。对于良性和恶意软件中的每一个类别,我们都会为卷积层中最活跃的应用位置上每个过滤器的相对贡献生成一个映射。Learning Deep Features for Discriminative Localization (CVPR 2016)

b98510f4a36ea17827f16e436ddeec24.png


积分梯度 Axiomatic Attribution for Deep Networks

Captum


三、Malconv-Adversarial 模型


  • Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables
  • https://github.com/yuxiaorun/MalConv-Adversarial
  • 第一篇攻击基于字节序列的白盒攻击算法
  • 在文件末尾增加字节来产生对抗样本
  • 2020 Machine Learning Security Evasion Competition [github]
  • 一个关于恶意软件对抗样本的比赛
  • SecML Malware plupin
  • Partial DOS Header manipulation, formulated by Demetrio et al.
  • Explaining Vulnerabilities of Deep Learning to Adversarial Malware Binaries
  • Padding attack, formulated by Kolosnjaji et al.
  • Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables
  • GAMMA, formulated by Demetrio et al.
  • Functionality-preserving Black-box Optimization of Adversarial Windows Malware
  • FGSM padding + slack formulated by Kreuk et al. and Suciu et al.
  • Deceiving End-to-End Deep Learning Malware Detectors using Adversarial Examples
  • Exploring Adversarial Examples in Malware Detection
  • Content shifting and DOS header extension formulated by Demetrio et al.
  • Adversarial EXEmples: A Survey and Experimental Evaluation of Practical Attacks on Machine Learning for Windows Malware Detection


四、针对对抗样本的防御方法


相关文章
|
3月前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能农业病虫害检测与防治
使用Python实现深度学习模型:智能农业病虫害检测与防治
256 65
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能质量检测与控制
使用Python实现深度学习模型:智能质量检测与控制 【10月更文挑战第8天】
175 62
使用Python实现深度学习模型:智能质量检测与控制
|
18天前
|
机器学习/深度学习 PyTorch TensorFlow
使用Python实现智能食品质量检测的深度学习模型
使用Python实现智能食品质量检测的深度学习模型
69 1
|
24天前
|
机器学习/深度学习 搜索推荐 安全
深度学习之社交网络中的社区检测
在社交网络分析中,社区检测是一项核心任务,旨在将网络中的节点(用户)划分为具有高内部连接密度且相对独立的子群。基于深度学习的社区检测方法,通过捕获复杂的网络结构信息和节点特征,在传统方法基础上实现了更准确、更具鲁棒性的社区划分。
44 7
|
1月前
|
机器学习/深度学习 运维 监控
深度学习之异常检测
基于深度学习的异常检测是一项重要的研究领域,主要用于识别数据中的异常样本或行为。异常检测广泛应用于多个领域,如网络安全、金融欺诈检测、工业设备预测性维护、医疗诊断等。
122 2
|
1月前
|
机器学习/深度学习 传感器 数据采集
深度学习之设备异常检测与预测性维护
基于深度学习的设备异常检测与预测性维护是一项利用深度学习技术分析设备运行数据,实时检测设备运行过程中的异常情况,并预测未来可能的故障,以便提前进行维护,防止意外停机和生产中断。
61 1
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
图像检测【YOLOv5】——深度学习
Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑上安装不同版本的软件包,并且可以在不同环境之间切换,是深度学习的必备平台。) 一.Anaconda安装配置. 1.首先进入官网:https://repo.anaconda.com,选择View All Installers. 2.打开看到的界面是Anaconda的所以安装包版本,Anaconda3就代表是Python3版本,后面跟的是发行日期,我选择了最近的2022
73 28
|
1月前
|
机器学习/深度学习 自然语言处理 监控
深度学习之声音事件检测
基于深度学习的声音事件检测(Sound Event Detection, SED)是指从音频数据中检测并识别出特定的声音事件(如玻璃破碎、狗叫声、警报声等)。这种技术被广泛应用于智能家居、城市监控、医疗监护等领域,随着深度学习的进步,其性能和准确性得到了显著提升。
62 0
|
2月前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
218 5
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
深度学习之地形分类与变化检测
基于深度学习的地形分类与变化检测是遥感领域的一个关键应用,利用深度学习技术从卫星、无人机等地球观测平台获取的遥感数据中自动分析地表特征,并识别地形的变化。这一技术被广泛应用于城市规划、环境监测、灾害预警、土地利用变化分析等领域。
97 0

热门文章

最新文章

下一篇
无影云桌面