【论文笔记】DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families
DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families
标签(空格分隔): 论文
论文基本信息
- 会议: IEEE(2018 International Joint Conference on Neural Networks 【IJCNN】A类会议)
- 单位:公司Deep Instinct Ltd(以色列的一家网络安全公司)
方法概述
- 数据:训练集7759 + 测试集2163=9922个恶意样本文件,测试集的采集时间均晚于训练集。共包含14个恶意家族,另外还有一组含160个勒索病毒的新恶意家族,以测试对未知样本的识别。
- 方法:
- 本文算法更关注于未知样本的发现,当检测为未知样本时提醒网络安全专员,网络安全专员对该样本进行深入的分析。
- 基于恶意家族静态和动态数据(沙箱数据),挑选2万个特征形成一个布尔型向量,输入至DNN进行训练,将训练好的DNN去掉最后的Softmax层作为Encoder。由于未知的类型未能激活pre-softmax层,所以其Encoder后的矩阵离原点较近,以此作为发现未知家族的理论基础。注:未知样本并为作为训练样本输入模型。
- 判断是否为未知样本的分类器是基于阈值的分类器,使用的是样本Encode后距离原点的欧几里得距离,阈值基于训练样本的平均值和标准差得出。
- 作者还训练了一个pre-softmax节点数为2的DNN模型,将2维的编码图像呈现后,未知样本的确离原点较近。
- 作者在测试未知样本时,选用了最近知名的勒索病毒。

- 效果:未知、已知类型检测准确率为 97.7%
个人总结
本论文值得学习的点
- 未作为训练集输入的样本类型,对于激活pre-softmax层能力较弱,故其pre-softmax层输出矩阵已知类型较近。这个认知,厉害!
- 提供了一种发现未知类型的思路
不足之处
- 判定未知类型的Classifer有待优化
写在最后
本文是一家以色列网络安全公司,创始人Guy Caspi曾服务于IDF(以色列国防军)精英技术部门。
这里两个关键词:以色列公司、以色列国防军。
网络安全对于我们来说是一门技术,但是对于以色列而言网络安全是生存!以色列由于其独有的安全形势,国家对网络安全极其重视。
另外,从其网军退役的技术精英,创办或加入了以色列的网络安全公司,支撑了本土网络安全公司的发展。在以色列,许多网络安全公司都有军方背景。
在网络安全方面,以色列在关注算法的同时更关注于实战效果。所以在本文的两个特点非常耐人寻味:
- 本文更关注对于未知类型的检测,而不是对已知类型的分类。这像是在与0day漏洞做对抗,为尽快发现0day恶意程序多提供一种技术手段,缩短未知威胁发现时间,减少损失。
- 本文并没有在套用各种天花乱坠的算法,就使用了很朴素的DNN加阈值进行判定,但却在一定程度上为解决未知发现的难题提供了行之有效、可落地实施的技术手段。
【论文笔记】DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families的更多相关文章
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- 论文笔记:A Review on Deep Learning Techniques Applied to Semantic Segmentation
A Review on Deep Learning Techniques Applied to Semantic Segmentation 2018-02-22 10:38:12 1. Intr ...
- 学习笔记之深度学习(Deep Learning)
深度学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 深度学习(deep lea ...
- 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network
Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...
- 论文阅读 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
14 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS link:https://scholar.google.com.hk/sc ...
- 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation
在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...
- 【论文笔记】多任务学习(Multi-Task Learning)
1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...
- 论文笔记:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
ICML, 2015 S. Ioffe and C. Szegedy 解决什么问题(What) 分布不一致导致训练慢:每一层的分布会受到前层的影响,当前层分布发生变化时,后层网络需要去适应这个分布,训 ...
- 论文笔记 — MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
论文:https://github.com/ei1994/my_reference_library/tree/master/papers 本文的贡献点如下: 1. 提出了一个新的利用深度网络架构基于p ...
随机推荐
- 浅谈linux用户与用户组的概念
原文链接;http://linuxme.blog.51cto.com/1850814/347086 作者:linuxme1.用户 用户是能够获取系统资源的权限的集合. .linux用户组的分类: a. ...
- Node.js Websocket 区分不同的用户
实现ws://serverIP:port/:param1/:param2 .通过param1,param2来管理不同的ws回话,以便实现群发和指定用户的消息推送 npm install ws --sa ...
- 开发中少不了的Fun -- 前端本地存储
存储sessionStorage function setSessionStore (name, content) { if (!name) return if (typeof content !== ...
- unity 拿到管线权限的解决方案
自己建个cmd 传给postprocess layer camera event可以加在这个cmd上控制位置 base pass post process ui都共享这段cmd 在一开始记下back ...
- Python中的基本类型简介
1.变量 变量不仅可以是数字,还可以是任意数据类型 命名规范:变量是用一个变量名表示,变量名必须是大小写英文.数字和下划线_的组合,且不能用数字开头 python中等号“=”是赋值语句,可以把任意数据 ...
- express框架初步
express框架初步使用 var exp = require('express'); var ejs = require('ejs'); var app = new exp(); app.set(& ...
- python3.6 创建字典三法
这里献丑给出 python 3.6 创建字典变量的三法 其一:阳春白雪法:直接声明 mydic = {"name":"徐晓冬","age" ...
- Java8-Lock-No.03
import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutorService; import ...
- Django基础之ModelForm
1. form与model的终极结合 class BookForm(forms.ModelForm): class Meta: model = models.Book fields = "_ ...
- git修改下载地址
git查看远程地址git remote -v修改git remote set-url origin [url]