【恶软检测】【防】Deep neural network based malware detection using two dimensional binary program features

2023-05-16

使用二维二进制程序特征的基于深度神经网络的恶意软件检测

作者是Saxe J,Berlin K
2015 年发表在10th International Conference on Malicious and Unwanted Software, MALWARE 2015

主要内容:

恶意软件对公司、政府机构和个人来说仍然是一个严重的问题,机器学习有希望自动化检测新发现的恶意软件族,并可能学习关于恶意软件和良性软件的一般化,以支持检测全新的、未知的恶意软件族。

本文对基于深度神经网络的恶意软件检测系统进行了详细的描述。具体地说,我们的系统实现了95%的检出率和0.1%的假阳性率(FPR),基于直接来自客户和内部恶意软件数据库的超过400,000个软件二进制文件。(我们通过直接学习所有二进制文件来实现这些结果,而不需要任何过滤、解压缩或手动将二进制文件分类)

设计实现

在这里插入图片描述

特征提取(feature extraction)(input vector)

从静态良性和恶意二进制文件中提取四种不同类型的互补特征

1.字节/熵直方图

对文件的字节分布进行建模。在输入的二进制文件上,滑动一个1024字节的窗口,步长为256字节。
计算每个1024字节窗口的熵,
对窗口的每个字节,存储一个元组(byte,entropy)(1024对)
在这里插入图片描述
在这里插入图片描述
熵轴,[0,8]范围内有16个大小均匀的存储单元
字节轴,[0,255]范围内有16个大小均匀的存储单元
为了得到特征向量,将矩阵每个行向量连接成一个256维的向量
在这里插入图片描述

2.PE import feature

特征2来自于输入二进制文件的导入地址表(import address table)
1.将一个256个整数的数组初始化为0
2.从二进制程序中提取导入地址表
3.将DLL名称,导入函数(import function)的每个元组散列到【0,255】范围内
4.给特征数组增加计数器

3.PE(可移植可执行文件) metadata feature

来自:从目标二进制文件的可移植可执行文件包中提取的数值字段
使用python “perfile”解析库从二进制文件中提取数值可移植可执行字段。每个字段都有一个文本名称,与import table相似,聚合为256个长度的数组。

?4.String feature

文中没有详细的描述

特征的汇总

将上述4个256为数组聚合为一个1024为特征向量

深度神经网络

深度神经网络分类器,四层。一输入层,两隐藏层,一输出层。
在这里插入图片描述

分数校准器 (NN输出值的转化)

神经网络的输出层输出S[0,1](分类器给出的分数)
0:100%好软件 ;1:100%恶意软件
现在将神经网络的输出S转换为一个分数,该分数为文件是恶意软件的近似概率,评分s,类别C={m,b},即 求P(C=m|S=s)
在这里插入图片描述
现在需要获得p(s|m)和p(s|b),这里用非参数法(如:kernel density estimator 取邻域的加权平均值来近似给定C(类别)的pdf值)。本文用KDE和Epanechnikov kernel获得pdf(概率密度函数)

实验评估

在这里插入图片描述
1.看图ABCDE得出结论:将所有的特征结合使用产生了最好的结果,平均95.2%的训练中未发现的恶意二进制文件以0.1%的假阳性率被检测出来,roc(AUC)下的面积为0.99964。
2.实验F是拿2014年8月前的软件训练神经网络,拿2014年8月之后的软件进行测试,由图可知分类效果较差。
看图AF得出结论:我们的系统在此测试F中的性能明显较差。分类器应经常使用新数据进行更新,以保持分类的准确性。 然而,对于神经网络分类器而言,这可以快速且廉价地完成。

结论评价

本文贡献:
1.特征提取方法:深度神经网络的分层方法以及我们的二维直方图特征提供了二进制类型的隐式分类,使我们能够直接训练所有二进制文件,而无需基于内部特征(如打包程序类型等)将它们分开。
我们已经表明,我们的方法需要适度的计算才能执行特征提取,并且可以在适度的时间范围内在单个GPU上的语料库上实现良好的准确性。
2.基于贝叶斯模型的分数校准

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【恶软检测】【防】Deep neural network based malware detection using two dimensional binary program features 的相关文章

  • ansible防火墙firewalld设置

    ansible防火墙firewalld设置 背景需求操作防火墙的开关打开验证 防火墙端口策略打开验证 防火墙服务策略打开验证 背景 防火墙 通过有机结合各类用于安全管理与筛选的软件和硬件设备 xff0c 帮助计算机网络于其内 外网之间构建一

随机推荐

  • linux离线安装软件

    linux离线安装软件 1 背景2 目的3 思路3 1 思路一3 1 1 操作步骤3 1 2 应用场景 xff1a 3 2 思路二3 2 1 操作步骤准备目录下载依赖 3 2 2 应用场景 3 3 思路三3 3 1 下载iso3 3 2 挂
  • 陌生环境下部署的思路

    陌生环境下部署的思路 由来场景一场景二场景三 整体的随想经验 由来 本篇的由来不是来自偶然 xff0c 但是如果说是必然又会显得很唐突 在现场实施部署工作中 xff0c 难免会遇到各种个样 突发 的情况 xff0c 原因不外乎信息的不对称
  • Ubuntu卸载WPS安装Libreoffice

    Ubuntu卸载WPS安装Libreoffice 背景环境卸载WPS安装Libreoffice下载安装卸载 背景 自从2021年10月份安装elementory操作系统以来 xff0c 办公软件一直在使用WPS xff0c 使用上跟wind
  • 我的创作纪念日

    我的创作纪念日 机缘收获日常憧憬 机缘 跟CSDN相识是在十多年前了 xff0c 当时是在上面找资料 xff0c 注册账号是为了下载上面的资源 至于写东西是从2021年开始的 xff0c 与其说是写不如说是记录 xff0c 记录下来工作中用
  • linux 单机部署rabbitmq

    linux 单机部署rabbitmq 背景环境部署下载端口开具erlang安装RabbitMQ安装 背景 rabbitmq 是指在应用间传送的数据 消息可以非常简单 xff0c 比如只包含文本字符串 xff0c 也可以更复杂 xff0c 可
  • linux 服务器时钟同步设置

    linux 服务器时钟同步设置 1 背景2 简介3 环境4 安装及配置5 配置使用5 1 服务端配置5 1 1 修改配置5 1 2 开启同步5 1 3 防火墙策略配置 5 2 客户端配置5 2 1 修改配置5 2 2 开启同步 5 3 ch
  • 电脑安装双系统-linux系统上安装windows系统

    电脑安装双系统 1 背景2 环境3 思路4 操作步骤4 1 安装gparted4 2 设置windows安装驱动器4 3 安装windows10操作系统4 4 设置开机引导 1 背景 电脑安装的elementary OS 5 1 7 基本能
  • MacOS配置iterm2漂亮实用的主题

    效果预览 注意事项 需要oh my zsh请自行安装 安装该主题需要的字体文件 cd git clone https github com powerline fonts git depth 61 1 cd fonts install sh
  • 使用python 将excel中数据批量生成word周报

    使用python 将excel中数据调用word模板批量生成word周报 背景环境功能需求程序实现 背景 日常项目中每周需要召开项目周会 xff0c 会议纪要和会议周报是必不可少的一项内容 xff0c 会议纪要要求监理方会后发送给参会方成员
  • 自动化运维-批量安装Linux操作系统

    自动化运维 批量安装Linux操作系统 1 背景2 Cobbler基础2 1 Cobbler介绍2 2 Cobbler服务 3 系统环境3 1 系统环境3 2 网络环境3 2 1 实体机网络设置3 2 2 虚拟机网络设置3 2 2 1 VM
  • linux操作系统中业务程序及服务的开机启动

    linux操作系统中业务程序及服务的开机启动设置 1 背景2 目标3 启动类型3 1 服务启动systemctl3 2 服务启动chkconfig3 2 1 查看服务3 2 2 系统自带服务的设置3 2 3 添加服务设置 3 3 开机启动脚
  • Thinkpad X201i笔记本电脑开机Fan Error

    Thinkpad X201i笔记本电脑开机Fan Error 1 背景2 现象3 更换风扇3 1 准备工具3 2 开始拆机 1 背景 家里的老笔记本电脑 xff0c thinkpad X201i笔记本电脑 xff0c 一直在使用 xff0c
  • Linux操作系统安装MySQL(rpm安装)

    Linux操作系统安装MySQL xff08 rpm安装 xff09 1 背景2 环境说明3 准备工作3 1 端口查看3 2 检查安装3 3 创建MySQL用户和组 4 MySQL安装4 1 下载MySQL4 2 解压安装包4 3 安装My
  • MySQL配置数据库审计

    MySQL配置数据库审计 1 背景2 环境3 准备工作4 安装审计4 1 解压审计包4 2 查看数据库插件目录4 3 安装数据库审计插件4 3 1 复制到插件目录4 3 2 修改插件权限4 3 3 设置审计参数4 3 4 修改数据库审计配置
  • [漏洞修复]Docker runc容器逃逸漏洞(CVE-2021-30465)

    漏洞修复 Docker runc容器逃逸漏洞CVE 2021 30465 1 背景2 漏洞描述3 影响版本4 安全版本5 修复建议6 升级影响7 修复步骤 1 背景 2021年5月31日 xff0c 阿里云应急响应中心监测到国外安全研究人员
  • linux系统挂载硬盘

    linux系统挂载硬盘 1 背景2 环境3 准备工作4 挂载分区4 1 查看分区信息4 2 创建分区4 3 设置分区格式4 4 创建挂载目录4 5 挂载分区4 6 设置开机自动挂载4 7 验证是否挂载成功 1 背景 日常使用过程中随着系统业
  • ACFLY接口定义

    E的接口在原理图中可以找到 xff0c 看上去像是I2C的接口 xff0c 其实是SPI xff0c 因为ACFLY采购的屏它就是这么标接口的 不过我想把这个SPI接口让给LORA无线通信模块 xff0c 拓展一下无线功能 ACFLY板子是
  • FreeRTOS之Stream Buffers(流缓冲区)

    ACFly用到了Steam Buffers xff0c 特地调了3个最常见的API查了一下 xff0c 其他的API都和这些差不多 Steam Buffers 是最近几版本Freertos出现的数据结构 xStreamBufferCreat
  • python3使用自带venv创建虚拟环境及vscode配置

    使用自带venv创建虚拟环境 python3 3后支持 mkdir env python3 m venv env 或 mkdir env cd env python3 m venv 使用virtualenv创建虚拟环境 pip instal
  • 【恶软检测】【防】Deep neural network based malware detection using two dimensional binary program features

    使用二维二进制程序特征的基于深度神经网络的恶意软件检测 作者是Saxe J xff0c Berlin K 2015 年发表在10th International Conference on Malicious and Unwanted So