当前位置: 首页 > 科技观察

只有了解攻击,才能更有效地防御攻击

时间:2023-03-21 01:22:29 科技观察

只有了解攻击,才能有效抵御攻击什么样的攻击?今天大白就和大家聊一聊区块链中的攻击。01交易延展性攻击交易延展性攻击,也叫交易可塑性攻击。在现实生活中,我们把一块黄金敲变形后,虽然形状变了,但质量没有变,也就是说黄金的外观变了,但它还是被认出来的。这种特性被称为“可锻造性”。”。在比特币体系中,还有一个类似的术语,“TransactionMalleability”。这个词通常翻译为“交易延展性”,也称为“交易延展性”,利用交易延展性造成的攻击称为交易延展性具体来说,比特币交易A发出后,在确认之前,攻击者修改一些交易数据,使得交易的唯一标识——交易哈希发生变化,形成新的交易B。如果交易B首先记录在比特币账本中,那么交易A会因为双重支付问题被验证为非法,从而被拒绝。一个现实的例子是:小黑发起交易所提币,然后广播他的提币交易.在他的交易被节点验证之前,小黑进行了可延展攻击,刚好发生新交易先被确认,新交易被on仍然可以让他拿到币(公认的好像金子的样子变了),但是贪心的小黑向交易所抱怨没有收到币。给小黑转币的交易确实被拒绝了,于是又给小黑打了一笔钱,小黑心里很是高兴。贪心的小黑还不满足,以同样的方式连续攻击多次,导致交易所资金大量流失。因此,当无法确认交易时,需要立即停止交易。应该是根据区块链上的交易错误信息,检查短时间内是否发起过这样的交易,然后人工处理。02Dust攻击“Dust”是指少量的币(比如1聪就是“dust”,也就是0.00000001比特币)。通常很少有人的交易金额会这么小,因为交易手续费已经超过了交易金额。正是因为“灰尘”太小,容易被用户忽略。这种现象被小黑(骗子)发现了,所以小黑就像是向用户的钱包地址转移了“灰尘”,而收到这些“灰尘”的用户大白并没有理会。dust被大白收到了,但还没有花掉,所以这些“dust”和收到但还没有花掉的币(UTXO)混在了大白原来的钱包地址里。.灰尘(蓝色)与原始收到但未花费的货币混合在一起。不过现在问题不大,只是混在一起而已。真正的问题是,大白用的是这笔未花费的手续费,当愚蠢的大白把这笔钱转到其他地址或其他交易时,这些“灰尘”可能会用到。这时,“尘埃”会悄悄跑到与大白交易的其他用户地址,并一直对其进行追踪。这些“灰尘”就像荧光剂一样,详细描述了大白的行为,然后被小黑跟踪,小黑利用这些线索猜测大白的身份,进而对大白进行威胁勒索。这是灰尘攻击。如何避免这种攻击?正如上文所说,真正的问题在于大白花掉了夹杂着“灰尘”的未花币。也无法追踪,但是我们不能因为这些“灰尘”而要求大白永远不要在那个池子里花费其他未花费的货币,所以一些钱包(如:ElectronCash)可以单独标记这些灰尘,以提醒大白用户我们不要使用这些粉尘,相当于隔离了池中其他未花费币种的粉尘,让大白可以安心使用之前未花费的币种。从而有效地避免了灰尘的侵袭。03WitchAttackWitchAttack又叫SybilAttack,名字来源于电影《女巫》(Sybli),讲述了一个拥有16种人格的女人接受心理治疗的故事。区块链中的女巫攻击是指恶意节点非法向外界呈现多重身份。这有点像我们小时候玩的“牵手”游戏。当一个新的孩子加入我们的游戏圈时,他会拉着身边人的手,然后对身边的人有更好的了解。在区块链中也是如此。任何网络节点都可以发送加入请求消息,其他收到请求消息的节点会立即响应并回复自己的邻居节点信息。但是,有的孩子为了认识更多的朋友,每次都换口罩,这样就可以去不同的地方带领其他孩子。恶意节点就像这个恶搞小子一样,通过伪装成多重身份,获取大量区块链网络节点信息进行进一步的攻击和破坏。解决Sybil攻击的一种方法是工作量证明机制,它使用计算能力来证明你是一个节点,这大大增加了攻击的成本。另一种方法是身份认证,可以基于第三方可靠的节点认证。就好比在所有参与游戏的小伙伴中选出一个眼睛最亮的那个,以免大家被滑稽小孩的面具所蒙骗。身份认证也可以是全节点系统认证。这相当于每个孩子都要核对欺骗孩子的身份,大大降低了欺骗孩子成功伪装多重身份的几率。04总结了解各种类型的攻击可以让我们更好地防御它们,从而保护我们的财产安全。今天先说到这里,后面会有日食攻击、DDoS(分布式拒绝服务攻击)等科普介绍。欢迎大家关注。