公链和DDOS攻击:防守反击型节点设计

2018 年 7 月 3 日 安全优佳
点击上方 “安全优佳” 可以订阅哦!

引言

DDOS(DistributedDenial of Service)分布式拒绝服务攻击,是最常用、最粗暴的网络服务攻击手段,其破坏性巨大。其主要特征是处于不同位置的多个攻击者同时向一个或者数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置的多台机器并利用这些机器对目标同时实施攻击,恶意造成网络服务不能正常运转从而不能向正常用户提供所需要的服务或者使得服务质量降低。针对区块链公链的节点分布式特征和区块数据全网同步特征,本文设计了一种有效的区块链防守攻击型节点机制,在防范对区块链节点做DDOS攻击的同时,可对攻击者发起惩罚性反击,震慑并提高其做恶成本,维护合法DAPP开发者对区块链的正常使用。

攻击方式

区块链公链作为一个开放的分布式数据库,最容易被进行DDOS攻击,攻击的技术方式一般有如下三种:

(1) 攻击者向公链主网节点或公开节点服务器端口,使用Socket发起TCP请求,在建立通信前基于TCP三次握手协议,首先要协商,正常情况下,客户端发送一个SYN数据包表示要进行通信,服务器收到该SYN包后回应一个ACK确认包,客户端再回应一个确认包后握手通信就完成了。攻击者通过操纵多个主机向被攻击的服务器发送SYN数据包,当服务器回复ACK确认包后,主机不再回应,这样服务器就会保持这个半连接的并等待,这些很多的半连接会耗费极大的服务器I/O等资源,导致服务器不能正常工作。

(2) 攻击者使用无连接的UDP协议或ICMP协议,在短时间内向区块链节点发送大量无用的数据包,饱和节点服务器的带宽、内存和CPU资源,导致服务器的拥塞和瘫痪。

(3) 攻击者仿造正常DAPP应用,批量高频地向区块链发起伪交易,制造大量的垃圾交易数据,区块链作为一个分布式数据库对业务数据语义本身是没有判断标准和判断能力的,这些数据会被正常打包进入区块,造成区块数据庞大,严重影响区块节点数据的同步效率和交易响应时长。

防守反击

针对不同的区块链DDOS攻击方式,防守和反攻的方式不尽相同:

(1) 利用对称性判断分析TCP攻击,通过检查TCP链接池状态,统计是否有大量ACK包存在并判断其活动状态,对异常链接主动断开并收回系统I/O资源。

(2) 根据业务UDP包大小的正常范围,过滤异常包大小的流量,丢弃UDP碎片。

(3) 直接过滤ICMP报文,如禁止PING协议等。

(4) 对伪交易型攻击,根据区块链的特征其交易的发起都来自特定节点,主网官方节点通过大数据实时分析,监控异常节点及IP操作频率如下面公式,实时进行阀值云控和自动配置,并根据所操作合约地址来跟踪其变化的节点IP。防守的机制有限制节点可连接源IP的连接数、主动清除僵尸伪连接、对特定智能合约的访问操作授权范围进行限制等。反击的机制有:

瞬间提高作恶用户地址和对应合约地址的交易GAS消耗,做归零处理

封闭其对应节点IP和用户地址的交易请求,封闭正常区块数据同步及用户状态请求

引入惩罚性区块数据,让该节点只能同步无效且数据量巨大的无用区块数据,消耗该节点带宽和存储资源

总结

当前市场上众多公链之间的竞争归根结底将是生态的竞争,谁能如似传统App Store一样吸引更多优秀开发者和更多优质DAPP谁就将最后胜出,其前提是公链开发者和运营者,必须通过经济和技术手段解决好区块链的安全性和真正大规模可用性问题,在去中心化、安全、效率这三角之间做好务实的平衡。

安全优佳

http://news.secwk.com

长按识别左侧二维码,关注我们

登录查看更多
0

相关内容

【元图(Meta-Graph):元学习小样本连接预测】
专知会员服务
64+阅读 · 2020年5月31日
【阿里巴巴-CVPR2020】频域学习,Learning in the Frequency Domain
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
消息队列技术点梳理(思维导图版)
架构文摘
3+阅读 · 2018年4月3日
Spark的误解-不仅Spark是内存计算,Hadoop也是内存计算
Graph Analysis and Graph Pooling in the Spatial Domain
VIP会员
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
消息队列技术点梳理(思维导图版)
架构文摘
3+阅读 · 2018年4月3日
Spark的误解-不仅Spark是内存计算,Hadoop也是内存计算
Top
微信扫码咨询专知VIP会员