您現在的位置是:首頁 > 武術

在QQ上檢測安卓鎖機勒索軟體

  • 由 安全客小安 發表于 武術
  • 2022-04-28
簡介它證明了特徵可以有效區分鎖機勒索軟體與良性應用程式,而與檢測演算法無關

鎖機軟體怎麼做

在QQ上檢測安卓鎖機勒索軟體

近年來,越來越多的鎖機勒索軟體(Locker-Ransomware)對Android平臺以及使用者的財產構成了巨大威脅。鎖機勒索軟體透過強制鎖定裝置勒索受害者的贖金,更糟糕的是,已經形成了成熟的勒索軟體交易鏈。有效檢測鎖機勒索軟體是一個緊急但至關重要的問題,為了解決這個問題,在本文中提出一種輕量級的自動方法來檢測鎖機勒索軟體。

首先,對鎖機勒索軟體的交易市場進行了全面調查,並對鎖機勒索軟體的行為進行了全面分析。其次,為解決程式碼混淆問題,基於觀察到的行為提取了顯示文字和後臺操作的特徵。細粒度的特徵是從多個來源提取的,可以從各個方面分析鎖機勒索軟體。最後,採用四種機器學習演算法的集合進行檢測,實驗結果表明方法優於VirusTotal。以99。98%的檢測精度實現最佳效能。

0x01 Introduction

勒索軟體是一種惡意軟體,它透過阻止對裝置或資料的訪問來勒索使用者勒索贖金。通常,勒索軟體可分為鎖機勒索軟體和加密勒索軟體。更具體地說,鎖機勒索軟體透過重置PIN碼或彈出全屏視窗來阻止使用者與裝置的互動。視窗覆蓋了螢幕,使使用者無法與裝置進行互動。只有在受害者付款並輸入了密碼後,窗口才能消失。

加密勒索軟體會加密使用者的資料,並要求支付解密費用。鎖機勒索軟體和加密勒索軟體有時會同時出現。應該注意的是,支付贖金並不能保證使用者可以獲得密碼並重新獲得對裝置的訪問權。大多數勒索軟體攻擊者都是由利潤驅動的。為了誘使使用者毫不猶豫和懷疑地支付贖金,攻擊者轉向了心理戰術。他們經常為勒索軟體配備侮辱性的資訊和色情圖片。他們對技術和心理學的巧妙使用使勒索軟體成為公眾的嚴峻問題。

勒索軟體首先出現在計算機上。第一個勒索軟體(稱為AIDS)是在1980年代後期建立的。它加密檔案並要求透過郵件勒索。隨著網際網路和加密貨幣的發展,勒索軟體已經變得強大起來,具有多種傳播和支付方式,在過去幾年中造成了巨大損失。 2017年,在感染了150個國家的200,000臺計算機並造成40億美元的經濟損失後,WannaCry獲得了迄今為止最廣泛的勒索軟體攻擊知名度。

近年來,智慧移動裝置已受到廣泛青睞。作為最受歡迎的移動作業系統,Android以85。9%的全球份額佔領了市場。 Android系統的開放性和易於使用的應用程式分發機制吸引了許多攻擊者。2014年出現的Sypeng是第一個Android 鎖機勒索軟體樣本。它透過偽造的Adobe Flash更新訊息感染了裝置。它鎖定了螢幕,並彈出一條偽造的FBI訊息,要求支付200美元的贖金。 Koler因其自我複製的行為而成為第一個Android勒索軟體蠕蟲,它會自動將包含該蠕蟲的下載連結的訊息傳送給受感染裝置的聯絡人列表中的每個人。

在2015年,Lockerpin成為第一個能夠重置裝置PIN碼的勒索軟體的真實示例,它給受害者配備了鎖定的手機螢幕,要求支付500美元的贖金。 2017年,卡巴斯基實驗室檢測到超過54。4萬個移動勒索軟體。 McAfee Lab聲稱,移動惡意軟體作者將目光投向了獲利。他們增加了勒索軟體功能,以在移動平臺上造成新的威脅。顯然,針對Android的移動勒索軟體已經對Android生態系統和使用者的財產構成了巨大威脅。

中國是世界上最大的智慧手機市場。 2018年,中國人口的50。37%使用了智慧手機。 2017年12月,Android佔據了中國移動作業系統市場78%的份額。但是,根據騰訊移動分析,中國使用者的系統版本中有42%仍低於Android 6。0。平臺早期版本的缺點(例如缺乏靈活的許可權管理)使使用者面臨遭受攻擊的高風險。

騰訊開發的QQ是全球最大的線上社群之一,擁有超過8。99億活躍帳戶。它的流行和匿名註冊機制使其成為勒索軟體交易的熱門市場。針對Android的勒索軟體的飛速增長,越來越需要能夠自動分析和檢測它們的有效方法。

有效檢測鎖機勒索軟體的挑戰之一是,大多數鎖機勒索軟體都是使用程式碼混淆構建的。函式的名稱被替換為簡單的字母,例如,reset_password()被替換為a(),這增加了分析程式碼的難度。此外,鎖機櫃勒索軟體通常與shell一起出現。它冒充流行的下載應用程式。安裝後,shell程式將立即釋放內部的鎖機程式勒索軟體,以執行惡意行為。在shell的保護下,大量的勒索勒索軟體可以逃脫現有的檢測方法。

0x02 Android Locker-Ransomware

在本節中將描述鎖機勒索軟體的傳播和行為,發現數百個與鎖機勒索軟體交易相關的QQ群。勒索軟體交易已成為成熟的產業鏈。觀察到以下有關Android鎖機勒索軟體傳播和行為的策略。

A。傳播

1)市場

為了逃避法規和提高交易機率,交易環境需要匿名以及交易者進行談判和付款的便利。 QQ的匿名註冊機制及其數字錢包完全符合要求。此外,大量的QQ使用者是勒索軟體銷售商的潛在客戶。要出售勒索軟體,賣方可以加入現有的QQ群或建立自己的群組。透過搜尋關鍵字可以找到銷售勒索軟體的QQ群。群成員的數量從幾十到上千。對於買家,他們可以付費加入該群,並向所有群成員傳送訊息以請求勒索軟體。值得注意的是,不僅群所有者,而且群中的所有其他成員都可以是賣方。團體是一個開放的市場。經過協商,一種勒索軟體的價格通常低於¥10。買方可以透過QQ錢包向賣方付款,賣方將向他傳送勒索軟體。

在某些群中,群所有者共享勒索軟體開發工具,影片教程和原始碼。一旦支付了大約¥100的費用,他們還將提供有關如何開發勒索軟體的一對一輔導。因此,除了出售勒索軟體外,賣方還可以從會費,勒索和輔導費中獲利。儘管單價似乎不令人滿意,但是由於有大量購買者,利潤是誘人的。許多普通人甚至受害者都在從事勒索軟體交易,這使得勒索軟體市場在社交網路上繁榮起來。交易過程如下圖所示。

在QQ上檢測安卓鎖機勒索軟體

為了遏制勒索軟體的傳播,QQ配備了線上防病毒引擎,可以掃描上載的檔案並刪除已識別的惡意軟體。但是,賣方透過將勒索軟體壓縮為加密的。rar檔案並將帶有密碼的檔案傳送給買方就可以避免掃描。沒有密碼,防病毒引擎將無法提取和檢測勒索軟體。結果,賣方可以輕鬆地打破防禦並共享群檔案。

2)開發工具

Android Studio是可在PC上執行的Android官方整合開發環境。但是,為了加速開發過程,攻擊者更可能使用可以在Android裝置上操作的AIDE。它可以透過簡單的操作來編輯,除錯,編譯,簽名和執行APK。為了生成自己的勒索軟體,新學習者可以透過僅更改解鎖密碼和聯絡資訊來利用現有勒索軟體的原始碼。透過詳細的教程,即使對Android知識不多,也可以完成重新打包過程。硬體和技能的低要求使AIDE成為勒索軟體開發中最受歡迎的工具。

3)偽裝

勒索軟體總是偽裝成流行的應用程式,以誘使下載。根據勒索軟體的名稱,鎖機勒索軟體通常偽裝成熱門遊戲,搶紅包機器人,QQ附加服務提供商和色情圖形影片播放器。這些應用程式具有一些共同點:(1)大多數目標應用程式是非法的,並且在官方應用程式市場上不可用。因此,無論誰需要它們,都必須求助於其他來源,這為勒索軟體的發行創造了機會。 (2)這些應用程式往往需要更多許可權,甚至需要root許可權。熟悉這些應用程式的受害者會在安裝過程中毫不猶豫地授予許可權。 (3)他們擁有廣泛的使用者群。勒索軟體針對具有特殊需求但對Android知識很少的使用者。勒索軟體會偽裝成引誘的下載,毫不費力。

B。行為

1)鎖屏

鎖機勒索軟體最常見的行為是透過在螢幕上建立浮動視窗或更改PIN碼來使裝置不可用。浮動視窗顯示威脅性訊息以及攻擊者的聯絡資訊和付款方式。視窗不響應任何觸控事件,後退或主頁按鈕也不響應,從而使裝置完全不可訪問。在Android平臺上,視窗的放置和外觀由WindowManager 控制。勒索軟體透過設定Win dowManager的特定佈局引數來建立浮動視窗。例如,當視窗的型別設定為TYPE_SYSTEM_ERROR時,將被授予最高特權。它可以出現在所有內容之上。如果將其標誌設定為FLAG_NOT_FOCUSABLE或FLAG_NOT_TOUCHABLE,則視窗將永遠無法獲得按鍵輸入焦點或接收觸控事件,因此使用者無法向其傳送按鍵或其他按鈕事件。一個例子可以在下圖中看到。

在QQ上檢測安卓鎖機勒索軟體

要禁用物理或虛擬鍵(例如主頁,後退和選單),攻擊者將覆蓋onKeyDown()方法以忽略按下事件。一些勒索軟體誘使使用者授予裝置管理員特權。勒索軟體使用DevicePolicyManager。ACTION_ADD_DEVICE_ADMIN的動作建立了一個意圖,以將自己作為新的裝置管理員新增到系統中。管理員活動後,勒索軟體將具有重寫/data/system/password。key檔案並重置PIN碼以鎖定螢幕的許可權。更糟糕的是,具有管理員許可權的應用無法像普通應用一樣透過拖到垃圾箱中來解除安裝。因此,不熟悉系統設定的使用者很難擺脫勒索軟體。

下圖顯示了鎖定電話的螢幕。將向受害者顯示文字檢視以插入密碼。密碼的生成基於螢幕上顯示的金鑰。攻擊者將其QQ號碼留作聯絡資訊。希望受害者聯絡其QQ並支付贖金以獲取密碼。

在QQ上檢測安卓鎖機勒索軟體

2)阻止通話

一些勒索軟體可以阻止電話,使裝置無法訪問。每當有電話打入時,Android系統都會將事件廣播到所有應用程式。勒索軟體可以透過註冊廣播接收器來監聽事件。它可以從TelephonyManager中提取電話號碼。如果該數字不是攻擊者預先定義的數字,勒索軟體將終止呼叫。透過將振鈴器模式設定為RINGER_MODE_SILENT,執行的軟體可以使電話靜音以在暗中進行阻止過程。

在QQ上檢測安卓鎖機勒索軟體

3)高優先順序

裝置啟動完成後,大多數勒索軟體便開始工作。它註冊一個BroadcastReceiver並監聽BOOT_COMPLETED意圖。在AndroidManifeat。xml中,有一個意圖過濾器屬性,稱為優先順序。它控制廣播接收器的執行順序。具有較高優先順序值的應用程式將在具有較低優先順序值的應用程式之前被呼叫。勒索軟體將優先順序設定為整數的最大值,從而賦予其最高優先順序。這將是第一個知道裝置已完成啟動的應用程式,然後它將中止廣播並啟動惡意服務。一個例子可以在圖4中看到。

4)劫持活動

裝置完成啟動後,勒索軟體將利用ActivityManager定期檢測到頂級活動。如果top活動的軟體包名稱不屬於勒索軟體,則勒索軟體可以透過呼叫killBackgroundProcesses()並重新啟動其自己的活動來終止頂級活動。

5)root shell

某些勒索軟體利用根shell偽裝成流行的應用程式。根shell的任務是獲得root許可並在系統目錄中釋出勒索軟體。鎖定螢幕的真正勒索軟體隱藏在/ asset目錄中,並偽裝為。so檔案,例如dalvik。so。獲得root許可後,root shell將dalvik。so複製到/ system / app /目錄,並將其重新命名為x。apk。重新啟動系統後,勒索軟體將自動安裝在裝置上。 Android將其視為無法直接解除安裝的預裝系統應用程式。儘管大多數勒索軟體都可以透過Android除錯橋(ADB,Android Debug Bridge)刪除,但它仍然困擾著普通使用者。

C。密碼和解鎖

1)密碼

a:沒有密碼

勒索軟體會彈出一個全屏浮動視窗,其中僅包含聯絡資訊。攻擊者收到贖金後,將透過致電或發簡訊給受害者來觸發。

b:恆定密碼

某些密碼是恆定值,例如可以很容易記住的生日或句子。只有輸入正確的密碼後,浮動窗口才會消失。專業人員可以毫不費力地在反編譯程式碼中找到常量密碼。

c:高階密碼

這種密碼採用複雜的邏輯計算或加密演算法,例如AES,DES。為了生成大量不同的密碼,勒索軟體可以建立一個隨機數並將其用於計算。在某些情況下,加密進度包括幾輪以使密碼堅不可摧。

2)解鎖

a:輸入密碼

解鎖裝置的最常見方法是支付密碼。在浮動視窗中輸入密碼後,該視窗將消失,受害者重新獲得對裝置的控制。

b:電話或簡訊

另一種方法是透過給受害者打電話或發簡訊來觸發。攻擊者用勒索軟體的程式碼預定義了他的電話號碼,並註冊了一個監聽器來監視電話狀態。當有電話或簡訊進入時,勒索軟體會檢查它是否來自攻擊者。如果呼叫號碼與預定義的電話號碼相同,則勒索軟體將終止其服務。但是透過這種方式,攻擊者的電話號碼被暴露了。

c:透過解鎖工具

為了解密高階密碼,攻擊者通常會開發一種解鎖工具來自動對加密演算法進行逆向計算。他們將在收到贖金後向受害者提供工具,受害者可以生成密碼並自行解鎖手機。

d:透過網際網路

為了保護其個人資訊,攻擊者應用了匿名通訊技術(例如Onion Network)來遠端解鎖裝置。該技術最初旨在保護髮送者和接收者的隱私,但被大量惡意軟體濫用。

D。付款

大多數攻擊者將其QQ號碼留作聯絡資訊,並指示受害者透過QQ錢包付款。與其他國家的高贖金不同,QQ的鎖機勒索軟體使使用者可以負擔得起,通常是¥20-¥50,因此受害者不會以“麻煩越少越好”的心態報警。此外,QQ是假名,受害者無法找到有關攻擊者的個人資訊。一些攻擊者透過留下QR碼來隱藏其QQ號。 QRcode連結到攻擊者的QQ錢包的付款介面。因此,受害者在不瞭解攻擊者的情況下支付了贖金。儘管一些國際勒索軟體支援比特幣,但尚未在QQ上觀察到任何樣本。

E。 API的早期版本

發現大多數鎖機勒索軟體都基於API的早期版本,86%的示例針對的是與Android 5。0相對應的API 21。早期版本缺乏靈活的許可權控制機制。使用者需要授予應用安裝時間許可權,否則將無法成功安裝該應用。如果使用者輕率地安裝了執行軟體並授予他們危險的許可權,則這些許可權是不可撤銷的,這使勒索軟體有機會損壞裝置。但是,仍有42%的中國使用者的系統版本使用Android 6。0。與使用更高版本的Android的使用者相比,他們更容易受到勒索軟體的攻擊。

F。心理技巧

勒索軟體受利潤驅動。攻擊者會充分利用心理技巧來達到目標。他們利用使用者的貪婪並透過提供免費應用程式誘使他們安裝勒索軟體。為了防止受害者尋求幫助,他們轉向恐懼和羞辱。與大多數惡意軟體的地下和偷偷摸摸的行為不同,勒索軟體傾向於展示勝利。勒索軟體顯示威脅性訊息和色情圖片,伴隨響亮的音樂和頻繁的振動,迫使受害者支付贖金。受害人將恥於尋求專業人士的幫助,必須順服地付款。

0x03 Method

A。概述

在本節中提出一個框架,用於根據發現的行為來分析和檢測鎖機勒索軟體。如下圖所示,在將應用程式饋入框架後,文字和行為模組並行工作以提取UI中顯示的文字和背景中的行為。提取六類特徵。透過四個分類器的組合,最終將這些應用程式識別為良性應用程式或鎖機勒索軟體。

在QQ上檢測安卓鎖機勒索軟體

B。特徵提取

特徵的提取和選擇對於有效檢測鎖機勒索軟體非常重要。在以前的工作中,一種型別的特徵通常來自一個來源。例如,許可權僅從清單檔案中提取,而API是從反編譯程式碼中提取的。但是,在鎖機勒索軟體的開發過程中,有多種現有方法可用於同一特徵,例如,小部件中的文字可能會出現在佈局檔案,字串資源或反編譯的程式碼中。因此,在工作中,特徵集中的一種功能可能來自不同的來源。有兩個觀察結果:

(1)與其他隱藏了惡意行為的惡意軟體不同,Locker-Ransomware明確宣告它是導致鎖定行為的原因。

(2)與良性應用程式的各種功能不同,lockerransomware的功能非常簡單,例如,建立浮動視窗或重置PIN碼以鎖定螢幕。基於觀察,同時考慮了顯示的文字和背景行為。提取以下六類特徵。下表列出了特徵摘要。

在QQ上檢測安卓鎖機勒索軟體

1)文字

由於鎖機勒索軟體旨在勒索贖金,因此在UI小部件上顯示的文字與良性應用程式有很大不同。例如,大多數勒索軟體的文字都包含關鍵字“鎖定”,“解鎖”和“付款”,這在良性應用程式中很少見。定義了22個與鎖定和解鎖行為有關的關鍵字。視窗小部件中的文字可以透過多種方式設定:(a)佈局xml檔案,(b)字串資源和(c)反編譯的程式碼。對這些檔案進行了全面的分析以獲取文字。

2)許可權

大量的鎖機勒索軟體要求裝置管理員重新設定PIN碼。為了使用裝置管理員API,(a)應用應包含BIND_DEVICE_ADMIN許可權和意圖過濾器,以響應ACTION_DEVICE_ADMIN_ENABLED意圖。 (b)在XML檔案中,應用程式需要宣告相關的安全策略,例如“ reset-password”,“ wipe-data”等,示例如下圖所示。在程式碼中,攻擊者將覆蓋DeviceAdminReceiver類中的API以實現鎖定行為。將這些與管理員相關的操作提取為特徵集。

在QQ上檢測安卓鎖機勒索軟體

3)視窗屬性

大量的鎖定勒索軟體透過建立浮動視窗來實現鎖定行為。勒索軟體操縱視窗的屬性,以阻止其響應使用者。透過在WindowManager類中設定佈局引數,它將建立一個浮動視窗,該視窗顯示在頂部,並忽略所有觸控事件。提取與視窗屬性相關的API以形成特徵集。

4)系統操作

對於受shell保護的使用者,root shell可以在獲得root許可後重新掛載系統目錄並釋放鎖機勒索軟體。定位系統目錄的“ remount”,“ chmod”,“ cp”和“ mv”命令被視為可疑行為。

5)優先

為了實現在裝置完成啟動後立即鎖定螢幕的目標,鎖機勒索軟體將註冊一個意圖過濾器以監聽BOOT_COMPETED廣播。同時,它將意圖過濾器的優先順序設定為最高值,以便成為第一個接收訊息的優先順序。之後,一些鎖機勒索軟體甚至中止廣播。在檔案中設定優先順序並在程式碼中中止廣播被認為是可疑的。

6)許可權

Android透過許可權控制對系統資源的訪問。當應用與系統API或資料庫進行互動時,需要特定的許可權。許可權在AndroidManidest。xml中宣告。開發人員定義的許可權和系統定義的許可權都被考慮在內。

分類需要高維特徵向量。代表惡意軟體樣本的特徵向量定義為F =(f1,f2,…。 fn),其中n是特徵數。提取的特徵都是二進位制特徵。如果應用具有第i個功能,則fi將設定為1,否則設定為0。

C。檢測演算法

採用四種機器學習方法進行分類,即支援向量機(SVM),決策樹(DT),隨機森林(RF)和邏輯迴歸(LR)。由於每種演算法都有兩面性,為了彌補缺點,應用整合學習以獲得最終的檢測結果。如果兩個或多個分類器將其識別為良性應用,則測試應用的最終標籤將為“良性”,反之亦然。在鎖機勒索軟體檢測中,整體決策優於單一機器學習演算法。

0x04 Evaluation

A。資料集

良性應用程式是從中國最大的第三方市場之一安智市場下載的。收集了9類熱門應用。具體來說,下載了許多良性桌布應用程式。打算測試特徵是否能夠區分鎖機勒索軟體和良性桌布應用程式。下表中顯示了應用程式的類別。

在QQ上檢測安卓鎖機勒索軟體

勒索軟體樣本是在現實世界中收集的,加入了30個最受歡迎的勒索軟體交易QQ群,並從共享檔案中下載了664個鎖機勒索軟體。根據重複的SHA1值將其刪除,最終總共獲得301個鎖機勒索軟體。

使用Apktool來反編譯更衣的勒索軟體APK並獲取目標檔案。為了解決root shell的問題,嘗試反編譯/ assets /目錄中的每個檔案,而不管其副檔名如何。結果,在301個APK中,發現了另外226個APK。將shell和內部APK視為一個APK。

實驗是在配備四核3。4 GHz i7處理器和16G記憶體的PC上進行,方法是用Python語言實現的。整個檢測過程可以透過shell命令自動進行,而無需人工干預。

B。檢測結果

在QQ上檢測安卓鎖機勒索軟體

分別在支援向量機(SVM),決策樹(DT),隨機森林(RF)和邏輯迴歸(LR)上測試提取特徵的有效性。然後運用整體學習方法做出最終決定。在實驗中使用n折交叉驗證以減少過度擬合。每個分類器的平均準確度如上圖所示。

在QQ上檢測安卓鎖機勒索軟體

從上表中可以看出,所有檢測精度均在99%以上。它證明了特徵可以有效區分鎖機勒索軟體與良性應用程式,而與檢測演算法無關。對於單一演算法,DT達到最高TPR,為98。92%。 LR實現了99。93%的最高準確度和0。02%的最低FPR。可以看出,在採用具有多數表決機制的所有分類器的集合之後,實現了99。98%的最高準確性。整合方法比單機學習方法表現更好。

在QQ上檢測安卓鎖機勒索軟體

為了評估方法的時間消耗,對301勒索軟體資料集的每個階段的執行時間進行了分析,如上表所示。反編譯是最耗時的步驟,佔總時間的99%。反編譯301勒索軟體樣本及其內部APK需要3250秒,每個樣本為10。8秒。反編譯非常耗時,因為一個勒索軟體樣本可能包含多個內部隱藏的APK。在沒有root shell的情況下反編譯應用程式將花費更少的時間。特徵提取輕巧,每個樣本花費0。1秒。然後在分類步驟中,四個分類器並行工作。預測過程不會花費很多時間。最後,應用四個分類器的整體結果。通常,分析每個樣本平均需要10。91秒。實驗結果表明,方法可以有效地檢測出鎖機勒索軟體。

C。特徵比較

在QQ上檢測安卓鎖機勒索軟體

為了找出鎖機勒索軟體的行為,根據特徵的出現頻率對其進行排名。上表中顯示了最常出現的特徵。最多96。25%的更衣勒索軟體請求具有receive_boot_completed許可權。可以理解,大多數鎖定行為都是由完成引導的廣播觸發的。

System_alert_window是簽名級許可權。它允許一個應用程式建立一個顯示在所有其他應用程式頂部的視窗。儘管《開發人員指南》 建議很少有應用程式應使用此許可權,但92。49%的鎖機勒索軟體要求使用此許可權。此外,有81。91%的鎖機勒索軟體打算獲得最高的過濾意圖。不出所料,超過80%的勒索軟體的關鍵詞為“鎖定”和“解鎖”。顯示的文字提醒受害者,他們的裝置已被鎖定,他們必須支付贖金才能解鎖手機。

為了弄清鎖機勒索軟體和良性應用程式之間的區別,還對它們的功能進行了比較。值得指出的是一類名為桌布的良性應用程式,它具有類似的功能來操縱螢幕。一些桌布應用程式不僅可以更改桌布,還可以關閉並鎖定螢幕或重設密碼。一方面,功能上的相似性導致許可請求中的相似性。由於它們的目的性功能,比其他類別的良性應用程式提供更復雜的服務時,更容易使鎖機勒索軟體和牆紙應用程式請求的許可權更少。比較了不同資料集中應用程式請求的平均許可權數:(A)儲物櫃勒索軟體資料集,(B)良性應用程式資料集,(C)牆紙應用程式,(D)良性應用程式不包括牆紙應用程式,如下表所示。

在QQ上檢測安卓鎖機勒索軟體

鎖機勒索軟體和桌布應用程式請求的平均許可權數約為8,而其他種類的良性應用程式則請求16個許可權。另一方面,鎖機勒索軟體和桌布應用程式確實存在差異。最直觀的區別是,良性桌布應用程式的行為遵循使用者的命令,而鎖機勒索軟體則強制控制手機,這與使用者的期望無關。按功能頻率對功能進行排名,並在排名中列出最不同的功能,如下圖所示。可以看到70。65%的鎖機勒索軟體要求管理員特權,而只有2。23%的牆紙應用程式具有此功能。 65。53%的鎖機勒索軟體在收到已完成的啟動訊號後中止廣播,而只有5。94%的良性應用程式會中止廣播。相比之下,大多數鎖機勒索軟體不要求提供位置資訊,這導致2。05%的百分比,而所有良性應用程式的比例為52。41%。

在QQ上檢測安卓鎖機勒索軟體

D。與其他工作的比較

1)與VirusTotal比較

VirusTotal是最先進的工具,可免費檢查檔案是否包含病毒。它包含60多種廣泛使用的防病毒引擎,例如McAfee和Symantec。它分析提交的應用程式並返回每個防病毒引擎的檢測結果。該應用程式被標記為“ True”或“ False”,分別表示惡意或良性。以前的許多工作都使用VirusTotal的檢測結果來標記其資料集。將301個鎖機勒索軟體樣本上載到VirusTotal,以測試線上防病毒引擎的檢測效能。

在QQ上檢測安卓鎖機勒索軟體

在68個防病毒引擎中,ESET-NOD32以98。98%的平均檢測準確率排名第一,其次是McAfee,以95。90%的準確率排名第一。對於賽門鐵克,準確性為84。30%。上顯示了VirusTotal中防病毒引擎的平均檢測準確性。每個點代表一個防病毒引擎。總體檢測結果是不高的。只有20個引擎的精度高於90%。36個引擎的精度低於50%。微軟僅達到13。65%。

在QQ上檢測安卓鎖機勒索軟體

根據每個鎖機勒索軟體樣本的檢測結果,發現只有50%-60%的防病毒引擎可以檢測到它們。如上圖所示,沒有一個樣本觸發70%或更多的防病毒引擎。注意到,樣本的最低檢測率為25。42%,這意味著只有25。42%的防病毒引擎將其視為惡意軟體樣本。此示例被根root覆蓋。它偽裝成自動的紅包抓取器,並誘使使用者授予root許可權。然後,它在系統目錄中釋放鎖機勒索軟體並重新啟動裝置。裝置完成啟動後,螢幕將被浮動視窗鎖定。很明顯,大多數防病毒引擎無法處理shell。他們只能分析外層。如果沒有異常,他們會將樣本視為良性應用。但是,大多數antivirus引擎忽略的內層是真正的惡意部分。

在本文方法中,將反編譯/ assets /目錄中的每個檔案,而不管其副檔名如何。shell和內部隱藏應用程式的功能都已考慮在內。因此,本文方法比VirusTotal中的防病毒引擎具有更好的效能。

2)與R-PackDroid的比較

為了便於與現有工作進行比較,使用Canfora等人提出的R-PackDroid進行了實驗 R-PackDroid是用於檢測Android勒索軟體的受監督機器學習系統。它透過系統API包列表來表徵應用程式,並使用Random Forest進行分類任務。從良性資料集中隨機選擇了1500個良性應用程式,以及300個鎖機勒索軟體樣本,以此為基礎來實現和評估R-PackDroid。在實驗中使用了n折交叉驗證,檢測結果如下表所示。與R-PackDroid相比,方法可獲得更好的檢測結果。TPR比R-Droid高10%。它驗證了本文的特徵可以更好地分析鎖機勒索軟體,並將其與良性應用程式區分開。

在QQ上檢測安卓鎖機勒索軟體

E。討論

為了減小APK的大小並逃避檢測,勒索軟體採用了混淆處理,這種混淆處理可以在不影響功能的情況下轉換程式碼,從而使其變得晦澀難懂。由於混淆可以重新命名類或函式,因此許多以前的工作使用基於API名稱的功能來檢測惡意軟體可能會變得無效。但是,根據觀察,良性和鎖機勒索軟體通常不會混淆小部件(Widget)。因此,即使來自API的資訊無效,仍然可以根據小部件中顯示的文字找出其嘗試。從配置小部件的三個來源中徹底提取文字:佈局檔案,字串資源和反編譯的程式碼。與其他代表性特徵(例如視窗屬性)一起,全面介紹了鎖機勒索軟體的行為。

應用靜態分析的主要原因是,大多數資訊特徵可以透過靜態程式碼分析有效地提取。相反,在動態分析過程中,每次執行鎖機勒索軟體樣本後,就會鎖定模擬器。儘管可以使用ADB命令對其進行修復,但是靜態功能可以更好地滿足面對大規模執行Somware時高效高效的需求。

動態有效載荷可能會影響檢測效能,但是,動態有效負載和根shell都可以達到隱藏惡意元件和逃避檢測的目的。根據調查,由於較低的技術要求,鎖機勒索軟體更喜歡根shell。 root shell的任務是獲得root許可並在系統目錄中釋放鎖機勒索軟體。這樣可以挖掘出內部隱藏的APK,以克服根shell問題並獲得比VirusTotal更好的效能。

0x05 Conclusion

鎖機勒索軟體使用各種技術誘使使用者下載,使裝置無法訪問並迫使受害者支付贖金,從而對使用者的財產構成極大威脅。此外,透過程式碼混淆和shell程式,勒索軟體可以繞過許多防病毒引擎的檢測,這使Android生態系統不安全。

在這項工作中,對鎖機勒索軟體的交易過程和行為進行了全面分析。為了保護使用者免受鎖機勒索軟體的侵害,致力於提供一種輕便有效的檢測框架。為了克服程式碼混淆和根root的挑戰,從多個來源中提取了六種型別的特徵。這些特徵可以高度概括出鎖機勒索軟體的行為。透過多數表決採用四個分類器的組合,以得到最終的檢測結果。實驗結果證明了該特徵和方法的有效性。以99。98%的精度獲得最佳檢測結果。

原文連結:https://www。anquanke。com/post/id/208439

Top