1. 程式人生 > >剪貼簿幽靈:幣圈的神偷聖手

剪貼簿幽靈:幣圈的神偷聖手

摘要

  • 2018年4月,360網際網路安全中心在PC平臺首次監控到一類加密數字貨幣木馬。

  • 該木馬不斷監控使用者的剪貼簿內容,判斷是否為比特幣、以太坊等加密數字貨幣地址,然後在使用者交易的時候將目標地址改成自己的地址,悄悄實施盜竊,我們將其命名為“剪貼簿幽靈”。

  • 由於攻擊電子錢包能直接獲取大量收益,PC上已經出了攻擊電子錢包的木馬。

  • 截至到2018年6月,360安全衛士共攔截了超過5萬筆這類木馬攻擊,幫助使用者挽回損失超過4千萬。

  • 比特幣錢包轉賬,只需要開啟電子錢包,輸入要轉賬的錢包地址和轉賬數量。

  • “剪貼簿幽靈”木馬運用了剪貼簿劫持技術,以替換錢包地址的方式達到竊取加密數字貨幣的目的。

  • 剪貼簿的使用不需要使用者授予額外的許可權,這使得剪貼簿的使用變得更加容易,剪貼簿內容面臨被竊取和篡改的風險。

  • 個人使用者應當提高安全意識,培養良好的手機使用習慣,涉及到轉賬操作,要仔細核對賬戶地址。

  • 電子錢包開發商應該對要輸入敏感資訊的控制元件,如賬號,密碼,錢包地址的輸入製作成加密鍵盤的形式。

  • 在安全方面Android木馬很大程度上受PC平臺木馬的影響,從歷史上木馬家族的傳播趨勢來看,在PC平臺出現的木馬家族很快也會在移動端出現。

背景

360烽火實驗室對Android平臺竊取數字貨幣木馬和挖礦類木馬及相關產業進行了持續跟蹤與分析。在2018年1月發表的《Android平臺挖礦木馬研究報告》[1]中,我們已經介紹了挖礦木馬,並對挖礦木馬的產業現狀,原理與危害做了詳細闡述。報告中提及到此類木馬已有轉向攻擊電子錢包的趨勢。

2018年4月,360網際網路安全中心在PC平臺首次監控到一類加密數字貨幣木馬[2],該木馬不斷監控使用者的剪貼簿內容,判斷是否為比特幣、以太坊等加密數字貨幣地址。然後,在使用者交易的時候將目標地址替換成自己的地址,實施盜竊,我們將其命名為“剪貼簿幽靈”。

截止到2018年6月,該木馬累計感染量達到66萬。2018年8月,我們在Android平臺也捕獲到同類型的木馬。

一、電子貨幣錢包

“電子錢包”是電子商務購物活動中常用的支付工具。在電子錢包記憶體放的電子貨幣,如電子現金、電子零錢、電子信用卡等。

隨著各種數字貨幣的誕生,為了方便使用者記錄地址和私鑰,官方會同時釋出電子錢包應用程式,同時一些第三方公司為了進一步提高使用者體驗也會開發一些錢包應用程式等。

今年,360曾發表了一篇《數字貨幣安全白皮書》的報告,報告中詳細闡述了電子錢包存在的各方面的安全問題。由於攻擊電子錢包能直接獲取大量收益,PC平臺上已經出了攻擊電子錢包的木馬。

二、感染地區及損失情況

360網際網路安全中心監控的資料顯示,“剪貼簿幽靈”木馬在PC平臺通過感染型病毒、木馬下載器、垃圾郵件等方式傳播,累計傳播量高達到100多萬次。

截止到2018年6月,360安全衛士共攔截了超過5萬筆這類木馬攻擊,幫助使用者挽回損失超過4千萬元。

圖1.1 PC平臺感染的國家分佈

“剪貼簿幽靈”木馬原理

一、電子貨幣錢包轉賬流程

以某比特幣錢包為例,錢包轉賬流程只需要開啟電子錢包APP,輸入要轉賬的錢包地址和轉賬數量。

                                                               

                                                                              圖2.1 比特幣轉賬圖

二、剪貼簿劫持原理

此類竊取加密數字貨幣的木馬運用了剪貼簿劫持技術,以替換錢包地址的方式達到竊取加密數字貨幣的目的。

(一)PC平臺剪貼簿劫持

PC平臺上剪貼簿其實就是由系統預留的一塊全域性共享記憶體,用來暫時儲存各程序間進行交換的資料:提供資料的程序建立一個全域性記憶體塊,並將要傳送的資料移到或複製到該記憶體塊;接受資料的程序(也可以是提供資料的程序自身)獲取此記憶體塊的控制代碼,並完成對該記憶體塊資料的讀取。

PC平臺木馬會一直讀取剪貼簿記憶體的資料,檢查是否為錢包地址,如果是就替換掉剪貼簿記憶體裡面的地址。

(二)Android平臺剪貼簿劫持

Android剪貼簿API本身非常簡單,它包括自動獲取和設定當前剪貼簿資料的方法。該資料為ClipData物件,該物件定義了應用之間資料交換的協議。剪貼簿使用步驟:

                                                  

                                                                                            圖2.2剪貼簿流程圖

Android平臺木馬當在c這一步時,木馬會檢查剪貼簿裡的內容是否為電子錢包的地址,如果是,就替換成攻擊者的錢包地址,達到劫持的目的。

                                                   

                                                                                                                 圖2.3 劫持流程圖

三、“剪貼簿幽靈”分析

(一)PC平臺

PC平臺木馬主要針對太坊地址(ETH)和比特幣(BTC)型別的地址進行替換,木馬入口函式處為迴圈讀取剪下板資料

                                                                                 圖2.4 迴圈讀取剪下板資料

判斷是否為以太坊地址(ETH),如果是就替換掉剪下板裡面地址

                                                     

                                                                                 圖2.5 替換掉剪下板內容

判斷太坊地址(ETH)和比特幣(BTC)型別的地址

                                                                                           圖2.6 判斷地址格式

(二)Android平臺

木馬通過監控使用者手機剪貼簿中的內容來判斷是否是加密數字貨幣的錢包地址,如果是錢包地址則替換成從雲服務得到的攻擊者的錢包地址。當用戶把複製的錢包地址貼上到轉賬位址列的時候,原先的錢包地址已經被木馬替換成了攻擊者的錢包地址,造成使用者的財產損失。

圖2.7 木馬行竊流程圖

木馬要竊取7種加密數字貨幣:

  • BTC(比特幣)

  • DASH(達世幣)

  • DOGE(狗狗幣)

  • ZEC(大零幣)

  • ETH(以太坊)

  • LTC(萊特幣)

  • Monero(門羅幣)

針對4個目標錢包:

  • QIWI

  • WMZ

  • WMR

  • Yandex

木馬首先開啟一個監聽器,監聽剪貼簿的內容

圖2.8 開啟監聽器程式碼

然後,監控剪貼簿裡的內容和長度是否符合特定錢包地址格式

圖2.9 監控剪貼簿內容程式碼

以比特幣錢包地址格式為例,1B4cqwD9nMik86HeWpr6uYLox693ZEo5qH,地址總長為34,以1或3開頭。

圖2.10 比較比特幣錢包格式程式碼

最後,如果符合目標格式就向伺服器傳送請求,獲取對應的電子錢包地址,並替換

圖2.11 替換剪貼簿內容程式碼

總結

一、 剪貼簿功能的潛在風險預估

剪貼簿的使用不需要使用者授予額外的許可權,這使得剪貼簿的使用變得更加容易,與之相關的安全問題更值得我們關注與防範:

剪貼簿內容被竊取。剪貼簿中有一個監控剪貼簿內容變化的監聽器,當用戶使用剪貼簿時,該監聽器就能獲取使用者複製到剪貼簿的具體內容,一旦該內容被使用者預期之外的第三方獲取到,此時使用者就會面臨隱私洩露的風險。特別是賬戶密碼或較為私密的資訊,切勿輕易使用剪貼簿功能。

剪貼簿內容被篡改。一旦剪貼簿中的內容被第三方獲知,便可對內容進行篡改,例如修改剪貼簿中的連結資訊將使用者引導至釣魚事件中,使用者在使用剪貼簿進行連結類內容操作時,切記仔細甄別開啟的頁面;在剪貼簿功能介紹中我們提到可置於剪貼簿中的內容不止Text,還可以是URI和Intent,當URI及Intent被替換時,所產生的結果無法預期,一旦被惡意利用則後果不堪設想。

二、 安全防護建議

在Android平臺,由於Android系統許可權限制,第三方安全軟體難以對劫持剪貼簿的木馬進行有效的防護。在此,我們建議:

個人使用者

  • 應當提高安全意識,培養良好的手機使用習慣,涉及到轉賬操作,要仔細核對賬戶地址。

  • 使用者從可信的軟體源下載軟體,安裝安全軟體並及時更新手機系統至最新版本。

電子錢包開發商

  • 應該對要輸入敏感資訊的控制元件,如賬號,密碼,錢包地址的輸入製作成加密鍵盤的形式:

  • 禁止複製貼上功能。很多銀行類的APP,輸入控制元件都採用了這樣的安全措施。

  • 監控剪貼簿,對比使用者複製和貼上的內容是否一致。

在PC平臺,我們已經能對這一類木馬進行有效的攔截,360安全衛士在2018年6月釋出了區塊鏈防火牆功能[3],該功能用於解決在使用者使用數字貨幣等區塊鏈相關的產品時,遇到剪貼簿被篡改、數字貨幣錢包被攻擊、賬戶密碼被竊取等安全問題。

當用戶在進行加密貨幣交易時,開啟“區塊鏈防火牆”的功能,如果檢測到剪貼簿中錢包地址被篡改的現象,360安全衛士會彈出警示視窗。

圖3.1 提示視窗

在安全方面Android木馬很大程度上受PC平臺木馬的影響,從歷史上木馬家族的傳播趨勢來看,在PC平臺出現的木馬家族很快也會在Android平臺出現。例如:“勒索”、“挖礦”、“剪貼簿幽靈”三個木馬家族都是先出現在PC平臺,然後再蔓延到Android端。

目前Android平臺已經有很多加密數字貨幣錢包APP,方便了廣大加密數字貨幣愛好者買賣、轉賬、查詢行情等,但同時安全問題也值得我們關注。目前Android平臺捕獲到的這款“剪貼簿幽靈”木馬針對的都是歐美地區,還未在國內發現有類似樣本的傳播。但是從PC平臺情況以及Android平臺樣本的分析來看,該木馬已經具備了在Android平臺竊取加密數字貨幣的功能,預測不久就會出現針對中國使用者的惡意攻擊。

區塊鏈作為新興的熱門技術,在安全保障方面還未完善,可能會導致個人資訊洩露,財產損失等。因此,提升資料安全成為亟待解決的問題,360烽火實驗室對此類樣本會持續關注。

附錄