一、近期部分與數(shù)字貨幣交易平臺相關(guān)的安全事件
近期鞭达,數(shù)字貨幣交易所安全事件頻發(fā)饥瓷。2018年01月日本Coincheck交易所受到黑客攻擊被盜取NEM新經(jīng)幣損失約5.34億美元氓奈;2018年02月基于以太坊的XMRG代幣的交易價格上漲787%后迅速暴跌歸零,造成大量用戶經(jīng)濟損失蜓肆,背后原因在于其智能合約代碼存在整數(shù)溢出漏洞颜凯,超額鑄幣后拋售造成惡性通脹;2018年03月Binance交易所仗扬,黑客利用盜取的用戶信息進行大量交易操縱市場行情獲利超過1億美元症概。2018年04月基于以太坊的BEC代幣和SMT代幣先后因智能合約存在溢出漏洞造成天量代幣轉(zhuǎn)出,引發(fā)恐慌拋售早芭,導(dǎo)致市值幾近歸零……這樣的案例數(shù)不勝數(shù)彼城。
筆者通過這些觀察,發(fā)現(xiàn)兩個現(xiàn)象:一是事件發(fā)生的頻率很頻繁,要知道這只是列舉近期部分影響比較大的事件募壕,如果把時間范圍擴大调炬,或者算上可能存在的影響較小的以及被掩蓋的事件的話,數(shù)量會比這個更多舱馅;二是平臺或用戶的損失數(shù)額巨大缰泡,動輒數(shù)千萬甚至數(shù)億美元。
實際上代嗤,通過這些事件記錄棘钞,還可以得到更多信息,接下來展開分析一下干毅。
2018年3月初宜猜,著名的數(shù)字貨幣交易平臺幣安出現(xiàn)大量賬戶異常交易,繼而影響了整個數(shù)字貨幣市場的交易行情硝逢。這個事件的操作手法很有趣宝恶,后文會再提起。這里要說的是趴捅,事件發(fā)生之后垫毙,有人發(fā)文指責(zé)事件是幣安官方自導(dǎo)自演的,幣安聯(lián)合創(chuàng)始人何一后續(xù)發(fā)文回應(yīng)拱绑,反駁這一指責(zé)综芥。事件真相究竟如何筆者不打算在此討論,這里是想要援引何一回文中的一句話:“出現(xiàn)這種安全問題是幾乎不可避免的猎拨,任何種類的交易所每天都遭受攻擊膀藐,一方面政策空間狹窄,導(dǎo)致幣圈不太可能照搬傳統(tǒng)交易所體系红省,另一方面虛擬貨幣交易所面世才幾年额各,不管是風(fēng)控還是技術(shù)積累都需要一個成長過程。”
是否認(rèn)同這個說法吧恃,是個仁者見仁的問題虾啦,筆者所關(guān)注的主要是它的思路。這個說法當(dāng)中痕寓,把數(shù)字貨幣交易平臺同傳統(tǒng)金融交易平臺做了對比傲醉,本文接下來也會使用同樣的思路來闡述。
二呻率、黑客為何攻擊數(shù)字貨幣交易所硬毕?
從邏輯上說,任何主觀行為都是有目的的礼仗,黑客攻擊行為的目的吐咳,不乏有為了炫耀技術(shù)或者表達政治訴求之類的情況逻悠,但是占比最大的還是為了獲得經(jīng)濟回報。
現(xiàn)實生活中韭脊,是存在攻擊傳統(tǒng)金融機構(gòu)例如銀行或者證券交易所系統(tǒng)的情況的蹂风,但是這方面的記錄相對上文而言少很多,下面分析一下原因乾蓬。
筆者認(rèn)為惠啄,主要存在兩方面的原因,一方面任内,傳統(tǒng)金融機構(gòu)所保有的資產(chǎn)撵渡,無論是數(shù)字化的(相對于實體化的紙幣和硬幣)法定貨幣,還是證券憑證死嗦,普遍都是記名的趋距,其流轉(zhuǎn)過程有跡可循,并且接受監(jiān)管越除,要實現(xiàn)難以追蹤的轉(zhuǎn)移效果节腐,成本高難度大。另一方面摘盆,傳統(tǒng)金融行業(yè)的數(shù)字化歷史已經(jīng)很久翼雀,無論是人才儲備,技術(shù)積累孩擂,制度規(guī)范都已經(jīng)很成熟狼渊,單就信息安全方面的建設(shè)水平也相對很高了,要從技術(shù)上實現(xiàn)成功侵入盜走資產(chǎn)并逃脫追捕這一系列步驟難度非常大类垦。
反觀數(shù)字貨幣交易所狈邑,一方面,數(shù)字貨幣的匿名性蚤认,不可篡改性以及無監(jiān)管特性米苹,導(dǎo)致了資產(chǎn)轉(zhuǎn)移便捷,溯源找回難度大砰琢。另一方面蘸嘶,數(shù)字貨幣交易行業(yè)出現(xiàn)時間短,發(fā)展又非陈任觯快亏较,利潤高莺褒,導(dǎo)致本來技術(shù)積累就不足的情況下掩缓,仍然忽視信息安全方面的建設(shè),隱藏的安全漏洞多遵岩,攻擊起來相對容易你辣。
三巡通、數(shù)字貨幣交易所在技術(shù)方面面臨的安全威脅
目前數(shù)字貨幣交易所在技術(shù)方面面臨的安全威脅,筆者分析主要分為兩大部分舍哄。
1宴凉、傳統(tǒng)信息系統(tǒng)安全漏洞
這一部分來說,數(shù)字貨幣交易所表悬,和傳統(tǒng)金融機構(gòu)差別不大弥锄,其整個信息系統(tǒng),由Web服務(wù)器蟆沫,后端數(shù)據(jù)庫等元素構(gòu)成籽暇,用戶通過瀏覽器,移動端App以及交易所提供的API等多種方式作為客戶端訪問服務(wù)器饭庞。
結(jié)合本文第一部分的事件記錄戒悠,可以看出,這部分面臨的安全威脅主要包括舟山,服務(wù)器軟件漏洞绸狐,配置不當(dāng),DDoS攻擊累盗,服務(wù)端Web程序漏洞(包括技術(shù)性漏洞和業(yè)務(wù)邏輯缺陷)寒矿,辦公電腦安全問題,內(nèi)部人員攻擊等若债。
對于規(guī)模較大劫窒,用戶較多的交易所,還會面臨用戶被攻擊者利用仿冒的釣魚網(wǎng)站騙取認(rèn)證信息的問題拆座。上文中提到的幣安交易所的異常交易事件主巍,據(jù)官方的說法,是攻擊者利用釣魚欺騙的方式騙取了部分用戶的認(rèn)證憑證挪凑,繼而利用API發(fā)起大量交易孕索,將用戶賬戶內(nèi)的其他幣種交易成比特幣,幣安及時發(fā)現(xiàn)異常躏碳,凍結(jié)了提幣功能搞旭。
有趣的是,攻擊者雖然不能提幣菇绵,但是想到了另一個巧妙的獲利方式肄渗,即利用其控制的大量場內(nèi)比特幣操縱市場,影響其他幣種的價格咬最,再在另外的數(shù)字貨幣期貨交易所進行做空操作翎嫡,最終在無法提幣的情況下獲利超過1億美元。在這個事件中永乌,攻擊者利用了幣安平臺對市場的巨大影響力惑申,理論上來說具伍,并沒有盜取誰的數(shù)字貨幣,只是“換了換幣種”圈驼,因大量的做空訂單分散在成百上千的其他交易所人芽,導(dǎo)致根源也無從查起。
下圖是“去中心化漏洞平臺”DVP的漏洞統(tǒng)計绩脆。
該平臺收錄的最早的漏洞信息在2018年07月12日萤厅,截止到撰寫本文時,在不到兩個月的時間里已經(jīng)收錄了超過1800個漏洞靴迫,并且仍在以每天數(shù)十個的速度增長祈坠。
上個月,某安全團隊稱捕獲到了一個0day漏洞矢劲,是某個數(shù)字貨幣交易所整站程序的邏輯漏洞赦拘,有上百個中小交易所在使用該程序,雖然大眾普遍認(rèn)為芬沉,國內(nèi)外的規(guī)模較大的交易所不會購買使用這種第三方開發(fā)的整站程序躺同,但是現(xiàn)在數(shù)字貨幣交易行業(yè)利潤高,發(fā)展迅猛丸逸,后期可能會有很多人想要快速進入這個市場蹋艺,在搜索引擎中搜索“數(shù)字貨幣 交易 平臺 開發(fā)”等關(guān)鍵字即可發(fā)現(xiàn)這一塊的需求量應(yīng)該還是很大的。
其實在初期使用第三方外包開發(fā)的方式本來未嘗不可黄刚,就傳統(tǒng)的銀行領(lǐng)域來說捎谨,大量的中小規(guī)模銀行的信息系統(tǒng)也會使用第三方公司的產(chǎn)品來定制,因為政府層面的嚴(yán)格監(jiān)管以及這一類開發(fā)公司長久的技術(shù)積累憔维,銀行使用的類似系統(tǒng)通常安全性是有足夠保證的涛救。但是在數(shù)字貨幣行業(yè)則不同,部分從事這一類開發(fā)的個人和團隊對于產(chǎn)品質(zhì)量的保障能力很有限业扒,導(dǎo)致通用型漏洞頻發(fā)也就不奇怪了检吆。
對于這一部分安全威脅的解決方法來說,通過滲透測試程储,代碼審計等安全服務(wù)蹭沛,挖掘并修復(fù)系統(tǒng)存在的安全漏洞,可以參考傳統(tǒng)金融行業(yè)的安全規(guī)范和最佳實踐結(jié)合自身情況完善安全體系的建設(shè)章鲤。
2摊灭、智能合約安全漏洞
以太坊被稱為“區(qū)塊鏈2.0”技術(shù)的代表,因為它支持智能合約的運行败徊≈愫簦可以這么來理解,比特幣系統(tǒng)就是在底層區(qū)塊鏈技術(shù)的基礎(chǔ)之上集嵌,加上一個定義了獎勵分發(fā)規(guī)則的“合約”所構(gòu)成的萝挤。而以太坊的出現(xiàn)御毅,提供了現(xiàn)成的底層區(qū)塊鏈網(wǎng)絡(luò)根欧,開發(fā)者可以在這個基礎(chǔ)之上怜珍,使用Solidity等程序開發(fā)語言,開發(fā)部署自己的智能合約凤粗,包括模擬一個類似比特幣一樣的產(chǎn)品酥泛。因為Solidity是圖靈完備的程序開發(fā)語言,因此理論上嫌拣,可以用來實現(xiàn)各類分布式應(yīng)用柔袁。
開發(fā)者編寫好智能合約代碼之后,將代碼部署到區(qū)塊鏈上异逐,程序在以太坊節(jié)點的EVM虛擬機上執(zhí)行捶索。代碼上鏈之后,各節(jié)點執(zhí)行相同的操作灰瞻,同步數(shù)據(jù)狀態(tài)腥例。
和傳統(tǒng)的程序一樣,智能合約也不可避免的會存在安全漏洞酝润,不同的是燎竖,由于區(qū)塊鏈技術(shù)的不可篡改特性,一旦合約部署好之后要销,就很難再修復(fù)其中的問題构回。一些存在例如整型溢出等漏洞的代幣分發(fā)合約部署之后,代幣上線交易所交易疏咐,接著漏洞被觸發(fā)利用纤掸,短時間內(nèi)超發(fā)大量代幣影響市值,對交易所和用戶來說都會造成巨大的經(jīng)濟損失浑塞。
這部分安全威脅茁肠,就與傳統(tǒng)的信息安全漏洞大不一樣了。在傳統(tǒng)金融市場中缩举,也存在類似的攻擊垦梆,例如20世紀(jì)末期亞洲金融危機時,索羅斯對港元的操作仅孩。不同的是托猩,在傳統(tǒng)金融市場要發(fā)動這樣的攻擊需要巨量的資金支持才能實現(xiàn)。而在數(shù)字貨幣領(lǐng)域辽慕,擁有挖掘合約漏洞能力的人理論上都有可能實現(xiàn)這樣的攻擊京腥。
下圖是部分基于以太坊ERC-20智能合約標(biāo)準(zhǔn)開發(fā)的代幣合約的漏洞信息:
實際的威脅情況可能比這還要嚴(yán)重得多。我們說智能合約之所以“智能”溅蛉,是因為一旦部署上鏈之后公浪,它的執(zhí)行過程透明可見他宛,不可篡改,無需人工干預(yù)欠气,自然解決了執(zhí)行過程中的信任問題厅各,這也是區(qū)塊鏈技術(shù)出現(xiàn)時所想要解決的根本問題。然而雖然解決了程序“運行”階段的問題预柒,但是如果合約代碼存在漏洞队塘,開始執(zhí)行之后被利用,背離了原本的涉及初衷宜鸯,那區(qū)塊鏈技術(shù)的這些優(yōu)秀特性反而會成為挽救損失的障礙憔古。
應(yīng)對這部分安全威脅,需要交易所在上線新的代幣之前淋袖,先經(jīng)過完善的合約代碼安全審計工作鸿市,防患于未然,將可能的攻擊威脅降到最低即碗。