比特币挖矿机,比特币挖矿机配置
比特币挖矿机,比特币挖矿机配置
北京时间2020年11月20日,电报社区出现部分截图,声称Keep3rLink接受CertiK的审计服务。
在此,CertiK郑重声明,CertiK团队从未对‘Keep3rLink’项目进行过任何审核。
同一天,CertiK安全研究团队发现Keep3r项目存在集中的安全隐患。
项目所有者的权限,太大,可能会提高允许奖励的限制,因此任何数量的奖励都可以发送给任何参与者,任何数量的令牌都可以铸造到任何地址。
一旦您拥有了治理角色,您就可以使用一中的第1169行中的setKeep3rHelper()函数来修改KPRH指向的Keep3rHelper智能合约
修改后,图二中第1076行的KPRH.getQuoteLimit()的具体实现也很有可能被修改,然后不同的返回值会返回给调用这个函数的keep3 rv1合约。
图2:某个用户管理员的奖励函数workReceipt()
如果项目所有者考虑发起攻击,他可以首先调用图三中的addkprcredit()函数,因为他具有治理角色。
在第916行,任意数量的学分被给予工作的地址(假设工作的地址是ADDR_A,由项目所有者掌握)(假设所给予的学分数量是与ADDR_A相关联的学分_A)。
然后可以部署一个新的Keep3rHelper智能合约,然后定义智能合约中的getQuoteLimit方法返回uint类型变量的最大值。
然后,项目所有者可以使用ADDR_A的地址来调用图1中的setKeep3rHelper()函数,并将KPRH值指向给定的Keep3rHelper智能合约
最后,调用图形二中工作收据()函数,1076行代码必须通过,因为KPRH.getQuoteLimit()函数被指定返回最大值。
在第1077行,因为项目所有者使用ADDR_A的地址进行呼叫,所以智能合约中的信用点数是信用_A,因此该金额可以是稍小于信用_A的任何值
过了1077线,金额的奖励号就给了保管员的地址。
最后,守护者可以调用契约内ERC20的转移函数,将奖励转移到他给定的地址,完成攻击。
图3:函数addKPRCredit()用于向作业添加信用号
除了上述集中式风险漏洞之外,图四中的mint()还允许为治理角色的地址铸造任意数量的令牌。
治理角色的地址可以通过图一中的设置治理()函数和接受治理()来设置
这意味着项目经理可以通过重置治理角色的地址将任意数量的令牌强制转换到任意地址,只要他具有治理角色。
图4: mint(),一个允许治理角色随意转换令牌的函数
可以知道,项目业主具有权限,的治理角色,因此有权限可以通过上述集中漏洞进行攻击并获利。
图5: Keep3rV1智能合约车主等相关信息
图6:治理角色地址
摘要
区块链作为一种颠覆性的时代核心技术,也被广泛应用于各个领域,收益和有利条件下隐藏的安全隐患不容忽视。
安全审计现在是高质量项目的标准。
如果项目未经审核,投资行为对用户要格外谨慎;对于项目方来说,需要准备相关资料,找专业的、有信誉的审计公司进行审计。
如果项目已经过审计,则需要尽可能了解审计公司的背景及其审计报告中的指标。
CertiK使用正式的验证工具来证明智能合约的可靠性,公司内部审计专家将利用包括正式验证在内的各种软件测试方法,结合一流的白帽黑客团队,提供专业的渗透测试,从前端到整个智能合约,确保项目的安全性
最近,一些项目方打着CertiK的幌子发布虚假审计报告。
首先,CertiK非常感谢项目方的认可。但项目方要对项目的发展负责,一份完整的符合安全标准的安全审核报告是必不可少的。如果您有审计要求,请点击CERTIK公众号底部的对话框,并留言免费咨询和报价!
CertiK在此提示:请仔细筛选任何与CertiK审核相关的新闻。不要相信虚假内容,请参考CERTIK官方或权威媒体发布的新闻。