【论文笔记】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 ...
随机推荐
- 12.自定义v-过渡动画前缀
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- lvs+keepalived+application部署(只使用两台机器)
目前大家用LVS+Keepalived + APP 架构都是 2台LVS +Keepalived 然后后端跟着 应用设备 然而针对小客户来说, 2台LVS平常没什么压力 还有一台备着(虽然可以跑双主 ...
- Vue 循环 [Vue warn]: Avoid using non-primitive value as key
页面中不添加 :key 索引的时候,会不停的提示虚线,但不影响使用 后来加了一个索引,加成了:key= "content" 从后台取出来的contents是一个list,里面有多 ...
- socket 编程的一些应用例子
1.#传输文件的例子 import socketfrom socket import *import osimport requests import time,socketserver,struct ...
- Reservoir Sampling 蓄水池采样算法
https://blog.csdn.net/huagong_adu/article/details/7619665 https://www.jianshu.com/p/63f6cf19923d htt ...
- 关于一个socket在阻塞模式下是否还可以使用的实验
想到一个socket在多线程模式下,是否可以同时使用的问题,比如socket A阻塞在recv,而别的线程用socket A send是否能成功,下面上实验代码 void thread_socket( ...
- Hibernate初探之单表映射——使用Junit进行测试
编写一个Hibernate例子 第四步:使用Junit进行测试 三个常用的注解标签 @Test:测试方法 @Before:初始化方法 @After:释放资源 执行顺序:Before注解标签下的方法 ...
- Java集合--TreeMap
转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeM ...
- How to find First Non-Repeated Character from String
You need to write a function, which will accept a String and return first non-repeated character, fo ...
- [Algorithm] Tree Width with Level Width
// --- Directions // Given the root node of a tree, return // an array where each element is the wid ...