文章发表于2018
摘要
-
本文从分类算法、特征提取和学习效果等方面分析了深度学习在网络安全领域的研究现状和进展,目前深度学习主要应用于恶意软件检测和入侵检测两个领域
-
目前应用领域存在的问题:
- 特征选择:
- 需要从原始数据中提取更全面的特征
- 自适应:
- 可通过
early-exit
策略对模型进行实时更新
- 可通过
- 可解释性:
- 可使用影响函数得到特征与分类结果之间的相关性
- 特征选择:
-
归纳总结了深度学习应用于网络安全领域面临的问题和机遇
- 算法脆弱性:
- 深度学习模型容易受到对抗攻击和隐私窃取攻击
- 对抗样本的危险
- 机密性差
- 基于多方协作的深度学习模型,其数据来自于多个提供方,其模型容易被恶意的一方来还原其他数据源的数据
- 深度学习模型容易受到对抗攻击和隐私窃取攻击
- 序列化模型相关问题:
- 网络安全领域的数据大多都是序列数据,如何对数据建模是很大的问题
- 程序语法分析、程序代码生成和序列建模长期依赖问题
- 算法性能问题:
- 可解释性和可追溯性问题、自适应性和自学习性问题、存在误报以及数据集不均衡的问题
- 算法脆弱性:
分类算法
- 深度神经网络
DNN
- 卷积神经网络
CNN
- 循环神经网络
RNN
- 深度信念网络
DBN
- 自编码器
AE
深度学习在安全领域的应用
- 恶意软件检测
- 研究广泛
- 入侵检测
- 研究广泛
- 程序分析与漏洞挖掘
- 局限性比较大,进展缓慢
- 密码破解
- 有一定的进展
- 恶意软件检测系统的对抗攻击与防御
- 对抗样本,研究比较多
深度学习在网络安全领域应用面临的问题
- 特征选择问题
- 目前基于恶意软件检测和入侵检测领域均是使用现有数据集,这些数据集的默认特征(入侵检测领域KDD中默认的41个特征,恶意软件检测领域默认的API调用序列)可能不足以完全概括数据的特点
- 从最原始的数据入手,重新对特征进行建模可能是一个切入点
- 特征学习问题
- 网络安全领域的数据大多都是序列化数据
- 现有阶段很少有人关注到特征的可解释性问题
- 仅仅借鉴于图像领域的影响函数
- 未来对于模型特征的可解释性研究可能是一个切入点
- 自适应问题
- 深度学习模型训练和测试时间长
- 在网络安全领域,技术迭代很快,模型应当要及时更新
- 如入侵检测,恶意软件检测领域,攻击者的攻击技术可能会逐步提升,这就使得早期训练模型无效
- 保证比较高的准确率和误报率的前提下,如何高效训练和测试深度学习模型是一个研究难点
13-17进展调研
深度学习本身面临的问题
-
深度学习模型易受对抗攻击
- 设计对抗攻击框架,可以采用不同方法生成对抗样本检验目标模型鲁棒性以此来设计更好防御措施保护模型
-
模型的可解释性和可朔源性
- 研究表明模型的准确度与模型的可解释性和可朔源性成反比
- 在尽可能保证高准确率前提下,提高模型的可解释性和可朔源性
- 是人类能从机器学习决策中学到知识,是一个研究难点
- 目前研究
- 对样本在局部特征空间进行细微扰动,根据每次扰动之后的预测结果来得出特征与预测类别之间的关系
- 使用稳健统计学(robust statistics)中 的 影 响 函 数,来 得 出训练集中对测试样本的预测类别影响最大的样本
- 研究表明模型的准确度与模型的可解释性和可朔源性成反比
-
于所有协作性深度学习模型,即协作性模型易受隐私窃取攻击、机密性差,目标模型的训练集或者架构参数等会被攻击者恶意获取
-
神经网络优化中的全局最小值点问题
- 在训练神经网络的过程中,由于损失函数往往非凸(nonconvex),容易使算法陷入局部最小值点,很难找到一个全局最小值点,使得损失函数值最低
-
初始化策略
- 网络初始化权重的选取
-
生成型深度学习模型
- 记忆网络包含一个可以实现超长序列的记忆模块,其记忆能力优于 RNN
-
生成对抗网络(GAN)的训练难点问题
对抗样本
利用的机器学习缺陷:
- 模型通过有限训练集训练得到,具有未完全泛化的特性
- 机器学习模型组件的线性特性
对抗知识:
-
模型架构(目标模型的参数、损失函数和激活函数)
-
训练数据
-
模型架构(目标模型对攻击者具有可得性,攻击者可对目标模型进行输入并得到相应输出)
传属性
- 即 使2个 分 类 器 具 有 不 同 的 体 系结构或者是在不相交的数据集上进行训练的,用其中一个分类器产生的对抗样本也可能导致另一个分类器也对该样本进行错误分类
隐私窃取与隐私窃取防御
窃取:
- 模型反演攻击
- 污染攻击
- 利用GAN的信息窃取
展望:
- 防御对抗攻击
- 对抗训练
- 搜索到全部可能的虚拟对抗样本来扩充训练集,是对抗训练的难点
- 对抗训练
- 防御针对协作性模型的攻击
- 隐私窃取
- 特征学习
- 数据规模
- 有效特征学习
- 序列化建模
- 可解释性
- 模型输出结果与各个特征之间的关联
- 分类结果的支撑性依据