课程:《密码与安全新技术专题》
班级: 1892
姓名: 张鸿羽
学号:20189217
上课教师:金鑫
上课日期:2019年3月26日
必修/选修: 选修
一.本次讲座的学习总结
1.1 技术背景
<code_s>AI+Security=AISec</code_s>
-
用AI和ML解决安全问题(让安全更智能):
计算机取证、垃圾邮件检测、身份验证、网络钓鱼检测与预防、僵尸网络监测、入侵检测和响应、异常行为检测、恶意软件标识、数据匿名/反匿名、社会网络安全、大数据安全分析等。 -
用安全性解决A问题(让AI更安全):
分布式安全推理与决策、安全的多方计算和加密方法、隐私保护数据挖掘、差异隐私、验证码的设计与分析、人工智能信任和声誉方法、通过智能探测进行漏洞测试、生成训练和测试集的技术和方法等。
1.2 密码分析与机器学习
密码分析与机器学习之间有天然的相似性:
x -> F(x) -> y
对于机器学习:
x为输入样本,F(x)为机器学习的模型(可以理解为一个函数),y为输出,如果是分类,则y是分类标签,如果是回归,则y是真实值向量。
对于密码分析:
x为输入的明文,F(x)为密钥(可以理解为一个函数),y为加密后得到的密文。
从研究趋势来看,越来越多的密码分析方法开始使用机器学习结束,例如破解DES的遗传算法、用于侧信道分析的支持向量机算法等。
1.3 深度学习简介与现状
人工智能(AI)/机器学习(ML)/深度学习(DL)
人工智能分为很多分支,机器学习只是人工智能的其中一个分支,而深度学习是机器学习的一个分支。这三者之间是包含关系。
深度学习简介
近几年,深度学习技术掀起了人工智能研究与应用的新一轮浪潮,深度学习技术在多个方面取得了较大突破,其在人工智能系统中所占的比例日趋增大,已经应用于多项实际场景业务系统中。深度学习技术涌现出大量性能优秀的深度神经网络(DNN),例如卷积神经网络(CNN)、循环神经网络(RNN)、生成对抗网络(GAN)等,在大树分析、图像识别、机器翻译、视频监控中取得了较大进步。
深度学习发展历程
-
1986年,David Everett Rumelhart教授、Geoffrey Everest Hinton教授和Ronald J. Williams教授在《自然》杂志上发表的Learning Representations by Back-propagating errors文章中首次提出了<code_s>反向传播</code_s>的算法(back propagation),此算法大幅度降低了训练神经网络所需要的时间,使得深度学习迎来了发展高峰期。直至今天,反向传播算法仍然是训练神经网络的主要方法。
但由于此时计算资源有限、训练困难、训练集规模小、训练效果不好等问题,深度学习的研究陷入了瓶颈。 -
2006年,Geoffrey Everest Hinton教授提出了深度信念网络 (Deep Belief Network, DBN) 。无监督和分层预训练的提出、更好的模型设计(归一化、非线性、随机失活层)、计算机计算能力的提高(GPU、多核计算机)、大数据的诞生等使得深度学习掀起了新高潮。
机器学习的数据集小,易出现过拟合、 模型复杂度低;
机器学习的数据集大,易出现欠拟合、模型复杂度高、需要的计算资源多。传统视觉感知处理需要经验知识手工设置视觉特征提取算法、缺少与环境的信息交互以及知识库的决策支持;
深度学习不再区分特征提取和模式分类,通过深度神经网络非线性模拟从pixel到label的映射关系,适用于解决“大数据”时代复杂多变的视觉感知任务--“以不变应万变”。 -
2012年,ImageNet剧版的图像分类竞赛ILSVRC中,由Alex Krizhevsky教授实现的深度学习系统AlexNet赢得了冠军。自此之后深度学习作为深层神经网络的代名词被大家所熟知。深度学习的发展也开启了一个AI的新时代。
深度学习应用
深度学习最早兴起于图像识别,但是在短短几年的时间内,深度学习推广到了机器学习的各个领域。如今,深度学习在很多机器学习领域都有非常出色的表现,在图像识别、语音识别、音频处理、图像美感自动评价、视觉问答、人脸分割、姿势识别、自然语言处理、机器人、生物信息处理、化学、电脑游戏、搜索引擎、医学自动诊断和金融等各大领域均有应用。
1.4 深度学习与密码分析
1、神经网络的侧信道攻击
以下是两篇关于基于卷积神经网络的侧信道攻击的论文,是深度学习与密码分析的一个结合点。
On the Perfomance of Deep Learning for Side-channel Analysis
Study of Deep Learning Techniques for Side-Channel Analysis and Introduction to ASCAD Database
根据论文的实验结果,我们可以得知,深度学习得到的侧信道攻击效果> 机器学习方法 > 模板攻击方法。
2、基于循环神经网络的明文破译
Learning the Enigma with Recurrent Neural Networks
本论文证明RNN可以学习三个多字母密码(vigen_re、autokey和enigma)的解密算法——从明文到密文的映射。并且证明了论文中的模型可以通过对vigen_re和autokey密码运行已知的明文攻击来执行基本密码分析。研究结果表明,RNN可以学习黑盒多碱基密码的算法表示,这些表示对于密码分析是有用的。
3、基于生成对抗网络的口令破译
4、基于深度神经网络的密码基元识别
1.5 深度学习与密码设计
目前密码算法的设计还停留在人工设计阶段,较为耗时耗力,难以适应未来对密码算法设计的需求,能不能让机器自动设计密码算法?
生成对抗网络(Generative Adversarial Network, GAN)
生成式对抗网络(GAN, Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
密码组件经过生成对抗网络中的算法生成器,得到设计出来的密码算法,同时密码破解器将对此密码算法进行破解,算法生成器和密码破解器就这样在相互博弈中学习产生出好的算法和好的破解方法。
二.学习中遇到的问题及解决
问题1:
为什么卷积神经网络比全连接网络更适合做图像识别等任务?
问题1解决方案:
对于全连接神经网络:
- 参数数量太多
- 没有利用像素之间的位置信息
- 网络层数有限制
而卷积神经网络有以下几个优点:
- 局部连接
每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数。 - 权值共享
一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。 - 下采样
Pooling层利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量同时保留有用信息。通过去掉Feature Map中不重要的样本,进一步减少参数数量。
因此,卷积神经网络比全连接网络更适合做图像识别等任务。
问题2:
卷积神经网络的复杂度(时间复杂度&空间复杂度)是怎样定义和计算的?
问题2解决方案:
查找了相关的博客得出结论:
对于单个卷积层的时间复杂度:
- M:每个卷积核输出特征图的边长
- K:每个卷积核的边长
- Cin:每个卷积核的通道数,也即输入通道数,也即上一层的输出通道数
- Cout:本卷积层具有的卷积核个数,也即输出通道数。
对于卷积神经网络整体的时间复杂度:
- D:神经网络所具有的卷积层数,也即网络的深度
- l:神经网络第l个卷积层
- Cl:神经网络第l个卷积层的输出通道数Cout,也即该层的卷积核个数。
对于空间复杂度:
空间复杂度包括模型的参数数量(模型本身的体积)和每层输出的特征图大小(会影响模型运行时的内存占用情况)。
网络的参数量只与卷积核的尺寸K、通道数C、网络的深度D相关,而与输入数据的大小无关。
三.本次讲座的学习感悟和思考
之前虽然也接触过机器学习和深度学习,也做过手写体数字识别等实验,但是对其知识体系并没有系统性的了解过,这节课帮助我梳理清了AI、ML、DL这三者的包含关系,使我了解到,人工智能除了机器学习之外还有很多分支,机器学习除了深度学习外也有很多可研究的方面。另外,之前我对深度学习应用的了解只局限于图像分类、图像识别、目标检测等,这次讲座使我认识到深度学习的应用还有许多许多,如语音识别、音频处理、人脸分割、姿势识别、医学自动诊断等。本次讲座使我对人工智能、机器学习和深度学习增加了系统性的认知,也拓宽了我对这个领域应用的了解。
四.最新研究现状
在浏览了安全四大顶会2018年收录的论文集目录后,我发现机器学习、深度学习方面的研究在其中占了非常大的篇幅,并且都为之设立了专题,可见机器学习和深度学习的研究的确渗透进了计算机的各个研究领域。我选择了其中5篇基于深度学习的安全性研究实验论文,以及另外2篇我认为比较有意思的论文进行具体研究。
论文1
LEMNA-Explaining Deep Learning based Security Applications
LEMNA:解释基于深度学习的安全应用程序
- 期刊/会议名称:CCS2018
- 作者信息:Wenbo Guo, Dongliang Mu, Jun Xu, Purui Su, Gang Wang, Xinyu Xing
<code_s>P.S.这篇是CCS2018最佳论文。</code_s>
研究进展
这篇论文的主题是安全领域中机器学习模型的解释性,使用的是黑盒攻击的方法。虽然深度学习在各个领域显示出巨大的潜力,但缺乏透明度限制了其在安全或安全关键领域的应用。现有的研究试图开发解释技术,为每个分类决策提供可解释的解释。不幸的是,当前的方法针对非安全任务(如图像分析)进行了优化。它们的关键假设在安全应用程序中经常被违反,导致解释的保真度较差。本文提出了一种用于安全应用的高保真解释方法Lemna。给定一个输入数据样本,lemna生成一组可解释的特征来解释如何对输入样本进行分类。核心思想是用一个简单的可解释模型来近似复杂的深层学习决策边界的局部区域。本地可解释模型专门设计用于(1)处理特征依赖性,以便更好地处理安全应用程序(如二进制代码分析);(2)处理非线性局部边界,以提高解释保真度。本文使用两个流行的安全深度学习应用程序(恶意软件分类器和二进制逆向工程的函数启动检测器)评估系统。广泛的评价表明,与现有方法相比,Lemna的解释具有更高的保真度。此外,本文还演示了lemna的实际用例,以帮助机器学习开发人员验证模型行为,排除分类错误,并自动修补目标模型的错误。
论文2
VulDeePecker: A Deep Learning-Based System for Vulnerability Detection
VulDeePecker:基于深度学习的漏洞检测系统
- 期刊/会议名称:NDSS2018
- 作者信息:Zhen Li, Deqing Zou, Shouhuai Xu, Xinyu Ou, Hai Jin, Sujuan Wang, Zhijun Deng, Yuyi Zhong
研究进展
软件漏洞的自动检测是一个重要的研究课题。然而,这个问题的现有解决方案依赖于人类专家来定义特性,并且常常漏掉许多漏洞。本文首先对基于深度学习的脆弱性检测技术进行了研究,以减轻专家手工定义特征的繁琐和主观任务。由于深度学习的目的是解决与脆弱性检测非常不同的问题,因此我们需要一些指导原则来将深度学习应用于脆弱性检测。特别是,我们需要找到适合深入学习的软件程序的表示。为此,我们建议使用代码小工具来表示程序,然后将它们转换为向量,其中代码小工具是一些(不一定是连续的)语义相关的代码行。这导致了一个基于深度学习的漏洞检测系统的设计和实现,称为漏洞深度啄木鸟(Vuldeepecker)。为了评估Vuldeepicker,本文提出了第一个深度学习方法的脆弱性数据集。实验结果表明,与其他方法相比,啄木鸟能获得更少的假阴性(有合理的假阳性)。本文进一步将Vuldeepicker应用于3个软件产品(即Xen、SeaMonkey和Libav),并检测到4个漏洞,这些漏洞未在国家漏洞数据库中报告,但在发布这些产品的后续版本时被供应商“悄悄”修补。而本文试验过的其他漏洞检测系统几乎完全忽略了这些漏洞。
论文3
Tiresias: Predicting Security Events Through Deep Learning
Tiresias:通过深度学习预测安全事件
- 期刊/会议名称:CCS2018
- 作者信息:Yun Shen (Symantec), Enrico Mariconti (University College London), Pierre-Antoine Vervier (Symantec), Gianluca Stringhini (University College London)
研究进展
随着现代计算机攻击的复杂性不断增加,防御者不仅需要在发生时检测恶意活动,还需要预测对手在执行攻击时将采取的具体步骤。然而,这仍然是一个开放性的研究问题,以前预测恶意事件的研究仅着眼于二进制结果(例如,攻击是否会发生),而不是攻击者将采取的特定步骤。为了填补这一空白,本文提出了TiresiasXspace系统,该系统利用重复神经网络(RNN)来预测机器上的未来事件,基于先前的观察结果。本文在从商业入侵预防系统收集的34亿安全事件的数据集上测试Tiresias XSpace,并表明我们的方法在预测下一个将在精度高达0.93的机器上发生的事件方面是有效的。本文还表明,TiresiasXSpace学习的模型随着时间的推移是相当稳定的,并且提供了一种机制,可以识别精度的突然下降并触发系统的再培训。最后,本文证明了RNN的长期内存是进行事件预测的关键,使得简单的方法不能满足任务的要求。
论文4
DeepCorr: Strong Flow Correlation Attacks on Tor Using Deep Learning
DeepCorr:使用深度学习对Tor进行强流关联攻击
- 期刊/会议名称:CCS2018
- 作者信息:Milad Nasr, Alireza Bahramali, Amir Houmansadr
研究进展
流量相关是对ToR进行大量非符号化攻击的核心技术。尽管流量相关攻击对ToR很重要,但当大规模应用时,现有的流量相关技术在连接ToR流量时被认为是无效和不可靠的,即它们会产生高的假正误差率,或者需要不切实际的长时间流量观测来进行可靠的相关。本文发现,不幸的是,通过利用新兴的学习机制,流量相关攻击可以对比以前更精确的Tor流量进行攻击。本文特别设计了一个名为Deepcorr的系统,该系统在关联Tor连接方面的显著优势超过了最先进的系统。Deepcorr利用先进的深度学习体系结构来学习针对Tor复杂网络定制的流关联函数,这与之前的工作中对相关Tor流使用通用统计关联度量形成对比。本文表明,在适度学习的情况下,Deepcorr可以将Tor连接(并因此打破匿名性)与精度显著高于现有算法,并使用更短的流量观测长度相关联。例如,通过仅收集每个目标ToR流的大约900个数据包(大约900kb的ToR数据),Deepcorr提供了96%的流量相关精度,而采用相同精确设置的最先进的猛禽系统提供的流量相关精度为4%。
论文5
Deep Fingerprinting: Undermining Website Fingerprinting Defenses with Deep Learning
深度指纹识别:深度学习破坏网站指纹识别防御
- 期刊/会议名称:CCS2018
- 作者信息:Payap Sirinam, Mohsen Imani, Marc Juarez, Matthew Wright
研究进展
网站指纹识别使本地窃/听/器这个词居然是博客园的违禁词???能够确定用户通过加密连接访问的网站。最先进的网站指纹攻击已被证明是有效的,甚至对Tor。最近,Tor的轻量级网站指纹防御系统已经被提议大大降低现有的攻击:wtf-pad和对讲机。在这项工作中,本文提出了深度指纹(DF),一个新的网站指纹攻击的Tor,利用一种深度学习称为卷积神经网络(CNN)与一个复杂的架构设计,我们评估了对wtf-pad和步话机的攻击。在没有防御的情况下,测向攻击在ToR流量上的精度达到98%以上,优于所有以前的攻击,而且它也是唯一一种对WTF-PAD有效的攻击,精度超过90%。对讲机仍然有效,使攻击的准确率仅为49.7%。在更现实的开放世界环境中,本文的攻击仍然有效,0.99精度和0.94召回未防御的流量。在这种情况下,通过wtf-pad防御的流量,攻击仍然可以获得0.96精度和0.68召回。这些发现强调了有效防御的必要性,以防止新的攻击,并可以部署在Tor中。
以下是私货•ᴗ•
论文6 ❤
Turning Your Weakness Into a Strength: Watermarking Deep Neural Networks by Backdooring
把你的弱点转化为力量:通过回溯给深度神经网络加水印
- 期刊/会议名称:USENIX Security 2018
- 作者信息:Yossi Adi, Carsten Baum, Moustapha Cisse, Benny Pinkas, Joseph Keshet
研究进展
深度神经网络最近取得了巨大的成功,在众所周知的挑战性问题上取得了一些突破。训练这些网络的计算代价很高,需要大量的训练数据。因此,销售这种经过预先培训的模型可能是一种有利可图的商业模式。不幸的是,一旦模型被出售,它们就可以很容易地被复制和重新分配感觉膝盖中了一箭。为了避免这种情况,有必要建立跟踪机制,将模型识别为特定供应商的知识产权。在这项工作中,本文提出了一种用黑盒方法对深神经网络添加水印的方法。本文的方案适用于一般的分类任务,并且可以很容易地与当前的学习算法相结合。实验证明,这种水印对模型设计的主要任务没有明显的影响,并评估了我们的方案对大量实践的鲁棒性。此外,本文还提供了一个理论分析,将本文的方法与以前的回溯工作联系起来。
论文7 ❤
Polisis: Automated Analysis and Presentation of Privacy Policies Using Deep Learning
使用深度学习自动分析和呈现隐私政策
- 期刊/会议名称: USENIX Security 2018
- 作者信息: Hamza Harkous, Kassem Fawaz, Rémi Lebret, Florian Schaub, Kang G. Shin, Karl Aberer
研究进展
隐私政策是公司通知用户其数据收集和共享实践的主要渠道。这些政策往往很长,很难理解。基于从隐私政策中提取的信息的简短通知已被证明是有用的,但考虑到政策的数量及其随时间的演变,它面临着一个巨大的可扩展性障碍。公司、用户、研究人员和监管者仍然缺乏可用和可扩展的工具来应对隐私政策的广度和深度。为了解决这些障碍,本论文提出了一个用于隐私政策分析(polisis)的自动化框架。它支持对自然语言隐私策略的可扩展、动态和多维查询。polisis的核心是一个以隐私为中心的语言模型,它使用130k个隐私策略构建,以及一个新的神经网络分类器层次结构,该层次结构既解释了隐私实践的高级方面,又解释了隐私实践的细粒度细节。本论文通过两个支持结构化和自由形式查询的应用程序演示了polisis的模块化和实用性。结构化查询应用程序是从隐私策略自动分配隐私图标,这个任务可达到最高88.4%的准确率。第二个应用程序pribot是隐私政策的第一个自由形式问题解答系统。本论文表明,Pribot可以在其82%的测试问题的前3个结果中给出正确的答案。通过对700名参与者的mturk用户研究,本论文发现Pribot的前3个答案中至少有一个与89%的测试问题的用户相关。