前言
下面的報告來自sophoslabs實驗室的android安全專家陳宇,還有來自android組的成員william lee, jagadeesh chandraiah and ferenc lászló nagy的幫助。
隨著android惡意軟體的數量的持續增長,它緊隨windows下的應用採用的用於逃脫模擬器的技術,用來防止被動態分析。在這篇文章中,我們將展示一些用於模擬器檢測的技術。
模擬器是一種可以允許一台電腦(主機)模擬另外一台電腦(客戶機)的硬體或軟體。通常,它允許主機系統執行軟體或者使用外部裝置來模擬器客戶機系統。在安全方面,用它很容易檢測惡意軟體的行為,這也是為什麼惡意軟體的作者很想避免執行於模擬器。
模擬器檢測技術在許多不同的android惡意軟體家族中均被發現了,最近的一款是在google play發現的android載入廣告的惡意軟體。
於是,下面是sophoslabs實驗室發現的6中常用的模擬器檢測技術:
1. 檢測手機服務資訊
所有模擬器檢測的關鍵是確定模擬器和真機裝置的執行環境之間的差異。首先,模擬器上面的裝置id、手機號、imei號和imsi號都不同於真機裝置。
android.telephony.telephonymanager類提供了用於獲取裝置資訊的方法。android應用程式可以通過該類裡面的方法用於檢測手機服務和狀態,訪問一些執行商資訊,註冊用於接收手機狀態變化通知的***。例如,你能用getline1number方法來獲取卡1上的手機號資訊。在模擬器上面,它將是「1555521」後面緊跟模擬器埠數字。例如如果模擬器埠是5554,它將返回15555215554。
andr/rusms-at使用下面這種**用於檢測模擬器:
2. 檢測製造商資訊
我們發現許多惡意軟體家族通過檢測製造商資訊來判斷它是否執行在模擬器中。例如,下面這款銀行類的惡意軟體使用如下的模擬器檢測**:
其中的字串被加密了,解密後的內容如下:
3. 檢測系統屬性
另外一種方法是檢測系統屬性。模擬器上面的一些系統屬性和真機上面的不同。例如,裝置廠商、硬體和model。下面這張表展示了模擬器上面一些系統屬性的值:
4. 檢測模擬器相關檔案
這是另外一種在惡意軟體樣本中使用的技術。它們檢測qemu (quick emulator)或者其他模擬器相關的檔案是否存在。例如,下面的**片段在andr/****clk變種中發現的。
5. 檢測偵錯程式和安裝器
下面這種方法不是為了檢測模擬器,但是主要目的也是為了阻止動態分析。像下面這款詐騙廣告軟體,它使用debug.isdebuggerconnected()和debug.waitingfordebugger()來檢測是否存在偵錯程式。更有趣的是,它同時也通過getinstallerpackagename獲取安裝器來檢視它是否是通過google play安裝的(com.android.vending)。因此,像大部分的逆向分析者一樣,如果你是通過adb安裝應用程式到裝置上的,這個應用程式就不會執行了。
6. 時間炸彈
下面是另外的一種方法,許多惡意軟體/廣告軟體利用這種方法在被動態分析時隱藏它們自身。在安裝後,它們在等待指定的時間後才啟動activities。例如,某款惡意廣告軟體中發現了下面的配置檔案:
「settings」: {「addelay」: 180000,
「firstaddelay」: 86400000,
「unlockdelay」: 2,
「bannerdelay」: 180000,
「bannerpredelay」: 10000,
「bannersperday」: 25
, firstaddelay是第一條廣告被投遞到客戶端的毫秒時間,在上面的例子中是24小時。這也可以防止使用者懷疑。
我們相信,android惡意軟體和惡意廣告軟體的作者將會繼續編寫模擬器檢測技術的**,同時他們也已經獲得了一定程度的成功。安全公司必須使用較好的檢測方法匹配它們。
Android 模擬器錯誤
啟動android模擬器時.有時會報the connection to adb is down,and a severe error has occured.的錯誤.在說在任務管理器上把所有adb.exe關閉掉.重啟eclipse.但試過不管用.所以在外國 上找到一種可行的方法 1.先把eclips...
Android模擬器的使用
android模擬器的使用 一 90度旋轉模擬器 快捷鍵 ctrl f11 或 ctrl f12 二 在模擬器中安裝apk 首先要執行模擬器,否則就有如下錯誤 error device not found.等模擬器啟動後,終端執行platform tools adb adb install apk ...
Android 模擬器之GenyMotion
android 原生的模擬器實在是慢得不行,不太適合實際開發使用。公司先找了virtualbox,後來再網上找了個asus的eeepc的iso,裝上之後速度倒是快了很多,但是由於是個平板,而且不太美觀及方便,推廣之後用得還是很少。最近在網上發現了個不錯的模擬器 genymotion 用起來相當不錯,...