以太坊Token合约惊现“古老”溢出漏洞 多家交易所受到影响
事件
本周四凌晨(2018年12月27日),降维安全实验室(johnwick.io)自主研发的**"智子"区块链威胁感知预警系统**监控到某知名ERC20合约遭到黑客攻击, 黑客利用该合约批量转账中存在的整数溢出问题,向黑客受控账户"增发"了115,792,089,237,316,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.584007913129639935数量的ERC20 Token,直接导致该合约的Token价值归0.
智子监控感知截图
攻击交易截图
分析
通过分析该合约源码,我们发现本合约虽然引入了SafeMath函数库来避免潜在的整数溢出,但是未对所有敏感数据的四则运算使用该函数库,百密一疏,导致本合约存在3处严重的整数溢出问题:
其中batchInvests()因为是onlyOwner限制只允许owner合约管理者调用,所以影响轻微.
另外2处batchTransfers()(正是上述事件中,被黑客利用的接口)和batchTransferFroms()因为是公开接口,可以被任意账户调用,所以影响更为严重.
batchInvest()
batchTransfers()
batchTransferFroms()
如上图所示, 如果有问题的转账金额数组amounts[]累加(黄色高亮代码)发生整数溢出,将导致总转账金额totalAmount绕过后续require()检查代码(绿色高亮代码),随后合约使用这些转账金额改写黑客控制账号的余额(红色高亮代码),达成攻击.
值得一提的是,这个漏洞跟今年7月7号的AMMBR(AMR)代币合约的multiTransfer()函数整数溢出漏洞如出一辙!
后续
我们与该ERC20合约的项目方取得了联系,给他们的智能合约进行了加急审计,并提供了整改措施和修复方案.
项目方行动迅速,不到12小时修复了我们指出的上述问题,并提供了修改后的合约源码供我方审计.
经过我方再次审计,确认没有安全问题,项目方再次部署上链.
结论
为了防止整数溢出,对所有敏感数据的加减乘除四则运算都应使用SafeMath函数库来进行.
智能合约编写完成后,部署上公链前,应交给有经验的第三方的审计机构进行评估.
智能合约部署上公链后,应加入第三方威胁感知监控系统,及时预警,将风险降至最低.
이더리움 가격 분석 : ETH / USD 200달러 이상으로 회복 가능?
주요 하이라이트• 이더리움 가격은 미국 달러 대비 168달러에서 지지를 얻은 후 상향 조정되기 시작했다.• ETH / USD의 시간별 차트(크라켄을 통한 데이터 피드)에서 183달...

지닉스,암호화폐 펀드 ‘ZXG 1호’ 공모 마감 … 경쟁률 12대 1 ...국내 최초의 암호화폐 펀드 공모, 접수 2분 만에 공모 금액(1,000ETH) 돌파
국내 최초의 암호화폐 펀드 공모, 접수 2분 만에 공모 금액(1,000ETH) 돌파펀드 투자만으로 개인 참여 어려운 유망 ICO 프로젝트에 간접 투자 가능세계 최초 암호화폐 펀드 ...
[Masterpiece YouTube+] 예스맨 가즈아 / 비탈릭발언? / 궁금증해소 / XRP내용 / 정확도 높은 차트방송 / BITCOIN / ETH / XRP - 예스맨
Korea No.1 Chart analysis and News Yotuber - YES MEN예스맨의 비트 코인 방송 채널에 오신 걸 환영합니다.◈초보자를 위한 비트코인 등 암호 ...