日前,深信科创GuardStrike宣布与区块链项目Conflux正式达成战略合作,将为Conflux提供全链审计服务。据悉,Conflux目前估值超过4 亿美元,由世界知名计算机科学家、华人唯一图灵奖得主、中国科学院院士、美国国家科学院外籍院士、清华大学交叉信息研究院院长姚期智参与创立并担任首席科学家;创始人龙凡博士毕业于清华大学“姚班”,曾2次斩获国际信息学奥林匹克(IOI)金牌,并获得麻省理工学院(MIT)计算机科学博士学位。核心技术团队成员中大部分源于清华大学“姚班”及海内外知名学府,研发实力耀眼。
致力于打造下一代高性能的 DApp 公链平台的Conflux,目前是第一个,亦是唯一一个在不牺牲任何去中心化程度及安全性的情况下实现高TPS的公有链。自主研发的基于树图TG(Tree-Graph)结构的可扩容共识算法,解决了高并发网络中因分叉造成的计算资源浪费和随之降低的安全性问题,使共识不再是区块链性能的瓶颈。在不牺牲任何去中心化程度的情况下,在内部测试网中实现了3000~6000 TPS 的高吞吐量,行业内遥遥领先。
在实现技术突破的同时,Conflux也非常重视系统的代码质量和安全性。所以在审计环节,Conflux引入业内软件质量安全专家GuardStrike对Conflux公链系统进行代码质量和安全审计。GuardStrike拥有雄厚的科研背景和专业资源,如GuardStrike首席科学家为美国科学院、美国工程院及欧洲科学院院士、形式化验证专家Moshe Vardi;创始人杨子江博士毕业于中国科技大学,并获得宾夕法尼亚大学计算机科学博士,为2019年IEEE软件测试验证大会主席。
符号执行、动态分析和形式化验证或无法完美解决智能合约代码质量问题
智能合约的质量与安全问题在区块链领域争议已久。根据白帽汇安全研究院的《区块链产业安全分析报告》,由于智能合约所导致的安全问题已经造成了12.4亿美元的损失,占到了区块链领域总损失的43.3%。
(数据来源于猎豹区块链研究中心)
极为关注代码质量和安全的Conflux团队,在代码开发过程中采用了科学严谨的软件工程方法。但是,软件的复杂性导致其质量和安全难以保证。正所谓真金不怕火炼,为了让Conflux项目更加安全,在自身利用特有算法提高效率的同时,还特地邀请新兴软件安全质量专家GuardStrike针对代码进行审计。
虽然GuardStrike在区块链乃至人工智能、物联网等新兴软件质量安全领域已经积累颇丰,但遇到如此复杂的代码质量问题还得具体问题具体分析。在对Conflux的代码审计之前,GuardStrike已经用自主开发多款代码分析及审计工具。其中包括ContractGuard,一款对智能合约的测试工具。GuardStrike利用ContractGuard自动分析逾5万个智能合约,发现了1万多个漏洞。然而,Conflux公链系统的代码量已经超过10万行,如此大规模的代码量,已经超出了符号执行和形式化验证算法所能分析的能力。
为攻克技术难题 GuardStrike研发出多款模糊测试及扫描工具
因此,针对这些严峻的技术挑战,GuardStrike为Conflux定制了两款互补的代码审计工具,以最高的要求来审计Conflux的源码。其中一款基于最新的静态扫描技术。其作用原理是先定制一系列跟公链系统安全密切相关的出错类型,然后通过静态扫描系统的检查是否存在这些类型的错误。GuardStrike一共定制了近百种不同的出错类型,涵盖了目前已知的代码错误。为了弥补静态扫描技术的不足(比如误报),GuardStrike同时为Conflux定制了一款基于模糊测试的代码审计工具。该工具通过自动生成并运行海量测试用例来查找代码里的漏洞,并通过多种技术优化测试用力的生成以提高代码测试的覆盖率。
由于区块链的并发特性,GuardStrike研发了全球首款并发系统模糊测试工具,发现了诸如死锁的多个并发错误。同时,不满足于查找常见的错误,GuardStrike基于Conflux的设计文档编写了多条代码合约(Code Contracts)。把这些Conflux特有的代码合约集成以后,以上提到的两款代码审计工具就不仅可以保证Conflux的代码避免常见的漏洞,同时也一定程度上保证了Conflux的设计与实现的一致性。
利用这两款审计工具,GuardStrike对Conflux的代码进行了系统的检测,发现了超过80个疑似漏洞。其中不止包括3个常见的可能引起死锁的漏洞,也包括77不符合编程规范的代码,以及多个Conflux的设计与实现不一致的地方。因为公链系统安全的重要性,GuardStrike的检测是及其严格的。比如其中一个潜在漏洞是从裸指针* const u8转换为更严格对齐的指针(`* const u16`)。此类错误不如不小心处理,该指针指向的值可能是未定义的行为,从而导致潜在的攻击。
通过GitHub公共平台,GuardStrike分批分次的将所发现的漏洞一一提交。同时Conflux也积极回应。逐一将发现的问题分类,整理,修复以及归档。比如针对上述错误, Conflux的开发人员添加了P3标签以进一步修复此bug。
GuardStrike将对Conflux 公链持续进行审计,直到主链上线。秉持严谨、科学的态度,GuardStrike并不能给予Conflux 100%质量保证,这在计算机理论中已经被证明了是不可能的。但是,Guardstrike将应用多年的科研成果,来尽量减少Conflux的错误和漏洞,助力Conflux成为质量最好的公链。
软件质量安全问题不仅危及区块链行业 人工智能、物联网开发者都要提高警惕
尽管现在的区块链行业大火,但其本身依旧存在着一定的安全局限,从而导致其在技术层和业务层都面临着诸多挑战。人工智能、物联网领域也都面临着相同的质量安全挑战。目前已有多家著名企业的自动驾驶技术在测试或应用阶段发生事故。
但是,这些挑战同时也是新兴软件技术得到更广泛推广及应用时的难点,或成今后技术的突破点。如果这些技术能够突破,给人类社会带来的便利和福祉将远远超出它带来的问题。
而深信科创GuardStrike致力于提升区块链、人工智能、金融科技等新兴软件质量,本身具备多年的开发经验和深厚的科研技术背景,科研团队由来自中国、美国及新加坡软件测试与安全领域的计算机专家和教授组成,在此领域发表了近千篇科学论文。今后,GuardStrike将与更多优秀的软件研发团队合作,共同攻克技术安全的难题,为新兴软件安全护航。
针对本次战略合作,Conflux创始人龙凡博士表示,深信科创GuardStrike的技术实力在行业内有目共睹,我们也相信深信科创GuardStrike能够为Conflux的代码安全保驾护航。作为同样扎根技术脚踏实地的团队,未来Conflux愿意与更多像深信科创GuardStrike这样优秀的团队共同努力,加速区块链技术的落地进程,让更多人能够体验到区块链技术为生活带来的改变。
