宇宙链 宇宙链
Ctrl+D收藏宇宙链

独家 | 审计报告怎么记录审计文件的存证? 又该如何去审读

作者:

时间:1900/1/1 0:00:00

本文由“灵踪安全”原创,授权“金色财经”独家首发,转载请著名出处。

?一份审计报告是对一套智能合约的“质量检测报告”,那报告就要告诉用户所审计的对象是谁。

?和普通的有形商品不同,智能合约这种特殊的商品是摸不着的,那怎么才能让用户知道它呢?

?区块链领域的绝大多数项目包括鼎鼎大名的比特币和以太坊都有一个共同的特点:它们的源代码都是”开源”的。所谓的“开源”就是它们的代码都是公开的,放在某个公开、所有人都可以访问的网站上,任何人都可以看到它的内容。

?我们所审计的智能合约绝大多数也是这样,它们都是开源的,放在一些知名的、供所有人存放文件的网站比如github等。

?如果我们所审计的智能合约是开源并且放在了github上,我们要让用户知道它、看到它的源代码,就会在审计报告中列出合约所存放的github的网址。这就好比一件商品存进了一个大仓库,存在仓库中的某个库房,我们要让用户能找到这件商品就要告诉用户仓库的地址和库房的门牌号码。存放合约的github网址就等于仓库地址门牌号码。

独家 | 警惕以太坊里的垃圾合约?伪造交易进行广告推广:近日,降维安全实验室(johnwick.io)在以太坊智能合约监控系统中监测到一个垃圾推广合约ERC20 (blockwell.ai KYC Casper Token),垃圾推广通过调用垃圾合约的某公开方法(方法签名: 0x975ef7df)虚构了大量(每500个一组,转账数量100个代币)受害地址之间的转账交易,并虚假记录了这些转账交易的Transfer()事件日志,导致大批钱包应用依据此事件记录,向无辜受害用户推送了此垃圾代币的交易转账通知,变相成为了此垃圾代币的推广宣传帮凶。在短短一天时间内,该交易者伪造了50余万笔虚假交易(截至发稿前为止)进行垃圾推广。

垃圾交易者地址: 0xaaf70e052b76c9bd177e24a0e249f17cc3486ea0

垃圾合约地址: 0x212d95fccdf0366343350f486bda1ceafc0c2d63

垃圾代币名称: ERC20 (blockwell.ai KYC Casper Token)[2018/9/10]

可是如果合约的编写者在给审计机构审计时用的是放在github上的一套合约,但审计后尤其是项目上线后,用户又修改了它的智能合约,我们怎么知道放在github上的合约就是审计时看到的合约而不是后来修改过或者其它“鱼目混珠”的合约呢?

独家 | 游戏Token被盗事件初步调查 ?:据成都链安科技消息,8月22日游戏God.game遭黑客攻击,合约内所有Token被攻击者席卷一空。成都链安科技团队立即展开安全排查。

疑似攻击地址:0x3abc8325a9ff36d78844ea8281b8c190c66c3d44根据此地址异常情况分析出的疑似攻击手段:1.攻击者先通购买了部分token;2.然后通过sell卖出token;3.导致账户dividends异常增加;4.最终通过调用reinvest()函数使用dividends购买大量token,

体现在Etherscan上的具体交易信息:

https://etherscan.io/tx/0x38c5499e8c8be5af32d6207fdaf088103cabaad05563915a21fb2f8aedce9618

该账户异常dividends如下图中左上角(1)部分所示;异常余额token总量如下图中右上角(2)部分所示;整套操作在Etherscan上体现为下图左下角(3)部分。针对真正产生异常的具体原因需要在代码层面进行排查,严谨论证结果报告需要更多的时间。

除了上述异常操作现象之外,成都链安科技还发现其“后门”,如下图中右下角(4)所示,这段代码给予合约创建者一个特殊权限,即能“随意更改指定地址上的账户余额”。其中_identifier是欲指定的地址,value为设置的账户代币余额。这两点是否都与此次攻击事件联系密切,亦或两者之间有联系。成都链安科技团队正进行合约代码安全漏洞排查并形成系统的分析报告。[2018/8/22]

这就涉及到github这个仓库的一个特性了。

独家 | ”FOMOShort”旁氏局持续 庄家创建多个高危马甲合约:继昨天RatingToken安全团队对”MOFO”合约的报道后,FOMO Short庞氏局还在持续,今日该子地址又创建了多个代码完全一样的合约,怀疑为分渠道行做准备。据RatingToken合约审计团队深入调查,发现FOMOShort完全抄袭了FOMO3D的代码,并将自己的合约取名为“MOFO”,仅仅是”FOMO\"字母的倒置,并做了玩法的微创新,将24小时倒计时改为了1小时倒计时。FOMOShort同时还存在admin可以操作用户资产的漏洞,该合约在Ratingtoken.net的检测得分仅为2分,为最高风险等级,玩家请勿参与此旁氏游戏,否则将随时面临被盗取ETH资金的危险。[2018/7/21]

当项目方往github中存放代码时,github会给这次存放动作产生一个版本号。这就好比我们在比特币、以太坊中申请一个新钱包时,这个钱包会有一个独一无二的地址一样,这个版本号也是唯一的。

金色独家 食链foodc创始人刘源:应对世界杯“假票门” 区块链可编码防破译:目前世界杯正热,针对近日爆出的门票造假事件,金色财经独家专访了食链foodc创始人刘源。针对门票防伪,区块链技术拥有明显优势。刘源表示:门票的防伪,首先要防范票造假,实际上就是标签防伪,现在主要通过印刷时按照一定的算法印一些花线在上面,类似于身份证花纹防伪技术;另一方面,是防止票编码造假,防止有人反推出票据的生成算法,从而伪造票编码,这个技术就是产品身份识别的技术,防止算法别破译。区块链门票的防伪,主要是应用在票编码防破译这块,使用区块链的加密算法把票编码存储进链,实现票编码算法无法破译。

区块链在实现防伪溯源方面相对于传统防伪手段有哪些优势呢?刘源说,区块链防伪的技术的应用中,使用区块链技术对产品身份进行加密存储,一方面利用共识机制达到不可篡改的效果,另一方面,数据在存储时可使用以太坊的ECDSA算法进行签名加密,会经过约8个步骤,并进行了多次消息摘要算法加密,确保在未来产生量子计算机时也不能被破译,从而做到身份识别的唯一和防伪特性。[2018/6/19]

当项目方之后对任何文件有了任何改动:小到一个字的修改,大到文件的删除、添加等,当把这些改动提交到github中,github又会给这次动作产生一个新的版本号。

所以github中的版本号就是对所存放的文件的一份唯一存证,它保证了这个版本号所对应的文件就是某时某刻放进仓库中的文件,而不是之前或之后放进去的文件。

所以我们在审计报告中除了罗列被审计合约的github网址,还要罗列被审计合约在github中的版本号。

这两个要素就保证了读者看我们报告时能准确知道我们所审计的内容。

除了放在github上,还有的项目方在审计时已经把合约部署在区块链网络上了。由于智能合约一旦部署到区块链网络上,它就是无法篡改和撤销的,因此智能合约所部署的区块链地址也可以作为合约的存证地址。

对这样的合约,我们通常也会记录下它在区块链上的地址作为唯一存证。

我们前面说绝大多数项目的智能合约是开源的,这也就意味着还有一些项目的合约在审计时是未开源的,在这种情况下,我们怎么记录这份合约的存证呢?

我们会用SHA-256的值来标记合约文件的存证。

有些读者尤其是数字货币的玩家看到“SHA-256”这个词会觉得很眼熟:这不是数字货币加密算法中常用的一个技术吗?

确实是这样,更准确的说,它是一种经过“哈希函数”运算得出的值,这个值也被称为“哈希值”,它有256位。

所谓的哈希函数又称散列函数,是一种从任何一种数据中创建小的数字“指纹”的方法。哈希函数把消息或数据压缩成摘要,使数据量变小,将数据的格式固定下来。该函数将原有的数据打乱混合,重新创建一个结果叫做哈希值。

我们为什么要用这个值来记录合约文件的存证呢?因为一个SHA-256的值所对应的文件内容是唯一的。这就和上面我们用github中的版本号来保证github中的文件是唯一的一样。

那我们怎么用这个值来记录合约文件的存证呢?

我们自己编写了一套这样的工具,对所审计的每个合约文件的内容都用这个工具进行一次运算,所得到的值就是一个SHA-256的值。这个值就代表了我们所审计的文件内容的唯一。

我们会罗列每个文件及其所对应的SHA-256值,这就记录了文件的存证。

当用户或读者要检测他看到的合约文件是否是我们所审计的合约时,将他看到的文件用我们的工具计算一下,将所得出的SHA-256值与我们所得到的值进行比较,如果一样就证明是,如果不一样就证明不是。

所以总结起来说,我们会用github网址版本号、区块链地址或SHA-256值这三种方式中的一种或几种来记录文件的存证。

谢谢

------------------------------------------------------------------

作者:

灵踪安全CEO谭粤飞

美国弗吉尼亚理工大学(VirginiaTech,Blacksburg,VA,USA)工业工程硕士(Master)。曾任美国硅谷半导体公司AIBTInc软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事。个人拥有4项区块链相关专利、3本出版著作。

关于灵踪安全:

灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。

团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊团队正式收入。

团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。

标签:区块链HUBITHTOK区块链的几个大局有哪些Hubble ProtocolZenith Tokenimtoken钱包最新局

火必交易所热门资讯
4.01 以太坊探底反抽站上1900能否突破2000?

行情观点:小时级别来看,昨日以太大幅回踩跌至1770.23一线反弹,一路震荡上升,早间遇压1945一线回调,走出二连阴,触底延续震荡向上,多头趋势非常强烈,目前币价持续在1900上方震荡调整,技术面来看,MACD呈多头排列开始缩量.

1900/1/1 0:00:00
CoinBene上线 Polkastarter (POLS) 的公告

尊敬的用户: CoinBene将上线POLS/USDT币币交易,邀您体验。POLS充值时间:2021年4月2日15:30POLS交易时间:2021年4月2日15:30POLS提币时间:2021年4月2日15:30Binance支持Fi.

1900/1/1 0:00:00
FIL单月涨200% 存储板块或为DeFi、NFT后又一热门赛道

近期,FIL以单月涨幅超200%的市场表现引发多方关注,受此影响,存储板块的不少项目都有不同程度的涨幅,如STORJ单日涨幅43%,AR创历史新高等.

1900/1/1 0:00:00
关于重新生成LTC充币地址的公告

亲爱的用户: DigiFinex现已恢复LTC充提币服务。为了更好的保护用户的资产安全,我们将重置所有用户的LTC代币充币地址(重置后您的旧充币地址将被删除,持有的资产不会受任何影响),请所有用户重新生成并启用新的LTC代币充币地址.

1900/1/1 0:00:00
看CDN公链AIOZ Network如何打造下一代流媒体

2021年3月30日下午3点,Uniswap中文社区首席分析师Jimm对话AIOZ创始人兼CEOErmanTjiputra,带来“看CDN公链AIOZNetwork如何打造下一代流媒体”的主题AMA直播活动.

1900/1/1 0:00:00
比特币 以太坊再创新高,1200点策略免费送上,早间操作策略

方法不对,努力白费,方法找对,事半功倍,凡事皆有法,找到好方法是成功的一半。不是币圈没利润,只是没找到方法,也不是韭菜就该割,是该学会低头了.

1900/1/1 0:00:00