'/proc/mounts' => '加載文件系統',
'/system/bin/cp' => '復制文件',
'/root/su' => '切換用戶',
'/system/bin/rm ' => '刪除文件',
);
2、動態分析
動態分析是Android沙盤的主要功能,主要使用Google Android模擬器作為沙盤環境,同時以前面修改過的system.img來啟動模擬器,以在操作過程中生成我們所需的日志信息:
system('start emulator -avd MalDroidAnalyzer -scale 0.8 -system images/root-system.img -ramdisk images/ramdisk.img -kernel images/zImage -prop dalvik.vm.execution-mode=int:portable &');
這里的root-system.img是經過root的,默認情況下,Android模擬器是沒有root權限的,需要自己手工修改。這樣在一些需要root權限的病毒才能正常地模擬器運行,以觸發更多的惡意行為。
啟動模擬器后,利用adb安裝APK到模擬器上。業界多數沙盤是通過monkey去自動操作軟件以觸發惡意行為,但這種做法過于盲目,不容易觸發惡意行為,同時當操作過于頻繁時容易導致程序崩潰,因此在MalDroidAnalyzer中選擇由用戶自主手工操作,操作時間由用戶自己把握。手工操作可能更有利于觸發惡意行為,因為病毒作者通常會更多地依賴用戶的操作習慣來觸發惡意行為,比如點擊、拔打電話等行為。
為了避免生成過多的無用日志,因此在使用logcat命令時可提前過濾下,并輸出到log.txt文件:
system("adb logcat -v time ActivityManager:I camera:V AudioHardware:D Telephony:V CallNotifier:D su:D MediaProvider:V videocamera:V BluetoothEnabler:V BluetoothHIDService:I dalvikvm:W *:S > log.txt");
最后對生成的日志log.txt進行分析,由于修改過system.img,它會按照json格式輸出我們所需的信息,而有些原本Android系統輸出的日志可直接拿來作行為檢測,就未作修改。日志格式如下:
09-16 10:18:04.583 W/dalvikvm( 299): MalDroid: { "DexClassLoader": { "path": "/data/data/com.test/files/anserverb.db" } }
09-16 10:17:27.963 W/dalvikvm( 281): MalDroid: { "SendNet": { "desthost": "www.google.com", "destport": "80", "data": "7b2263656c6c5f746f77657273223a5b7b226d6f62696c655f6e6574776f726b5f636f6465223a32362c226c6f636174696f6e5f617265615f636f6465223a2d312c226d6f62696c655f636f756e7472795f636f6465223a3331302c2263656c6c5f6964223a2d317d5d2c22726571756573745f61646472657373223a747275652c22686f7374223a226d6170732e676f6f676c652e636f6d222c2276657273696f6e223a22312e312e30227d" } }
09-09 08:37:10.371 W/dalvikvm( 191): MalDroid: { "CryptoUsage": { "operation": "keyalgo", "key": "53, 52, 67, 68, 65, 48, 54, 51, 67, 68, 53, 56, 68, 56, 53, 70", "algorithm": "AES" } }
09-09 08:37:12.560 W/dalvikvm( 191): MalDroid: { "CryptoUsage": { "operation": "encryption", "algorithm": "AES/CBC/PKCS5Padding", "data": "ylmftg6" } }
09-17 20:17:14.302 W/dalvikvm( 274): MalDroid: { "ServiceStart": { "name": "com.android.md5.Settings" } }
09-17 20:24:24.944 W/dalvikvm( 126): MalDroid: { "FdAccess": { "path": "2f646174612f646174612f636f6d2e616e64726f69642e6c61756e636865722f66696c65732f6c61756e636865722e707265666572656e636573", "id": "588716465" } }
09-17 20:24:24.965 W/dalvikvm( 126): MalDroid: { "FileRW": { "operation": "read", "data": "0005", "id": "588716465" } }
生成日志后,MalDroidAnalyzer會去分析日志,生成統計圖數據,然后生成報告。下面是一些真實病毒樣本的惡意行為記錄:
1、竊取通訊錄:
2、通話錄音:
3、發送收費短信:
4、動態加載類文件:
5、Root提權:
四、真實案例
在Google Android官方市場上,曾出現過多起應用程序嵌入惡意代碼的事件,比如“功夫病毒”,可進行root提權,并破壞文件系統,同時竊取用戶隱私信息,感染了上百萬用戶,危害甚廣。病毒作者通過對知名軟件進行修改,嵌入惡意代碼然后重打包,然后誘騙用戶下載這些偽造軟件。除“功夫病毒”外,還有DroidDream、AnserverBot、PhoneSpy等惡意軟件。下面是MalDroidAnalyzer針對PhoneSpy病毒Gmail.apk給出的分析報告,該病毒會竊取用戶隱私信息、通話錄音等惡意行為。由于該病毒無GUI界面,而是以后臺服務在運行,因此報告中的截圖是主頁界面:
原文轉自:http://blog.csdn.net/jiazhijun/article/details/8667129