【论文笔记】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 ...
随机推荐
- 使用C#的Flags特性
举个例子:我有如下的一个需求,当我想要取得用户信息的时候,会先从本地缓存中查找,找不到然后从分布式缓存中查找,最后找不到再从数据库中查询.但是有些场景我又不需要查询数据库. 所以我想建立如下这种模型. ...
- tsp问题-遍历算法/随机算法
旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路 ...
- Hibernate初探之单表映射——通过Hibernate API编写访问数据库的代码
编写一个Hibernate例子 第五步:通过Hibernate API编写访问数据库的代码 初始化方法要实现以下功能:
- SQL SERVER 查询第20行到30之间的数据
1.先查询前20行的ID,后查询除去20条记录的前10条记录 SELECT TOP * FROM tbBank WHERE BankID NOT IN(SELECT TOP BankID FROM t ...
- springboot mybatis 的SQL异常不输出错误到控制台问题排查
项目中使用springboot集成 mybatis,运行过程中查询SQL列在表中不存在,但系统不输出任何错误到控制台 但SQL是打印的,只是没有任何异常信息 将SQL复制出来到数据库中运行,才发现错误 ...
- file控件选择同一文件不触发change事件和img控件不改变src的情况下图片不刷新问题解决
最近跑来前端掺和了.. file控件的问题用 inputFile.value = ''; img控件的问题,在图片后面添加一串无意义的参数即可,例如: img.src = 'file:///' + 本 ...
- JQuery实践--插件
jQuery插件的概览http://docs.jquery.com/Pluginshttp://jquery.com/plugins/most_popular 官方的表单插件http://jquery ...
- Python 10--模块
可以在模块中,直接使用__file__,识别出该模块文件的路径. print __file__
- Laravel 5.8: Automatic Policy Resolution
Laravel 5.8: Automatic Policy Resolution March 26, 2019 One of the new features in Laravel 5.8 allow ...
- Gradle 如何打包 Spring Boot 如何不添加版本代码
在 Gradle 中如何在打包的 Jar 中不包含版本代码? 在 bootJar 中,使用下面的代码进行打包不包含版本代码. archiveFileName = "${archiveBase ...