2018-2019-2 20189206 《密码与安全新技术专题》 第三次作业

学号 2018-2019-2 《密码与安全新技术专题》第三次作业

课程:《密码与安全新技术专题》

班级: 1892

姓名: 王子榛

学号:20189206

上课教师:金鑫

上课日期:2019年2月25日

1.本次讲座的学习总结

基于深度学习的密码分析与设计初探

人工智能

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。同时,人工智能所涉及的领域很多,机器学习只是其中的一个研究方向。

由上图可以看到,人工智能的领域十分广泛,包括

  • planning and scheduling 规划与调度
  • Expert System 专家系统
    • 专家们的知识——即解决问题的方法与方式,可被保存和习得,它可被保存放在计算机设备中,并可被别人需要时使用。在人工智能中,专家系统是模拟人类专家决策能力的计算机系统。专家系统旨在通过知识体系推理来解决复杂问题,主要表现为if-then规则而不是传统的程序代码。
  • multi-agent systems 多代理体系或自组织系统
    • 是多个交互的组成的计算机系统的智能代理。多代理系统可以解决单个代理或单个系统难以或不可能解决的问题。智能可以包括方法,功能,程序方法,算法搜索或强化学习。
  • Evolutionary Computation 进化计算
    • 在计算机科学领域,进化计算(Evolutionary Computation)是人工智能(Artificial Intelligence),进一步说是智能计算(Computational Intelligence)中涉及到组合优化问题的一个子域。其算法是受生物进化过程中“优胜劣汰”的自然选择机制和遗传信息的传递规律的影响,通过程序迭代模拟这一过程,把要解决的问题看作环境,在一些可能的解组成的种群中,通过自然演化寻求最优解。
  • Fussy Logic and Rough Set 粗糙逻辑模糊集
  • Knowledge Learning
  • Knowledge Representation 知识表示
    • 知识表示(knowledge representation)是指把知识客体中的知识因子与知识关联起来,便于人们识别和理解知识。知识表示是知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上。知识表示有主观知识表示和客观知识表示两种。
  • Recommender Systems 推荐系统
  • Robotics and Perception 机器人与感知

还有许多其他的方向,在这里不详细介绍,接下来介绍机器学习。

机器学习

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。机器学习的研究人员也是试图从多个样本与标签配对来进行机器学习模型的求解(训练)。

可以看到,机器学习是利用样本x,输入函数中,得到结果y,利用已有样本x y训练F(x) ,能够达到,输入一个不包含在样本集的x'可以得到正确的y',保证正确率能够保持在一个较高的水平,这就是我根据老师上的的理解,只是比较浅的理解,在以后的学习中继续加深我对机器学习的理解。

机器学习与密码分析

密码分析与机器学习之间有天然的相似性,在密码分析中,攻击者试图通过推算出密钥来破解密码系统。解密函数是从一个由密钥索引的已知函数空间(解空间)求解出。攻击者的目的是发现解密函数的精确解。如果攻击者能够获取多个获取密文与明文配对来进行密码分析,其与机器学习的概念相似:机器学习的研究人员也是试图从多个样本与标签配对来进行机器学习模型的求解(训练)。所以可以将二者进行结合,研究利用机器学习如何进行密码分析。

机器学习的发展方向

从研究趋势发展来看,越来越多的密码分析方法开始使用机器学习技术,例如用于破解DES的遗传算法、用于侧信道分析的支撑向量机算法等。虽然主要的密码系统的算法仍然难以破解,然而机器学习算法通过分析网络流已经取得了很大的进步。

深度学习

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。

深度学习的现状

可以看到深度学习是属于机器学习中的一个分支,度学习技术掀起了人工智能研究与应用的新一轮浪潮,深度学习技术在多个方面取得了较大突破,其在人工智能系统中所占的比例日趋增大,已经应用于多项实际场景业务系统中。

  • 人工神经网络
    • 人工神经网络的内部是一个黑盒子,就像我们人类的大脑一样,我们不知道它内部的分析过程,我们不知道它是如何识别出人脸的,也不知道它是如何打败围棋世界冠军的。我们只是为它构造了一个躯壳而已。人工神经网络是受到人类大脑结构的启发而创造,下图是一个人工神经网络的构造图。
    • x是神经元的输入,w是对应的权重,影响着每个输入x的刺激强度,网络的结构越复杂,也就是深度神经网络,训练深度神经网络的过程就称为深度学习。

  • 深度神经网络( DNN: Deep Neural Networks )也有许多类型,例如:
    • 卷积神经网络( CNN: Convolutional Neural
      Networks)
    • 循环神经网络( RNN: Recurrent Neural Networks)
    • 生成对抗网络( GAN: Generative Adversarial Networks)

深度学习与密码分析

深度学习与密码分析可以分为以下四类:

  • 基于卷积神经网络的侧信道攻击

  • 基于循环神经网络的明文破译

  • 基于生成对抗网络的口令破解

    • 通过测试集训练对抗网络判别口令的正确与错误,可以实现破解口令的功能。
    • 对抗网络

    生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。

  • 基于深度神经网络的密码基元识别

随着加密算法的复杂性以及秘钥长度的增加,明文破译的难度也随之增加,发展不如其他方面那么好,基于深度神经网络的密码基元可以识别出加密所使用的的算法。

深度学习的最新进展

  • 知识驱动的深度学习
  • 深度森林
  • 图深度学习

深度学习与密码设计

随着量子技术的快速发展对密码技术产生了极大的威胁和挑战,一旦量子计算机出现,对于离散对数、整数分解的公钥密码体制将被快速攻破,意味着网络信息系统不再安全。“组件化可变密码算法设计与安全性评估”,“密文可编程数据安全存储与计算”,两大问题是解决现在密码技术收到威胁的方法。

对于新密码算法的设计需求将与日俱增,但目前人工设计密码算法耗时耗力,难以适应未来密码算法设计的需求,我们提出————让机器自动设计密码算法

老师在课上以Google的案例:Google's neural networks invent their own encryption

谷歌Brain team团队开始时有三个分别叫做爱丽丝,鲍勃和夏娃的神经网络。每个系统都经过培训,以完善自己在沟通中的作用。Alice的工作是向Bob发送一条秘密消息,Bob的工作是解码Alice发送的消息,而Eve的工作是试图窃听。

最初,神经网络在发送秘密消息方面相当差。但随着他们更多的练习,爱丽丝慢慢开发了自己的加密策略,鲍勃研究出如何解密它。
在场景播放15,000次之后,Bob能够将Alice的密文短信转换回纯文本,而Eve可以猜测形成该消息的16位中的8位。由于每个位只有1或0,这与纯粹机会所期望的成功率相同。

可以看出,深度学习在密码设计方面有着很大的发展前景。


2.学习中遇到的问题及解决

  • 问题1:深度神经网络是如何将数据输入到神经网络中,又是如何进行预测的?
  • 问题1解决方案:神经网络顾名思义是模仿人类的大脑结构,是一个黑盒子,以前的人工智能都是“假智能”,人类可以清楚地知道它们的内部分析过程,而人工神经网络,无法知道它内部的分析过程,这也正是人工智能的可怕之处,因此世界上成立了不少安全协会来防范人工智能。

对于不同的应用,需要识别的对象可能是图片、视频、语音等,但在计算机中都对应有数字的表示形式。在人工智能领域中,每一个输入到神经网络的数据都被称为是一个特征,即特征向量。神经网络经过训练,接收到这个输入,进行预测。预测是由公式进行计算,通过学习得到当计算结果大于某个值会被预测为某种结果,那么当我们输入数据,根据权重进行计算,如果结果大于某个值,预测为某种结果。

  • 问题2:什么是卷积神经网络?
  • 问题2解决方案:在课上我们知道卷积神经网络是深度神经网络中的一种,在神经网络与密码分析中,老师讲到基于卷积神经网络的侧信道攻击,所以我通过百度、CSDN博客等方式进行了一定的了解。

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。由于卷积神经网络能够进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”。

卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求。

卷积神经网络的层级结构:

  • 数据输入层/ Input layer:该层要做的处理主要是对原始图像数据进行预处理,
  • 卷积计算层/ CONV layer:这一层就是卷积神经网络最重要的一个层次,也是“卷积神经网络”的名字来源。
    在这个卷积层,有两个关键操作:
    • 局部关联。每个神经元看做一个滤波器(filter)
    • 窗口(receptive field)滑动, filter对局部数据计算
  • ReLU激励层 / ReLU layer:把卷积层输出结果做非线性映射。
  • 池化层 / Pooling layer:池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。
  • 全连接层 / FC layer:两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。

3.本次讲座的学习感悟、思考等)

作为这几年中非常热门的研究方向,老师在课上用通俗易通的方式带我们初步了解了深度学习和机器学习,打开我们的思路。刚刚开始的时候并不明白什么是机器学习,利用机器学习到底能够做什么事情。我们作为密码专业的学生,机器学习与我们有没有什么可以联系到一起的点。

后来明白,人工智能是一个非常宽泛的概念,每一个研究方式的背后又是一个宽泛的世界。根据老师在课上的介绍,我们可以知道,机器学习在密码方面的研究还可以进一步深入,还有很多方面没有能将二者结合在一起。也是我们在以后的学习中需要探索的。

4.最新研究现状

Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks

  • 会议名称:25th USENIX Symposium on Networked Systems Design and Implementation
  • 作者:William Melicher, Blase Ur, Sean M. Segreti, Saranga Komanduri, Lujo Bauer
  • 论文题目:快速,精益和准确:使用神经网络建模密码可猜测性

文章提出现今采用的密码方式存在不安全的因素,通过神经网络检查密码的安全性,可以帮助更好地检测口令的安全性。这篇文章主要检测用户口令的安全性,并不是我们的密码学中的密码,这是需要强调的一点。

人类选择的文本密码是当今主要的身份验证形式,容易受到猜测攻击。遗憾的是,通过对对等密码猜测建模来评估密码强度的现有方法要么不准确,要么数量级太大而且对于实时的客户端密码检查来说太慢。文章建议使用人工神经网络来模拟文本密码对猜测攻击的抵抗力,并探索不同的体系结构和训练方法如何影响神经网络的猜测效果。实践表明,神经网络通常可以比最先进的方法更有效地猜测密码,例如概率上下文无关语法和马尔可夫模型。我们还表明,我们的神经网络可以高度压缩到几百千字节,而不会显着恶化猜测效果。基于这些结果,我们在JavaScript中实现了密码猜测的第一个原则客户端模型,该模型分析密码对任意持续时间的猜测攻击的抵抗力,具有亚秒级延迟。总之,本文的贡献使得密码检查能够比以前更加准确和实用。

Membership Inference Attacks Against Machine Learning Models

  • 会议名称:38th IEEE Symposium on Security and Privacy
  • 作者:Reza Shokri,Marco Stronati,Congzheng Song,and Vitaly Shmatikov
  • 论文题目:通过预测API窃取机器学习模型

文章提出了机器学习存在的隐私泄露的问题,机器学习在解决问题之前需要接受数据集的训练,而这些数据集往往包含着用户的个人隐私。但是,机器学习模型不断地被部署,通过公共访问接口访问模型, 例如机器学习即服务( Machine Learning as a service, MLaaS):用户可以在MLaaS 平台利用隐私敏感数据训练机器学习模型,并且将访问接口发布给其他用户使用,同时收取一定的费用。

针对机器学习模型机密性和其公共访问的矛盾上,笔者提出了机器学习模型提取攻击:攻击者在没有任何关于该模型的先验知识(训练数据,模型参数,模型类型等)情况下,只利用公共访问接口对该模型的黑盒访问,从而构造出和目标模型相似度非常高的模型。

文章定量研究机器学习模型如何泄漏有关他们接受培训的个人数据记录的信息。关注基本的成员资格推理攻击:给定数据记录和对模型的黑匣子访问,确定记录是否在模型的训练数据集中。为了对目标模型进行成员资格推理,我们进行机器学习的对抗性使用并训练我们自己的推理模型,以识别目标模型对其训练的输入与其未训练的输入的预测的差异。我们根据Google和亚马逊等商业“机器学习即服务”提供商培训的分类模型,对我们的推理技术进行了实证评估。使用真实的数据集和分类任务,包括其成员资格从隐私角度敏感的出院数据集,我们表明这些模型易受成员资格推断攻击。然后,我们调查影响这种泄漏的因素并评估缓解策略。

SecureML: A System for Scalable Privacy-Preserving Machine Learning

  • 会议名称:38th IEEE Symposium on Security and Privacy
  • 作者:Payman Mohassel and Yupeng Zhang
  • 论文题目:SecureML可扩展隐私保护机器学习系统

机器学习在实践中被广泛用于为诸如图像处理,语音和文本识别的应用产生预测模型。在对从不同来源收集的大量数据进行培训时,这些模型更加准确。但是,海量数据收集引发了隐私问题。在本文中,我们提出了新的和有效的隐私保护机器学习协议,用于线性回归,逻辑回归和使用随机梯度下降法的神经网络训练。我们的协议属于双服务器模型,其中数据所有者在两个非串通服务器之间分发其私有数据,这两个服务器使用安全的双方计算(2PC)在联合数据上训练各种模型。我们开发了新的技术来支持对共享十进制数的安全算术运算,并提出了对非线性函数(如sigmoid和softmax)的MPC友好替代方案,这些方法优于以前的工作。我们用C ++实现我们的系统。我们的实验证实,我们的协议比隐私保护线性和逻辑回归的现有技术实现快几个数量级,并且可以扩展到具有数千个特征的数百万个数据样本。我们还实施了第一个用于训练神经网络的隐私保护系统。

Structure2vec: Deep Learning for Security Analytics over Graphs

  • 会议名称:2018 USENIX Security and AI Networking Conference
  • 作者:Le Song
  • 论文题目:Structure2vec基于图形的安全分析的深度学习

网络和图表在许多现实世界的应用中是普遍的,例如在线社交网络,支付平台中的交易,推荐系统中的用户项交互以及知识库中的关系信息。大量图形数据的可用性带来了巨大的新挑战。如何表示此类数据以捕获相关实体之间的相似性或差异?如何根据大量此类数据学习预测模型并执行推理?以前的深度学习模型,如CNN和RNN,是为图像和序列设计的,但它们不适用于图形数据。
在本文中,介绍一个名为Structure2Vec的嵌入框架,用于以端到端的方式学习图形数据的表示。Structure2Vec提供了一个统一的框架,用于整合来自节点特征,边缘特征,异构网络结构和网络动态的信息,并将它们与下游监督和无监督学习以及强化学习联系起来。还将讨论安全分析中的几个应用程序,其中Structure2Vec比以前的最新技术有了显着的改进。

Automating the Discovery and Investigation of Targeted Attacks with AI and Machine Learning

  • 会议名称:2018 USENIX Security and AI Networking Conference
  • 作者:Alejandro Borgia
  • 论文题目:利用AI和机器学习自动发现和调查目标攻击

目标攻击是当今企业安全面临的最危险威胁之一。然而,在安全系统产生的大量警报下,它们常常被隐藏起来,使攻击者有时间访问系统并获取有价值的数据。赛门铁克的新型目标攻击分析(TAA)技术利用先进的机器学习功能,自动发现目标攻击,识别真正有针对性的活动,并以高度可靠的事件报告的形式对其进行优先排序。TAA是赛门铁克攻击调查团队与赛门铁克顶级安全数据科学家团队在机器学习研究领域的内部联合努力的结果,分析了来自最大的威胁数据之一的广泛数据。同时提供全球自动化目标威胁检测。

参考资料

posted @ 2019-04-07 22:37  王子榛20189206  阅读(984)  评论(1编辑  收藏  举报
levels of contents