【论文笔记】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 ...
随机推荐
- 关于zsh在使用scp时报错zsh: no matches found: scp
root@banxia:scp root@172.16.13.150:/123/* . zsh: no matches found: root@172.16.13.150:/123/* root@ba ...
- jade继承
代码的复用是jade非常突出的一个设计目标,jade不仅仅通过mixin来复用代码,他在文件的组织能力上也非常突出,说白了,就是继承和包涵 block定义的方式和调用的方式 block desc ...
- ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...
- 【翻译】PATH究竟是什么?
最近,我试图向一个朋友解释他电脑上PATH变量是用来做什么的.我在我们所交流的平台‘the Slack group"写了一篇比较长的消息之后,我意识到这个主题可以写成一个很好的博客,所以开始 ...
- SSH自动断开处理
解决ssh登录后闲置时间过长而断开连接 时我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,总结一下解决此问题的方法 方法一. 修改/etc ...
- 001-官网安装openstack之-安装前基础环境准备
0.安装常用软件包(根据个人习惯安装需要的软件包) [root@localhost ~]# yum -y install wget vim ntp net-tools tree openssh 1.配 ...
- [2019牛客多校第三场][G. Removing Stones]
题目链接:https://ac.nowcoder.com/acm/contest/883/G 题目大意:有\(n\)堆石头,每堆有\(a_i\)个,每次可以选其中两堆非零的石堆,各取走一个石子,当所有 ...
- BZOJ 2145: 悄悄话 (打表)
BZOJ 2145 题解 直接代词,所有格,常用副词,助动词,冠词,常用词打表 比较出现次数的多少来决定循环位移了几位. CODE #include <bits/stdc++.h> usi ...
- [Javascript] Convert a forEach method to generator
For example we have a 'forEach' method which can loop though a linked list: forEach(fn) { let node = ...
- Node.js 调试小技巧
小技巧--使用 supervisor如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一 ...