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

曲速區(qū)警惕!你的RAM可能已被EOS惡意合約吞噬區(qū)塊鏈

曲速未來安全區(qū) 2018-08-03 11:05
分享到:
導(dǎo)讀

曲速區(qū):惡意EOS合約存在吞噬用戶RAM的安全風(fēng)險。現(xiàn)將漏洞分析公布出來,供社區(qū)研究參考,以方便自查和防御。

寫在前面的話:

7月24日消息,據(jù)有消息稱收到情報:惡意 EOS 合約存在吞噬用戶 RAM 的安全風(fēng)險。本次發(fā)現(xiàn)的漏洞,恰好會導(dǎo)致用戶賬戶內(nèi)的RAM可能被惡意消耗,引發(fā)直接財產(chǎn)損失。

惡意EOS合約存在吞噬用戶RAM的安全風(fēng)險,需要引起各大交易所、錢包、token空投方、DApp、用戶等的警惕,避免遭受損失。

EOS的最新消息

EOS,是專門為商用分布式應(yīng)用而設(shè)計的一款高性能區(qū)塊鏈操作系統(tǒng),是一種新的區(qū)塊鏈架構(gòu),旨在實現(xiàn)分布式應(yīng)用的高性能擴展。EOS的發(fā)布,被譽為區(qū)塊鏈3.0時代的到來。

在EOS智能合約執(zhí)行過程中,需要消耗EOS節(jié)點的cpu和內(nèi)存資源,這些資源按照交易發(fā)生時的CPU資源和RAM資源價格,支付給EOS節(jié)點,從前一段時間被爆炒的RAM價格就可以看到RAM的稀缺性。

7月27日就有報道 EOS的內(nèi)存RAM,曾一個星期漲了15倍,兩個星期漲了50倍,暴漲把EOS推到了風(fēng)口浪尖,也著實讓RAM火了一把。現(xiàn)在EOS的RAM容量上限為64Gb,此后通過逐步增加容量到1Kb。目前,EOS交易價格約為8.79美元,該加密貨幣總市值已經(jīng)達(dá)到78.75億美元,在所有加密貨幣市值排名中位列第四位。

什么是RAM?

RAM就是EOS的內(nèi)存,它不是一種代幣或通證,它就是EOS的內(nèi)存資源而已。它在EOS軟件平臺上對應(yīng)的就是內(nèi)存數(shù)據(jù)庫資源。作為DAPP開發(fā)者,RAM是一項寶貴資源,數(shù)據(jù)庫記錄需要消耗RAM。為了保持超級節(jié)點的高效運行,節(jié)點、RAM、內(nèi)存總量有上限(以后會擴容),如果要保持區(qū)塊鏈數(shù)據(jù)可以隨時存儲、修改,就需要這部分?jǐn)?shù)據(jù)存儲在內(nèi)存中,而內(nèi)存的使用需要用戶自己去EOS系統(tǒng)中購買,不需要的時候再賣給系統(tǒng),換回EOS代幣。而隨著RAM不斷地被租用,剩余可用的RAM越來越少時,RAM所需要抵押的EOS就會越來越多,也就是說RAM的價格會越來越貴。

RAM有什么作用?

在 EOS 網(wǎng)絡(luò)上,大量的操作都需要消耗RAM來存儲數(shù)據(jù),比如創(chuàng)建一個 EOS 賬號、創(chuàng)建一個 EOS 智能合約、進行 EOS 轉(zhuǎn)賬等。

經(jīng)過幾天的反復(fù)調(diào)試確認(rèn)溝通后,已經(jīng)充分了解漏洞危害。為了避免在這段真空期內(nèi)發(fā)生惡意利用攻擊,現(xiàn)決定將漏洞細(xì)節(jié)公布出來,供社區(qū)研究參考,以方便自查和防御。

EOS 的合約可以通過require_recipient觸發(fā)調(diào)用其他合約,設(shè)計這樣的機制給合約的開發(fā)者提供了很大的便利性, 但是也帶了新的問題,因為在測試的時候發(fā)現(xiàn)require_recipient 有可利用的漏洞導(dǎo)致RAM在不知情的情況下被濫用。

某個用戶給合約轉(zhuǎn)賬,合約可以在用戶不知情的情況下消耗用戶的RAM(下面的例子中可以消耗200多人民幣的RAM)

隨后得到了官方的回應(yīng):

這一漏洞需要引起各大交易所,錢包,空投方,以及用戶的注意 

在問題沒有解決之前,用戶應(yīng)避免使用有大量RAM的賬號給陌生賬號轉(zhuǎn)賬

問題分析

在DAPP 的開發(fā)過程中, 為了獲取轉(zhuǎn)賬信息, 一種方法是采用require_recipient來訂閱轉(zhuǎn)賬通知, 原理是這樣的: 

在系統(tǒng)合約eosio.token 的transfer 中, 轉(zhuǎn)賬時會分別通知from 和 to;   

如果賬戶to 本身是個合約賬戶, 并且也實現(xiàn)了相同的transfer 方法, 則這個to合約的transfer方法會被調(diào)用。 

在自己的合約實現(xiàn)相同的transfer 方法:

這個流程看似沒什么問題,但是卻帶了安全隱患,可以惡意消耗賬號from 的RAM 資源。 在上面的例子中 komo::transfer 故意用賬戶from 的授權(quán)寫了很多無用的記錄到state db, 而這個操作用戶在授權(quán)eosio::transfer時是不知情的。

問題驗證

在測試網(wǎng)絡(luò)中分別創(chuàng)建3個賬號, test11111111, test22222222, komo11111111(合約賬戶, 部署了上面的合約komo) 

測試之前查看 test11111111 RAM 資源

給普通賬戶 test22222222 轉(zhuǎn)賬

再次查看test11111111 RAM資源

沒有變化, 還是107.5 KiB;再給合約賬戶 komo11111111 轉(zhuǎn)賬

再次查看test11111111 RAM資源, 發(fā)現(xiàn)被消耗了(142.2-107.5)= 34.7K 字節(jié)! 原因是上面komo::transfer 中的for 循環(huán)用賬戶test11111111的授權(quán)寫了很多數(shù)據(jù)到state db

代碼分析

因為komo::transfer 這個handler 是被eosio.token::transfer 中的require_recipient 觸發(fā)的, 在代碼中當(dāng)前action 已有賬戶 from 的授權(quán)。 所以檢查權(quán)限時不會報錯。

并且我們發(fā)現(xiàn), 只要維持這個數(shù)據(jù)結(jié)構(gòu)占據(jù)的字節(jié)不變,這個竊取的RAM在komo合約中是可以一直使用的。

修復(fù)辦法

曲速區(qū)建議:在require_recipient觸發(fā)action handler 執(zhí)行時, 禁止被觸發(fā)的handler 使用當(dāng)前action 的授權(quán)。  

被觸發(fā)的 action handler 有存儲要求怎么辦? 可以使用inline actions 來解決, inline action 被執(zhí)行時就不會用到原來action 的授權(quán)了。

防御手段

相關(guān)項目方在做轉(zhuǎn)賬操作時可通過命令行 “cleos get code” 判斷目標(biāo)地址是否為合約地址,避免RAM被惡意吞噬導(dǎo)致?lián)p失。

另外在問題未解決之前,可以減少用來轉(zhuǎn)賬的賬戶持有的 RAM 數(shù)量,盡可能避免遭受損失。

曲速未來實驗室。

RAM EOS 合約 轉(zhuǎn)賬 賬戶
分享到:

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)編輯修改或補充。


專題報道

主站蜘蛛池模板: 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 阳光1号桔柚_无核沃柑_柑橘新品种枝条苗木批发 - 苧金网 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 塑料托盘厂家直销-吹塑托盘生产厂家-力库塑业【官网】 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 |