“宇宙就是一座黑暗森林,每個(gè)文明都是帶槍的獵人,像幽靈般潛行于林間,輕輕撥開(kāi)擋路的樹(shù)枝,竭力不讓腳步發(fā)出一點(diǎn)兒聲音,連呼吸都必須小心翼翼。
他必須小心,因?yàn)榱种械教幎加信c他一樣潛行的獵人,如果他發(fā)現(xiàn)了別的生命,能做的只有一件事,開(kāi)槍消滅之?!薄w
前記
2016年2月14日發(fā)生了以太坊史上最大的盜幣行為。這一天史稱為“黑**人節(jié)”事件。在事件發(fā)生至今2年多的時(shí)間里,以太坊盜幣問(wèn)題并沒(méi)有得到很好的解決,僅從 2018 年 1 月 1 日至今,就發(fā)生了數(shù)千起成功的盜幣攻擊。
區(qū)塊鏈的生態(tài)安全已經(jīng)危機(jī)四伏。嚴(yán)重的影響到了行業(yè)的發(fā)展。不過(guò)行業(yè)內(nèi)還是有利用自己強(qiáng)大的計(jì)算機(jī)技術(shù)來(lái)維護(hù)區(qū)塊鏈內(nèi)的公平正義的白帽子,慢霧科技就是其中之一。作為行業(yè)內(nèi)最知名的區(qū)塊鏈安全公司之一,慢霧科技致力于維護(hù)行業(yè)的生態(tài)安全。
2018 年 3 月 20 日,慢霧科技披露以太坊黑**人節(jié)盜幣事件,曝光長(zhǎng)達(dá)兩年之久的自動(dòng)化盜幣行為,其造成的損失達(dá)近 5 萬(wàn)多枚以太幣及數(shù)量巨大的各類代幣,依托慢霧科技獨(dú)有的墨子(MOOZ)系統(tǒng)和蜜罐分析技術(shù),可以對(duì)全網(wǎng)自動(dòng)化盜幣攻擊進(jìn)行捕獲、識(shí)別。
為此,慢霧科技上線了“以太坊黑**人節(jié)”專題頁(yè)面,對(duì)這一隱患進(jìn)行持續(xù)追蹤與披露。
我們與慢霧科技CEO ABY進(jìn)行深度對(duì)話,從他口中得知這個(gè)行業(yè)的安全問(wèn)
題已刻不容緩。與我們每個(gè)人都息息相關(guān)。
慢霧簡(jiǎn)述
廈門(mén)慢霧科技有限公司,專注區(qū)塊鏈生態(tài)安全,總部位于廈門(mén),由一支擁有十多年一線網(wǎng)絡(luò)安全攻防實(shí)踐的團(tuán)隊(duì)創(chuàng)建。團(tuán)隊(duì)成員曾為 Google、微軟、W3C、公安部、騰訊、阿里、百度等輸出過(guò)安全能力,團(tuán)隊(duì)成員多項(xiàng)成果也曾進(jìn)入過(guò) Black Hat 等全球黑客大會(huì)。
慢霧科技的核心能力包括:安全審計(jì)、安全顧問(wèn)、防御部署、威脅情報(bào)等。慢霧科技已經(jīng)為全球多家交易所、錢包、智能合約等做了安全審計(jì)與防御部署,并通過(guò)獨(dú)有的地下黑客風(fēng)向標(biāo)追蹤引擎,持續(xù)為合作公司及國(guó)家相關(guān)部門(mén)提供威脅情報(bào)。
安全審計(jì)、安全顧問(wèn)、防御部署、威脅情報(bào)等
問(wèn)題頻發(fā)的假充值
1:最近頻繁報(bào)出以太坊假充值,影響對(duì)象至少包括相關(guān)中心化交易所、中心化錢包、代幣合約等,但代幣合約統(tǒng)計(jì)有3619份存在假充值、漏洞風(fēng)險(xiǎn),其中不乏知名代幣,這種假充值一直頻繁發(fā)生的原因是什么?
ABY:我們?cè)?月28日披露了USDT假充值的漏洞,然后在7月9日披露的3619份基于以太坊的假充值,相當(dāng)于是第二版。
USDT是Tether公司發(fā)行的一種穩(wěn)定幣,出現(xiàn)假充值的原因主要是交易所沒(méi)有驗(yàn)證USDT里面的valid字段。當(dāng)客戶到交易所充值USDT幣的時(shí)候,只是簡(jiǎn)單的檢查了鏈上有沒(méi)有這個(gè)交易,就把錢充進(jìn)來(lái)了,但是這筆交易是失敗的。
打個(gè)比方來(lái)說(shuō)吧,一個(gè)人去銀行存錢,但是我們只知道他是去了銀行,到底存沒(méi)存錢是不清楚的。這樣就有假充值的可能。
2:出現(xiàn)問(wèn)題是因?yàn)樾枰袛嗟牟僮骱軓?fù)雜嗎?
ABY:其實(shí)一點(diǎn)都不復(fù)雜,并且USDT官方帳號(hào)有做說(shuō)明,只是某些交易所的安全開(kāi)發(fā)人員或者技術(shù)開(kāi)發(fā)人員,沒(méi)有注意到這個(gè)點(diǎn)。
他們可能按照之前其他一些幣種的檢驗(yàn)方式照做,但是USDT它有自己的一套機(jī)制。用固有思維去判斷這件事情,沒(méi)有深思每一個(gè)鏈或幣背后的判斷機(jī)制,結(jié)果出了問(wèn)題。
3:在出現(xiàn)問(wèn)題之后,交易所要驗(yàn)證相應(yīng)字段了嗎?
ABY:對(duì)。USDT的CTO也有聯(lián)系我們,我們把相關(guān)問(wèn)題推送給了他們。他們認(rèn)為這個(gè)不一定是漏洞,可能是交易所沒(méi)有做完善的判斷,并且他們之后也提醒了這些交易所一定要判斷這個(gè)字段,在技術(shù)中也強(qiáng)調(diào)了這個(gè)東西。
交易所在充USDT幣的時(shí)候一定要去看這個(gè)字段,已經(jīng)變成了行業(yè)的標(biāo)準(zhǔn)。
從內(nèi)到外的預(yù)防機(jī)制
4:現(xiàn)在假充值和漏洞風(fēng)險(xiǎn)的問(wèn)題非常嚴(yán)重,沒(méi)有根治的辦法。交易所有相關(guān)的預(yù)防措施嗎?
ABY:交易所對(duì)安全的需求比較高,非??粗匕踩珕?wèn)題。安全的核心在于人,而最好的安全管理組織架構(gòu)是項(xiàng)目方有自己的安全負(fù)責(zé)人,與外部的第三方安全團(tuán)隊(duì)合作,共同維護(hù),不能單純依賴第三方,也不能沒(méi)有第三方,安全這件事一定事從內(nèi)到外的結(jié)合。
現(xiàn)在整個(gè)區(qū)塊鏈其實(shí)是很完整的安全,包括內(nèi)、外部的風(fēng)控。但是攻擊項(xiàng)目方的手段是五花八門(mén)的,不是單一的攻擊,可以從很多緯度去攻擊。攻擊者可以同時(shí)在不同的交易所掛做空或做多單,形成套利差,手段很多樣。
5:最開(kāi)始發(fā)現(xiàn)了假充值的問(wèn)題,達(dá)成了整個(gè)行業(yè)的共識(shí),現(xiàn)在開(kāi)始防范了嗎?
ABY:對(duì)。在區(qū)塊鏈方方面面都可能頻繁出現(xiàn)像USDT假充值的類似情況,因?yàn)樗切律袠I(yè),很多規(guī)范標(biāo)準(zhǔn)沒(méi)有完善,也沒(méi)辦法要求技術(shù)人員完全按照官方的提示去判斷。
USDT事件之后才曝光了ETH3619份代幣合約存在漏洞風(fēng)險(xiǎn),并且關(guān)乎到智能合約交易所、中心化錢包的問(wèn)題。我們披露了USDT之后,應(yīng)該深思以太坊是否也可能出現(xiàn)類似的這種問(wèn)題。以太坊的機(jī)制和USDT是類似的。比如正常在以太坊上面轉(zhuǎn)帳,如果發(fā)現(xiàn)余額不足,會(huì)提示異常。
以太坊本質(zhì)上跟USDT的邏輯特別像,它會(huì)稍微復(fù)雜一點(diǎn)。黑客會(huì)拿余額不足的帳號(hào)去轉(zhuǎn)帳,如果智能合約有缺陷,同時(shí)交易所檢驗(yàn)不到位,兩者都達(dá)成條件的情況下,就可以進(jìn)行攻擊、假充值了。
6:會(huì)造成以太坊上面的很多代幣很大的損失嗎?
ABY:對(duì)。這件事情的影響非常廣,我們也盡量做到非常負(fù)責(zé)任的披露。盡自己能力把漏洞情報(bào)共享,基本涵蓋了整個(gè)圈子里的交易所錢包。
我們首先披露給客戶,披露之后才慢慢的去預(yù)警,讓沒(méi)辦法傳達(dá)到的客戶接收到信息,之后留三天時(shí)間給大家去自查并修補(bǔ)漏洞。因?yàn)槭钦鎸?shí)發(fā)生的攻擊,我們是在搶時(shí)間和攻擊方賽跑。進(jìn)行這一輪之后,才披露這個(gè)漏洞并公布細(xì)節(jié),附帶解決建議。
解析兩起事件的攻擊方式
7:2016.2.14以太坊發(fā)生了大額代幣被盜,這一天也被定為“以太坊黑**人節(jié)”,這件事過(guò)去了兩年多還在持續(xù),并且有越演越烈的趨勢(shì)。目前最新的一例被盜 Token就發(fā)生在 7 月 4 日。該事件又出現(xiàn)了新的隱藏攻擊方式,這兩起事件中的攻擊方式相同嗎?
ABY:本質(zhì)上兩個(gè)事件的攻擊模式完全不一樣。我們?cè)?月份發(fā)布的披露黑**人節(jié)事件,涉及到了以太坊的節(jié)點(diǎn),它的RPC端口是開(kāi)放的,端口開(kāi)放會(huì)出現(xiàn)一些問(wèn)題。當(dāng)這個(gè)節(jié)點(diǎn)被解鎖的時(shí)候,有一個(gè)300秒的密碼權(quán)限,一旦登陸就可以有五分鐘讓別人想干嘛就干嘛,會(huì)很不安全。這是這件事情的根本原因,是以太坊生態(tài)的一個(gè)缺陷。
缺陷能用我們的解決方案?jìng)?cè)面修復(fù),官方并沒(méi)有給出相應(yīng)補(bǔ)丁。黑**人節(jié)造成的影響非常大,到現(xiàn)在為止,還有地址被盜幾百個(gè)以太坊,被盜的不是單純的ETH幣,而是整個(gè)ERC20,所有ERC20用的都是以太坊這個(gè)節(jié)點(diǎn)。
8:黑**人節(jié)的攻擊方式是最新的嗎?
ABY:不是。在2016年,這個(gè)黑客已經(jīng)做了整套自動(dòng)化的處理,成本并不高。但是這個(gè)缺陷在這兩年時(shí)間里還是沒(méi)有得到很好的解決。我們披露黑**人節(jié)事件后,得到了行業(yè)比較大的回響,很多人遵循了我們給予的修復(fù)意見(jiàn),對(duì)節(jié)點(diǎn)安全配置進(jìn)行了優(yōu)化。比如禁用RPC端口,去避免這個(gè)問(wèn)題。
后來(lái)我們一直在監(jiān)控盜幣情況,它并沒(méi)有停止。我們和慢霧區(qū)伙伴溝通發(fā)現(xiàn),這個(gè)黑客在unlockAccount默認(rèn)的300秒免密操作窗口當(dāng)中,寫(xiě)了非常多的轉(zhuǎn)帳內(nèi)容。假設(shè)我的錢包是空的,看到了慢霧發(fā)的這篇文章,就禁用了RPC,便覺(jué)得錢包安全了,其實(shí)不然,那個(gè)黑客就這么想的,不管帳號(hào)里面有沒(méi)有錢,等到他找到端口就埋無(wú)數(shù)個(gè)圈套,把里面的錢都轉(zhuǎn)走。
9:所有的攻擊都在不停的變化,根本原因是以太坊自身問(wèn)題嗎?
ABY:我們歸類為以太坊本身的缺陷,但是每個(gè)系統(tǒng)都會(huì)有一些缺陷?,F(xiàn)在披露的過(guò)程,都是真實(shí)攻擊的,想讓這件事提醒我們能覆蓋到的所有人,趕緊把這件事情積極的修補(bǔ)好,免去攻擊。如果我們不去做這件事情的話,這些問(wèn)題可能會(huì)愈演愈烈,希望整個(gè)圈子是有安全感的,并且大家都能做好防護(hù)。
10:從2016年被盜到最近幾天才出現(xiàn)的這些問(wèn)題,有沒(méi)有其他危害整個(gè)生態(tài)或者行業(yè)的類似的攻擊行為?
ABY:其他的攻擊行為都是一段一段的,以太坊黑**人節(jié)我們不把它稱為漏洞,而是稱為缺陷。是因?yàn)槿毕莶灰欢ㄒa(bǔ)它,但是漏洞可以很快的把它修補(bǔ)好,有的漏洞修補(bǔ)好,就相對(duì)的解決了。
但是,有的稱之為缺陷,是因?yàn)樗翘焐?,是需要付出更多的努力,讓維護(hù)的人更加了解解決方案。
建立安全行業(yè)的共識(shí)準(zhǔn)則
11:慢霧科技是許多頭部交易所信賴的合作伙伴,他們自身都沒(méi)有安全審計(jì)嗎?
ABY:他們是非常注重安全的,也有自己的專業(yè)且龐大的安全團(tuán)隊(duì),跟我們建立了密切的情報(bào)溝通。我前面有提到,安全這件事情是從內(nèi)而外的合作,才能全面的防護(hù)。
12:現(xiàn)在整個(gè)區(qū)塊鏈行業(yè)除了慢霧,還有其他的安全公司,你們有沒(méi)有達(dá)成整個(gè)區(qū)塊鏈安全方面的共識(shí)?有沒(méi)有標(biāo)準(zhǔn)?
ABY:有的,我們?cè)谂兜倪^(guò)程中,輸出給了安全生態(tài)同行,跟他們之間建立橋梁,這種橋梁就是情報(bào)之間的互通有無(wú)。大家的客戶都可能會(huì)受到影響,建立這種橋梁,可以無(wú)償?shù)姆瞰I(xiàn)給大家,快速的修復(fù)問(wèn)題,是有意識(shí)形態(tài)在里面,我們也確實(shí)真真正正的落地的在執(zhí)行這件事情。
13:共識(shí)的準(zhǔn)則具體是什么樣?
ABY:現(xiàn)在有初步的安全共識(shí)的概念,里面會(huì)有各種區(qū)塊鏈、技術(shù)手段,大家都在里面互通有無(wú),達(dá)成基本的區(qū)塊鏈安全行業(yè)的共識(shí)。
不能說(shuō)標(biāo)準(zhǔn),基礎(chǔ)的行業(yè)安全共識(shí)是有的。例如負(fù)責(zé)任的漏洞披露過(guò)程。做安全首先要客觀、中立,不能把安全輿論化,不能拿安全作為炒作的工具。
安全團(tuán)隊(duì)是給別人安全感,而不是危機(jī)感,這非常重要。我們希望能樹(shù)立起行業(yè)的標(biāo)桿,讓整個(gè)行業(yè)往更好更健康的方向發(fā)展。
初心未變 慢霧使命
尋求初心:慢霧科技注重安全的初心是什么?
ABY:我們從業(yè)十幾年了,對(duì)安全都比較有興趣,覺(jué)得它可能是我們應(yīng)該做的一件事情,有太多其他的因素和想法,包括我們團(tuán)隊(duì)做區(qū)塊鏈也有一段時(shí)間了,團(tuán)隊(duì)里面大家交流的多一點(diǎn),也達(dá)成共識(shí),希望區(qū)塊鏈生態(tài)是安全的,就去做,沒(méi)有其他太多的東西,很純粹很簡(jiǎn)單。
希望通過(guò)采訪能把我說(shuō)的事件傳播給整個(gè)圈子,讓圈子的人更加注重生態(tài)安全的重要性。給大家一些建議,傳播給更多的人,了解到這個(gè)事件的重要性,以及我們團(tuán)隊(duì)的一些處理態(tài)度、標(biāo)準(zhǔn),安全行業(yè)達(dá)標(biāo),要有共識(shí)。我們希望更多志同道合的人參與進(jìn)來(lái),取之區(qū)塊鏈,回歸區(qū)塊鏈。只有這樣去做,才能給這個(gè)生態(tài)帶來(lái)真正的安全感,這也是慢霧的使命。
https://yyk.familydoctor.com.cn/21222/newslist_1_1.html
https://yyk.familydoctor.com.cn/21222/schedule/