- 區(qū)塊鏈安全入門與實(shí)戰(zhàn)
- 劉林炫 鄧永凱 萬鈞 張繼龍
- 1944字
- 2021-01-25 14:37:52
2.4.2 案例分析
1.越權(quán)操作
可能是因?yàn)殚_發(fā)人員熱衷于打破樊籬,所以越權(quán)操作一直是Web安全中老生常談的問題,并且由于訂單、地址、余額和個人信息等功能的聚集,交易所是越權(quán)問題的重災(zāi)區(qū)。越權(quán)漏洞一般分為平行越權(quán)和垂直越權(quán)兩種,而交易所中平行越權(quán)占大多數(shù),不僅可以導(dǎo)致越權(quán)查看、修改、撤銷訂單,添加、刪除地址以及修改個人信息,而且配合存在的信息泄露問題,可以變相地獲取所有用戶的KYC信息,而且因?yàn)槭钦U埱?,這類問題比起“脫庫”更難被WAF所發(fā)現(xiàn)。
某交易所修改userPhone可以越權(quán)讓任意用戶下單,如圖2.17所示。
(1)越權(quán)下單
某交易所遍歷id可以越權(quán)刪除地址,如圖2.18所示。
(2)越權(quán)刪除地址
根據(jù)上述示例可以看出,雖然請求頭中含有token和userId等參數(shù),但服務(wù)器在接收到請求后并沒有將token和userId與body里所攜帶的id和userPhone進(jìn)行校驗(yàn),沒有做好鑒權(quán),導(dǎo)致越權(quán)。

圖 2.17

圖 2.18
2.工作流程繞過
近期我們團(tuán)隊(duì)在某交易所發(fā)現(xiàn)一起由于越權(quán)、信息泄露以及工作流程繞過導(dǎo)致的盜幣事件。因?yàn)槭录l(fā)生時(shí)間太近,不確定廠商是否修復(fù)完畢,這里不再披露詳細(xì)的攻擊細(xì)節(jié)以及截圖,簡單介紹一下攻擊手法,以便進(jìn)行安全防御時(shí)對此類手法加以防范。
攻擊者在某交易所前端文件中發(fā)現(xiàn)了轉(zhuǎn)賬時(shí)所調(diào)用的API接口。按照流程,用戶驗(yàn)證身份通過后調(diào)用此API轉(zhuǎn)賬,但由于驗(yàn)證在前,轉(zhuǎn)賬在后,兩者并非同時(shí)進(jìn)行,導(dǎo)致攻擊者能夠直接調(diào)用轉(zhuǎn)賬API接口發(fā)起轉(zhuǎn)賬,這樣可以直接繞過身份驗(yàn)證并且可以越權(quán)對其他用戶進(jìn)行轉(zhuǎn)賬,如圖2.19所示。

圖 2.19
造成本次攻擊事件的主要原因有三點(diǎn):
·前端文件泄露API接口。
·交易時(shí)驗(yàn)證邏輯可被繞過。
·未能做好鑒權(quán)措施。
暴露意味著更大的攻擊面。要隱藏好自己的信息,完備邏輯,完整鑒權(quán),來應(yīng)對還在潛伏著的威脅。
3.KYC認(rèn)證缺陷
KYC(Know-Your-Customer,充分了解你的客戶)認(rèn)證了解賬戶的實(shí)際控制人和交易的實(shí)際收益人,還要求對客戶的身份、常住地址或企業(yè)所從事的業(yè)務(wù)進(jìn)行充分的了解,并采取相應(yīng)的措施。
認(rèn)證是交易所的重要功能之一,認(rèn)證方式也百花齊放,常見的有通過身份證正反面照片認(rèn)證,手持身份證照片認(rèn)證,手持身份證視頻認(rèn)證,等等。而認(rèn)證方進(jìn)行認(rèn)證的方式有人工識別和接口識別兩種:人工識別的準(zhǔn)確性取決于審核員當(dāng)天的心情以及前一天的睡眠,PS加AI換臉的手持身份證照片一般來說可以輕松通過;對于調(diào)用接口來進(jìn)行識別的,有使用百度識圖接口來驗(yàn)證的,判斷身份證照片上的身份證號以及姓名與用戶輸入的是否相同,以此判斷是否通過認(rèn)證;也有需要用戶自己付費(fèi)審核的人臉識別接口。
圖2.20所示為某交易所調(diào)用Baidu API進(jìn)行KYC認(rèn)證的前端代碼。

圖 2.20
這種KYC認(rèn)證方式對于掌握作圖技巧的攻擊者來說作用不大。
4.OTC邏輯缺陷
OTC(Over-The-Counter,場外交易市場)通常是指店頭交易市場或柜臺交易市場。對于交易所來說,OTC指的是用戶依托交易所的擔(dān)保、賣家和買家進(jìn)行交易。
正常OTC交易流程為:
商家賣幣=>買家購買幣并支付=>商家確認(rèn)收款=>系統(tǒng)轉(zhuǎn)賬到買家
而攻擊者越權(quán)后的交易流程為:
商家賣幣=>攻擊者購買幣并不支付=>攻擊者通過越權(quán)點(diǎn)擊商家的確認(rèn)收款=>系統(tǒng)轉(zhuǎn)賬到買家
圖2.21所示為某交易所OTC存在的邏輯缺陷:

圖 2.21
利用此類邏輯問題,攻擊者可以輕易地不進(jìn)行支付而直接獲得系統(tǒng)轉(zhuǎn)賬。此類問題在我們對交易所客戶進(jìn)行安全審計(jì)時(shí)多次出現(xiàn),會給交易所帶來直接的經(jīng)濟(jì)損失,要引起重視。
5.二次驗(yàn)證繞過
在安全審計(jì)過程中,交易所的二次驗(yàn)證有使用Google驗(yàn)證碼以及手機(jī)和郵箱驗(yàn)證碼等方式,二次驗(yàn)證就是為了保障用戶賬號安全,對敏感操作加以確認(rèn),但是如果設(shè)計(jì)上存在缺陷,將導(dǎo)致二次驗(yàn)證形同虛設(shè)。
在“工作流程繞過”中談過,如果支付驗(yàn)證與轉(zhuǎn)賬操作分為兩步進(jìn)行,就一定需要在轉(zhuǎn)賬時(shí)對當(dāng)前用戶進(jìn)行驗(yàn)證以及鑒權(quán)來防止繞過和越權(quán)。我們團(tuán)隊(duì)對大量交易所進(jìn)行安全審計(jì)時(shí)發(fā)現(xiàn),大部分交易所進(jìn)行對轉(zhuǎn)賬等敏感操作的二次驗(yàn)證時(shí),將驗(yàn)證操作與轉(zhuǎn)賬操作通過不同接口隔離實(shí)現(xiàn),導(dǎo)致驗(yàn)證碼結(jié)構(gòu)脫離轉(zhuǎn)賬操作,失去二次驗(yàn)證的效果;部分交易所雖然通過服務(wù)器驗(yàn)證了手機(jī)號與短信驗(yàn)證碼的有效性,但是并未驗(yàn)證手機(jī)號是否為當(dāng)前用戶所綁定的,換句話說,修改數(shù)據(jù)包就可以達(dá)到使用任意手機(jī)號進(jìn)行驗(yàn)證,從而任意提幣;還有更離譜的事情,將驗(yàn)證碼填空即可繞過驗(yàn)證。
圖2.22所示是某交易所進(jìn)行提幣的二次驗(yàn)證,雖然使用手機(jī)和郵箱驗(yàn)證碼同時(shí)驗(yàn)證,但并未對當(dāng)前操作用戶的手機(jī)號綁定進(jìn)行驗(yàn)證,導(dǎo)致可以使用任意手機(jī)號碼的驗(yàn)證碼進(jìn)行二次驗(yàn)證,直接提幣。
6.盤口價(jià)格設(shè)置缺陷
2019年8月23日,AWS東京機(jī)房硬件設(shè)備出現(xiàn)故障,導(dǎo)致無法連接到服務(wù)。部分交易所因使用其他交易所錯誤的價(jià)格數(shù)據(jù)而導(dǎo)致幣價(jià)出現(xiàn)劇烈波動,BTC成交價(jià)最低為0.32USD/BTC,ETH以及EOS均受到影響,如圖2.23所示。

圖 2.22

圖 2.23
在上游數(shù)據(jù)錯誤的情況下,沒有對數(shù)據(jù)的有效性進(jìn)行判斷,而直接使用導(dǎo)致?lián)p失的出現(xiàn)。在傳統(tǒng)安全行業(yè),我們稱這種情況為供應(yīng)鏈攻擊,一旦上游的數(shù)據(jù)、廠商被劫持、修改,對下游沒有做好防護(hù)措施的交易所將會造成降維打擊。
- 跨境電商業(yè)務(wù)一本通
- 運(yùn)營之上:互聯(lián)網(wǎng)業(yè)務(wù)的全局運(yùn)營方法論與實(shí)踐
- 互聯(lián)網(wǎng)+微創(chuàng)業(yè)
- 微商創(chuàng)業(yè)者手冊2:快速搭建微商團(tuán)隊(duì)教育體系
- 短視頻運(yùn)營與案例分析(微課版)
- 微商運(yùn)營、營銷、盈利直通車
- 電商運(yùn)營之道:策略、方法與實(shí)踐
- SEO網(wǎng)站營銷推廣全程實(shí)例(第2版)
- 零基礎(chǔ)玩轉(zhuǎn)抖音電商
- 淘寶天貓美工實(shí)戰(zhàn)從入門到精通:圖像處理、寶貝拍攝、視頻制作、店鋪裝修一本就夠
- 短視頻運(yùn)營實(shí)務(wù)(慕課版)
- 誰是下一百個億萬富翁:移動互聯(lián)網(wǎng)時(shí)代的造富機(jī)會
- 淘寶付費(fèi)推廣實(shí)戰(zhàn):店鋪流量快速增長秘笈
- 社會資本對在線品牌社區(qū)消費(fèi)者知識分享的影響研究
- 網(wǎng)店美工:網(wǎng)店視覺設(shè)計(jì)實(shí)操指南