在保障区块链项目的安全及稳定方面,审计一直以来都发挥着至关重要的作用。
CertiK?的审计专家团队拥有丰富的经验,迄今为止已获得了?4000?家企业客户的认可,挖掘了超过?70000?个代码漏洞,保护了超过?3600?亿美元的数字资产。
CertiK?的审计过程全面且彻底,我们的安全专家会细致检查项目的设计、架构和源代码,以发现漏洞或风险。
凭借我们的安全专业知识和业内领先的端到端安全解决方案,CertiK?持续引领着Web3.0?行业的安全领域,提供从最基本的?token?到最复杂的?DeFi?协议乃至区块链整体架构的安全审计服务。
但是想必会有用户疑惑于我们具体是如何进行审计的,审计方法是什么,关键的审计特点又是什么?
往下看,这篇文章就可以给出答案。我们的审计流程的第一步,是获得源代码并搭建一个定制环境。
第二步是审查项目文件并进行威胁模型分析,随后使用内部工具和人工审计来寻找安全漏洞和设计缺陷。
第三步是提交一份包含所发现的风险及其修复建议的初审报告。
第四步则是出具终审报告,该报告将详细描述审计工作为项目带来的帮助,并展示了?CertiK?审计专家是如何协助项目规避Web3.0?关键漏洞的。
环境配置
目前,CertiK?的审计及端到端安全解决方案已覆盖目前市面上大部分生态系统,并支持几乎所有主流编程语言,就区块链平台、数字资产交易平台、智能合约的安全性等领域为各个生态链提供安全技术支持。
火必宣布上线LHINU(Love Hate Inu) 其充币业务于今日17时开放:据官方消息,火必宣布上线LHINU,其充币业务于今日17时(GMT+8) 开放;LHINU币币交易(LHINU/USDT)于今日18时(GMT+8)开放。公告显示,其提币业务将于明日18时(GMT+8)开放。
据悉,Love Hate Inu是一个模因加密项目,它打算通过使用区块链技术让人们投票来扰乱在线调查市场。作为参与这些模因主题调查池的回报,选民将获得 LHINU 代币。[2023/5/19 15:13:41]
虽然某些编程语言所编写的项目可能需要非常复杂的配置过程,但这个问题可以通过使用预先配置的虚拟机环境得到一定程度的解决——将代码导入到配置好的环境中,检查其能否成功编译和部署,该环境的设置使安全专家能够运行代码并编写测试,以获得对项目更深刻的理解。
架构审计
确定项目的架构对于了解系统和安全相关的关键组件与部分至关重要。
对架构的彻底理解对于有效的威胁模型分析也是必不可少的。
理想情况下,项目团队会提供一份白皮书和技术文件,概述项目的详细架构。
然而在许多情况下,这些架构文件是缺失的,审计员必须进行架构提取以确定架构。
架构提取包括检查组件之间的交互、外部输入的处理、库的导入、新想法的实现、对代码标准的遵守以及对并发的支持。
对于常见的项目类型来说,利用工具生成调用图和存储布局图来辅助进行可视化的过程可能很简单。
火必发文回应不实谣言:将持续构建去中心化金融体系:3月29日消息,火必发布了一篇名为《心中有火,路在远方!》的文章回应了近期出现的一些刻意抹黑火必的不实言论。具体包括“将pGALA黑客事件造谣为火必真币加P”、“将正规合规的现货期货行为造谣为发行假币”、“将极端的市场波动造谣为插针收割用户”、“将一般民事诉讼事件造谣为以欺诈罪起诉”等。火必表示,对相关不实言论勇敢说”不”,火必仍然保持的开放的心态接受行业的意见与建议,同时会根据这些建议不断优化与改进,做一家有态度、负责任、思进取的加密资产交易平台。火必还指出,火必一直在推动加密行业与全球政府和监管机构的合作,渴望和所有行业同仁一起,致力于建立透明的指导方针以监管加密货币行业,并继续建设去中心化金融体系。火必希望能够和广大行业从业者共同维护行业秩序,抵制恶意言论,做Web3.0世界有力的建设者![2023/3/30 13:33:49]
然而,对于组织不完善或非常规的项目,审计员可能需要通过逐个分析功能和源文件来手动确定组件结构及其关系。
确定一个项目是原创设计还是另一个项目的分叉也很重要。因为分叉很有可能会继承来自其初始项目的漏洞——PancakeBunny协议遭到闪电贷攻击,损失超过?4000?万美元,其源代码被其他多个项目分叉,由于未能识别和修复漏洞,导致他们遭受了相同的攻击。但本来一个彻底的安全审计就可以发现这个漏洞从而规避此种攻击。
威胁模型分析
威胁模型分析包括对一个项目的关键资产、资源和安全需求的描述,以及划分出了一个潜在漏洞和安全威胁的列表。
火必将下架ABT、ATP等33个币种:1月11日消息,据官方公告,火必将于2023年1月16日16:00停止ABT、ATP、APN、AST、DIE、DHT、DFA、EDEN、GEAR、HC、INDI、IOI、INV、IRIS、GCOIN、GOF、KMA、MTA、NAS、OPUL、PEARL、PRIMATE、QASH、SMT、SLC、SKU、SOC、STC、TALK、VALUE、WHALE、WILD和YAM的交易,并实施下架处理;原因是这些代币触犯了《火必通证管理规则》。[2023/1/11 11:05:57]
抽象的描述是在架构审计期间建立的,安全需求可以通过基于系统架构提出并回答有关问题来确定。例如,在一个治理系统中,可以尝试提出以下问题:
谁可以创建提案?
创建一个提案有哪些要求?
一个提案需要多少百分比的票数才能通过?
提案的验证期有多长?
项目使用的是什么投票?token?和机制?
特权账户可以修改哪些配置?
一旦确定了安全需求,就该考虑可能会面临的威胁了。
在Web2.0?中,常用的威胁分类模型是?STRIDE,它将威胁分为六类:欺诈、篡改、抵赖、信息泄漏、拒绝服务和权限的提升。
这个方法在Web3.0?中需要稍作修改。例如在?DeFi?项目中,源代码是在区块链上验证的,所有交易信息和存储数据都是公开的,所以“信息泄露”的威胁并没有那么大。
威胁模型分析最后的结果将会生成一个安全检查表,用以指导安全审计,并可更加全面的评估系统安全状况。
静态分析和形式化验证
我们通过端到端安全解决方案以及运用?CertiK?丰富的审计经验和技术底蕴来为Web3.0?提供安全服务。
包含在端到端安全解决方案内的工具和服务均依托于一个庞大数据库——这些数据来自?CertiK?数以千计的审计历史和挖掘的超过?70000?个漏洞。
其中,我们的安全工具会在源代码和字节码层面对代码进行静态测试,识别不安全的代码模式并生成图表以提供对智能合约的可视化分析。
随着机器学习与智能合约风险环境的不断变化、威胁情报库和智能合约漏洞库的不断积累,这些安全工具也将随之进步。
除了静态分析外,我们还通过形式化验证来确保项目代码的安全,并确保程序运行符合其预期的规范。
形式化验证,是一种验证计算机程序是否按照预期运行的数学证明方法。
它将程序的属性和预期行为表达成为数学公式,然后使用自动化工具来检查这些公式是否成立。该过程有助于确保其程序符合预期,其主要发现包括逻辑问题、重入风险、缺乏访问控制、溢出/下溢和?gas?优化等等。
但最终产生的结果需要经过审计专家的人工验证,以保证结果的准确。
人工审计
安全工具的确非常强大但是也有其相应的局限性,这也是我们经验丰富的工程师团队发挥作用的地方。
人工审计的内容包括对代码进行极为细致的逐行检查,这是整个审计过程中最为耗时的步骤。
人工审计可以分为两个部分:微观审计和宏观审计。
微观审计包括分析代码以了解所有功能,在这个过程中我们经常会发现代码的问题。这一审计部分涉及到的技术包括分析每个参数、变量和字段,审计函数访问控制和修改状态变量,以及对类似的函数进行比较。
而宏观审计是通过了解项目的调用/合约层次,搜索状态变量和函数的出现位置,以及检查不同的假想场景来识别全局漏洞。
例如那些关键性漏洞的诱因通常不只局限于单一的函数,而是可能由位于代码不同部分、多个功能之间的不正确交互导致。
上文我们提到了架构审计和从威胁建模结果中得出的“安全检查表”,人工审计的过程也将参考这些结果。
在人工代码审计过程中,审计员将同时采用黑客和开发者的视角。黑客的思维方式将被用来发现那些可能被利用的潜在漏洞,而开发者的思维方式将被用来验证执行情况并识别代码中的不足,如低效的?gas?使用和缺乏的代码模块化。
在必要情况下,我们还会将单元测试纳入人工审计。
单元测试是根据每个项目的不同特点为其量身定制的安全评估,包括验证项目组件是否正确地响应特定的输入、输出和边缘案例。
如果单元测试被成功运行,那么就意味着代码的确是在按照预期规范运行。
针对大型项目,CertiK?将安排多位审计员作为一个团队进行审计,建立审计计划并分配相应职责,定期举行会议以讨论审计进度和结果,并在必要时协同完成工作。除此之外,也将为项目与审计团队之间建立一个便捷的沟通渠道,以便第一时间就项目审计相关内容进行沟通。
CertiK?的审计方法整合了各项安全技术,包括静态分析、形式化验证和人工审计,以确保项目代码库的安全。这种全面的方法可将安全漏洞发生的风险降到最低,为项目赋予对其代码正确性和安全性的充分信心。
审计报告和代码修复
我们的审计报告从项目的类型、生态系统和审计范围的描述开始,对项目的安全状况进行了详细的分析。这些报告解释了我们用于评估项目安全性的方式和审计方法。
而为了让读者更容易理解报告中的安全评级和术语,在报告的附录部分,我们提供了有关审计的定义和其他信息,这些信息包括图表和审计员注释。所做的具体测试将在报告中专门提及,解释其执行过程和最终的结果。
我们提供的每个风险「Finding」都包括对项目中发现的问题进行识别、分类和提供的建议,以及对这些内容的详细解释。
每个挖掘出的风险「Finding」均包括标题和数据。
接下来的四个版块准确地详述了安全注意事项:
Description:定义了风险漏洞的背景并概述了其安全影响。
Scenario:介绍了触发一个漏洞或者造成项目故障的步骤及其前提。
ProofofConcept:包括了漏洞利用脚本和说明,以及用于在客户端重现漏洞时的预期日志输出。
Recommendations:通过提供可操作的解决或修复措施来总结所有调查结果。
这些版块提供了详细及具备针对性的信息,以便于读者理解。
在修复阶段,项目团队将与审计团队进行持续地沟通,进一步提高项目的安全性。
初审报告是出具给项目团队的,随后项目团队可以通过源代码更新或是评论来回复。我们将根据项目团队提交的回应对评估结果进行更新,并在终审报告中标注其对代码做出的修改。
这一过程可以重复进行直到项目团队对安全评估满意为止。终审报告除提交给项目团队以外,也将公布于?CertiK?安全排行榜,社区成员和其他用户均可免费查看该项目在接受?CertiK?审计和安全服务后提升安全等级的细节内容。
写在最后
除了审计服务,CertiK?的安全工程师还身兼威胁事件响应、安全研究、发表教育技术类分析、参与会议、夺旗比赛和内部培训多领域技能,这些多样化的技能和经验帮助更加深入了解安全领域,且通过持续的教育和研究深入理解最新的行业标准和最佳实践。
CertiK?的审计有几个有别于其他审计服务的主要特点:
①我们的定制环境允许审计专家运行专有工具和定制测试。这将确保全面且彻底地测试项目的安全性。
②我们的审计专家拥有的专业水平可以确保人工审计能在最高水平上进行代码的细致检查。因此即便是最为复杂的代码库,我们也可以挖掘出潜在的漏洞。
③CertiK?的审计报告是完全定制的,为项目团队提供风险的解决方案。项目的开发者可以获取解决风险和漏洞的可操作步骤,从而提高项目的整体安全性。
CertiK?审计服务的目的是为项目的代码提供全面的安全评估。因此这意味着尽管项目代码得到了基础安全评估,但同样也非常需要?CertiK?的安全解决方案以进一步增强安全性。
CertiK?的端到端安全解决方案中包含了渗透测试、漏洞赏金以及额外的测试服务,可进一步确保项目的安全。
Skynet?天网系统和?24*?7?威胁事件响应可为项目提供链上监控,防止恶意利用和威胁。
安全排行榜和Web3.0?项目团队的KYC?尽调可以提高社区透明度和信任度。
CertiK?端到端安全解决方案不仅能为静态和链上运行环境中的项目提供全面的安全性,同时也可做到在社区内建立信任,用户可以更好地了解他们正在交互的项目的风险——这也是我们公开审计报告的原因。
提高整个Web3.0?行业的安全标准和透明度是我们的使命,其中的部分内容在本文中得以体现。我们期待Web3.0?的未来是健康且安全的,也将一步步助力其达成这个目标。
尊敬的CoinW用户: 为给您提供更优质的用户权益,CoinW将对部分ETF产品进行优化,CoinW将于2023年3月6日19:00?(UTC8)暂时下架TwitFi3L、TwitFi3SETF.
数据显示,近期比特币融资利率转为负值,表明市场上空头正在积累。紧缩会随之而来吗?比特币资金利率处于2022年12月以来的最负值正如CryptoQuant帖子中的分析师指出的那样,市场情绪目前正在.
亲爱的用户: HuobiOTCDesk现在支持以下法定货币和加密货币的大宗交易。法币:USD/EUR/GBP/AUD/CAD/CHF/HKD/JPY/SGD加密货币:USDT/USDC 法币存取.
金色财经报道,在加密行业融资方面,本周是平静的一周。向加密货币初创公司提供的资金略低于9100万美元,与前一周的2.54亿美元相比大幅下降.
金色财经报道,联邦检察官在致法院的一封信中表示,SBF将于今年秋天将面临审判,根据拟议的保释条件安排,他将仅限于使用白名单中的网络工具和网站,以及限制监控软件的使用.
3?月?1?日,币安宣布发布?AI?驱动的?NFT?生成器测试版“Bicasso”,用户可通过上传提图片并输入关键词进行?AI?运算后生成?NFT.