自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

FireEye:惡意軟件家族擁有共同的起源

安全
2月19日,IBM XForce研究者發(fā)布了一篇報(bào)告,是關(guān)于2015年12月份公布出來的惡意軟件GM Bot的源代碼。GM Bot是一款很繁雜的安卓惡意軟件家族,2014年年末出現(xiàn)在俄羅斯的地下犯罪網(wǎng)絡(luò)中。

簡介

2月19日,IBM XForce研究者發(fā)布了一篇報(bào)告[1],是關(guān)于2015年12月份公布出來的惡意軟件GM Bot的源代碼。GM Bot是一款很繁雜的安卓惡意軟件家族,2014年年末出現(xiàn)在俄羅斯的地下犯罪網(wǎng)絡(luò)中。IBM聲稱,最近發(fā)現(xiàn)的好幾款安卓惡意軟件家族實(shí)際上都是GM Bot的變異體。其中包括Bankosy[2], MazarBot[3], 還有最近FireEye描述的SlemBunk惡意軟件。

[[164009]]

安全廠商可能對(duì)惡意軟件的變體有不同的定義。惡意軟件變體指的是和原來惡意軟件的代碼幾乎相同或者有一些不同,但是這些從代碼是看只有輕微的差別,但實(shí)際上差別的非常大。

通過IBM的報(bào)告,我們比較了GM Bot樣本和SlemBunk?;谶@兩個(gè)惡意軟件家族的反匯編,我們認(rèn)為GM Bot和SlemBunk有足夠的代碼相似性,他們很可能有共同的起源。有趣的是,我們的研究表明實(shí)際上有一個(gè)更早的惡意軟件家族,名字叫SimpleLocker——這是第一個(gè)已知的文件加密的安卓惡意軟件[6] ——這和一些銀行木馬家族很相似。

GM Bot 和SlemBunk

我們的分析表明,有四個(gè)GM Bot樣本都共同引用了SlemBunk的主要組件。圖1是我們?cè)缙诘膱?bào)告,是SlemBunk的主要組件的代碼部分,對(duì)應(yīng)的類名如下:

1. 服務(wù)啟動(dòng)器(ServiceStarter): 該服務(wù)是一個(gè)接收器,當(dāng)一個(gè)應(yīng)用或者設(shè)備啟動(dòng)的時(shí)候,該服務(wù)就會(huì)在后臺(tái)啟動(dòng)監(jiān)控服務(wù)MainService。

2. 主服務(wù)(MainService): 該服務(wù)在后臺(tái)運(yùn)行,可以監(jiān)控設(shè)備上所有正在運(yùn)行的進(jìn)程。它會(huì)像正常的app提醒那樣通過覆蓋視圖提醒用戶。同時(shí),這個(gè)監(jiān)控服務(wù)會(huì)和遠(yuǎn)程主機(jī)進(jìn)行通信,會(huì)發(fā)送設(shè)備的初始數(shù)據(jù)、設(shè)備的狀態(tài)信息以及應(yīng)用程序首選項(xiàng)。

3. 信息接收器(MessageReceiver): 是一個(gè)安卓的信息接收器,可以處理輸入的文本信息。一方面提供攔截銀行的身份認(rèn)證信息的功能,另一方面作為客戶端執(zhí)行遠(yuǎn)程主機(jī)的控制命令。

4. 請(qǐng)求管理權(quán)限(MyDeviceAdminReceiver): 當(dāng)app第一次運(yùn)行的時(shí)候,該服務(wù)會(huì)向系統(tǒng)請(qǐng)求管理員權(quán)限,成功后,該app就更難從系統(tǒng)中移除。

5. 自動(dòng)以UI界面(Customized UI views): 可以自定義用戶登錄界面,可用于模擬一個(gè)假的銀行應(yīng)用程序登錄界面或者社交網(wǎng)絡(luò)登錄界面,用于銀行釣魚或者盜取社交賬號(hào)。

 

FireEye:惡意軟件家族擁有共同的起源

圖1 SlemBunk惡意軟件家庭的主要組件

前面三個(gè)GM Bot樣本和提到的SlemBunk樣本具有相同的包名稱。此外,GM Bot的樣本具有的這5個(gè)組件和圖1中的SlemBunk樣本具有相同的組件名。

第四個(gè)GM Bot樣本具有不同的初始包名,但是,在運(yùn)行起來后解壓出真正的payload,發(fā)現(xiàn),解壓后的payload其實(shí)和SlemBunk樣本是一樣的,同樣也有一些改變的地方:MessageReceiver變成了buziabuzia,MyDeviceAdminReceiver變成了MDRA。

 

FireEye:惡意軟件家族擁有共同的起源

圖2 GM Bot和SlemBunk之間的代碼結(jié)構(gòu)比較

圖2展示了GM Bot樣本和SlemBunk樣本之間代碼結(jié)構(gòu)的相似性(其中SHA256 9425fca578661392f3b12e1f1d83b8307bfb94340ae797c2f121d365852a775e和SHA256 e072a7a8d8e5a562342121408493937ecdedf6f357b1687e6da257f40d0c6b27分別是GM Bot和SlemBunk)。通過這幅圖,我們可以知道我們以前的文章中[4]討論到的5個(gè)重要組件也同樣存在于GM Bot樣本中。其他常見的類包括:

1. Main,兩中樣本的啟動(dòng)。

2. MyApplication,應(yīng)用程序的類,比任何其他都早啟動(dòng)

3. SDCardServiceStarter,另一個(gè)接收器,可以監(jiān)控MainService的狀態(tài),并且如果MainService死了,可以重啟它。

在上面提到的所有組件和類當(dāng)中,最關(guān)鍵的是MainService。App啟動(dòng)的時(shí)候它通過Main類啟動(dòng),并且在保持在后臺(tái)運(yùn)行并且實(shí)時(shí)監(jiān)控正在運(yùn)行的進(jìn)程。當(dāng)檢測(cè)到有可以攻擊的app運(yùn)行的時(shí)候(e.g. 一些銀行的移動(dòng)應(yīng)用程序)就會(huì)用模擬的登錄界面覆蓋真實(shí)的登錄頁面,進(jìn)行釣魚。為了保證MainService持續(xù)運(yùn)行,惡意軟件的作者增加了兩個(gè)啟動(dòng)器——ServiceStarter和SDCardServiceStarter,用于檢測(cè)軟件的運(yùn)行狀態(tài),防止特殊的系統(tǒng)時(shí)間發(fā)生。GM Bot和SlemBunk有相同的代碼結(jié)構(gòu)。如圖3所示,我們可以看到SDCardServiceStarter類的主要代碼,以及GM Bot和SlemBunk是如何通過同一種機(jī)制運(yùn)行MainService。

 

FireEye:惡意軟件家族擁有共同的起源

圖3 GM Bot和SlemBot中的SDCardServiceStarter類中的方法

從上圖可以看出,GM Bot和SlemBunk使用相同的代碼啟動(dòng)MainService。注意,當(dāng)樣本檢測(cè)到系統(tǒng)的本地位置是在俄羅斯的時(shí)候,就會(huì)避免使用MainService啟動(dòng)。唯一不同的是,GM Bot樣本將會(huì)對(duì)這些類、方法和字段進(jìn)行重命名,例如:在GM Bot中的靜態(tài)變量“MainService;->a”和SlemBunk中的“MainService;->isRunning”實(shí)際上具有相同的作用。惡意軟件的作者這么做就是為了混肴視聽,讓他的代碼更難以理解,但是這些無法從底層改變代碼架構(gòu)。

圖4向我們展示的是GM Bot和SlemBunk的核心代碼類MainService,這表明兩種惡意軟件具有相同的邏輯結(jié)構(gòu)。安卓中,但一個(gè)服務(wù)啟動(dòng)時(shí),onCreate方法就會(huì)被調(diào)用。兩種樣本中的onCreate方法中,都是先把一個(gè)靜態(tài)變量設(shè)置成true。在GM Bot中,靜態(tài)參數(shù)命名為“a”,然而在Slembu中命名為“isRunning”。然后,兩個(gè)都繼續(xù)移動(dòng)到真實(shí)程序的正常設(shè)置中。注意,兩個(gè)樣本有相同的設(shè)置“AppPrefs”。兩個(gè)樣本最后步驟做的任務(wù)也都是一樣的。特別是,為了檢測(cè)是否有可以攻擊的app在運(yùn)行,都調(diào)用了一個(gè)線程。如果有可攻擊的app,相應(yīng)的覆蓋視圖將會(huì)被加載到這個(gè)app的頂部。在這兩個(gè)線程中唯一的不同也僅僅是名字上的不同。在GM Bot中是“d”類,在SlemBunk中是“MainService$2”,功能都是用來做憑證釣魚。

 

FireEye:惡意軟件家族擁有共同的起源

圖4 GM Bot和SlemBunk中的MainService類

總之,我們通過分析二進(jìn)制代碼的相似度的結(jié)果表明IBM的結(jié)論沒錯(cuò),GM Bot和SlemBunk確實(shí)有相同的起源。

SimpleLocker 和 SlemBunk

在我們的研究中,我們注意到一個(gè)更早的安卓惡意軟件名叫SimpleLocker也有著和SlemBunk和GM Bot相似的代碼結(jié)構(gòu)。不同的是,SimpleLocker要求受害者提供贖金。SimpleLocker在安卓設(shè)備上運(yùn)行后,先是掃描設(shè)備中特定類型的文件,并且加密這些文件,然后向用戶索要贖金之后,才給解密。在SimpleLocker之前,也有其他形式的勒索軟件可以鎖定屏幕,然而,SimpleLocker被認(rèn)為是第一款文件加密型的安卓勒索軟件。

最早對(duì)SimpleLocker的報(bào)告是在2014年由ESET公布的[6]。然而,在2014年5月份的時(shí)候,在我們的惡意軟件庫里面發(fā)現(xiàn)了一個(gè)更早的樣本(SHA256 edff7bb1d351eafbe2b4af1242d11faf7262b87dfc619e977d2af482453b16cb),這個(gè)程序的編譯日期是2014年5月20日。我們用相同的方法將這個(gè)SimpleLocker樣本和其中一個(gè)SlemBunk樣本(SHA256 f3341fc8d7248b3d4e58a3ee87e4e675b5f6fc37f28644a2c6ca9c4d11c92b96)進(jìn)行對(duì)比。

圖5就是兩種樣本的代碼結(jié)構(gòu)對(duì)比圖。注意,SimpleLocker變體也有主要的組件ServiceStarter 和MainService,而這兩個(gè)組件在SlemBunk中也用到。然而,SimpleLocker中的主服務(wù)目的不是用于監(jiān)控app的運(yùn)行和釣魚銀行登錄頁面。反而,SimpleLocker的主服務(wù)是用于掃描設(shè)備中的特定文件,掃到了就調(diào)用加密算法對(duì)文件進(jìn)行加密,然后索要贖金。SimpleLocker代碼中最大的區(qū)別如下圖紅色框標(biāo)志的部分:AesCrypt和FileEncryptor。其他的類如下描述的:

1. Main,樣本的啟動(dòng)

2. SDCardServiceStarter,另一個(gè)接受器,可以監(jiān)控MainService的狀態(tài),同時(shí),如果MainService死掉了,還可以重啟它

3. Tor and OnionKit,私人通信的第三方庫

4. TorSender, HttpSender and Utils,支持類提供CnC通信代碼并且收集設(shè)備信息

 

FireEye:惡意軟件家族擁有共同的起源

圖5 SimpleLocker和SlemBunk樣本的代碼結(jié)構(gòu)對(duì)比

最后,我們來看看另一個(gè)在2014年7月份發(fā)現(xiàn)的SimpleLocker樣本

(SHA256 304efc1f0b5b8c6c711c03a13d5d8b90755cec00cac1218a7a4a22b091ffb30b),大約是發(fā)現(xiàn)第一個(gè)SimpleLocker樣本后2個(gè)月。這個(gè)新的樣本并沒有用Tor作為私密通信,但是,他和SlemBunk樣本

(SHA256: f3341fc8d7248b3d4e58a3ee87e4e675b5f6fc37f28644a2c6ca9c4d11c92b96)由著四個(gè)相同的主要組件。圖6向我們展示了兩種樣本的代碼結(jié)構(gòu)對(duì)比。

 

FireEye:惡意軟件家族擁有共同的起源

 

圖6 SimpleLocker和SlemBunk變體的代碼結(jié)構(gòu)對(duì)比

 

正如圖6所示,新的SimpleLocker樣本使用了和SlemBunk相似的包結(jié)構(gòu),都是把HttpSender 和Utils封裝進(jìn)“utils”包。它也添加了其他兩個(gè)SlemBunk中的主要組件: MessageReceiver 和MyDeviceAdminReceiver。總的來說,SimpleLocker和SlemBunk有四個(gè)主要的組件相似。

圖7是之前樣本的MessageReceiver的主要代碼,這表明SimpleLocker和SlemBunk使用的是基本相同的流程,并且,使用相同的邏輯結(jié)構(gòu)進(jìn)行CnC通信。首先,MessageReceiver類本身用來處理傳入的短信,這將會(huì)觸發(fā)onReceive函數(shù)。如下圖所示,他們的邏輯結(jié)構(gòu)基本上是相似的。他們都是先讀取應(yīng)用程序的key值。注意兩個(gè)軟件的key值的名字和preference的名字是相同的:key值是“CHECKING_NUMBER_DONE”并且preference值是 “AppPrefs”。

接下來的步驟就是調(diào)用retrieveMessage 方法來檢索短信息。在這里,唯一一個(gè)不同點(diǎn)是SimpleLocker多了一個(gè)額外的名叫processControlCommand的控制流。

SmsProcessor類定義了惡意軟件提供的CnC指令。我們來看下SmsProcessor類,我就發(fā)現(xiàn),越來越多的證據(jù)指向SimpleLocker和SlemBunk有共同的起源。首先,SimpleLocker提供的CnC指令實(shí)際上是SimpleLocker提供的一個(gè)子集。在SimpleLocker中,CnC指令包括“intercept_sms_start”, ”intercept_sms_stop”, ”control_number” 和“send_sms”,這些指令在SlemBunk樣本中也有提供。甚至,SimpleLocker和SlemBunk的CnC指令都有一個(gè)常見的前綴“#”。這也表明兩種軟件由著相同的起源。

 

FireEye:惡意軟件家族擁有共同的起源

圖7 SimpleLocker和SlemBunk的MessageReceiver 類

MyDeviceAdminReceiver類的任務(wù)是請(qǐng)求所在設(shè)備的管理員權(quán)限,這可以讓惡意軟件難以被清除,當(dāng)然這方面兩種軟件也是高度的相似。

在這一段中,我們可以看到SimpleLocker和SlemBunk中5個(gè)主要組件中有4個(gè)是一樣的,并且提供相同的支持工具。唯一的區(qū)別在于他們的勒索方式,SlemBunk提供了銀行認(rèn)證釣魚,而SimpleLocker是通過加密文件索要贖金。這讓我們更加有理由相信這兩種惡意軟件起源于相同的代碼庫。

結(jié)論

我們的分析證明有還幾款安惡意軟件都有共同的起源,并且,已知的第一款文件安卓加密勒索軟件——SimpleLocker——是以一些銀行木馬程序的代碼修改而成。進(jìn)一步研究就能發(fā)現(xiàn)其他相關(guān)的惡意軟件。

地下網(wǎng)絡(luò)犯罪中有很多個(gè)人開發(fā)者已經(jīng)開始定制化寫惡意軟件。不管為了特殊目的還是普通的目的寫出來的惡意軟件,都可以共享一些基礎(chǔ)的功能,例如:獲取管理員權(quán)限,開啟和重啟服務(wù),CnC通信。這些可以從GM Bot和SimpleLocker的對(duì)比中看出來。

隨著GM Bot源代碼的泄漏,基于該代碼定制的安卓惡意軟件家族也必然增加。

參考:

[1]. Android Malware About to Get Worse: GM Bot Source Code Leaked

[2]. Android.Bankosy: All ears on voice call-based 2FA

[3]. MazarBOT: Top class Android datastealer

[4]. SLEMBUNK: AN EVOLVING ANDROID TROJAN FAMILY TARGETING USERS OF WORLDWIDE BANKING APPS

[5]. SLEMBUNK PART II: PROLONGED ATTACK CHAIN AND BETTER-ORGANIZED CAMPAIGN

[6]. ESET Analyzes Simplocker – First Android File-Encrypting, TOR-enabled Ransomware

責(zé)任編輯:藍(lán)雨淚 來源: FreeBuf
相關(guān)推薦

2017-05-23 08:54:51

2024-11-19 13:50:43

2025-02-05 17:35:52

2016-04-27 09:54:07

2014-03-05 09:38:07

2020-04-15 15:28:24

Fireeye勒索軟件惡意軟件

2014-07-25 16:28:56

2012-11-12 10:03:27

2011-11-29 09:29:35

項(xiàng)目經(jīng)理

2012-05-14 16:18:08

2015-10-10 10:16:28

2011-05-24 15:52:47

OpenFlow起源

2011-03-18 09:56:20

lamp

2021-02-28 09:36:14

勒索惡意軟件網(wǎng)絡(luò)威脅

2018-11-12 14:14:48

2017-01-17 16:01:13

2022-08-29 11:12:11

惡意軟件Jackware

2018-11-30 05:29:58

惡意軟件攻擊規(guī)避

2014-03-13 09:28:34

2022-09-01 11:21:06

擴(kuò)展惡意代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)