2019年密码与安全新技术讲座-课程总结 告

一、教师讲座内容总结

讲座一、Web安全与内容安全

在本次讲座中,张健毅老师首先讲述了信息技术的发展阶段,接着讲了信息化发展凸显的信息安全问题,之后重点讲解了Web应用安全,包括常见的Web漏洞,如SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造等。另外,张老师还为我们介绍了隐私安全。

1. 信息技术的发展阶段

通信(电 /电话) -> 计算机 -> 络 -> 络化 会
信息安全的历史从通信开始。

2. 信息化发展凸显了信息安全问题

2010年6月 震 病毒(stuxnet病毒) -> 证明物理隔离也不一定安全
2015年9月 XcodeGhost -> 证明编译层面也可能存在安全漏洞

络威胁惊人,每天超过亿次GPT攻击,攻击方式:可探测 -> 可访问 -> 可掌控

威胁方-防护方的非对称性:

  • 攻防技术非对称
    大量自动化攻击工具的出现,使得入侵 络与信息系统的门槛降到极低。
  • 攻防成本非对称
    攻防技术的非对称带来了攻防成本的非对称。风险成本也极低。对于国家安全而言,攻防成本的非对称性具有特殊的意义。
    伪基站短信照片案例层出不穷。
  • 攻防主体非对称

3. Web应用安全

常见的Web漏洞:

漏洞名称 漏洞等级
SQL注入 高危
跨站脚本攻击漏洞 高危
Cookie欺骗 高危
CSRF(跨站请求伪造) 中危
Web信息泄露 中危
权限问题 中危
逻辑漏洞 中危
第三方程序漏洞 高危
Web服务器解析漏洞 高危
弱口令 高危
SSRF 中危

3.1 SQL注入

SQL注入本质是由于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询,篡改命令。

  • 按提交字符类型可分为:数字型、字符型、搜索型。
  • 按HTTP提交方式可分为:GET、POST、Cookie。
  • 按注入方式可分为:盲注、union注入、 错注入。

3.2 XSS跨站脚本攻击

当用户访问 页时, 攻击代码在用户的浏览器上被执行, 就形成了一次XSS跨站脚本攻击。根据XSS漏洞的原理可以将XSS跨站攻击划分成反射性XSS存储型XSS。对于反射性XSS, 攻击者需要欺骗用户点击一个恶意URL才能攻击成功。存储型XSS的危害相对来说更大一些, 攻击者提交的恶意代码, 会被Web服务器端接收并存储, 访问该 页的用户, 他们的浏览器会执行这段恶意代码。

3.3 CSRF跨站请求伪造

攻击者使用被攻击者的身份,以其名义发送恶意请求,会造成个人隐私泄露以及财产安全。

4. 隐私安全

当前许多企业和公司会对用户轨迹进行分析,导致用户隐私安全受到威胁。

讲座二、量子密码

在本次讲座中,孙莹老师为我们系统地讲解了量子密码的研究背景、量子密码的基本物理概念、量子密码典型协议BB84量子密钥分配协议、量子密码四个基本步骤、量子密码的研究现状即实验进展。

1 量子密码研究背景

传统密码

对称密码体制 公钥密码体制
优点 加密速度快,适合批量加密数据 可解决密钥分配、管理问题,可用于签名
缺点 密钥分配、密钥管理、没有签名功能 加密速度慢

实际使用时,多用混合密码体制:用公钥密码体制分发会话密钥,用对称密码体制加密数据。

传统密码的挑战

然而,这种传统密码受到了来自量子密码的挑战:基于大数分解的Shor算法和基于快速搜索的Grover算法能够迅速破解传统密码。

量子密码

量子秘钥分配(QKD)的特点:

  • 可以检测到潜在窃听行为。
  • 基于物理学原理,理论上可达到无条件安全。

也就是说,量子密码可达到无条件安全的保密通信。

2 基本物理概念

量子

微观世界的某些物理量不能连续变化而只能取某些分立值,相邻分立值的差称为该物理量的一个量子。

直观理解:具有特殊性质的微观粒子或光子。

量子态

  • 经典信息:比特0或1,可用高低电压等表示。
  • 量子信息:量子比特(Qubit) |0> (水平方向) |1> (竖直方向)

量子态的可叠加性带来一系列特殊性质

  • 量子计算的并行性:强大的计算能力
  • 不可克隆定理:未知量子态不可准确测量
  • 测不准原理:未知量子态不可准确测量
  • 对未知量子态的测量可能会改变量子态

量子比特的测量–力学量、测量基

  • 每个力学量都对应一个厄米算符(矩阵)
  • 测量某个力学量时,测量结果为此力学量对应厄米算符的本征值(特征值)
  • 测量后量子态塌缩到此本征值对应的本征态(特征向量)

3. 四个基本步骤

  • 信息传输
  • 窃听检测
  • 纠错
  • 保密增强

信息传输:通常用到两种信道

量子信道
  • 传输量子载体,例如:光纤、自由空间等。
  • 允许窃听者对传输的量子消息进行任意窃听和篡改。
经典信道
  • 传输经典信息,例如:测量基、测量结果等。
  • 基本假设:窃听者只能窃听经典消息而不能篡改它们。

窃听检测

  • 一般手段:随机选择部分量子载体,比较初末状态。
  • 对好的协议:窃听必然干扰量子态,进而引入错误。
  • 一旦发现存在窃听(错误率过高),则终止通信,丢弃相关数据。
  • 因为传输的是密钥(即随机数),而不是秘密消息,因此可以丢弃它们而不会因此泄露秘密。

纠错和保密增强:解决噪声问题

  • 理想情况(无噪声):有错误就认为有窃听
  • 实际情况(有噪声):噪声也会带来一定错误率
  • 对策:设定一个阈值,当错误率高于这个阈值时丢弃通信数据,反之保留(即允许有一定的错误)
    • Alice和Bob的密钥可能不完全一致
    • Eve可能在噪声掩饰下获得部分密钥信息
  • 纠错:纠正密钥中的错误
  • 保密增强:通过压缩密钥长度,将Eve可能获得的部分密钥信息压缩至任意小,得到安全的密钥

讲座三、人工智能与密码分析设计

在本次讲座中,金鑫老师主要分为五个部分为我们详细讲述了人工智能与密码分析设计的结合,包括技术背景、密码分析与机器学习、深度学习简介与现状、深度学习与密码分析、深度学习与密码设计。

1. 技术背景

AI+Security=AISec

  • 用AI和ML解决安全问题(让安全更智能):
    计算机取证、垃圾邮件检测、身份验证、 络钓鱼检测与预防、僵尸 络监测、入侵检测和响应、异常行为检测、恶意软件标识、数据匿名/反匿名、 会 络安全、大数据安全分析等。

  • 用安全性解决A问题(让AI更安全):
    分布式安全推理与决策、安全的多方计算和加密方法、隐私保护数据挖掘、差异隐私、验证码的设计与分析、人工智能信任和声誉方法、通过智能探测进行漏洞测试、生成训练和测试集的技术和方法等。

2. 密码分析与机器学习

密码分析与机器学习之间有天然的相似性:

对于机器学习
x为输入样本,F(x)为机器学习的模型(可以理解为一个函数),y为输出,如果是分类,则y是分类标签,如果是回归,则y是真实值向量。

对于密码分析
x为输入的明文,F(x)为密钥(可以理解为一个函数),y为加密后得到的密文。

从研究趋势来看,越来越多的密码分析方法开始使用机器学习结束,例如破解DES的遗传算法、用于侧信道分析的支持向量机算法等。

3. 深度学习简介与现状

人工智能(AI)/机器学习(ML)/深度学习(DL)

讲座四、信息隐藏

在本次讲座中,夏超老师为我们全方位讲述了信息隐藏相关知识,其中重点讲解了信息隐藏的重要技术–隐写,包括隐写技术、隐写分类、隐写分析等。

1. 从密码到信息隐藏

  • 保护保密通信的数据–加密,但密码方法不能解决以下两方面问题:

    • 1、保密通信的行为隐蔽性问题
      保护保密通信的事实–隐蔽通信(隐写)

    • 2、内容保护与内容认证问题
      密码保护数据,但是内容≠数据,内容个别肆意传播的问题要归信息隐藏“管”。

密码保护的是内容,而信息隐藏保护的是信息“传输”这个行为。

2. 信息隐藏

信息隐藏是指将特定用途的信息隐蔽地藏于其他载体(Cover)中,使得它们难以被发现或者消除,通过可靠提取隐藏的信息,实现隐蔽通信、内容认证或内容保护功能。

信息隐藏主要包括水印、可视密码、隐写等。

信息隐藏–鲁棒水印(Robust Watermaking)

鲁棒水印是重要的数字产权管理与安全标识技术之一,指将与数字媒体版权或者购买者有关的信息嵌入数字媒体中,使攻击者难以在载体不遭到显著破坏情况下消除水印,而授权者可以通过检测水印实现对安全所有者或者内容购买者等信息的认定。

信息隐藏–可视密码(Visual Cryptography)

可视密码技术使Naor和Shamir于1994年首次提出的,其主要特点是恢复秘密图像时不需要任何复杂的密码学计算,而是以人的视觉即可将秘密图像辨别出来。其做法是产生n张不具有任何意义的胶片,任取其中t张胶片叠合在一起即可还原出隐藏在其中的秘密信息。

信息隐藏–隐写(Steganography)

  • 隐写是基于信息隐藏的隐蔽通信或者隐蔽存储方法,将秘密信息难以感知地隐藏在内容可公开的载体中,保护保密通信或者保密存储这些行为事实。
  • 称隐写后的载体为隐写媒体Stego。

3. 隐写技术

隐写技术可被恐怖组织和非法团体等用于传递信息,从事分裂国家主权、破坏 会稳定等非法活动。

  • 为了有效遏制隐写的恶意使用,隐写分析已受到国内外学术界的广泛关注和高度重视,被诸多国家安全军事部门应用于实战之中。
  • 隐写分析是隐写的反向技术,主要用于检测媒体文件是否含有隐藏的信息,可用于对隐写媒体文件进行预警、阻断。
  • 隐写分析对抗隐写的主要手段:发现与识别隐写对各类特征的扰动。

    • 有效提取隐写分析特征。发现与提取对隐写敏感的特征。
    • 有效构造隐写特征识别系统。构造与训练能有效识别隐写分析特征的系统。
    • 有效获得先验知识。先验知识是指分析者知道的有关隐写者所采用的算法和参数等信息,它能帮助分析者更好地提取隐写分析特征并构造特征识别系统。

4. 隐写分类

  • 文本
    • 轻微改变字符间距
    • 不可见字符
    • (Office, PDF, HTML)的格式信息
  • 音频
    • MP3
    • AMR
  • 视频
    • 运动向量
    • 变换系数
    • 帧内/间预测模式、量化参数、熵编码
  • 图像
    • 空域图像
    • JPEG图像

5. 隐写

LSB嵌入

最简单且最普遍的隐写算法就是最低有效位嵌入算法(The Least Significant Bit, LSB)

每一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的公钥(俗称:地址)签署一个随机散列的数字签名,A将此数据签名制作为交易单T2并将其(交易单T2)广播全 ,电子货币就发送给了下一位所有者。

Block
  • 比特币 络中,数据以文件的形式被永久记录,称之为区块(Block)。
  • 记录交易单的数据单元叫做Block,一个Block上会记录很多交易单。
  • Block有很多份,每个Block只记录比特币全 10分钟内的交易信息,每约10分钟产生一个新的Block。
  • 每个新的Block含有的一定数额的比特币归创建者所有,此规则称为“激励”。

比特币虽然是电子货币,但比特币系统中并没有特定的数据结构用来单纯代表货币。本质上,比特币的存在是通过交易单来提现。通俗的来讲,现实生活中我们有实在的纸张来代表我们的货币(比如面值10块的RMB纸张代表着10块钱RMB),当我们去银行核对财务时银行也提供对账单来表示我们的货币去留。比特币的提现依托于交易单,交易单类似于银行的对账单,其通过记录货币的去留来证明你有多少货币,而不是提供给你具体的货币单元。

挖矿工作

生产Block的过程,被形象的称为“挖矿”,生产工也被称为“矿工”。

挖矿过程实际上就是反复去尝试寻找一个随机数(又称“幸运数”),使得将最后一个Block的hash值、当前世界中尚未被加入到任何Block的交易单、随机数三部分组织起来送入SHA256算法计算出散列值X(256位),如果X满足一定条件(比如前20位均为0),那么该节点初步获得创建Block的权利。

工作量证明难度系数

对于每个Block存在一个难度系数,此系数可以转换为一个256位的整数,挖矿计算出的Hash值X必须小于该整数,此条件作为寻找随机数的附加条件。
当某时刻 络检测到新Block的产生速度不符合约10分钟一个时,将调解该系数(加大或者缩小),从而使下一个Block的产生速度符合预期。

每当节点(矿工)计算出了一个符合条件的随机数时,它仅仅获得了创建临时Block的权利,它立即将相关数据打包好作为一个临时Block并广播全 。
每10分钟内全 不止一个节点能计算出幸运数字,即十分钟内会有多个节点在 络中广播它们各自打包好的临时Block(都是合法的)。通过谁先计算出谁后计算出来决定接受谁的临时Block转正显然很难做到,因为所有节点的时间不可能严格一致(而且可以任意被调节),而且 络传输有快有慢。

Block链分支

某一节点若收到多个针对同一前续Block的后续临时Block,则该节点会在本地Block链上建立分支,多个临时Block对应多个分支。
从block hash算法我们知道,合理的block并不是唯一的,同一高度存在多个block的可能性。那么,当同一个高度出现多个时,主链即出现分叉(Fork)。遇到分叉时, 络会根据下列原则选举出Best Chain:

  • 不同高度的分支,总是接受最高(即最长)的那条分支
  • 相同高度的,接受难度最大的
  • 高度相同且难度一致的,接受时间最早的
  • 若所有均相同,则按照从 络接受的顺序
  • 等待Block Chain高度增一,则重新选择Best Chain
分支博弈

我们假设所有的节点都是理性的,追求收益最大化;都是不诚实的,且不惜任何手段获取利益;所有节点均独自挖矿不理会其他节点,并将所得收益放入自己口袋,现象就是一个节点挖一个分支。由于机器的配置总是有差别的,那么算力最强的节点挖得的分支必然是最长的,如果一个节点的分支不是最长的,意味其收益存在不被认可的风险(即零收益)。为了降低、逃避此风险,一些节点肯定会联合起来一起挖某个分支,试图成为最长的分支或保持最长分支优势。
一旦出现有少量的节点联合,那么其他节点必然会效仿,否则他们收益为零的风险会更大。于是,分支迅速合并汇集,所有节点都会选择算力更强的分支,只有这样才能保持收益风险最小。最终,只会存在一个这样的分支,就是主干分支(Best/Main Chain)。
对于不诚实节点来说,结局是无奈的:能且只能加入主干挖矿。不加入即意味被抛弃,零收益;加入就是老实干活,按占比分成。

区块链技术

点对点对等 络

  • 格 络
  • 权限对等、数据公开
  • 数据分布式、高冗余存储

共识机制

  • 工作量证明(PoW)
  • 权益证明(PoS)
  • 基于信任的Quorum

PoS是PoW的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。在一定程度上缩短了共识达成的时间,但还是需要挖矿,本质上没有解决商业应用的痛点。

共识机制防止了“双重支付”

  • 信息复制的零边际成本vs价值的唯一不可复制性
  • 信息互联 ->价值互联

数据可验证

  • PKI公钥体系
    • 数字签名提供密码学证据
    • 零知识证明
  • 不可变数据
    • 不可变数据+时间戳,为互联 加上了时间轴

奖励合作的制度设计

  • 非合作博弈–不基于信任,无外部强制力
  • 合作是一种演化稳定策略,合作达到纳什均衡
  • 51%攻击问题

51%攻击

攻击步骤:
  1. 将手中的BTC充值各大交易所,然后卖掉,提现;或者也可以直接卖给某人或某一群人;
  2. 运用手中的算力,从自己对外付款交易之前的区块开始,忽略自己所有对外的付款交易,重新构造后面的区块,利用算力优势与全 赛跑,当最终创建的区块长度超过原主分支区块,成为新的主分支,至此,攻击完成;
攻击结果:

由于撤销了所有对外付款交易,等于收回来所以已卖掉的比特币。

可行性评估:

现在比特币全 算力差不多90T,而且还会快速增长,现在看来只有现在的几大矿池联合,才具有发动51%攻击的实力,普通个人或机构实施此攻击的可能性越来越小。

讲座六、安全漏洞利用与挖掘

在本次讲座中,王志强老师通过具体漏洞挖掘示例为我们详细介绍了常见的漏洞挖掘技术以及漏洞挖掘技术的研究进展。

1.常见漏洞挖掘技术

1.1 手工测试

  • 定义:由测试人员手工分析和测试被测目标,发现漏洞的过程,是最原始的漏洞挖掘方法。【凭经验依次检验每个可能产生漏洞的脆弱点

  • 优点:人-主观能动性-显而易见和复杂不易见
  • 缺点:人-无规律可循、不可大规模等

1.2 补丁比对

  • 定义:一种通过对比补丁之间的差异来挖掘漏洞的技术。
    • 文本(难定位,难出难理解)
    • 汇编指令(易理解,输出范围大,难定位)
    • 结构化(迅速直观,流行)
  • 优点:发现速度快
  • 缺点:已知漏洞
  • 常见工具:PatchDiff2、bindiff

1.3 程序分析

程序分析包括静态和动态

静态程序分析
  • 定义:是指在不运行计算机程序的条件下,通过词法分析、语法分析、语义分析、控制流分析、污点分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
  • 优点:覆盖率100%,自动化程度高
  • 缺点:漏 和误 (RICE,程序分析问题不可判定)
动态程序分析
  • 定义:在运行计算机程序的条件下,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
  • 一般通过插桩技术分析程序的异常行为。

插桩技术是指在保证被测程序逻辑完整性的基础上在程序的关键位置插入一些“桩”,即加入一些测试代码,然后执行插桩后的程序,通过“桩”的执行获取程序的控制流和数据流信息,进而分析程序的异常行为。

  • 优点:自动化程度高、覆盖率较高
  • 缺点:漏 和误 (RICE,程序分析问题不可判定)、冗余代码间开销 ↑
  • 定义:源代码不可得,通过逆向获取二进制代码,在二进制代码层次上进行安全评估

  • 逆向导致信息丢失,理解困难,甚至引入逻辑错误。

1.5 模糊测试

  • 定义:通过向被测目标输入大量的畸形数据并监测其异常来发现漏洞
  • 关键:测试用例构造,自动化

  • 优点:无须源码、误 低、自动化程度高
  • 缺点:覆盖率低
  • 工具:Peach、Sulley、Autodafe、SPIKE等

MassVet结构:

运行结果

  • 非目标攻击:将source image x_s 误分类成任意其他的source image 所属标签

    讲座6 操纵机器学习:回归学习的中毒攻击与对策

    • 对线性回归模型的中毒攻击及其对策进行了第一次系统研究。
    • 提出了一个针对中毒攻击和快速统计攻击的新优化框架,该框架需要对培训过程的了解很少。
    • 采用原则性方法设计一种新的鲁棒防御算法,该算法在很大程度上优于现有的稳健回归方法。
    • 在案例研究健康应用中证明了中毒攻击的真实含义。

    系统架构

    • 理想世界:学习过程包括执行数据清理和标准化的数据预处理阶段,之后可以表示训练数据;
    • 测试阶段:模型在预处理后应用于新数据,并使用在训练中学习的回归模型生成数值预测值;
    • 对抗性世界:在中毒攻击中,攻击者在训练回归模型之前将中毒点注入训练集。

    1511102-20190617074454290-49156348.png

    三、感想与体会

    在这门课的六次教师讲座+7个学生讲座中,我学到了不同研究方向的密码新技术,涉及面很广,虽然有些东西并不能在课上完全听懂,但是通过课下的查找资料,阅读相关研究方向的经典/最新论文,就基本能了解这个方向,受益良多。另外,本门课的论文阅读复现部分,因为之前在实验室做过深度学习相关的实验,且本科的第三次教师讲座中,金鑫老师也讲的是人工智能与密码的结合,所以我们小组选择了一篇关于迁移学习攻击的18年论文。这次论文阅读复现工作拓宽了我对深度学习安全性的认知,并且使我的英文论文阅读理解能力、团队合作能力、课堂演讲能力得到了很大的提升。总体来说,本门课不论是讲座部分,还是论文阅读复现部分都对我帮助很大。

    四、对本课程的建议和意见

    • 建议论文复现部分可以更早一些开始,不然时间不够。
    • 建议论文复现部分老师可以给几篇推荐的参考题目或方向,或由本课各个讲座的授课老师推荐本讲座研究方向的几篇经典/最新论文。

    文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114040 人正在系统学习中 相关资源:陈式太极拳教学软件+注册机1-专业指导文档类资源-CSDN文库

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

  • 上一篇 2019年5月13日
    下一篇 2019年5月13日

    相关推荐