資訊專欄

2019-04-26
探討挖礦資安事件點閱數:2503
文章出處: 臺灣大學計算機及資訊網路中心
發表時間:2019-3-20

近年因挖礦行為有利可圖,有心人士試圖透過此種方式牟利,此舉不僅大量消耗電腦資源,造成電力的浪費,亦可透過挖礦程式竊取使用者的機敏資料。
本文從介紹虛擬貨幣開始,透過說明挖礦事件的演變,敘述與資安事件的關聯,並提供挖礦事件案例分析成果,最後提供建議處理措施。


虛擬貨幣介紹
虛擬貨幣是一種透過運算(挖礦)而獲得、可購買商品的交易媒介,而且現在虛擬貨幣也可以與實體貨幣做兌換。世界上第一個虛擬貨幣是比特幣,在2008年由中本聰提出,並在隔年發行。經過多年來的發展,現今出現在人們眼前虛擬貨幣多了無數種類,例如:門羅幣、瑞波幣、萊特幣及乙太幣等等。

虛擬貨幣與勒索病毒
2017年5月爆發大規模的Wannacry勒索病毒資安事件,駭客組織利用攻擊程式「永恆之藍」入侵主機植入勒索病毒,導致主機被加密上鎖,需支付虛擬貨幣比特幣才得以解密,如圖一所示。

圖一:勒索病毒的中毒畫面

同時期也有部份人士利用「永恆之藍」入侵主機植入挖礦程式,利用主機管理者不知情下進行挖礦,以賺取虛擬貨幣比透過勒索病毒獲利更多。

挖礦型態的演變
勒索病毒事件爆發後,不論是軟體公司或是資安公司都提供對應的補救措施,希望遏止勒索病毒持續擴散,之後出現的勒索病毒變種也都能在短時間內被控制住。另一方面,當時正好趕上虛擬貨幣的熱潮,持續有人開發新的挖礦程式,有的隨著木馬或病毒程式一起執行;也有跟著正常程式安裝於主機。還有一種是透過瀏覽器開啟某些網頁就自動協助挖礦,是目前最常見的挖礦型態。 

2017年下半年,CoinHive網站建立一個專案,利用門羅幣相關演算法,開發出可藉由瀏覽網頁挖礦的API,寫成JavaScript的腳本指令(如圖二所示)。當時該專案被大力推廣,不少部落客或網站管理者透過此方式獲利。後續被有心人士利用此手法入侵有弱點的網站植入挖礦腳本,並調整機制降低被使用者發現的機率,例如:降低挖礦時CPU的使用率,或者開啟新視窗放在使用者難以察覺的位置。

圖二:挖礦腳本部分內容 (參考網址:http://liujinkai.com/2017/10/28/js-miner/)
 
挖礦事件案例
 oCam挖礦程式
2018年上半年,北區ASOC中心接獲使用者反映oCam螢幕錄影程式內含挖礦程式,經同仁測試Ohsoft旗下的軟體有類似情況。oCam安裝程式在授權合約步驟塞了一個同意贊助及安裝挖礦程式的選項(如圖三所示),安裝挖礦程式選項預設打勾,使用者也可以取消預設值安裝程式。只要使用者沒有注意到這個預設選項,挖礦程式隨著oCam主程式一起安裝了。

圖三:授權合約預設安裝挖礦程式選項
 
oCam螢幕錄影程式的挖礦程式BRTSvc.exe在使用者主機未連上網路或使用中時,不會占用主機的CPU,如圖四所示。

圖四:BRTSvc挖礦程式
 
溫馨小提醒
移除挖礦程式BRTSvc.exe,必須透過Windows內建的新增/移除程式移除,只移除主程式是沒有用的。移除該挖礦程式前請利用工作管理員關閉主程式的處理程序,或者檢查是否被防毒軟體隔離,導致無法移除。

網頁內嵌挖礦JavaScript腳本 2018年下半年,某學校系所網頁,被內嵌挖礦JavaScript腳本(以下簡稱挖礦腳本),網頁程式碼被置放google短網址,如圖五所示。

圖五  網頁遭植入挖礦腳本
 
該google短網址執行時會被某些防毒軟體偵測到,並判定為挖礦程式,如圖六所示。

圖六:防毒軟體阻擋挖礦腳本執行
 
遭防毒軟體告警之JavaScript檔案,下載打開後,發現竟是被編碼過的程式碼,卻以表情符號呈現,顯示如圖七。

圖七:編碼過的javascript檔案
 
此JavaScript程式碼是透過特殊編碼「aaencode」後,而產生的表情符號。經還原後可以發現此程式碼,還會另外呼叫另一個123.js JavaScript程式碼,如圖八所示。

圖八:解碼後的javascript檔案
 
而此123.js的程式碼,經分析過後,確認為CoinHive的網頁挖礦腳本,如圖九所示。

圖九:CoinHive網頁挖礦腳本
 
建議處理措施
當挖礦程式在背景執行時,經常會出現以下情況。使用者會覺得電腦操作會變得異常的遲鈍,如果對聲音較敏感的人還會察覺電腦的風扇聲音比平常大聲。
當類似狀況出現時,建議處理方式:

◆開啟工作管理員,檢查CPU和GPU的使用率是否維持在高負載的狀態。因為挖礦需要進行大量的高速運算;硬體處在高使用率狀態下會產生大量的廢熱,風扇會提高轉速加速廢熱排出。

◆ 在工作管理員當中,找出消耗這兩個硬體的處理程序,並且關閉該程式。如果是經由網頁挖礦,通常瀏覽器的處理程序CPU使用率特別高,可能是某個網頁正在執行挖礦腳本,把該網頁關掉主機就會恢復正常。

◆使用防毒軟體進行掃毒;如果沒有安裝防毒軟體的話,可以使用防毒軟體線上的版本掃描電腦。
從本文挖礦事件的分析可看出挖礦行為分成自願與非自願。以非自願來說,是使用者在瀏覽網頁時,遭網頁內嵌挖礦腳本於背景中偷偷地挖礦。
以下提供兩種方法可主動阻擋挖礦腳本的執行:
  1. 安裝防毒軟體挖礦程式被發現已經有一段時間了,大部分的防毒軟體理應都能偵測到挖礦程式,並且在程式運作前可阻擋程式執行並向使用者告警。再者,幾家防毒軟體公司也推出手機版,使用者可以安裝手機版的防毒軟體進行阻擋。
  2. 安裝瀏覽器插件(Plugin)此方法以阻擋網頁挖礦為主,介紹兩個常用的瀏覽器插件Minerblock及No coin。一般瀏覽器插件的阻擋方式是比對內建黑名單的資料庫;而Minerblock多提供一種連線偵測的方式進行阻擋。
 
 
 
 
原文引用連結:
http://www.cc.ntu.edu.tw/chinese/epaper/0048/20190320_4802.html


上一則   |   回上頁   |   下一則