目录
1.区块链安全机理
1.1数据完整性
1.2数据可用性保护
1.3区块链来源——比特币
1.4区块链的架构与分类
1.5 智能合约
1.6区块链的密码学支撑
1.7区块链协议
1.7.1区块链本质上是一个分布式数据库。
1.7.2 2016年提出了区块链“胖协议”
2.区块链系统面临的安全威胁
2.1区块链特有安全性威胁一交易所安全
2.1本质是:去中心化与监管的冲突
2.1效率瓶颈
2.2安全与隐私
2.3分步式身份安全问题
2.3.1区块链网络
2.3.2应用安全威胁
2.4 软件&系统安全技术
2.4.1 代码的混淆与虚拟化
2.4.2 代码审计与恶意检测和防护
2.4.3 日志审计与漏洞修复
2.4.4 渗透测试&攻防对抗
2.5 数据隐私安全&访问控制
2.5.1 数据传输隐私安全
2.5.2 认证鉴别权限控制
2.6 分步式数字身份
2.7 隐私保护
3. 拟态现象与拟态防御
3.1拟态现象
3.1防御者视角
4.网络空间拟态防御
4.1基本技术
4.2实现基础
4.3实现代价
4.4主要缺陷
5.区块链系统安全分析与拟态解决思路
5.1 区块链的安全性与用户的利益
5.2 数据层 编辑
数据链路层协议面临的问题
实现、系统安全性应对
解决方法——从自然界中得到启发
6.联盟链监管
6.1 自优化的区块链违法违规信息智能感知技术
6.2 基于多链取证的区块链数据取证技术
6.3 面向多监督的分布式门限签名决策体系
6.3.1 方案流程
6.4 链上违法违规信息分级处理技术
6.4.1 关键信息屏蔽技术流程
6.4.2 轻量级交易标记删除技术流程
6.5 多维度统计及可视化平台
7 密码技术
7.1密钥内生与密钥演进
7.2前向安全数字签名体制
7.2.2多重数字签名在联盟链共用机制中的应用
7.2.3前向安全:数字签名、加密解密、密钥协商
7.3后向安全数字签名
7.3.1前向安全是必要的
8.数据链路层
8.1保护用户私钥
8.1.1最优门限签名算法
8.1.2保护用户私钥
8.2解决交易可锻性问题
8.3解决隐私泄露问题
9.网络层
9.1负责区块链节点之间的通信
9. 2P2P: peer-to-peer 网络
9.3 网络层协议面临的问题:
9.3.1Sybil Attack (女巫攻击) :
9.3.2DDoS (Distributed denial of service attack) :
9.3.3 Eclipse attack:
1.对应女巫攻击
2.应对DDoS攻击
3.应对Eclipse攻击
9.共识层简要
9.1 共识层协议面临的挑战
9.2 提升处理交易能力
9.3 防止分支
10.激励层
10.1激励层协议面临的挑战
10.1.1自私挖矿攻击 :
10.1.2Nothing at stake攻击:
10.1.3 扣块攻击:
10.1.4 应对自私挖矿等攻击
10.2分配机制
10.合约层
10.1智能合约代码
10.2 主要问题
10.3 智能合约审计
10.4 隐私泄露问题
11.应用层
11.1 主要问题
11.1.1跨链困难:
11.1.2.监管困难:
11.2跨链
11.2.1Interledger协议
11.2.2 Cosmos
11.3 区块链监管
11.3.1国内:
11.3.2 美国:
11.3.3 日本:
区块链的定义
区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
- 区块链系统是一个分部式系统——共享与存储
- 块链式的数据存储结构
- 数据和时间绑定——数据的保真性 收据产生的合理性 数据的完整性
- 为了篡改或破坏一个区块链系统,黑客需要同一时间成功入侵区块链系统的多个节点
- 拥有许多节点的大型区块链网络受到黑客攻击的风险较低,渗透这种网络的复杂性大大增加。
- 区块链技术可用于日志保护
- 区块链技术有利于追踪黑客攻击,网络入侵者通常会清除权限日志,以隐藏未授权访问设备的痕迹,但是如果日志分步在多个设备中(如区块链技术),则可以降低风险。
- 区块链技术可抵抗DDoS攻击
- 基于区块链的每一个节点都具备完整的数据,并且能够对其他节点进行有效验证。
- 黑客发现识别和利用单个漏洞点的难度更大
论文提到了比特币的数字货币,与此前的数字货币方案本质区别:
- 不需要例如“中央银行”这样的可信任的第三方
- 不使用盲签名等金融密码学技术
- 安全的基础也不再是某个具体的复杂度假设
- 创造性地提出了一种叫区块链的新型技术,整个方案的安全性完全依赖于此技术
区块链的每个参与者都保存一个账本【账本中的一页叫做一个“区块”】
根据组成节点的类型,可用分为
1.7.1区块链本质上是一个分布式数据库。
这个分布式数据库预先定义了一系列规则,这些参与节点必须同意的规则称为区块链协议。
1.7.2 2016年提出了区块链“胖协议”
2.1区块链特有安全性威胁一交易所安全
2020年9月9日,欧洲加密货币交易所 Eterbase 被黑客攻击,6个钱包被入侵,盜窃 BTC 、 ETH 、 XRP 、 tezos 、 algorand 和 TRO 并将其转移到公共钱包中,大约总价值540万美元的资金被盜走。
随着区块链的快速发展,针对区块链的各种威胁漏洞也逐渐被发掘,安全事件层出不穷。
由于缺乏有效的感知防御策略,基于区块链的平台和应用在攻击下造成的经济损失逐年增加。
比特币 | 以太坊 | |
交易模式 | UTXO | 账户余额 |
效率 | 7tx/s | 28otx/s |
出块时间 | 10min | 14s |
块大小 | 1MB | 40KB |
隐私 | 交易信息公开 | 交易信息公开 |
监管 | 欠缺 | 欠缺 |
- 中小型金融机构:几十到几白tx/s
- 大型金融机构:几千到几万ts/s
现实需要
- 保护用户隐私,支持匿名交易
- 严格监管、支持案件调追踪
- 防止对同一货币的再次使用
智能合约
- 编码状态机中对逻辑错误
- 不对等的激励,针对交易算法时序进行的一种攻击
- 调用栈bug
2.3.1区块链网络
- 攻击者入侵、修改、伪造系统中区块链节点,改节点不可信,对交易造成威胁
接入网安全威胁
- 网络耦合安全威胁
- 身份认证机制安全威胁
2.3.2应用安全威胁
- 数据的非法访问
- 车辆的大数据安全
- Sybil攻击
- 虫洞、黑客攻击
在基于区块链的分布式身份中,不论是智能合约还是终端移动APP,本质上都是通过代码编写而成的各种程序,因此代码安全与分析是重中之重
从代码层级上,保护分布式身份关键秘钥和核心系统安全,以抵抗攻击者的逆向破解
通过专业人员审计和制定,和成熟的检测和防护技术,形成对恶意代码注入的有效防护
针对遭受攻击的系统,通过对日志文件进行审计分析,及时发现不足并修复,以防患未然
通过对目标系统进行渗透测试与攻防对抗,在加固系统安全同时,也可以培养所需技术人才
跨链数据传输场景中,网络通信的有效距离高,可针对通信过程进行嗅探或者攻击,进而获取用户隐私信息(绝大多数为明文),以此进行身份窃取或伪装,执行未经授权的操作
敏感数据的传输需要保护隐私:
通过利用差分隐私、茫然传输、同态加密、多方安全计算等隐私保护技术,确保分布式身份和验证声明数据传输过程中隐私安全
通过身份的鉴别与认证进行权限控制:
对系统进行访问控制,通过利用密钥共享技术、安全密钥分发与管理技术与基于 PKI 的身份鉴别。对与系统进行访问交互个体进行权限身份检测,防止黑客入侵。
、
一种生物在形态,行为等特征上模拟其他一种生物或环境,一发方或双方受益的生态适应现象。
生物体用视在效果造成对象的认知困境,以此获得生存优势的拟态现象,按防御行为分类可以将其列入积极防御的范畴,称为拟态防御
拟态防御:以不确定性防御应对网络空间不确定性威胁
核心思想:
- 利用一个效应,生物基于拟态现象实现的拟态防御效应
- 导入一种架构,动态异构冗余架构DHR
- 引入一种机制,输入指派与“去协同化”’条件下策略裁决与调度机制
- 获得一种非线性安全增益,基于架构机理获得内生防御增益
- 用目标环境视在的不确定性应对网络空间未知安全风险和不确定威胁
- 在功能等价,开放的多元化生态环境上,将复杂目标系统的自主可控问题转换为简单附加部件(拟态括号)的可控可信问题
CMD意愿
- 能够应对拟态界内未知漏洞或后门等导致的未知风险或不确定威胁
- 防御的有效性不依赖但可以融合现有的防御手段或方法
- 不以拟态内构件的“绝对可信”为前提,可以“有毒带菌”运行
- 动态异构冗余
- 多维动态重构
- 复合调度策略裁决
- 去协同化
- 随机化,动态化
- 单线联系
- 容器虚拟化
- 容错技术
- 相异性设计
- 复杂性与成本弱相关
- 开源模式多样性
- 多样化编译器
- 标准化开放架构
- 可重构可重组时代
- 虚拟化时代
- 网安需求旺盛
- 云计算时代
- 非相似性设计
- 拟态显现调度
- 卷回与清洗
- 环境再同步
- 裁决时延
拟态界内或拟态括号内:
- 构件代价至多是线性增加
- 防御能力则是非线性提高
- 极大降低生存周期防护成本
一般来说,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层等六层组成。
➢数据层协议:
●链式结构: 每一个区块都通过“父区块哈希值”指向前一个区块,这样所有区块构成了一条长长的链。
●Merkle树: - 一个区块中的所有交易构成- 棵Merkle树
●加密协议: 椭圆曲线数字签名算法、hash256等
●时间戳协议: 记录区块的诞生时间
●密钥管理不当:区块链密钥容易遭受字典攻击、钓鱼网站攻击、和侧信道攻击。
●交易可锻性:比特币交易存在交易可锻性问题,即改变签名字符串或scriptSig值可以改变交易的哈希值(ID),并且不影响交易的进行。
例: 1、黑客向交易所发起一一笔提现交易
2、黑客在交易被区块链确认之前修改了这笔交易的交易ID3、黑客向交易所声称没有收到金额。交易所查询交易ID后发现转账失败,于是再次转账。
●隐私泄漏: 比特币的非对称加密并不能很好的保护用户的身份隐私和交易隐私。攻击者利用交易聚类分析和交易图谱公析可以推测出交易者的身份和交易内容。
- 使用安全的密码货币钱包(冷钱包、多因子验证钱包)
- 选择可靠的交易所
- 保护私钥(安全白盒软件加密、安全密钥分片存储保护)
- 使用安全的随机数发生器(量子随机数发生器、物理随机数发生器)
1.加强区块链中智能合约的安全性验证
- 智能合约形式化验证
- 智能合约异构化
- 智能合约逻辑简化
2.采用传统网络防御手段
- 关闭相关端口
- 硬件防火墙等DDoS攻击
3.加强区块链标准制定
- 密码算法标准
- 智能合约标准
- 数据结构标准
4.采用新型区块链安全防御手段
- 动态防御终端
- 异构冗余机制
1.拟态现象(拟态章鱼)
2.群飞
根据上述生物学中的拟态现象和群飞、群游现象,提出了拟态群体异构体系结构,MCH体系结构
- 区块链系统中的部件可以根据应用场景动态调整变化
- 不同部位的不同实现方式,完成统一的目的
- 系统的部件异构,构建最合适应用的区块链系统
针对特定的应用场景,选择合适的异构部件,构建最优的体系结构,达到目的。
- 发起方发起违规信息仲裁请求,将违规信息分发给多个监管方。
- 监管方利用自己的私钥对投票信息进行签名,并发送给智能合约。
- 智能合约对各个投票信息与对应的签名进行验证,令合法的签名数量为 n 。
- 对于预设的阈值 t ,若 n > t ,则智能合约能够还原完整的签名 S , S 验证通过后则认判断该信息为违规信息。
- 若 n く t ,智能合约无法构造出完整签名则判断该信息为合规信息,不做处理。
- 用户端SDK接入点设置基于标准正则匹配的信息访问过滤器
- web 服务器端接入 SDK ,监管机构通过在 web 服务器上设置规则,将规则部署于 web 服务器上。
- 用户通过 web 服务器向业务链发送数据访问请求时,数据根据规则进行匹配,若违规会进行屏蔽。
- 业务链上部署统一操作接口的智能合约。
- 每个合约都在监管节点的链下部分进行注册。
- 对于需要屏蔽的信息,调用这些合约进行查询。
- 如发现违法违规信息,则通过合约接口向业务链写入追加覆盖的标记
- 正常业务合约访问时检测到对应标记则返回空内容,从而实现信息的标记删除。
链式结构 + 分布式 + 密码学 + 智能合约 = 区块链
公钥体系 + 哈希函数 + 数字签名 + 完整性认证 + 零知识证明 = 密码学
密钥:加密 解密 ;数字签名 ;数字货币钱包.......
区块链态势感知(运行状态)——> 触发条件(阈值设计)——>新密钥(密钥演化)
密钥演进方法
- 利用随机数进行密钥更新
- 定期更新
- 密钥派生技术
- 硬件存储器辅助更新
- 明文密钥更新
- 密态密钥更新
- 前向安全,是密码学中通讯协议的安全属性,指的是长期使用的主密钥泄漏不会导致过去的会话密钥泄漏。前向安全能够保护过去进行的通讯不受密钥在未来暴露的威胁。如果系统具有前向安全性,就可以保证在主密钥泄露时历史通讯的安全,即使系统遭到主动攻击也是如此
- 在联盟链和PoS(权益证明)中,每个交易区块需要验证委员会合作签名确认,有效后才能传播并存储在区块链中
- 使用密钥演化密码学,该技术要求用户演化其密钥,以使即使在完全暴露其当前秘密状态的情况下也无法伪造过去的签名。
在当前密钥泄露的情况下,以后时段的密钥不可获取,以后时段的数字签名不可伪造;
在前向安全的密码体制中,有一个不可避免的弱点:一旦某一时间段的密钥泄露,则该时间段之后的所有密钥均可得到,从而整个密码体制将崩溃。
区块链内生安全密码学方法不仅包括前向-后向安全数字签名、加密解密、密钥协商,还包括密钥安全存储与防护技术、关键密码算法自适应组合技术、基于冷热钱包的密钥安全技术、适用于区块链的新型国产密码算法、安全多方计算技术等。
8.1.1最优门限签名算法
8.1.2保护用户私钥
为了解决比特币钱包的密码泄露问题,Jarecki等 人提高了PPSS(Password-Protected Secret Sharing)方案的效率,并且证明了改进方案UC (Universally Composable)安全性。
主要贡献:效率高、不依赖公钥基础设施和安全通道、具有UC安全性
- 为了防止攻击者篡改交易ID,Ubaidullah等人将最终交易哈希和没有签名的交易脚本作为新的交易ID。
- Sasson等人采用简洁性非交互式零知识证明(zk- SNARKs)和-一个承诺方案提高区块链的隐私保护性。该方案可以同时保护用户的身份隐私和交易隐私。
9.1负责区块链节点之间的通信
主要包括区块链网络的组网方式和区块链节点之间的通信机制
9. 2P2P: peer-to-peer 网络
Stratum: stratum协议是目前最常用的矿机和矿池之间的TCP通讯协议
传播机制、验证机制:交易和区块的传播和验证机制9.3 网络层协议面临的问题:
9.3.1Sybil Attack (女巫攻击) :
- 女巫攻击是指攻击者利用单个节点来伪造多个身份,以达到监视或干扰P2P网络正常活动的目的。
9.3.2DDoS (Distributed denial of service attack) :
- 分布式拒绝服务攻击是指处于不同位置的多个攻击者同时向一一个或数个目标发动攻击
9.3.3 Eclipse attack:
- 攻击者控制一个受害节点的所有连接,并确保受害者节点不再从网络中接收正确的信息。
1.对应女巫攻击
- Pim等人提出了一个新的反女巫攻击算法NetFlow。NetFlow可 以保证网络中的节点既索取资源也贡献资源,因此可以过滤掉伪造节点。
2.应对DDoS攻击
①为了分析DDoS攻击,Johnson等人提出了一种博弈论分析法。该方法分析出大矿池更容被DDoS攻击,且更愿意发动攻击。
②Eyal提出 了一个类似囚徒困境的协议-矿工困境。在该协议下,发动DDoS攻击的矿池会损失一定 的比特币。3.应对Eclipse攻击
Heilman等人提出了日蚀攻击的概念,并且设计了一个提高日蚀攻击门槛的方案
➢共识层负责确保各节点在没有中心机构的情况下保存同一份可信的账本
➢共识层协议:
PoW (Proof of Work):工作量证明机制。优点:安全性高;缺点:浪费电力,效率低,趋向中心化(矿池)
●PoS (Proof of Stake):股权证明机制。优点:效率高;缺点:拥有大量代币的用户可以坐享其成
●BFT: 拜占庭容错算法。优点:可扩展性好,转账费用低;缺点:部分中心化
●Casper: 以太坊下一代共识机制,包括“出块”和“投注”两个活动
●分片技术:为了提高区块链的可扩展行,让每- -笔交易只让-一小部分节点看到和处理。
9.1 共识层协议面临的挑战
弱- -致性: PoW、PoS等共识机制存在分叉现象
扩展性差: Visa每秒能处理约45000笔交易,而比特币每秒大约可以处理7笔交易,以太坊每秒可以处理10-20笔交易
- 2016年,Luu等人第一-次提出将分片技术应用到区块链领域。他们提出的ELASTICO链将挖矿网络(安全地)平行地划分为更小的委员会,每个委员会处理- -组互不关联的交易。
- Eleftherios等人利用分片技术设计了OmniLedger账本。OmniLedger的处理交易能力与Visa相当,同时具备区块链的安全性和去中心化特点
- Ouroboros方案将安全多方计算(MPC)与PoS结合, 增强了PoS的致性。但要求节点持续线,无法保证新节点的安全加入。
➢激励层负责经济激励的发行机制和分配机制等,主要在公有链中出现
➢激励层协议包括:
●发行机制: 发行新币的机制,例如比特币通过Coinbase交易发行新币。
●分配机制:基于PoW的区块链系统中,大量的节点会选择加入矿池。矿池通常采用(PPLNS (Pay per last N shares)、PPS (Payper share)和PROP (PROPortionately))等机制分配奖励。.
10.1.1自私挖矿攻击 :
挖到区块后不公布,而是继续挖矿,然后,根据策略择机公布
10.1.2Nothing at stake攻击:在PoS机制中,矿工在两个区块链分叉后均进行挖矿。这种攻击增加了区块链分叉和双重支付的概率
10.1.3 扣块攻击:一些矿池通过委派部分矿工加入到目标矿池贡献无效的工作量,分得目标矿池的奖励
●Eyal提出了-种直接应对自私挖矿的方案:当一个矿工面对相同长度的多个分叉时,转发分叉信息并随机选择-一个分叉。
●Heilman引入 了Freshness Preferred(FP)的概念。FP放置时间戳到区块中,并且选择拥有最近时间戳的区块。这样扣块的矿工就无法发布被扣押的区块。
●Zhang提出 了一种更鲁棒的解决方案。该方案可以自动忽略没有及时公开的块。
- Luu等人设计了-种名为”SmartPool”的分布式挖矿协议。
- SmartPool协议运行在分布式区块链上,允许矿工利用智能合约进行分布式挖矿,并且可以保证矿工获得低方差的奖励。
- 负责封装区块链系统的各类脚本代码、算法以及由此生成更为复杂的智能合约
pragma solidity >-0.4.0 <0.7.0;
contract SimpleStorage {
fuint storedData;
function set(uint x) public{
lstoredData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
➢合约层包含脚本、算法以及智能合约,涉及数字资产转移问题,因此面临着诸多挑战。
●代码漏洞:智能合约通常由脚本语言编写,因此难免出现漏洞。主要面临的漏洞有:
交易顺序依赖漏洞:交易顺序的错误执行对合约造成负面影响
时间戳依赖漏洞:合约代码依赖时间戳,时间戳依赖矿工未处理异常漏洞:没有正确检查异常信息
可重入性漏洞:利用fallback函数递归调用合约
●隐私泄漏问题:智能合约普遍是公开的,涉及的用户账户、交易等信息容易暴露在整个网络中。
1.Oyente分析器发现了四种潜在的智能合约漏洞,分析了19366份以坊智能合约,发现8833份合约是易受攻击的。
2.Security是一个全自动化的以太坊智能合约分析器,可以通过给定的属性断定合约行为是否安全
3.Mythril分析器使用符号执行、可满足性模理论和污点分析检测合约漏洞
为了保护智能合约的交易隐私,Ahmed等提出了Hawk框架。使用Hawk框架的合约开发者无需了解密码学和隐私保护的知识,编写私有智能合约就能保护交易隐私
1.负责封装区块链的各种应用场景和案例
2.目前搭建在区块链上的应用还偏向于金融、抽奖和游戏。区块链的未来取决于应用层的完善程度3.区块链技术被广泛应用于社交、医疗、物品溯源等领域
11.1.1跨链困难:
面对数量众多的异构区块链应用,亟需跨链技术将它们连接起来,构建互联、互通、互信的区块链应用网络
11.1.2.监管困难:区块链去中心化、不可篡改、匿名等特点却增加了监管机制设置的难度
11.2.1Interledger协议
通过一一个或多个第三方连接器账户进行资金托管,形成跨链交易路径,可以保证两个异构区块链之间的代币兑换
11.2.2 Cosmos
是Tendermint团队推出的-一个支持跨链交互的异构网络,目标是创建一一个区块链互联网,允许大量自主且易开发的区块链互相扩展和交互
11.3.1国内:
- 2016年12月,在国务院印发的《“十三五”国家信息化规划》中,区块链技术首次被列入《国家信息化规划》
- 2018年8月24日,银保监会、中央网信办、公安部、人民银行、市场监管总局五部门《关于防范以“虚拟货币”“区块链”名义进行非法集资的风险提示》
- 2019年01月10日,网信办发布了《区块链信息服务管理规定》
11.3.2 美国:
- 美国监管机构将比特币界定为“可转化虚拟货币”,受《银行安全法》监管,对于比特币可能涉及的洗钱问题则由美国金融犯罪执法网络执法监督
11.3.3 日本:
- 2016年5月25日,日本国会通过了《资金结算法》的修正案,正式将包含比特币在内的“虚拟货币”纳入了法律规制的体系内