我们都知道,区块链上的数据是不可篡改且永久存储的,所以有的人将爱慕之情写在区块链上,有的人将产权写在区块链上。
设想一下,如果将恶意软件写在区块链上,那岂不是成千上万的矿工都成了你恶意软件的“播种机”?
使用区块链来传播恶意软件到底可行么?这样做又会存在怎样的限制?
带着这些问题,TowardsBlockchain公司联合创始人、区块链高级工程师VaibhavSaini做了一个大胆的实验。让我们去他的实验中一探究竟。
以下为他对这个实验的叙述。
自从我2017年加入区块链世界以来,有一个问题一直困扰着我,那就是:
比特币这样的公链是向每一个人开放的,在区块链网络中有成千上万个节点,它们都在向网络中广播消息,从黑客的角度来说,这是一个不可多得的诱人场景。那么,从技术上来说我们可以通过感染几个节点来撬动整个区块链网络么?
经过几个月的学习与思考,我熟练地掌握了区块链的工作机制,也得出了这个问题的答案。
Nostr推出了具有新的比特币功能的去中心化社交应用程序:金色财经报道,视频游戏支付公司Zebedee今天将其主要ZBD应用程序迁移到Nostr,这是一个与Twitter竞争的去中心化平台。这一举措将最终使Zebedee的用户能够无缝地从ZBD应用转移到Nostr现有的数十个应用程序中的任何一个。与控制用户身份的传统社交网络不同,与开源的Nostr协议集成可以通过让任何注册的1800万Nostr用户加入该应用程序来大幅推动采用。Zebedee的联合创始人兼首席技术官Andre Neves表示,ZBD应用现在是一个具有完整功能的Nostr客户端。[2023/6/12 21:30:23]
不得不说这是一个很有意思的问题,所以我将自己的思考过程凝练成这一篇文章,在文章中你将学到:
为什么恶意软件难以感染区块链?
我们可以使用区块链这种去中心化系统来传播恶意软件么?
使用星际文件系统IPFS和以太坊存储网络Swarm这两个去中心化系统传播恶意软件的动手实例。
废话不多说,让我们开始吧!相信这将是一段有趣的旅程......
区块链协会在Tornado Cash案中提交简报:金色财经报道,DeFi教育基金加入了该倡导小组,认为加密混合器具有重要的社会功能,而OFAC可能会开创一个危险的先例。加密倡导组织区块链协会和DeFi教育基金在奥斯汀的美国地方法院就六名个人就美国财政部制裁Tornado Cash提起的诉讼提交了一份简报。法庭之友的陈述支持原告提出的部分简易判决动议。[2023/4/13 14:00:17]
为什么恶意软件难以感染区块链?
为了详细地回答这个问题,在这里我们将讨论的范围缩小到比特币和以太坊这两个公链上。
与其他所有区块链一样,比特币和以太坊区块链中的节点都会与其他节点通信,也会执行共识规则来验证交易,生成区块。
现在我们考虑一下攻击的场景,为了在区块链上传播恶意软件并最终感染区块链,我们需要这样做:
第1步:在交易中发送恶意软件。
第2步:利用比特币客户端软件中的漏洞。
看起来这两个步骤都没有什么难度,但在真正实现的时候你就会发现它们都多多少少的存在着一些问题。
Hooked Protocol:超过80万枚Gold转换为uHGT的申请将触发审核流程:11月29日消息,即将在币安IEO的Hooked Protocol在其Discord社区发布公告称,已对钱包进行了升级,应用中的BUSD资产将采用冷钱包结构存储,更好地保障大家的安全。
此外,Hooked表示为了防止女巫攻击,用户将超过80万枚Gold转换为uHGT的申请将触发审核流程。同时官方再次表示HGT和uHGT是DApp内的本地不可转让代币,不用于投机交易目的。据悉,此前有社区用户发现可以通过Pancake购买到uHGT。[2022/11/29 21:09:02]
比如步骤1中存在的问题是,在交易中我们能发送的数据量非常小。
就拿比特币来说,比特币区块的最大容量才1MB,平均下来每笔交易占据的空间很小,大约只有80字节。
类似的,对于以太坊来说,区块gasLimit限制了区块的大小以及其中代码的复杂度,换句话说,以太坊对交易的大小也有限制。
或者可以这样说,所有的区块链都是如此。
占星家Susan Miller在Polygon区块链上发布以黄道带为主题的NFT:金色财经报道,占星家Susan Miller于周三发布了她的第一个以黄道带为主题的NFT集合,这是代表物理或数字资产所有权的数字代币。12000 个数字头像 (PFP ) 收藏品的集合将在Polygon区块链上发布,Miller的团队选择该区块链是因为其交易成本低,其水彩风格的艺术品在视觉上类似于World of Women系列。Miller于 1995 年首次推出她的占星术网站,当时是互联网的早期。(Coindesk)[2022/8/3 2:57:21]
而步骤2存在的问题是,即使我们发送了恶意软件的代码,但让代码运行起来也是一个很大的问题。
这是因为:
交易通常都有着固定的格式。许多区块链客户端都不会接收那些格式不匹配的消息。
实际上代码的执行环境有着很多的限制,它只允许执行区区几种类型的指令。此外,虽说以太坊支持智能合约且拥有号称图灵完备的编程语言Solidity,但以太坊虚拟机的种种限制让代码运行的环境与图灵完备几乎不沾边。
Maker:DAI/USDC成为Uniswap V3上最具流动性交易对:7月24日消息,Maker发推称,DAI/USDC现在是Uniswap V3上最具流动性的交易对,TVL达到16.58亿美元。这些流动性大部分是由Arrakis Finance推动的,该协议从Uniswap V3累计了16.48亿美元的DAI/USDC LPs TVL,占比约99%。
此外,来自Arrakis Finance的所有DAI/USDC流动性中,目前约99.9%存储在Maker协议中。通过这种杠杆策略已经铸造了16.1亿枚DAI,这是目前DeFi中最大的稳定币收益策略之一。[2022/7/24 2:33:44]
而且大多数区块链系统的代码运行环境都是这样。
此外,由于客户端代码往往都是开源的,因此它在落地之前通常都会经过一个非常大的开发者社区的审查,这使得我们在其中找到漏洞的可能性微乎其微。
当然了我并不是说这些客户端不存在漏洞,只是说要是有漏洞的话,那些靠漏洞吃饭的黑客早用来执行攻击了,能被我们捡漏的机会很少。
恶人可以使用区块链来传播恶意软件吗?
上面说到我们很难用恶意软件来感染区块链,但这并不会阻挡我们实验的脚步。我们退而求其次,只用区块链来传播恶意软件可行么?
虽说感染区块链系统很困难,但就传播恶意软件的有效载荷而言,区块链完全可以胜任。
你可能会疑惑,我们刚才说到由于交易规模的限制,在单笔交易中打包恶意软件几乎不可能实现,是这样的,但是,谁说我们只能使用一笔交易来传播恶意软件呢?
接下来我们就用K元恶意软件来做个实验。
其实K元恶意软件并不是什么新鲜事物,如果你之前对恶意软件有过了解,相信你并不会对此感到陌生。
K元恶意软件自2007年出现以来已经感染了很多的系统。去年4月,黎巴嫩学者JoannaMoubarak发表论文详细论述了如何使用区块链传播K元恶意软件,接下来我会以严谨但不失趣味性的表述来介绍这种方法。
与传统恶意软件只能被装载到一个实体中不同,K元恶意软件可以将有效载荷分成K个部分。其中每一个部分看起来都像是一个正常的可执行文件,并不会产生任何入侵感染指标。
从原理上来说,我们有两种划分K个部分的方法:
K个部分按顺序工作。在这种情况下,没有必要保证恶意软件中的这K个部分同时可用且同时被激活;
K个部分并行工作。在这种情况下,恶意软件中的这K个部分必须在同一时间段内可用且被激活。
当然了,具体怎么划分取决于我们所要执行攻击的环境和系统。
为了使攻击更加隐蔽,我们还可以对每个部分进行加密。不过在这种情况下,我们需要分别传输加密过的有效载荷和用来解密有效载荷的密钥。
此外,如何确保执行恶意软件时各个部分不掉链子呢?在执行之前,我们可以使用有效载荷的哈希值来检验各个部分是否都已加入到网络中。
你可能会问,这么做是为了什么呢?区块链能给K元恶意软件的传播带来什么帮助呢?
使用区块链有以下优点:
区块链上的数据是不可篡改的,而且区块链并不受任何单一实体的控制。这意味着如果我们将恶意软件加入到区块链中,他人很难将它从区块链中删除。
密码学哈希函数的使用让恶意软件可以便捷地验证各组成部分的完整性。由于区块链上的数据使用哈希值而不使用存储位置来进行索引,这种保障交易不被篡改的机制也可以用来保障恶意软件的各个部分不被篡改。
演示:使用IPFS和以太坊存储网络Swarm传播恶意软件
区块链可以传播恶意软件,但具体该怎么操作呢?接下来我们将在星际文件系统上进行演示。
这里的恶意软件选用键盘记录器,首先我们使用杀软件扫描检测它,然后我们将使用星际文件系统和以太坊存储网络Swarm来存储恶意软件的有效载荷,并验证杀软件是否能发现各个部分中的猫腻。
我们先下载一个键盘记录器,我已经将它传到了网盘上,你可以登陆网盘下载。接下来,我们试着用杀软件扫描一下。
我们可以看到杀软件检测出恶意软件。
现在我们把恶意软件分成K个部分。这里我们需要先下载并配置星际文件系统。
安装完成后我们使用以下命令将恶意软件添加到星际文件系统中。
ipfsadd
我们会得到这样的输出。
到这里,我们的恶意软件已经被分成K个部分并被存储在星际文件系统中了。如上图所示,这个恶意软件的哈希值为:
QmNuAxMT9pepjZ26yXEk4T8qXofJrHoe7SxpoHa5WJ3T5x
如果要查看这K个部分,我们可以使用如下命令:
ipfslsQmNuAxMT9pepjZ26yXEk4T8qXofJrHoe7SxpoHa5WJ3T5x
命令的输出如下:
前面的数据是各部分文件的哈希值,我们可以用它来取出对应部分的文件。
ipfsget
当我们使用哈希值索引来下载某部分的文件时,我们可以完全确定这些文件没有被篡改。
下载完成后,我们再用杀软件扫描一下。这时恶意软件各部分的文件都可以通过检验。
上图表明恶意软件的所有部分都是可用的,也就是说我们可以运行键盘记录器来盗取信息了。
注意:这里并没有将文件永久存储在星际文件系统中。该系统中未被固定(pinned)的内容,会被垃圾收集器删除。
以太坊存储网络Swarm提供永久存储的服务,就这点来看,它可能是一个更好的区块链选择。而且Swarm的工作方式与星际文件系统类似,你可以将恶意软件分成K个部分上传然后使用其哈希值作为索引来下载它。
*免责声明:文中演示的技术仅以技术探索与求知为目的,不建议在任何实际的公链中尝试,如果这样操作,则后果自负。
“Bit-Z永续合约模拟交易大赛”将于香港时间2019年6月03日15:00——2019年6月13日15:00重磅推出.
1900/1/1 0:00:00如图,LTC从18年12月最低触及22美元开始至目前,整体走势处于上升通道内运行,并在BTC大幅拉升至9000美元上方时,LTC也跟涨至通道上边线并向上最高插针至121美元然后触及阶段顶回落.
1900/1/1 0:00:00交易所去玩矿机玩不来,但吴忌寒却玩起了交易所。矿圈霸主吴忌寒,终究将手伸向金融和交易。6月5日晚,一则报道让我们得以一窥吴忌寒的新作——数字货币金融项目Matrix,该项目将于7月正式推出.
1900/1/1 0:00:00为了庆祝LBank期权交易火热上线,并拓展PHV的交易场景。我们启动了预算共20BTC的「PHV期权补偿基金」激励补偿活动.
1900/1/1 0:00:00莱特币基金会董事FranklynRichards发文称,LTC算力创下历史新高。LTC算力上涨可能是关于新矿机AntminerL5的传闻.
1900/1/1 0:00:00这两天这事儿讨论的实在热闹,但是我实在受不了行外人跟看猴子一样看我们。昨天,孙宇晨拍下巴菲特午餐的消息仍然铺天盖地地在币圈之外传播着,当然,也引来了很多和币圈截然相反的声音.
1900/1/1 0:00:00