当有人提到区块链时,首先想到的是什么?很多人可能会说比特币,这是意料之中的,因为比特币是第一个让区块链家喻户晓的主要加密货币。然而,比特币只是众多加密货币中的一种,虽然它是区块链技术的第一次大规模实施,但它只是区块链用来帮助社会和商业的多种用途的应用之一。
区块链技术提供了一种在分布式分类账中存储数据的方法。数据存储在区块中,在这个区块中数据被数字化记录,并与其他区块链接在一起,形成一条链。该链提供了所有记录数据的整个历史。数据以交易的形式提交到链中。这些交易只有在通过区块链网络的共识协议验证后才会被添加,所以此真相只有一个版本。存储在区块链上的任何数据都是“不可变的”,这意味着它不能被改变。此外,所有的网络参与者都有一份数据副本,这意味着一切都是透明的,每个人都有同样的真相。
区块链技术的第一次重大应用是在2008年随着比特币的发布而推出的,但只是在过去的几年里,企业才开始认识到这种技术的潜力。之所以会这样,是因为在过去的十年中,安全存储、计算能力和通信的成本已经大大降低。因此,更多的创新进入了主流市场,服务于普通消费者。
这同样适用于商业领域。如今,我们开始看到许多行业采用区块链,包括金融、食品服务、医疗保健、航空、汽车和物流。2017年,区块链的市场估值为7.08亿美元。两份独立的报告估计,到2024至2025年,市场价值可能在20美元至600亿美元之间。这一显著增长意味着在不到10年的时间里增长了8300%。
我们仍处于探索这项技术的早期阶段,充分实现其应用和潜力需要时间。例如,电脑花了将近10年的时间才达到80%的使用率。对于企业来说,区块链技术只是在2015年末才出现。那么这到底是什么意思?当我们看到一项新技术的出现和稳步发展,那些喜欢站在技术尖端的人都为区块链提供的无尽可能性而兴奋。话虽如此,但随着新技术的发展,也带来了新的挑战,特别是在安全方面。
大的实现,有限的专家
深入理解区块链基础架构的人通常是区块链开发人员和架构师,他们的人数正在不断增加,但仍然很少。如果你在区块链的安全专家层,你会发现这个数字甚至更小。几乎不存在任何关于区块链安全性的公开信息或指导。
那么,在不了解可能导致整个系统崩溃的潜在攻击途径和风险的情况下,开发这些成熟的解决方案意味着什么呢?从本质上讲,区块链的分散特性,加上共识协议,有助于满足一些安全需求,但如果不充分探讨安全性,后果可能是可怕的。
区块链是代码,代码可能有缺陷
正如前面提到的,区块链的核心概念很简单:它是一个分布式的、不可变的、在加密学上有保证的分类账,可以与应用程序(通常被称为“智能契约”)进行交互。
智能契约是由无数行代码组成的,这些代码存储在区块链中。这些契约在满足预定的条款和条件时自动执行。它们是可以复制流程或业务逻辑的小型程序,可用于在多个当事人之间强制执行协议,从而使它们能够确定结果,而不需要任何中间人。
例如,智能契约可能用于医疗保健行业。用户的数据,如血压和其他指标,可以发布到一个链上,一旦一个指标上升到指定的阈值以上,智能契约可以执行诸如通知用户和/或过程,如与专家进一步协商,以解决他们的健康问题。一个能够破坏智能契约的缺陷可以允许攻击者修改代码中的关键细节。在上面的示例中,如果攻击者能够影响业务逻辑或引入额外的代码来执行意外的操作,会发生什么呢?
但是,与许多强大的技术一样,区块链在概念上是直截了当的,但如果执行不当,缺陷和漏洞可能会导致风险并引起安全隐患。想想如果一个人可以在智能契约的数据被存储在链上之前改变它,会发生什么呢?链上的数据应该是可以信任的,对吧?那么,导致业务逻辑不按预期运行的智能契约怎么办?
在过去的几年中,X-Force Red发现区块链生态系统中引入了过多的风险,在这些系统中,可能会在用户和管理级别滥用访问控制。例如,一些漏洞可能使攻击者能够向网络注入恶意代码,从而有效地危害所有节点。
撇开技术不谈,你的标准日常应用(即网络/移动应用)仍然需要在一定程度上与链进行交互。我们的渗透测试人员可能会危及这些组件,并在几乎没有安全保障的后端系统上转到后端系统,使攻击者能够在链上插入数据或执行任何公开的功能。函数可以包括权限更高的权限管理访问或访问用户不应该访问的数据。如果发生这种情况,环境如何保护自己免受恶意行为的影响?
提高区块链安全标准
安全性就是把门槛提高到足够高,攻击者很难利用任何漏洞。如果他们发动攻击,他们就会在网络上制造足够多的噪音,以便被检测到,而事件响应程序有望关上大门。因此,从应用程序和网络级别进行监视是保护区块链实现的关键。内部主机是否应该扫描您的内部网络?我认为不是!
另一个预防措施是借鉴著名电视节目《x档案》(the X-Files),不要相信任何人:
· 构建分层防御,其中解决方案的每一层都对其上的所有层提供一定程度的不信任。
· 在应用程序层和区块链层都实施严格的访问控制,以防止过度许可的访问和滥用。
· 确保在处理包括关键材料在内的所有敏感信息时,有强有力的治理控制和过程。如果您的证书颁发机构被泄露给未经授权的第三方,那么游戏就结束了;他们将完全控制您的区块链环境。
· 实施强有力的变更控制和安全的代码评审过程,以确保所有配置设置和源代码(即智能契约)尽可能安全,并且不包含任何可能被滥用的弱点。
这些只是一些基本的操作,您可以采取这些操作来帮助保护启用区块链的环境的完整性、可用性和保密性。
在X-Force Red,我们有许多经验丰富的黑客,他们拥有区块链特有的技能集,可以对区块链技术和互联基础设施中的任何东西进行安全评估和渗透测试。
IBM是区块链技术行业的领先者,因此,我们的X-Force Red黑客在与该领域领先的专家合作时,会接触到该技术的许多领域。
这一切最终形成了对技术的深刻理解,以及从端到端角度评估任何支持块链的解决方案的能力。X-Force Red可以从设计/架构的角度审查环境,并手动审查智能契约、访问控制、关键组件的配置等。我们还可以测试所有与区块链接口的应用程序和技术,与关键的涉众和开发人员合作,以充分认识他们可能面临的潜在风险,并帮助减少妥协的风险。