TMT观察网_独特视角观察TMT行业

曲速未來披露:SIM token 自動化薅羊毛攻擊分析區(qū)塊鏈

曲速未來安全區(qū) 2018-08-06 23:15
分享到:
導(dǎo)讀

曲速區(qū)表示前段時間利用SIMtoken合約代碼邏輯缺陷自動化薅羊毛的攻擊事件,攻擊者的思路很棒,對以太坊的一些原理理解非常深刻。

事件回顧:

前段時間追蹤到了以太坊token中的首個自動化薅羊毛攻擊事件。被攻擊的合約地址已發(fā)出。token名稱為Simoleon (SIM),截止當(dāng)時已有接近57萬賬戶持有該合約的token:

經(jīng)過深入的分析了解,最終發(fā)現(xiàn)了攻擊者對以太坊的理解非常深刻,其通過部署攻擊合約獲得了超過700萬的token,從57萬賬戶中脫穎而出,一舉成為該合約token的第四大持有者:

被攻擊的合約Simoleon

在token發(fā)行過程中,為增加人氣發(fā)行方可能會選擇空投,即在一定時間窗口和投放總量的條件下免費(fèi)給參與地址發(fā)送一定數(shù)量的token。Simoleon合約也加入了空投能力,在總量發(fā)放完之前,任何未接受過該token空投的賬戶都可以調(diào)用本合約的transfer函數(shù)給指定賬戶地址免費(fèi)轉(zhuǎn)賬token:

漏洞分析:

在transfer()中首先調(diào)用了initialize():

initialize()作用是判斷參與賬戶是否接收過空投,沒有接受過就給參與賬戶空投一定數(shù)量的代幣,再標(biāo)記參與賬戶以接收空投,以免重復(fù)空投被薅羊毛。

看似一段比較正常的代碼邏輯,但是開發(fā)者忽略了一個問題:錢包賬戶是可以無條件創(chuàng)建的。

Simoleon合約對已經(jīng)發(fā)放token的地址都進(jìn)行了記錄,因此每個地址只能免費(fèi)獲得1萬的token。要獲得更多的數(shù)量,就需要創(chuàng)建很多新賬戶,然后利用這些新賬戶調(diào)用Simoleon合約的transfer函數(shù)給指定賬戶來獲得大量token。如果通過創(chuàng)建EOA賬戶來進(jìn)行薅羊毛,則每個賬戶都需要一些以太幣,否則EOA賬戶就沒有g(shù)as去調(diào)用Simoleon合約的transfer函數(shù),也就無法薅羊毛。顯然,這樣不僅步驟繁瑣,而且每一筆交易都會產(chǎn)生手續(xù)費(fèi),增加了不必要的成本。

攻擊者在這里采用了一種精妙的攻擊手法:首先部署一個惡意合約,在惡意合約中生成臨時合約,臨時合約調(diào)用SIM token中的transfer(),因?yàn)榕R時合約賬戶沒有進(jìn)行過交易,會觸發(fā)initialize()進(jìn)行空投。獲得空投后,臨時合約賬戶將空投獲得的代幣轉(zhuǎn)入攻擊者賬戶,最后臨時合約銷毀。

這是攻擊一次的流程,攻擊者一次生成了50個臨時合約薅羊毛,效率比手工高太多了。

果然,知識才能解放雙手啊。

經(jīng)過分析,找到原因就在Simoleon合約的transfer函數(shù),合約在空投的時候也會對目標(biāo)地址進(jìn)行免費(fèi)發(fā)送token,但是這個發(fā)放卻沒有調(diào)用Transfer事件:

于是,攻擊合約的token變化過程如下:

  1. 攻擊合約被創(chuàng)建,token為零。

  2. 第1個臨時合約初始化時調(diào)用Simoleon的transfer函數(shù),由空投的1萬加上臨時合約發(fā)送的1萬構(gòu)成。

  3. 第2個臨時合約初始化時調(diào)用Simoleon的transfer函數(shù),由先前2萬加臨時合約發(fā)送的1萬構(gòu)成。

  4. 攻擊者從攻擊合約提取全部token,提取總量token為3萬。

總結(jié)

Simoleon合約能被自動化的薅羊毛,最根本的原因在于其合約代碼的空投獎勵函數(shù)沒有任何權(quán)限控制,任意未領(lǐng)過空投的賬戶都可以直接調(diào)用Simoleon合約來獲取。因此,攻擊者可以利用攻擊合約來創(chuàng)建大量賬戶來領(lǐng)取。一種緩解辦法是給空投獎勵函數(shù)設(shè)置權(quán)限控制,比如只有合約創(chuàng)建者才能給目標(biāo)地址發(fā)放token。

曲速未來實(shí)驗(yàn)室提醒:區(qū)塊鏈的特性決定了合約代碼一經(jīng)部署就無法修改,無論是合約的開發(fā)者,還是投資者,還是交易平臺,都應(yīng)當(dāng)對合約進(jìn)行多重安全審計(jì),盡量在上鏈前消除安全風(fēng)險。

合約 token 賬戶 空投 Simoleon
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。


專題報道

主站蜘蛛池模板: 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 北京京云律师事务所| 棕刚玉_白刚玉_铝酸钙-锐石新材料 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | Jaeaiot捷易科技-英伟达AI显卡模组/GPU整机服务器供应商 | 亿诺千企网-企业核心产品贸易 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | RFID电子标签厂家-上海尼太普电子有限公司 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 十字轴_十字轴万向节_十字轴总成-南京万传机械有限公司 | 视频直播 -摄影摄像-视频拍摄-直播分发 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 |