總結移動安全的測試點及詳解allowbackup漏洞

1、移動應用APP可能面臨如下威脅:
木馬--二次打包,
病毒--帳號竊取,
篡改--資源篡改,
破解--廣告植入,
釣魚--信息劫持
  2、移動終端APP安全評估的7個方向:
通訊安全,敏感信息安全,認證鑑權,能力調用,資源訪問,反逆向,鍵盤輸入
  3、對於自動化安全檢測工具,完成APP安全檢測與評估的思路以下:
「地」:主要面向本地文件的漏洞進行攻擊,檢查AndroidManifest.xml配置文件中權限選項
「集」:主要面向APP的代碼中的漏洞進行攻擊,對常見的安全問題進行配置驗證,經過模擬攻擊方式,驗證終端APP存在的問題
「省」:主要面向APP的網絡通信中的漏洞進行攻擊,對常見的安全問題採起簡單人工驗證方式,獲取終端APP信息。
  4、安全相關漏洞舉例
一、allowbackup漏洞
原理分析:
在androidmanifest.xml文件中allowbackup屬性設置爲true。當allowbackup爲true時,用戶能夠經過adb backup來進行對應用數據的備份,在無root的狀況下也能夠導出應用中存儲的全部數據,形成數據的嚴重泄露。
攻擊條件:
一是手機要鏈接電腦;
二是手機要開啓adb調試模式;
三是用戶在手機上點擊確認備份的操做。
其中第三點能夠經過adb sendevent命令模擬用戶的點擊操做,從而在用戶不知情的狀況下備份出手機數據
整改建議:
將參數android:allowBackup="true"屬性設置爲false,不能對應用數據備份
模擬現場:
這裏主要經過手機模擬器來模擬的。
1)操做環境及使用工具:夜神模擬器,adb工具,linux操做系統,openssl
2)操做步驟以下:
第一步,
首先經過adb鏈接上手機模擬器後,對模擬器進行備份。
輸入如下命令: adb backup -f f:/backup.ab -apk -all
說明:對手機全部的應用進行備份,而且備份數據到f盤並命令爲backup.ab
(恢復命令:adb restore f:/backup.ab)
輸入命令會dos窗口會出現如下界面:
第二步,
此時,須要在手機模擬器中輸入密碼,選擇備份;也能夠不輸入密碼,直接備份。

第三步,linux

經過工具openssl來對備份文件進行解密解壓
這裏,首先,要在linux中安裝好openssll工具
下載地址爲:
選擇最新的版本的版本進行下載便可,我下的版本是:openssl-1.0.0e.tar.gz
  安裝方法以下:
把openssl-1.0.0e.tar.gz上傳到linux中的usr/local下進行解壓
解壓命令以下:tar -zxvf openssl-openssl-1.0.0e.tar.gz
而後進入到openssl-1.0.0e路徑下進行配置,分別執行如下命令:
[.....openssl-1.0.0e]# ./config --prefix=/usr/local/openssl
[...../openssl-1.0.0e]# ./config -t
[...../openssl-1.0.0e]# make depend
[...../openssl-1.0.0e]# cd /usr/local
/usr/local]# ln -s openssl ssl
在/etc/ld.so.conf文件的最後面,添加以下內容:
/usr/local/openssl/lib
...]# ldconfig
添加OPESSL的環境變量:
在etc/的profile的最後一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
退出命令界面,再重新登陸。
以上OPENSSL就安裝完畢,下面進行一些檢查。
依次以下執行:
[root@localhost /]# cd /usr/local
[root@localhost local]# ldd /usr/local/openssl/bin/openssl
會出現相似以下信息:
    Linux-vdso.so.1 =>  (0x00007fff3bc73000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
查看路徑
...]# which openssl
/usr/local/openssl/bin/openssl
查看版本
...]# openssl version
OpenSSL 1.0.0e 6 Sep 2011
  至此,openssl已經安裝並配置成功
而後把手機的備份文件拷貝到openssl的bin路徑下,執行如下命令:
dd if=backup.ab bs=1 skip=24|openssl zlib -d >mybackup.tar
即把備份文件進行了解密解壓,並從新命名爲mybackup.tar
解壓後的文件夾以下圖所示:

至此,已成功解壓模擬器中的備份文件。android

二、WebView漏洞
三、關鍵數據明文傳輸
四、任意帳號註冊
五、登陸界面可被釣魚劫持
  補充:
對於備份文件backup.ab文檔的解釋
一、備份後的文件格式爲ab,須要用二進制文件查看。
二、可在notepaed++軟件中加入HEX插件就能查看。
1)Hex Editor下載地址:
2)Hex Editor的使用方法
解壓縮後把HexEditor.dll文件複製到安裝目錄(如C:\Program Files\Notepad++\plugins),退出NotePad++從新打開便可!須要以十六進制顯示時,點擊菜單的:【插件】-【Hex-Editor】-【View in Hex】便可。
三、該格式的文件只是頭部加了24個字節的字段標識該文件的類型(ANDROID BACKUP 1 1 none,第一個1指目前的格式版本,第二個1指壓縮標記,none指未經加密,若通過加密,則顯示AES-256.)
 
在標識字段後面是對備份出的文件進行簡單加密壓縮後的數據,這就使得咱們能用簡單的命令(跳過該文件頭部的24字節而後用openssl中的zlib命令對後面的數據解密)來轉換該文件。
 
參考文檔:
移動安全測試:
http://blog.nsfocus.net/mobile-app-security-security-test/#APP
手機備份命令:
http://tieba.baidu.com/p/3122444341
openssl命令:
http://blog.csdn.net/tcm455090672/article/details/43307047
相關文章
相關標籤/搜索