当前位置: 首页 > 编程日记 > 正文

浅谈几种区块链网络攻击以及防御方案之其它网络攻击

旧博文,搬到 csdn
原文:http://rebootcat.com/2020/04/16/network_attack_of_blockchain_other_attack/

写在前面的话

自比特币诞生到现在,比特币(网络)经历过大大小小非常多次的攻击,尤其在比特币诞生之初的几年,并且随着比特币价格的一路飙涨,黑客针对比特币网络的攻击就一直没有停止过。据估算,目前大约有 350 ~ 400 万比特币永久丢失,价值大约 240 ~ 280 亿美元。当然其中不只有由于黑客的攻击导致的丢失,毕竟比特币最初的几年很多人都没有意识到比特币的价值,很多的私钥都遗失了。

本文就谈一下目前几种区块链网络攻击,以及其防御方案。

本文尽量用简单易懂的白话来描述,也仅代表我个人的看法,欢迎探讨

同系列:

  • 浅谈几种区块链网络攻击以及防御方案之51%攻击
  • 浅谈几种区块链网络攻击以及防御方案之日蚀攻击
  • 浅谈几种区块链网络攻击以及防御方案之女巫攻击
  • 浅谈几种区块链网络攻击以及防御方案之拒绝服务攻击
  • 浅谈几种区块链网络攻击以及防御方案之其它网络攻击

异形攻击

异形攻击又称地址污染攻击,是指诱使同类链的节点之间互相发现、互联、侵入的一种攻击手法。同类链的意思是底层 P2P 网络使用了相同或者相似的 P2P 通信协议。这尤其针对比特币和以太坊系列的公链。

众所周知,最近几年区块链行业蓬勃发展,又过于浮躁。其中很多劣质公链大量 COPY 以太坊、比特币的源码,甚至不做修改,仅仅修改下名字成为一条新的公链,这就导致大量的公链的底层是相同的或者兼容的。

那么如果攻击者执行了异形攻击,就有可能导致同类链的节点之间互相缠绕在一起,影响公链节点内部的通信和路由,进而影响到交易、共识和安全。从而让攻击者有机会施行其他的攻击,比如 DDoS 攻击,网络分裂攻击。

本质上还是由于伸手党的存在,并且不加以修饰和对节点的检测造成了异形攻击。应对办法也很简单,首先是拒绝做伸手党,即便伸手党,起码也要研究下别人的代码,做点创新和原创的东西;其次加强对本公链的节点类型的检测,比如节点地址不符合的一切拒绝,通信协议不一致的一切拒绝,通信报文头特殊字段不一致的一切拒绝等等。

配图与本文无关

窃听攻击

这不是区块链特有的攻击手法,本质上就是流量行为分析,通过分析流量,甚至可以把 IP 和家庭地址关联起来,从而知道某笔交易时来自某一个特定的客户端或者某个人。

区块链的去中心化带来的一个好处就是匿名,或者说相对匿名,但是攻击者通过追踪某笔交易,分析流量等措施,锁定现实世界的具体某个人,然后执行一些违法犯罪的事情。

交易延展性攻击

延展性攻击者侦听P2P网络中的交易,利用交易签名算法的特征修改原交易中的input 签名, 生成拥有一样input和output的新交易,然后广播到网络中形成双花,这样原来的交易就可能有一定的概率不能被确认,在虚拟货币交易的情况下,它可以被用来进行二次存款或双重提现。

案例

  1. 2014年8月,在线黑市Silk Road 2遭遇交易延展性攻击,部分比特币被盗,损失约260万美元

  2. 2013年11月,GHash.io矿池对赌博网站BetCoin Dice进行多次付款欺诈,实施双重支出攻击

BGP劫持攻击

边界网关协议(BGP)是因特网的关键组成部分,用于确定路由路径。BGP劫持,即利用BGP操纵因特网路由路径,最近几年中已经变得越来越频繁。 无论是网络犯罪分子还是政府,都可以利用这种技术来达到自己的目的,如误导和拦截流量等,目前在区块链网络中节点的流量一但被接管又能对整个网络造成巨大的影响,如破坏共识机制,交易等各种信息。

而对于BGP劫持攻击中,目前有安全研究者已经证明该攻击的概念可行性,从2015年11月5日至2016年11月15日通过对节点网络的分析统计目前大多数比特币节点都托管在少数特定的几个互联网服务提供商(ISPs),而60%的比特币连接都是在这几个ISP。所以这几个ISP可以看到60%的比特币流量,所以也能够做到对目前比特币网络的流量控制权,研究者通过劫持的场景验证了至少如下两个攻击概念是可行的,同时给出了验证的代码[8]。

分割攻击

攻击者可以利用BGP劫持来讲区块链网络划分成两个或多个不相交的网络,此时的区块链会分叉为两条或多条并行链。攻击停止后,区块链会重新统一为一条链,以最长的链为主链,其他的链将被废弃,其上的交易、奖励等全部无效。

攻击场景举例:

  1. 首先,攻击者发动BGP劫持,将网络分割为两部分,一个大网络、一个小网络。

  2. 在小网络中,攻击者发布交易卖出自己全部的加密货币,并兑换为法币。

  3. 经过小网络的“全网确认”,这笔交易生效,攻击者获得等值的法币。

  4. 攻击者释放BGP劫持,大网络与小网络互通,小网络上的一切交易被大网络否定,攻击者的加密货币全部回归到账户,而交易得来的法币,依然还在攻击者手中,完成获利。

路由攻击

路由攻击往往配合其他的攻击来施行,攻击者可以先利用女巫攻击或者日蚀攻击把网络分裂,然后篡改消息发送到网络当中。最终效果是影响了网络中的通信和路由。

写在最后

其实关于区块链系统的攻击方式还有很多,本系列主要偏重于网络层面的攻击。针对不同的攻击,需要采用不同的防御方案,并且很多攻击手法并非区块链特有。随着区块链的发展,黑客的攻击也不会停止,对于公链来说,还有很多挑战。

参考

疯狂“搬运”币的黑客如何攻击区块链|干货(一)

Blog:

  • rebootcat.com

  • email: linuxcode2niki@gmail.com

2020-04-16 于杭州
By 史矛革

相关文章:

基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了

作者 | 站长 pursueYfuture来源 | AI专栏(ID: pursue-Y-future)计算机视觉的一大研究热点是人体姿态估计,还有很多问题急需解决,比如遮挡,交互等等。在最近的CVPR2020里边也有很多这方面的工作。本文站长主要是想谈谈基…

怎么让百度快速重新收录

每天更新网站和做外链让百度重新收录的快速方法很多人都比较头疼让百度如何重新来收录你站点,这里为大家介绍一下我的经验;大家都知道做网络推广,特别是企业站推广,如果能在相关的关键字在搜索引擎里有个好的名次,肯定能给企业增长…

HQL语句大全

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。Hibernate配备了一种非常强大的查询语言&#…

自动创建阿里云抢占式实例

旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/24/auto_run_aliyun_spot/ aliyun_spot 自动创建阿里云抢占式实例。 支持一下作者,购买阿里云 背景 阿里云抢占式实例应该属于阿里云的一种闲置资源利用,性价比非常高&am…

What?! Python一行代码,能玩这么多童年的游戏?

来源 | 早起 Python责编 | Carol封图 | CSDN 下载自视觉中国儿童节就要来了,虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐…

McAfee可能要收购NitroSecurity?

近日,根据国外媒体报道和业界人士的坊间传闻,有传闻指McAfee可能将在近期收购SIEM厂商NitroSecurity。最近,NitroSecurity正在准备IPO,去年年收入约4000万美元,在Gartner的MQ中位于Leader阵营。 NitroSecurity的SIEM技…

进程间通信IPC之--共享内存

每个进程各自有不同的用户地址空间,任何一个进 程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲 区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读…

Scons构建C++项目

旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/30/scons/ 前言 我是一个 linux c 开发者,但是一直对 Makefile 的语法很是头痛,每次都记不住,所以每次写 Makefile 都很痛苦,Makefile 里需要你自己编…

2020 AI产业图谱启动,勾勒中国AI技术与行业生态

《2020年国务院政府工作报告》提出,重点支持「两新一重」建设。其中「两新一重」中的第一个「新」,就是新基建,而人工智能是新基建的重要组成部分。新基建首次被纳入政府工作报告后,各大科技厂商纷纷押注,重金投向「新…

Windows Phone 7 SDK 7.1 Beta2 发布

早上看到消息,有Marketplace账号的筒子们注意了,可以去下载芒果的ROM了,一个开发者账号只能更新一个WP7,以下是App hub上的消息:来自http://create.msdn.com/en-US/news/Mango_Beta。关于开发工具的更新,可…

javascript基础语法——表达式

前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句。但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression)。本文将详细介绍javascript表达式,表达式…

Hexo Next 博客添加相册瀑布流

原文:https://rebootcat.com/2020/09/19/nextphotowall/ 前言 一直没有时间来整理下博客搭建的一些事情,现在补上一篇,给 Hexo Next 博客添加一个相册功能,使用瀑布流的方式。 原理说明 使用 github 作为仓库存储图片文件&…

【分享几个日常巡检 监控数据库的语句】

查看数据库表空间语句 select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspa…

AI换脸、声音篡改等,明确写入新版《民法典》

来源 | HyperAI超神经5 月 28 日,十三届全国人大三次会议表决通过了《中华人民共和国民法典》(以下简称《民法典》)第四编人格权中的第四章肖像权,明确提出了以信息技术手段,对于他人肖像、声音等权益的侵害认定。《民…

awk: (FILENAME=- FNR=1) 致命错误: 试图访问字段 -2

执行:awk {print $(NF-2)} aa.log出现错误:awk: (FILENAMEaa.log FNR1) 致命错误: 试图访问字段 -2可能和aa.log中数据有关系:改为:awk NF>1{print $(NF-2)} aa.log转载于:https://blog.51cto.com/henly/1786692

迁移博客到香港虚拟空间

原文: https://rebootcat.com/2020/09/20/virtual_space_blog/ 缘起 我的博客一直采用的是 github pages 来托管,中间断断续续的也没怎么管理过,偶尔写几篇博客,所以也就没怎么关心过访问速度,搜索引擎收录等问题。 …

自动化神经网络理论进展缓慢,AutoML算法的边界到底在哪?

作者 | 夕颜出品 | CSDN(ID:CSDNnews)「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分。通过对 AI 生态顶级大咖、创业者、行业 KOL 的访谈,反映其对于行业的思考、未来趋势判断、技术实践,以及成…

让电脑通过gns3里的路由器上网

题目我感觉写的不好,反正就是这个意思,看下文 头几天有网友问cisco2811路由器怎么用ACL封掉QQ,当时就想帮他,但是手里又没有cisco路由器,只有GNS3 cisco模拟器。 现在的问题就是要用gns3模拟器的路由器充当真实工作中的…

文件上传的渐进式增强

文件上传是最古老的互联网操作之一。 20多年了,它几乎没变,还是原来的样子:操作麻烦、缺乏交互、用户体验不佳。在这个新技术日新月异的时代,显得非常落伍。 网页开发者们想了很多办法,试图提升文件上传的功能和操作体…

使用 mkdocs 搭建个人 wiki 站点

原文: https://rebootcat.com/2020/09/20/wiki/ why wiki 博客通常是用来记录一些完整的文章,每篇文章有一个主题。但是我想把平日里的一些笔记也记录到我的博客里,但笔记是零散的,随时的,不是完整的一个主题。所以打…

追忆童年,教你用Python画出儿时卡通人物

作者 | 张同学来源 | 凹凸数据大家好,我是张同学。又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?于是,今天我们来学习 Python 的 Turtle 库绘制童年的卡通人物,一起做…

xx学OD -- 消息断点 RUN跟踪(上)

这一篇讲的是 消息断点和RUN跟踪的简单知识这一篇没怎么看明白 大概使用知道了 怎么用不太清楚。介绍本次软件特点输入后木有反应(纱布垃圾的。。哈哈)启动OllyDBG载入这个程序,F9让它运行。这个程序按我们前面讲的采用字串参考或函数参考的方法都很容易断下来。…

iOS-UIWebView添加头部和尾部

2019独角兽企业重金招聘Python工程师标准>>> 前言 项目中使用UIWebView显示本地或者是服务器上的页面很容易,但是仅限于显示页面,可控性并不高,如果有需要在头部和尾部加上原生的view,显示部分信息相对于全部使用UIWeb…

epoll 入门例子 tcp server/client

原文: https://rebootcat.com/2020/09/26/epoll_examples/ 复习一下 上一篇博文 epoll原理深入分析 详细分析了 epoll 底层的实现原理,如果对 epoll 原理有模糊的建议先看一下这篇文章。那么本文就开始用 epoll 实现一个简单的 tcp server/client。 本…

张红忠:智慧化时代,如何通吃5G模组、AIoT?

受访者 | 张红忠,日海智能副总裁、云AIoT创新中心总经理记者 | Aholiab,编辑 | 邓晓娟出品 | AI科技大本营(ID:rgznai100)日海智能是目前国内AIoT领域的头部企业,以AIoT为核心,形成了5G&AI物联网终端、…

JQUERY打造隐藏在左侧的弹性弹出菜单

代码简介: 隐藏在左侧的弹性弹出菜单,从淘宝扣下来的,也可作为JAvaScript缓冲动画的典型教程。本弹性菜单可扩展性强,实际上不光可以做成菜单,也可布局一些图文混排的内容或一段视频,总之被弹出的内容是在一…

Num55 boss09(activiti安装以及API)

2019独角兽企业重金招聘Python工程师标准>>> 安装流程设计器插件: 使用框架提供的方式创建23张表: 流程部署,定义,启动&查询,办理任务: 流程的部署,查询,删除 & …

模仿nginx修改进程名

个人博客原文: https://rebootcat.com/2020/10/25/setproctitle/ nginx 进程名 使用 nginx 的过程中,我们经常看到 nginx 的进程名是不同的,如下: $ ps -ef |grep nginx smaug 1183 1115 0 05:46 pts/2 00:00:00 grep …

机器学习模型的超参数优化 | 原力计划

作者 | deephub责编 | 王晓曼出品 | CSDN博客头图 | CSDN付费下载自东方IC引言模型优化是机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型的优化。机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数。超参…

准备IE--复习NP,NP从头开始,每天学一点,就多一点收获

2011-07-07 今天开始重新开始NP!每天一实验,加油!写下心路历程,为自己加油!转载于:https://blog.51cto.com/sunchangsheng/605482