9.5 重放攻击:交易延展性

2023-12-06 21:10
文章标签 攻击 交易 9.5 延展性

本文主要是介绍9.5 重放攻击:交易延展性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先解释下什么叫重放攻击(Replay Attack),顾名思义,重放就是重复播放的意思,因此又称为重播攻击或回放攻击,具体是指攻击者发送一个目的主机已接收过的数据包,来达到欺骗系统的目的。我们来举个例子。

Alice家里安装了一个语音识别的安全门,每次回家的时候Alice只要对着门口说一句:“开门开门,我是 Alice。”这样门就会打开,自从安装了这样一个门以后,Bob再也没法偷偷拿Alice的钥匙去她家了(根本就用不着钥匙啊)。这可怎么办呢?于是 Bob偷偷躲在了Alice门口的角落里,等Alice回家时,用录音笔录下了Alice的语音口令,等下次Bob再到Alice家的时候,就播放这段语 音口令,门就能打开了(欺骗了门的识别系统,系统误以为是Alice的语音口令)。这就是重放攻击的意思了,合法的主人是使用什么样的通信口令来进行身份 认证的,攻击者截获这段通信口令,然后原样的发送给系统,从而欺骗了系统的验证。

image.png

那么什么叫交易延展性呢(Transaction Malleability)?延展性是一个形象的称呼。我们知道,在自然界中,有些材料可以经过各种拉伸、锻造来改变形状,但是不会改变材质和质量,比如 黄金白银,历史上我们都曾经使用过这两者作为货币,无论是整块的黄金白银还是碎银子碎金子,无论是打造成元宝的形状还是砖头的模样,都不影响它本身的材质 和质量,我们只要称一下重量,只要符合重量需求,就能照常花出去(接收者都能验证通过)。区块链应用的转账交易功能,也有这样的现象(当然,对于已经修改 了这个问题的应用就不再有这样的问题了),我们以比特币为例来说明这个问题是怎么发生的。

要理解这个问题怎么来的,需要先了解比特币的交易事务的结构,简单地说,比特币在进行转账交易时,会构造一条交易 数据,这条数据中包含了转账者的签名、接收者的地址等重要信息,就如同一张支票一般,按照格式填好了信息后,签上名字就发出去了,发到哪?发到比特币网络 中,让其他节点来共同见证这笔转账,只要验证没有问题,就会被矿工打包到新的区块中,这就算是转账完成了。可是,大家有没有注意到,就这么一张“支票”发 送到网络中,就不怕别人篡改吗?万一某个节点获取到这张“支票”后把金额改掉或者把转账地址改成自己怎么办?放心,这些信息还真改不了。假设Alice转 账一笔1000的金额给Bob,我接收到这个发出来的“支票”数据了,此时我想进行如下修改:

1)将1000的金额改成800;

2)要想修改金额,得拥有Alice的密钥,因为这部分的信息是Alice用自己特有的密码签名敲章的,没有密钥是没法修改的,而且这个密钥可不像日常生活中的公章那样可以随意冒充,这是由特有的密码算法决定的;

3)将Bob的地址替换成我自己的;

4)要想修改Bob的地址,得首先解密这一块的信息,因为这一块的数据是使用Bob的密钥加密的,只有Bob才能解开。

真是一筹莫展啊,那我只想破坏,随便修改掉一些信息行不行?行是行,可是起不到破坏的作用,因为其他节点一旦接收到被修改过的明显有问题的“支票”会直接验证不通过,就被扼杀在襁褓里了。让我们来看一下这个简单的示意图:

image.png

如图所示,比特币通过现代密码学技术以及特有的格式设计,确保了攻击者难以对“支票”本身进行破坏性的修改。然而,在 比特币的“支票”中,为了唯一标识这么一笔交易,针对每张支票都计算出了一个ID号,相当于每张支票的唯一标识号,这个标识号是怎么计算出来的呢?它是将 整个支票上的内容包括签名盖的章在内,经过一个哈希计算得出来的,如果这张“支票”的内容就此不发生任何变化了,那么这个标识号也就永远都是那么一个号 了,直到被记录到主链区块中去就算是定案了。

现在还记得前面说的延展性吗?是的,如果有一个办法,稍微改变一下支票的某个能修改的信息,但是仍然保证这张支票 是有效的,能够通过网络中的节点验证,那会发生什么?那就会导致支票上的标识号发生变化(相当于黄金的形状变化了,但是材质和质量仍然没变),标识号为什 么会发生变化,因为标识号的计算方法确保了只要这张“支票”中任何参与计算的内容发生变化,得到的结果就会不一样。

那么,延展性攻击修改了什么?修改的就是Alice的签名。举一个容易理解的例子,假如有一个数字1,现在我要修 改这个数字1,但是修改之后要保证它仍然是代表1,那怎么修改,很简单,我可以把它改成1.0,看到了吧,我只不过是加了个小数位而已,这并不能改变这个 数字的数学意义,它还是代表1,可对于标识号的计算方法来说,这就算是内容发生变化了,它就会计算出另外一个支票标识号。

image.png

图中的事务ID就是“支票”标识号的意思,那么,攻击者通过这样的更改能干嘛呢?它可能会导致以下的后果:

1)接收方无法通过原始的事务ID来查询这笔转账;

2)被修改过的交易会与其余在网络中传播的原始交易争抢进入区块,一旦抢先进入了新的区块,原始交易就会被网络中的节点拒绝,虽然不影响转账本身,但是会带来迷惑,而攻击者利用这种迷惑可以达到一些欺骗的目的;

3)阻止原始的交易进入区块。

这种类型的攻击就是属于事务延展性重放攻击。

这个问题有没有解决的方法呢?还是有一些的。其中一项就是隔离见证。隔离见证的方案很简单,既然是因为签名被更改 导致的问题,那就将签名从交易数据中分离出来,放到别的地方,这样做还有一个好处,那就是将签名数据从交易数据中分离后,相当于节约了存储空间,等同于扩 容了,扩容后就能让一个区块容纳更多的交易记录。当然,这种方法也是很有争议的,比特币社区一直都没有统一意见,其中一个原因就是这实际上是一种软分叉方 案(读者可以对比一下软分叉的概念),软分叉本身是带有一定的风险的。2017年5月,莱特币首先完成了隔离见证的激活。(莱特币的源码与比特币基本一 致,只是共识算法不一样,因此有类似问题。)


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=61

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

这篇关于9.5 重放攻击:交易延展性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463341

相关文章

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取用户的敏感信息(如Cookie、会话令牌)或控制用户浏览器的行为,进而造成信息泄露、身份冒用等严重后果。 2. XSS攻击类型 2.1 存储型XSS 存储型XS

【前端安全】浅谈XSS攻击和防范

定义 XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 分类 大分类小分类原理非存储DOM型① 不需要经过服务器

新型 RAMBO 侧信道攻击通过 RAM 无线电波泄露数据

内盖夫本·古里安大学的研究人员发现了一种从隔离系统中泄露敏感数据的方法。 引入了一种称为 RAMBO(基于 RAM 的电磁隐蔽通道)的新型攻击技术。 该攻击利用计算机 RAM 产生的电磁辐射,使攻击者能够窃取加密密钥、密码、生物特征数据和文件等信息。 即使在系统与外部网络物理隔离的环境中,这种攻击也能实现。 信息泄露速度达 7.5 kB/分钟 该研究由 Morde

量化交易面试:什么是连贯风险度量?

连贯风险度量(Coherent Risk Measures)是金融风险管理中的一个重要概念,旨在提供一种合理且一致的方式来评估和量化风险。连贯风险度量的提出是为了克服传统风险度量方法(如VaR,风险价值)的一些局限性。以下是对连贯风险度量的详细解释: 基本概念: 连贯风险度量是指满足特定公理的风险度量方法,这些公理确保了风险评估的一致性和合理性。 这些公理包括:非负性、次可加性、同质性和单调

DDoS对策是什么?详细解说DDoS攻击难以防御的理由和对策方法

攻击规模逐年增加的DDoS攻击。据相关调查介绍,2023年最大的攻击甚至达到了700Gbps。 为了抑制DDoS攻击的危害,采取适当的对策是很重要的。 特别是在网站显示花费时间或频繁出现504错误的情况下,可能已经受到了DDoS攻击,需要尽早采取对策。 本文将介绍受到DDoS攻击时的事件、受害内容和作为DDoS对策有效的三种服务。 到底什么是DDoS攻击? 理解事件、手段和损害 D

散户炒股票为什么进步慢,学习程序化交易思维

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取股票实时数据和历史数据 Python炒股自动化(3):分析取回的实时数据和历史数据 Python炒股自动化(4):通过接口向交易所发送订单 Python炒股自动化(5):通过接口查询订单,查询账户资产 散户炒股的常见难题

网络安全与恶意攻击:如何应对?

引言 随着技术的发展,我们的生活越来越依赖于网络。但是,这也暴露了我们的系统对各种网络威胁的脆弱性。无论是个人还是企业,网络安全都成为了我们不能忽视的话题。 网络威胁的类型 网络威胁主要有以下几种: 网络钓鱼攻击:这是一种试图通过冒充合法实体来欺骗用户提供敏感信息(例如,密码或信用卡信息)的攻击。 **恶意软件:**恶意软件是设计用来破坏、损坏或者非法获取访问权限的软件。其中包括病

个股场外期权怎么交易?场外期权交易流程是怎样的?

今天带你了解个股场外期权怎么交易?场外期权交易流程是怎样的?个股场外期权是一种非标准化的期权合约,通常在场外市场(OTC市场)由金融机构和投资者之间进行交易。 场外个股期权主要功能 风险管理: 帮助投资者对冲持有个股的价格波动风险。比如,投资者担心持有的股票价格下跌,可以通过买入场外认沽期权来锁定最低卖出价。 投机获利: 投资者可以利用场外期权进行投机,利用杠杆效应,投入较少资金博取标的

期权交易中最基本的操作!新手先从期权买入开仓开始!

今天带你了解期权交易中最基本的操作!新手先从期权买入开仓开始!交易期权的第一步是选择一个可信赖的期权交易平台,可以是大型券商提供的交易平台或专业的期权交易所。 新手先从期权买入开仓开始 买入开仓(即建立权利仓),卖出开仓(即建立义务仓)。买入开仓最大亏损不超过开仓时支付的权利金,最大收益,理论上无限;卖出开仓则相反,最大收益不超过开仓时收取的权利金,最大亏损理论上无限。 买入开仓亏损有限,收