網(wǎng)絡(luò)犯罪分子如何濫用API密鑰竊取數(shù)百萬(wàn)美元
CyberNews研究人員發(fā)現(xiàn),網(wǎng)絡(luò)犯罪分子能夠?yàn)E用加密貨幣交換API密鑰并且在沒(méi)有被授予提款權(quán)利的情況下從受害者的帳戶中竊取加密貨幣。與此同時(shí),超過(guò)1000000美元的加密貨幣被存放在API密鑰暴露在公共代碼存儲(chǔ)庫(kù)中的賬戶中。
在過(guò)去幾年中,隨著加密貨幣市場(chǎng)的爆炸式增長(zhǎng),各大公司開(kāi)始提供應(yīng)用程序和服務(wù)來(lái)幫助交易者簡(jiǎn)化交易流程。
要使用這些服務(wù),交易者可以通過(guò)API密鑰在加密貨幣交易中授予第三方程序訪問(wèn)其個(gè)人帳戶的權(quán)限,API密鑰允許這些程序代表他們執(zhí)行操作,包括在不登錄交易所的情況下打開(kāi)和執(zhí)行自動(dòng)交易訂單。
每組API密鑰都包含兩個(gè)重要元素:公共密鑰和私有密鑰,通常稱(chēng)為公鑰和私鑰。第三方應(yīng)用程序使用該密鑰來(lái)簽署操作請(qǐng)求,并告知加密貨幣交換該應(yīng)用程序有權(quán)訪問(wèn)交易者的帳戶并執(zhí)行API密鑰支持的操作。
一旦您的API密鑰被網(wǎng)絡(luò)犯罪分子泄露或竊取將會(huì)導(dǎo)致災(zāi)難性的后果。不過(guò),話雖如此,即使其他人竊取了您的API秘密密鑰,他們也不能簡(jiǎn)單地將您的加密貨幣余額轉(zhuǎn)移到自己的錢(qián)包中,因?yàn)槟J(rèn)情況下,加密貨幣交易所會(huì)禁用API提取權(quán)限。
但是,在進(jìn)行威脅情報(bào)操作時(shí),我們的研究人員發(fā)現(xiàn),最近幾周,在整個(gè)黑客論壇中,被盜的加密貨幣交換API密鑰的交易要約似乎一直在穩(wěn)定增長(zhǎng)。
顯然,這是一種新興的犯罪商業(yè)模式,“經(jīng)驗(yàn)豐富的交易者”團(tuán)隊(duì)提供了通過(guò)利用被盜的API密鑰來(lái)“清空”加密貨幣交易帳戶的功能。
毫無(wú)疑問(wèn),這一現(xiàn)象引起了我們的注意。為了幫助加密貨幣交易用戶保護(hù)其辛苦賺來(lái)的硬幣,我們決定對(duì)這一新興趨勢(shì)展開(kāi),并盡可能多地了解威脅參與者如何利用這些API密鑰。
我們的發(fā)現(xiàn)令人難以置信:犯罪分子似乎正在使用加密貨幣交易應(yīng)用程序的被盜API密鑰輕松地在所有主要的加密貨幣交易所上清空受害者的帳戶。
更糟糕的是,犯罪分子可以輕易繞過(guò)API密鑰上的“僅交易”設(shè)置,即使沒(méi)有獲得他們的帳戶憑據(jù)或提款權(quán),也可以從交易者的賬戶中竊取資金。
網(wǎng)絡(luò)罪犯如何濫用被盜的API密鑰
通常,加密貨幣交易所向交易者提供三種類(lèi)型的API權(quán)限:
· 數(shù)據(jù)權(quán)限,允許API可以讀取您的exchange帳戶數(shù)據(jù),包括未結(jié)訂單,余額和交易歷史記錄,而無(wú)需對(duì)帳戶進(jìn)行任何更改。
· 交易權(quán)限,允許API代表您執(zhí)行交易,下達(dá)未結(jié)訂單和已結(jié)束訂單。
· 提款許可,允許API從您的交換帳戶中提取加密貨幣并將其轉(zhuǎn)移到另一個(gè)位置。啟用此權(quán)限后,應(yīng)用程序可以將您的資金轉(zhuǎn)移到另一個(gè)錢(qián)包,而無(wú)需您的許可。
出于安全原因,默認(rèn)情況下,加密貨幣交易所禁用取款權(quán)限。話雖如此,在網(wǎng)絡(luò)犯罪論壇上發(fā)布的大多數(shù)廣告都聲稱(chēng),其所有者最多可以提取受害者的加密貨幣余額的80%,然后將其與被盜的API密鑰的所有者進(jìn)行分割。
(黑客論壇上API密鑰攻擊服務(wù)廣告的一個(gè)例子:“有經(jīng)驗(yàn)的交易者”根據(jù)交易所的不同,可以從被盜用的交易帳戶中提取多達(dá)80%的資金。)
這會(huì)讓您認(rèn)為,這些廣告背后的犯罪服務(wù)提供商將需要已被授予撤回權(quán)限的被盜API密鑰。但是,在進(jìn)行了一系列測(cè)試之后,我們甚至找不到一個(gè)啟用了撤回權(quán)的待售的被盜API密鑰。
犯罪分子能夠在沒(méi)有提款權(quán)的情況下提款嗎?
不幸的是,為了從交易賬戶中竊取資金,威脅行為者甚至不需要直接提取資金:通過(guò)在適當(dāng)權(quán)限下代表受害者進(jìn)行交易,他們只需通過(guò)與罪犯自己建立的機(jī)器人進(jìn)行無(wú)利可圖的交易,就可以將余額賣(mài)掉。
在對(duì)網(wǎng)絡(luò)犯罪分子使用的被盜交易所API密鑰濫用技術(shù)進(jìn)行調(diào)查期間,我們了解到,威脅行為者主要采用兩種API密鑰利用方法從交易商那里竊取資金:“sell walls”買(mǎi)斷和提價(jià)。
注意:我們已經(jīng)在Binance加密貨幣交易所上的自己的帳戶上成功地測(cè)試了這些方法,似乎所有流行的加密貨幣交易所上的帳戶都可能以這種方式被利用。
購(gòu)買(mǎi)“sell walls”
“sell walls”是在股票和加密貨幣市場(chǎng)中都采用的一種常見(jiàn)的市場(chǎng)操縱技術(shù)。在加密貨幣世界中,這些是市場(chǎng)操縱者人為創(chuàng)造的大規(guī)模市場(chǎng)賣(mài)出指令,目的是降低加密貨幣價(jià)格或?qū)⑵浔3衷谧畲箝撝狄韵乱员阋说膬r(jià)格購(gòu)買(mǎi)大量硬幣。
在許多情況下,這些巨大的訂單一次只會(huì)出現(xiàn)幾分鐘甚至幾秒鐘,然后被完全刪除。
我們的調(diào)查發(fā)現(xiàn),網(wǎng)絡(luò)犯罪分子使用相似的“sell walls”技術(shù),但也略微有所不同。在這種情況下,“sell walls”是由威脅參與者使用泄露的交易者帳戶創(chuàng)建的,這些帳戶是使用他們竊取的API密鑰設(shè)置的。
根據(jù)CyberNews研究人員Martynas Vareikis的說(shuō)法,為了引發(fā)價(jià)格波動(dòng),犯罪分子設(shè)置了交易機(jī)器人,以開(kāi)立許多低于市場(chǎng)價(jià)值的小型賣(mài)出訂單,如果受害者的賬戶余額足夠大,則開(kāi)立一個(gè)大型賣(mài)出訂單。與此同時(shí),同一機(jī)器人就為受害者被迫“出售”的硬幣打開(kāi)了自動(dòng)購(gòu)買(mǎi)訂單。
“這在加密貨幣交易所的買(mǎi)/賣(mài)定單圖表中創(chuàng)建了一個(gè)可見(jiàn)的'sell wall',合法交易機(jī)器人通常只能在交易余額耗盡之前買(mǎi)入約20%的'sell wall',剩下的80%則留給犯罪分子設(shè)立的交易機(jī)器人。”Vareikis說(shuō)。
在以令人難以置信的低價(jià)完成一個(gè)銷(xiāo)售訂單后,另一個(gè)訂單立即被設(shè)置為銷(xiāo)售更多硬幣,這將給受害者造成更大的損失。這個(gè)過(guò)程不斷的重復(fù),最終將受害者的全部賬戶余額以壓低的價(jià)格逐步出售給威脅參與者的交易機(jī)器人。
這樣,受害人的資金可以在幾毫秒內(nèi)完全蒸發(fā),這是執(zhí)行這種自動(dòng)交易訂單所需要的全部時(shí)間。
提價(jià)
價(jià)格上漲是罪犯分子常用的第二種利用被盜API密鑰的技術(shù)。這種方法涉及購(gòu)買(mǎi)交易量非常少的廉價(jià)硬幣,短暫地提高其價(jià)格,然后以勒索的價(jià)格將其賣(mài)回給受害者。
犯罪分子在利用受害者的帳戶之前,先在自己的中間人帳戶中存儲(chǔ)一種非常便宜、不怎么流行的加密貨幣,以此展開(kāi)他們的行動(dòng)。
受害者的帳戶中約有80%錢(qián)用于針對(duì)同一加密貨幣發(fā)起大筆購(gòu)買(mǎi)訂單。低交易量使網(wǎng)絡(luò)犯罪分子可以通過(guò)發(fā)起大量購(gòu)買(mǎi)訂單來(lái)大幅提高貨幣的價(jià)格。
同時(shí),犯罪分子利用中間人賬戶以較高的價(jià)格向受害者出售價(jià)格膨脹的硬幣。訂單執(zhí)行后,交易量和價(jià)格恢復(fù)正常,給受害者留下了一堆幾乎一文不值的硬幣,而這些都是他們被迫以離譜的價(jià)格從威脅行為者那里購(gòu)買(mǎi)的。
網(wǎng)絡(luò)罪犯如何獲取被盜的API密鑰
網(wǎng)絡(luò)犯罪分子可以通過(guò)多種方式獲取他人的API密鑰,而無(wú)需在其設(shè)備上安裝惡意軟件或間諜軟件。這包括掃描可公開(kāi)訪問(wèn)的Web應(yīng)用程序環(huán)境文件和公共代碼存儲(chǔ)庫(kù)以查找泄漏的私鑰。
大多數(shù)Web應(yīng)用程序都使用環(huán)境(ENV)文件來(lái)存儲(chǔ)框架設(shè)置,這些設(shè)置對(duì)于應(yīng)用程序的工作是至關(guān)重要的,并且在某些情況下可能包含API密鑰。在大多數(shù)情況下,這些文件是被加密的。但是,有時(shí)它們不受保護(hù),這意味著包括網(wǎng)絡(luò)犯罪分子在內(nèi)的任何人都可以訪問(wèn)其內(nèi)容并提取其中發(fā)現(xiàn)的任何有用信息。
與ENV文件類(lèi)似,存儲(chǔ)在公共代碼存儲(chǔ)庫(kù)中的文件可能包含公開(kāi)的身份驗(yàn)證token。諸如GitHub之類(lèi)的公共存儲(chǔ)庫(kù)因其成為網(wǎng)絡(luò)犯罪分子的金礦而臭名昭著,其中一些存儲(chǔ)了成千上萬(wàn)個(gè)泄漏的憑證文件以及API密鑰。
University of Advanced Technology的首席網(wǎng)絡(luò)講師Aaron Jones說(shuō),API密鑰很有價(jià)值,這使它們備受網(wǎng)絡(luò)犯罪分子的追捧。“永遠(yuǎn)不要將API密鑰推送到Github或Gitlab之類(lèi)的網(wǎng)站上,您應(yīng)該將它從您的應(yīng)用程序中抽象出來(lái),放在一個(gè)已添加到gitignore文件中的文件中,” Jones補(bǔ)充說(shuō)。
“犯罪分子通常會(huì)以一種簡(jiǎn)單的方式來(lái)獲取API密鑰,比如通過(guò)易受攻擊的S3 Bucket,硬編碼到github發(fā)布的源代碼,甚至是網(wǎng)絡(luò)釣魚(yú)。你會(huì)驚訝地發(fā)現(xiàn)這種事情經(jīng)常發(fā)生。根據(jù)定義,API訪問(wèn)是一個(gè)網(wǎng)絡(luò)事件。記錄并分析您的活動(dòng)。”onShore Security的創(chuàng)始人兼首席執(zhí)行官Stel Valavani說(shuō),“對(duì)于API密鑰之類(lèi)的頂級(jí)產(chǎn)品來(lái)說(shuō)尤其如此。”
我們?cè)谡{(diào)查期間進(jìn)行的測(cè)試表明,平均而言,在公共存儲(chǔ)庫(kù)中找到的交易API密鑰屬于持有價(jià)值約5,000美元加密貨幣的帳戶,其中最高的帳戶余額為154,000美元,它啟用了交易權(quán)。
在公共代碼存儲(chǔ)庫(kù)中公開(kāi)了API密鑰的交易賬戶的總凈資產(chǎn)超過(guò)1,000,000美元的加密貨幣。
(加密貨幣交易機(jī)器人公開(kāi)提交的源代碼示例,每個(gè)人都可以看到二進(jìn)制API密鑰)
盡管我們?cè)谡{(diào)查中沒(méi)有發(fā)現(xiàn)暴露的API密鑰啟用了提款權(quán),但仍有超過(guò)90%的用戶授予了交易權(quán)限,這將使網(wǎng)絡(luò)犯罪分子可以輕松清空受害者的交易帳戶。
如何保護(hù)您的API密鑰
如果您是加密貨幣交易者,則可以采取一些簡(jiǎn)單的步驟來(lái)保護(hù)自己的API密鑰,以免被那些在黑客論壇上宣傳其服務(wù)的“經(jīng)驗(yàn)豐富的交易者”濫用:
- 為您的IP地址列出白名單。主要的加密貨幣交易所允許將IP地址列入白名單以用于API密鑰使用。啟用此功能將阻止大多數(shù)犯罪分子利用您的余額進(jìn)行交易,只要他們無(wú)法訪問(wèn)您的交易機(jī)器人控制面板即可。
- 將您的API密鑰視為加密貨幣錢(qián)包的私鑰。即,不要將它們存儲(chǔ)在硬盤(pán)上,也不要將其透露給任何人。如果您的API密鑰掌握在別人的手中,您的錢(qián)就等于被偷了。
Cyberlands的總經(jīng)理Alex Bodryk補(bǔ)充說(shuō),每季度輪換您的API密鑰和密碼將有助于防止利用原先的數(shù)據(jù)泄漏來(lái)訪問(wèn)您的交換帳戶的網(wǎng)絡(luò)犯罪分子。“保持警惕,不要回復(fù)來(lái)自加密交易的任何通信。相反,您可以通過(guò)官方渠道與他們聯(lián)系。安裝和更新知名供應(yīng)商的防病毒軟件。使用密碼管理器來(lái)保護(hù)您的秘密。切勿以明文形式存儲(chǔ)任何API密鑰或密碼。”Brodyk說(shuō)。
根據(jù)Troy Gill、GPEN、threat hunter和Zix安全研究經(jīng)理的說(shuō)法,由于通過(guò)API進(jìn)行交易具有風(fēng)險(xiǎn)性,因此最好使用專(zhuān)用于此目的的專(zhuān)用個(gè)人計(jì)算機(jī)。“避免連接到任何公共網(wǎng)絡(luò),請(qǐng)勿使用該機(jī)器進(jìn)行瀏覽、發(fā)送電子郵件或其他與網(wǎng)絡(luò)相關(guān)的活動(dòng)。如果您懷疑自己可能已經(jīng)暴露了API數(shù)據(jù),請(qǐng)立即在交易所中刪除密鑰。”Gill總結(jié)道。
本文翻譯自:https://securityaffairs.co/wordpress/118155/hacking/api-keys.html如若轉(zhuǎn)載,請(qǐng)注明原文地址。