20189221 2018-2019-2 《密码与安全新技术专题》课程报告总结

20189221 2018-2019-2 《密码与安全新技术专题》课程报告总结

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

班级: 201892
姓名: 郭开世
学号:20189221
上课教师:谢四江
上课日期:2019年2月26日——2019年6月4日
必修/选修: 选修git

专题讲座总结

第一讲:web安全与内容安全

典型攻击方式:高等持续性攻击(APT):2010年6月震网(stuxnet)攻击⇒物理隔离是不安全的,第三方恶意代码注入:2015年9月Xcode Ghost⇒底层开发软件在编译过程攻击,上帝攻击模式(GPT):基于全球全网大数据能力对用户进行用户画像。github

威胁方-防御方的非对称性:攻防技术非对称,攻防成本非对称和攻防主体非对称。web

常见的Web漏洞:SQL注入:输入验证不足或Web应用程序中SQL语句构造不当,跨站脚本攻击漏洞,cookie欺骗,CSPF(跨站请求伪造),web信息泄露,权限问题,逻辑漏洞,第三方程序漏洞,web服务器解析漏洞,弱口令,SSRF。算法

在此次课程做业中,我对SQL Injection这一方面进行了一些论文阅读。对SQL注入有了一些了解。数据库

常见的SQL注入攻击有:重言式(tautology),非法/逻辑错误查询(illegal/logically incorrect queries),联合查询(union query),堆叠查询(Stacked Queries),条件陈述和存储过程(stored procedures)等。编程

常见的SQL检测与预防有:静态分析(Static Analysis),动态分析(Dynamic Analysis)和组合方法(Combined Approach)。设计模式

  • 静态分析是在到达执行阶段以前在系统源代码中找到弱点和恶意代码,主要是语言特定的。
    静态分析缺点包括:
    • 开发人员须要手动更改易受攻击的部分
    • 没法识别存储过程攻击
    • 其结构直到运行时才被指定
  • 动态分析(Dynamic Analysis)
    • 动态方法技术可用于分析由Web应用程序使用用户输入数据生成的动态或运行时SQL查询。
    • 动态技术下在运行时生成的SQL注入检测方法,在将查询发布到数据库服务器以前执行查询,查询的异常性质致使它甚至不会传递到数据库执行。
    • 动态分析的主要缺点是在运行时生成模型所涉及的开销。
  • 组合方法(Combined Approach)
    • 组合方法利用静态分析和动态分析方法的优点来检测和防止SQL注入。在静态阶段,识别热点,以后建立模型,指示能够在该热点处进行的全部有效查询。在运行时,将检查运行时查询以查看它们是否与其模型匹配。若是不是,则不会将查询发送到数据库以供执行。

第二讲:量子密码技术

量子密码体制使用:
主要用于党政机关,实际使用中仅负责密钥分发。api

量子密码算法:
- shor算法:提出大数分解,能在多项式时间内分解大数。受影响最大的密码体制为RSA等大数公钥密码
- Grover算法:提出搜索无序数据库量子算法,快速搜索算法。使密钥搜索的时间复杂度在二次加速的基础上获得了进一步的提速。缓存

量子密码特色:

  • 并行性
  • 不可克隆定理
  • 测不许原理
  • 对未知量子态的测量可能会改变量子态

在此次课程做业中,我对量子密码技术的最新研究现状有了一些了解。

  • 海森堡不肯定性原则:这个原则说若是你衡量一件事,就不能准确地测量另外一件事。例如,若是您将此原则应用于人类,则能够测量一我的的身高,但您没法衡量他的体重。关于这个原则惟一奇怪的是它只有在你尝试测量某些东西时才变为现实。该原理适用于光子。光子具备波状结构,而且在某个方向上偏振或倾斜。在测量光子偏振时,全部后续测量都会受到咱们为极化作出的测量选择的影响。该原则在防止攻击者在量子密码学中的努力方面起着相当重要的做用。
  • 光子偏振原理:这个原理指的是,因为无克隆原理,窃听者没法复制独特的“量子比特”(量子比特)即未知量子态。若是尝试测量任何属性,它将干扰其余信息。
  • 量子密钥分配(QKD):经典密码学中存在一些流,同时分配密钥,这些流量在量子密码学中被量子密钥分发方法所克服。QKD用于生成使用两个信道在双方之间共享的秘密密钥。QKD使用两个频道。首先,量子信道用于传输单光子透明路径,它能够由光纤或空间制成。第二个是用于传输编码数据的经典频道,它能够是电话或互联网线路。。
  • QKD基于如下协议。BB84协议:1984年,Charles H. Bennett和Gilles Brassard开发了第一个称为“BB84”的密钥分发协议。它基于海森堡不肯定性原理。

单光子量子点的传输:

第三讲:基于深度学习的密码分析与设计

深度学习与密码分析

  • 基于卷积神经网络的测信道攻击
  • 基于循环神经网络的明文破译
  • 基于生成对抗网络的口令破译
  • 基于深度学习的密码基元识别

深度学习与密码设计

  • 生成对抗网络设计密码

    研究人员MartínAbadiDavid Andersen证实神经网络或“神经网络” - 松散地基于人工神经元的计算系统 - 能够解决如何使用简单的加密技术。

    在他们的实验中,计算机可以使用机器学习进行本身的加密形式,而不须要教授特定的加密算法。加密是很是基础的,特别是与咱们当前的人工设计系统相比。即使如此,它仍然是神经网络的一个有趣的步骤,做者声称“一般并不意味着在密码学方面很出色”。机器学习提供了一种解决方案,但并非一种简单的方法来理解它是如何实现的。在实践中,很难为以这种方式建立的加密方法提供任何安全保证。

img

在此次课程做业中,我对生成对抗网络比较感兴趣。对GAN方向的论文进行了一些阅读。

GAN的原理:

GAN的主要灵感来源于博弈论中零和博弈的思想,应用到深度学习神经网络上来讲,就是经过生成网络G(Generator)和判别网络D(Discriminator)不断博弈,进而使G学习到数据的分布,若是用到图片生成上,则训练完成后,G能够从一段随机数中生成逼真的图像。G, D的主要功能是:

● G是一个生成式的网络,它接收一个随机的噪声z(随机数),经过这个噪声生成图像

● D是一个判别网络,判别一张图片是否是“真实的”。它的输入参数是x,x表明一张图片,输出D(x)表明x为真实图片的几率,若是为1,就表明100%是真实的图片,而输出为0,就表明不多是真实的图片

训练过程当中,生成网络G的目标就是尽可能生成真实的图片去欺骗判别网络D。而D的目标就是尽可能辨别出G生成的假图像和真实的图像。这样,G和D构成了一个动态的“博弈过程”,最终的平衡点即纳什均衡点.

GAN的特色:

● 相比较传统的模型,他存在两个不一样的网络,而不是单一的网络,而且训练方式采用的是对抗训练方式

● GAN中G的梯度更新信息来自判别器D,而不是来自数据样本

GAN 的优势:

● GAN是一种生成式模型,相比较其余生成模型(玻尔兹曼机和GSNs)只用到了反向传播,而不须要复杂的马尔科夫链

● 相比其余全部模型, GAN能够产生更加清晰,真实的样本

● GAN采用的是一种无监督的学习方式训练,能够被普遍用在无监督学习和半监督学习领域

● 相比于变分自编码器, GANs没有引入任何决定性偏置( deterministic bias),变分方法引入决定性偏置,由于他们优化对数似然的下界,而不是似然度自己,这看起来致使了VAEs生成的实例比GANs更模糊

● 相比VAE, GANs没有变分下界,若是鉴别器训练良好,那么生成器能够完美的学习到训练样本的分布.换句话说,GANs是渐进一致的,可是VAE是有误差的

● GAN应用到一些场景上,好比图片风格迁移,超分辨率,图像补全,去噪,避免了损失函数设计的困难,无论三七二十一,只要有一个的基准,直接上判别器,剩下的就交给对抗训练了。

GAN的缺点:

● 训练GAN须要达到纳什均衡,有时候能够用梯度降低法作到,有时候作不到.咱们尚未找到很好的达到纳什均衡的方法,因此训练GAN相比VAE或者PixelRNN是不稳定的,但我认为在实践中它仍是比训练玻尔兹曼机稳定的多

● GAN不适合处理离散形式的数据,好比文本

● GAN存在训练不稳定、梯度消失、模式崩溃的问题(目前已解决)

生成对抗网络(Generative Adversarial Network,简称GAN):

img

第四讲:信息隐藏

信息隐藏:

信息隐藏是将消息隐蔽的藏于载体中,实现隐蔽通讯,内容认证或内容保护等。

信息隐藏技术:鲁棒水印 (Robust Water making),可视密码(Visual Cryptography)以及隐写( Steganography)

隐写:LSB嵌入,矩阵嵌入,自适应隐写,隐写分析,高维特征以及隐写选择信道。

隐写术的优缺点

  • 须要许多额外的付出来隐藏相对较少的信息。
  • 尽管采用一些诸如上述方案也许颇有效;可是一旦被破解,整个方案就毫无价值。(改进:具体的加入方法由秘钥决定;先加密再隐写)
  • 隐写术适合:通讯双方宁愿内容丢失,也不肯意它们进行秘密通讯的事物被人发现。加密标志信息也是重要和秘密的,经过它能够找出想进行消息隐藏的发送方或接收方。

隐写分析:

数字隐写分析就是经过隐写技术或软件对隐藏的数据进行检测和取证的过程,可能的话,还会提取出被隐藏的载荷。若是被隐藏的载荷是加过密的,那么隐写分析就要对其进行破解。

主要采用如下两个手段:

  • 异常分析:异常分析会用到检测类似文件的对比技术,若是没有文件能够用于对照,还会采用一些分析技术来发现文件的其余异常特征。
  • 隐写分析工具:这些工具具备相同的工做原理:首先检测文件的某些信息,根据判断其中包含隐藏内容的,就标记为可疑文件。而后,将可疑文件寄存起来以便后续进行深度分析;第二步分析环节能够是半自动半手工的,大多数先进的工具都容许人工查看数据进而分析发现异常特征。

在课下我还深刻学习了JPEG图像格式的Jphide隐写、LSB隐写以及Powload及压缩包类隐写。

Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像做为载体是由于相比其余图像格式更不容易发现隐藏信息,由于JPEG图像在DCT变换域上进行隐藏比空间域隐藏更难检测,而且鲁棒性更强,同时Blowfish算法有较强的抗统计检测能力。

Jphide隐写过程大体为:先解压压缩JPEG图像,获得DCT系数;而后对隐藏信息用户给定的密码进行Blowfish加密;再利用Blowfish算法生成伪随机序列,并据此找到须要改变的DCT系数,将其末位变为须要隐藏的信息的值。最后把DCT系数从新压回成JPEG图片,下面是我的对隐写过程理解画出的大体流程图。

LSB隐写是最基础、最简单的隐写方法,具备容量大、嵌入速度快、对载体图像质量影响小的特色。

LSB的大意就是最低比特位隐写。咱们将深度为8的BMP图像,分为8个二值平面(位平面),咱们将待嵌入的信息(info)直接写到最低的位平面上。换句话说,若是秘密信息与最低比特位相同,则不改动;若是秘密信息与最低比特位不一样,则使用秘密信息值代替最低比特位。

在Powload的案例中,使用隐写术来检索包含恶意代码的图像。基于趋势科技分析的Powload变体的代码提取案例程序,Powload滥用公开可用的脚本(Invoke-PSImage)来建立包含其恶意代码的图像。

在此次课程做业中,我阅读了一些行业大牛Jessica Fridrich的论文。

Jessica Fridrich确实在隐写方面造诣极深。

第五讲:区块链技术

比特币的特色:数字货币,不依托于任何国家或组织而利用计算机技术独立发行,经过P2P分布式技术实现,无中心点,全部人都可自由的参与,总量有限,不可再生,自己机制开源,能够被山寨。

区块链的一些要素总结:

  • 包含一个分布式数据库
  • 分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,全部核心节点都应包含该条区块链数据的全副本
  • 区块链按时间序列化区块,且区块链是整个网络交易数据的惟一主体
  • 区块链只对添加有效,对其余操做无效
  • 基于非对称加密的公私钥验证
  • 记帐节点要求拜占庭将军问题可解/避免
  • 共识过程(consensus progress)是演化稳定的,即面对必定量的不一样节点的矛盾数据不会崩溃。
  • 共识过程可以解决double-spending问题

区块链技术的4个基本性质:

  • 点对点等网络。它研究如何把一个须要很是巨大的计算能力才能解决的问题分红许多小的部分,而后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来获得最终结果。
  • 共识机制。防止了“双重支付”。
  • 数据可验证。PKI公钥体系,不可变数据。
  • 奖励合做的制度设计。非合做博弈是指在策略环境下,非合做的框架把全部的人的行动都当成是个别行动。它主要强调一我的进行自主的决策,而与这个策略环境中其余人无关。纳什均衡。

区块链技术发展的三个阶段:

  • 货币:货币的发行机制,货币的分配机制,货币的币值调节机制。
  • 合约:股权、债权,博彩,防伪等
  • 治理:身份认证,健康管理,公正、见证,司法仲裁等

我的对区块链技术的见解:

  • 区块链技术不等于炒币。
  • 技术是无罪的,而热点、泡沫常常一块儿出现。
  • 不少盲目的行为彻底是在破坏市场

在本次的课程做业中,我对区块链技术的研究现状有了一些了解。

区块链经过分布式数据存储和共识机制确保数据能够被跟踪而且不容易被篡改。它提供了一种思想和方案,以分散的方式创建信任关系,并在数字证书和身份认证领域受到普遍关注。 提出了第一个使用比特币块链系统做为框架的分布式PKI系统Certcoin,它至关于CA,提供有效的密钥查询服务。 使用区块链存储已发布或已撤销证书的哈希值。Axon 改进了Certcoin方案 并提出了PKI认证系统PB-PKI(基于区块链的PKI中的隐私感知),用于隐私保护。凯伦等人。 基于以太网块链平台提出的PKI认证系统,无需CRL或OCSP便可执行撤销检查。松本介绍了经济激励方法,并提出了基于以太网及时响应的PKI IKP(Instant Karma PKI)。

BC(区块链)是一种源自比特币基础技术的新技术系统。最先的定义来自Satoshi Takemoto在2009年发表的论文。BC具备许多技术特征,例如分散化,不可能被篡改和伪造,这使其在确保信息可靠性,安全性,可追溯性和传统技术的其余方面具备无可比拟的优点。基于ABC的PKI系统确保写入BC上的证书是可信的。它可用于跨多个组织发布和管理自签名数字证书,还可用于替换使用不一样CA颁发证书的桥接CA链接的多个实例。

第六讲:漏洞挖掘及攻防技术

安全漏洞定义:指信息系统在设计、实现或者运行管理过程当中存在的缺陷或不足,从而使攻击者可以在未受权的状况下利用这些缺陷破坏系统的安全策略。

安全漏洞事件:openssl (心脏出血);bash:缘由是未检查输入边界;脱裤门:主要包括天涯、CSDN、人人、多玩、cnbeta、QQ关系数据库、携程;棱镜门;

漏洞挖掘示例

  • 路由器
    • 当远程向路由器的161端口发送大量畸形SNMP Get/Set请求报文时,Cisco路由器和华为路由器的进程Agent出现CPU使用率异常,分别为98%和100%。
    • 当远程发送SNMP空数据包时,Cisco路由器和华为路由器的CPU使用率出现异常,但远小于100%,发生“轻度拒绝服务”。
    • 当远程发送一个畸形ASN.1/BER编码(超长字符串)的SNMP数据包时,wireshark捕获并解析数据包,致使wireshark 1.4等多个版本栈溢出,致使空指针引用并崩溃。
    • 当向SNMP协议端口(161)远程发送一个使用“\x”等字符构造的畸形UDP数据包,科来网络分析系统7.2.1及之前版本均会因边界条件检查不严致使崩溃。
  • NFC漏洞挖掘
    • 目标选择:NFC手机系统和应用
  • 被动防护
    • 路由器:过滤特殊字符(如:科来网络分析系统对\x的处理);限制特定端口的传输速率;阻塞SNMP请求的端口;折中(编写ACL)。
    • NFC:协议解析(检查长度字段、数值范围、格式化字符串、特殊字符等);设计缺陷(修改设计逻辑,例如,蓝牙、wifi、屏幕亮度等)。
    • 滞后性
  • 主动防护:针对路由器和软件,成熟产品,入侵检测,防火墙,杀毒软件

我在课下对模糊测试和NFC进行了一些了解:

模糊测试是一种介于彻底的手工渗透测试与彻底的自动化测试之间的安全性测试类型。它充分利用了机器的能力:随机生成和发送数据;同时,也尝试将安全专家在安全性方面的经验引入进来。

从执行过程来讲,模糊测试的执行过程很是简单:

  1. 测试工具经过随机或是半随机的方式生成大量数据;
  2. 测试工具将生成的数据发送给被测试的系统(输入);
  3. 测试工具检测被测系统的状态(如是否可以响应,响应是否正确等);
  4. 根据被测系统的状态判断是否存在潜在的安全漏洞。

NFC主要应用于:启动服务,将NFC用于“开启”另外一种服务(例如为数据传输开启另外一条通讯连接);点到点,NFC能够用于实现两个装置之间的通讯;付款和票务,将NFC搭建在新兴的智能票务和电子付款基础设施之上。

经过本次的课程做业,我对漏洞挖掘现状有了一些了解。

真正进行漏洞挖掘须要具有的知识

从事漏洞挖掘工做须要具有的知识是极其普遍的,而且随着时间在不断改变,也取决于你所研究的对象(web程序、桌面程序、嵌入式等等)。不过,万变不离其宗,所须要掌握的知识领域却总能够认为是肯定的,我认为大体能够分为如下四个方面:

  1. 程序正向开发技术。这是一个开发者须要掌握的能力,包括编程语言、系统内部设计、设计模式、协议、框架等。拥有丰富编程经验与开发能力的人在漏洞挖掘过程当中每每比那些只对安全相关领域有所了解的人员对目标应用能有更深刻的理解,从而有更高的产出。
  2. 攻防一体的理念。这些知识涵盖了从基本的安全原则到不断变换的漏洞形态及漏洞缓解措施。攻击和防护结合的理念,可以有效帮助研究者既可以发现漏洞,同时也可以快速给出有效的漏洞缓解措施和规避方法。
  3. 有效使用工具。可以高效的使用工具可以快速将思路转化为实践,这须要经过花时间去学习如何配置和使用工具,将其应用于本身的任务并构建本身的工做流程来不断积累经验。更进一步,须要深刻掌握所使用工具的原理,以及如何对其进行二次开发,以使得其可以更加高效的应用于当前的工做实际。事实上,我认为面向过程的学习方法每每比面向工具的学习方法更加高效以及有价值,当本身发现一个在使用一个工具遇到瓶颈时,先不要退缩,尝试去改造它,或者经过本身动手实践去完成可以适应当前工做的工具,这每每可以帮助快速积累大量实践经验。帮助咱们之后更加高效的去实践漏洞挖掘工做。
  4. 对目标应用的理解。最后,也是最重要的,做为一个漏洞挖掘人员,对本身研究的应用程序在安全性方面必需要比这个程序的开发者或维护者有更深的理解。这样你才能尽量的发现这个程序中的漏洞并修复它。

通常漏洞挖掘框架:

论文汇报总结

本组论文介绍

Manipulating Machine Learning: Poisoning Attacks and Countermeasures for Regression Learning

做者:[Matthew Jagielski; Alina Oprea; Battista Biggio; Chang Liu; Cristina Nita-Rotaru; Bo Li

投稿:2018 IEEE Symposium on Security and Privacy (SP)

年份:2018

主题:在本文中,咱们对线性回归模型进行了第一次中毒攻击的系统研究及其对策。

代码:https://github.com/jagielski/manip-ml

相关知识:机器学习 数据安全 线性回归 预测模型

论文成果:

  • 做者对线性回归模型的中毒攻击及其对策进行了第一次系统研究。
  • 做者提出了一个针对中毒攻击和快速统计攻击的新优化框架,该框架须要对培训过程的了解不多。
  • 做者还采用原则性方法设计一种新的鲁棒防护算法,该算法在很大程度上优于现有的稳健回归方法。
  • 做者在医疗保健,贷款评估和房地产领域的几个数据集上普遍评估做者提出的攻击和防护算法。
  • 做者在案例研究健康应用中证实了中毒攻击的真实含义。
  • 做者的工做将激发将来的研究,以开发更安全的中毒攻击学习算法。

论文结构

细读这篇论文,我发现他不愧是顶会论文,其行文结构、研究思路,都是极为科学、严谨,其缜密的研究思路,完备的研究过程,优秀的论文结构,细致的验证对比,给我很大帮助,很大启发。

  • 第一节:介绍背景知识,对相关论文进行了深刻研究,大量的引文及其细致的分类描述佐证了这篇论文的优秀。
  • 第二节:系统和对抗模型,问题定义和对抗模型,描述了四种线性回归模型,描述了改编自Xiao等人的基线攻击。对
  • 第三节:攻击方法论,提出了两种攻击算法。首先讨论先前提出的基于梯度的优化方法来解决在分类设置中的问题。而后讨论如何使它们适应回归学习的状况,并提出新的策略以进一步提升其有效性——对当前攻击推导的重大改进是同时优化每一个中毒点的响应变量及其特征值。随后重点介绍了在基于梯度的优化过程当中如何更新每一个中毒样本的一些理论看法,提出了更快的攻击。
  • 第四节:介绍新型的防护算法TRIM 。描述了针对中毒攻击的现有防护建议,并解释了为何它们在训练数据中的对抗性腐败中可能无效。所以提出了一种名为TRIM的新方法,专门用于加强针对一系列中毒攻击的鲁棒性。
  • 第五节:包括对攻击和防护的详细实验分析,以及与之前的方法的比较。使用两个主要指标来评估咱们的算法:MSE用于攻击和防护的有效性,以及运行时间的成本。描述了用于实验的数据集。而后,系统地分析新攻击的性能,并将它们与VB中的基线攻击算法进行比较。最后,提出了新的TRI M算法的结果,并将其与稳健统计数据的先前方法进行了比较。
  • 第六节:介绍了其余相关的研究论文,对整个论文提出的攻击算法、防护算法的实际应用前景进行了展望。
  • 第七节:使用很精炼的语言对本论文的工做进行了总结。立场中立,毫无夸大。

第一组:MassVet的新技术

论文选题为在10秒内找到未知的恶意:在Google-Play规模上大规模审查新的威胁。本文开发了一种名为MassVet的新技术,用于大规模审查应用程序,而无需了解恶意软件的外观和行为方式。与一般使用重量级程序分析技术的现有检测机制不一样,文中所用的方法只是将提交的应用程序与已经在市场上的全部应用程序进行比较,重点关注那些共享相似UI结构(表示可能的从新打包关系)和共性的区别。

论文做者将应用程序的视图图形(即,其用户界面之间的互连)(例如窗口小部件和事件的类型)的一组特征投影到单个维度,使用惟一索引来表示应用程序在维度内的位置以及类似度。它的界面结构与其余人的界面结构。研究中将该指数计算为视图的几何中心,称为v-core。市场上全部应用程序的v核都通过排序,以便在审核新应用程序时启用二进制搜索,从而使此步骤具备高度可扩展性。

检测思路以下:

第二组:幽灵攻击

论文选题:使用性能计数器的微架构跟踪在线检测幽灵 攻击

为了提升处理器性能,计算机架构师采用了诸如推测执行和缓存之类的加速技术。然而,研究人员最近发现,这种方法意味着固有的安全漏洞,正如Meltdown和Spectre所利用的那样。针对这些漏洞的攻击能够经过利用错误推测的执行来经过诸如数据缓存时序之类的辅助渠道泄漏受保护的数据。这些缺陷多是灾难性的,由于它们是基础和普遍的,它们会影响许多现代处理器。减轻Meltdown的影响是相对简单的,由于它须要基于软件的修复,这已经由主要OS供应商部署。然而,直到今天,Spectre尚未有效的缓解措施。解决问题可能须要在将来的处理器中从新设计用于条件执行的体系结构。此外,使用传统的基于软件的防病毒技术很难检测到Spectre攻击,由于它不会在传统日志文件中留下痕迹。在本文中,做者建议监视微体系结构事件,例如缓存未命中,现有CPU性能计数器的分支错误预测,以在攻击运行时检测Specter。做者的检测器可以使用各类机器学习分类器以及合理的性能开销实现0%的假阴性,误报率低于1%。做者建议监视微体系结构事件,例如缓存未命中,现有CPU性能计数器的分支误预测,以便在攻击运行时检测Spectre。做者的检测器可以使用各类机器学习分类器以及合理的性能开销实现0%的假阴性,误报率低于1%。做者建议监视微体系结构事件,例如缓存未命中,现有CPU性能计数器的分支误预测,以便在攻击运行时检测Spectre。做者的检测器可以使用各类机器学习分类器以及合理的性能开销实现0%的假阴性,误报率低于1%。

做者按期同时从四个性能计数器收集数据。在本节中,咱们首先分析收集的原始数据,以肯定经过可视化数据分布来区分清洁环境中的测量和受攻击的测量是否可行。而后咱们使用不一样的机器学习算法来训练分类器并使用前面讨论的滑动窗口方法构建实时攻击检测器。

LLC参考的分布,LLC未命中和分支未命中率特征:

本文提出经过监视微体系结构特征误差来检测Spectre攻击,由于攻击利用了现代处理器硬件设计中的漏洞,例如推测执行和缓存侧通道。这些功能是从处理器中普遍使用的硬件性能计数器收集的。采用在线检测方法检测攻击早期的恶意行为,而不是在损坏完成后进行离线检测。实验结果代表,使用训练的多层感知器分类器,只有0.77%的假阳性和0%的假阴性,具备很好的检测准确度。因为对幽灵的彻底缓解具备挑战性,如今主动检测此类攻击更为实际。

根据不一样类型的硬件设计缺陷和侧通道被开发,Spectre有许多变种。不断发现新变种,最近研究人员发现了一种新的推测性商店绕过漏洞[15]。可是,全部不一样的变体都使用侧通道来推断攻击最后阶段的机密信息。此外,隐身模式幽灵攻击一般无效。所以,咱们认为能够经过监视这些硬件侧通道的变化来检测恶意行为。该研究代表使用这种方法检测Spectre的可行性。将来的研究能够针对不一样配置下的其余攻击变体进行,例如在服务器和虚拟机环境中。

第三组:隐身操纵攻击

论文选题:All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems

  • 做者首先经过实现便携式GPS欺骗器并在实际汽车上进行测试来进行受控测量。
  • 做者设计了一种计算Th值的搜索算法,实时移动GPS偏移和受害者路线。
  • 做者使用跟踪驱动的模拟(曼哈顿和波士顿的600个出租车线路)进行普遍的评估,而后经过RE验证完整的攻击AL-世界驾驶考试(攻击做者本身的汽车)。
  • 做者对美国和中国的驾驶模拟器进行了欺骗性的用户研究。显示,95%的参与者遵循导航。最终到错误的目的地而不认识到攻击。
  • 做者用这些结果讨论了反措施向前发展的方向。
  • 做者探讨了对道路导航系统进行隐身操纵攻击的可行性

算法思路:

第四组:针对迁移学习的对抗性攻击

论文选题:With Great Training Comes Great Vulnerability: Practical Attacks against Transfer Learning

根据训练过程当中被冻结的层数K,能够把迁移学习分为如下3种方法:深层特征提取器(Deep-layer Feature Extractor)、中层特征提取器(Mid-layer Feature Extractor)、全模型微调(Full Model Fine-tuning)。

对抗性攻击就是攻击者经过设计一种有针对性的数值型向量从而让机器学习模型作出误判。白盒攻击中攻击者可以获知分类器的内部体系结构及全部权重。它容许攻击者对模型进行无限制的查询,直至找到一个成功地对抗性样本。黑盒攻击中攻击者不知道受害者的内部结构,攻击者要么尝试反向工程DNN的决策边界,建一个复制品用于生成对抗样本,要么反复查询生成中间对抗样本并不断迭代改进。这种攻击经常在最小的扰动下得到接近100%的成功,由于攻击者能够访问深度神经网络的内部结构,因此他们能够找到误分类所需的最小扰动量。然而白盒攻击通常被认为是不切实际的,由于不多会有系统公开其模型的内部结构。黑盒攻击容易被防护。

论文经过求解一个有约束的最优化问题来计算扰动。目标是是模拟隐藏层第K层的输出向量,约束是扰动不易被人眼察觉。即在扰动程度perturb_magnitude小于必定约束值(扰动预算P)的前提下,最小化对抗样本(扰动后的source image)第K层的输出向量与target image 第K层的输出向量的欧式距离。前人计算扰动程度都是使用Lp范数,可是它没法衡量人眼对于图像失真程度的感知。因此本文使用DSSIM计算扰动程度。论文还提出了3种针对本文攻击的防护方法,其中最可行的是修改学生模型,更新层权值,肯定一个新的局部最优值,在提供至关的或者更好的分类效果的前提下扩大它和教师模型之间的差别。这又是一个求解有约束的最优化问题,约束是对于每一个训练集中的x,让教师模型第K层的输出向量和学生模型第K层的输出向量之间的欧氏距离大于一个阈值,在这个前提下,让预测结果和真实结果的交叉熵损失最小。

第五组:未初始化读取漏洞缓解

论文选题:SafeInit: Comprehensive and Practical Mitigation of Uninitialized Read Vulnerabilities

做者经过在clang/LLVM编译器架构上,经过修改代码,实现了safeinit原型,在编译C/C++源代码时,传递一个标记便可使用safeinit实现优化编译,缓解未定义变量。使用了强化分配器的safeinit能够进一步优化代码的同时,保证全部须要初始化的变量进行初始化,删除多余初始化代码进行优化,这样既保证缓解了未定义变量漏洞的威胁,同时与其余现有方法相比,提高了性能。

  • 使用做者的工具链构建了最新的LLVM Linux内核树。
  • 做者定制了构建系统,以容许使用LTO,从新启用内置clang函数,并修改gold连接器以解决做者在符号排序时遇到的一些LTO代码生成问题。
  • 因为Linux内核执行本身的内存管理,所以它不会与用户空间强化分配器连接; 做者的自动加固仅保护局部变量。

在没有使用优化器的状况下应用时,运行时开销的(几何)平均值为8%。应用该优化器能够显着下降剩余基准测试的开销,与做者的基线编译器相比,致使CINT2006的平均开销为3.5%。 CFP2006的结果相似,以下图所示,平均开销为2.2%。

第七组:卷积神经网络用于句子分类

论文选题:[是Convolutional Neural Networks for Sentence Classification,做者是Harvard NLP组的Yoon Kim,而且开源了代码 sent-conv-torch。

单通道图像能够表示为一个矩阵,输入到CNN中,通过多组filter层和pooling层,获得图像的局部特征,而后进行相关任务。本文用拼接词向量的方法,将一个句子表示成为一个矩阵,这里矩阵的每一行表示一个word,后面的步骤仅采用一组filter、pooling层来获得句子的特征向量,而后进行分类。

这里,模型根据词向量的不一样分为四种:

  • CNN-rand,全部的词向量都随机初始化,而且做为模型参数进行训练。
  • CNN-static,即用word2vec预训练好的向量(Google News),在训练过程当中不更新词向量,句中如有单词不在预训练好的词典中,则用随机数来代替。
  • CNN-non-static,根据不一样的分类任务,进行相应的词向量预训练。
  • CNN-multichannel,两套词向量构造出的句子矩阵做为两个通道,在偏差反向传播时,只更新一组词向量,保持另一组不变。

论文在七组数据集上进行了对比实验,证实了单层的CNN在文本分类任务中的有效性,同时也说明了用无监督学习来的词向量对于不少nlp任务都很是有意义。

这里须要注意的一点是,static模型中word2vec预训练出的词向量会把good和bad当作类似的词,在sentiment classification任务中将会致使错误的结果,而non-static模型由于用了当前task dataset做为训练数据,不会存在这样的问题。具体可参看下图:

学习收获&建议意见

学习收获

从web安全到漏洞挖掘技术,从量子密码技术到深度学习的密码分析技术,从信息隐藏到区块链技术,一个学期一晃而过,再加上最后两次课的论文汇报,密码与安全新技术专题课程的六次教师讲座就这么结束了。

在本学习的课程学习中,我对密码和安全方面有了新的认识,对web安全、漏洞挖掘技术、量子密码技术、深度学习在密码分析的应用、信息隐藏和区块链技术等有了比较清晰的认知,也对本身在研究生阶段的研究方向和研究方法有了一些大体的想法。

我本科是学网络工程的,毕业设计作的是神经网络方面的内容,研究生阶段实验室的研究方向大体是密码安全方面及访问控制相关。在研一阶段看的论文很少,除了课程要求的相关论文外,只是大体看了导师要求的国密标准相关文档,这门专题课带着我看了几个细方向的论文,如SQL注入攻击、生成对抗网络、隐写技术及隐写分析、漏洞挖掘,也看了一些比较火的研究方向,如量子密码和区块链技术。这些顶会论文带个个人最大收获就是眼界上的开阔,以及研究方法和论文结构上的指导,这对于我研二的研究工做有极大的帮助。

收获主要概括为如下几点:

  • 要敢想敢干,找准方向,找到兴趣点,深刻研究,抓住机会,埋头苦干,不要怕吃苦,更不要想太多,不能失了年轻人的朝气。
  • 要多和老师交流,提出问题以后必定要找老师把关,分析可行性,看能不能出成果,有没有研究价值。研究生阶段是离不开老师指导的。

  • 深挖本身的研究方向的同时不能对其余的知识领域,尤为是主专业的其余研究方向放松,多学习多交流,有不少东西是共同的,并且不少技术的应用是能够结合起来的。

建议意见

我本人的可能更想作理论研究,功利一点来讲也想多发一些论文。这门专题课对我有很大的帮助。

意见建议概括为如下几点:

  • 前几回的做业要求里的顶会论文要求颇有意义,若是课时量能够加一些的话,我但愿能在平时课程中就让同窗们对本身每次看的几篇论文进行交流,由于平时你们的兴趣点也不太同样,论文交流不只能督促同窗们看的更细致,也能让你们开拓眼界。
  • 论文复现工做的交流方式其实能够不只局限于汇报演示,并且事实上也不须要分组完成,我是一我的一组完成复现工做的,工做量其实也没那么大,并且分组复现也带来不少没必要要的麻烦。我我的以为只要预留时间足够,彻底能够鼓励你们单独完成复现工做。

十分感谢王志强老师组织、讲解的专题讲座课程,也十分感谢张健毅老师、孙莹老师、金鑫老师、夏超老师几位老师的授课和对咱们的建议!

参考连接

相关博客连接:

论文报告连接:

相关文章
相关标签/搜索