【阿菜讀論文】利用區(qū)塊鏈獲取指令服務(wù)器地址的惡意軟件
論文簡(jiǎn)介
論文題目:Analysis and Takeover of the Bitcoin-Coordinated Pony Malware
PDF地址:https://www.cyber-threat-intelligence.com/publications/AsiaCCS2021-pony.pdf
這篇論文是來自blackhat大會(huì)上的一個(gè)議題,介紹了一款名叫Pony的惡意軟件利用區(qū)塊鏈上交易的金額來構(gòu)造指令服務(wù)器的地址,達(dá)到逃避DNS黑名單的目的。
相關(guān)概念
下面是論文中比較有趣的概念
C&C server(command & control server)
惡意軟件在感染了受害者主機(jī)后,會(huì)和C&C服務(wù)器取得聯(lián)系,接收并執(zhí)行攻擊者的下達(dá)的命令。
DGAs(domain-generation algorithms):
DGAs通過算法生成大量的域名,用于與C&C服務(wù)器聯(lián)系。惡意程序只要逐個(gè)訪問生成的域名,找到有效的服務(wù)器地址即可。但防御者則需要將所有的域名都加入到黑名單中。
連接到指令服務(wù)器的方法演變史
把地址寫到程序里
在最早的惡意軟件中,是將指令服務(wù)器的地址直接寫到軟件中。對(duì)于這種方法,能夠通過軟件逆向的手段獲取到指令服務(wù)器的地址,將該地址加入到黑名單中即可斷絕惡意軟件和指令服務(wù)器之間的聯(lián)系。
算法動(dòng)態(tài)生成
利用DGAs來生成指令服務(wù)器的地址,但是這種方法也是需要將生成算法寫入到惡意程序中。同樣的可以通過軟件逆向的方法對(duì)算法進(jìn)行研究,將算法生成的地址列表加入到黑名單中,從而斷絕惡意軟件和指令服務(wù)器之間的聯(lián)系。
通過區(qū)塊鏈中的交易生成
受感染的客戶端將監(jiān)視區(qū)塊鏈交易,監(jiān)視特定賬戶的交易,通過交易信息計(jì)算出指令服務(wù)器的地址并與其取得聯(lián)系。由于比特幣交易無法預(yù)測(cè),對(duì)區(qū)塊鏈的訪問不可能在沒有附帶損害的情況下被普遍列入黑名單,交易也無法通過設(shè)計(jì)有選擇性地從區(qū)塊鏈中刪除,這就引入了一種看似可以自由操控的指令服務(wù)器地址生成方法。但是在該方法中,被監(jiān)視的賬戶也是需要寫入到程序中的。
攻擊方法
地址生成方法
惡意軟件通過監(jiān)視1BkeG的收款交易,取最近兩次交易的信息,進(jìn)行簡(jiǎn)單的變換,構(gòu)造出目標(biāo)IP地址。

攻擊過程
- 首先,對(duì)手向區(qū)塊鏈發(fā)送兩筆用作生成IP地址的交易;
- 其次,惡意軟件通過網(wǎng)絡(luò)釣魚、垃圾郵件傳播,當(dāng)用戶點(diǎn)擊時(shí)就會(huì)觸發(fā),從而運(yùn)行惡意軟件;
- 惡意軟件解壓,并從區(qū)塊鏈獲取命令控制地址;
- 惡意軟件連接C&C服務(wù)器,下載一個(gè)加密的動(dòng)態(tài)鏈接庫(DLL);
- 解包后通過發(fā)送加密的HTTP POST消息提取用戶的敏感數(shù)據(jù)。

惡意軟件的自我保護(hù)
為了能夠訪問到區(qū)塊鏈查詢網(wǎng)站,它準(zhǔn)備了三個(gè)API:blockchain.info,api.coinmarketcap.com,api.blockcypher.com
如果惡意軟件無法聯(lián)系任何區(qū)塊鏈api,或從加載服務(wù)器接收到無效文件,它仍然會(huì)刪除原始文件,不添加任何東西到啟動(dòng)選項(xiàng)卡,隱藏感染文件。
惡意軟件的漏洞
惡意軟件只監(jiān)測(cè)1BkeG的收款交易,對(duì)于是哪個(gè)賬戶發(fā)給它的并不作要求。所以你也可以給1BkeG轉(zhuǎn)兩筆賬,它就會(huì)構(gòu)造出錯(cuò)誤的指令服務(wù)器地址,從而找不到家了。(嘿)
在研究人員第三次進(jìn)行干擾后,敵人修改了他們的設(shè)置,以解決關(guān)鍵的設(shè)計(jì)缺陷。地址生成信息不再是1BkeG的收款交易,而是改為了1BkeG的付款交易。

浙公網(wǎng)安備 33010602011771號(hào)