iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 3
1

https://ithelp.ithome.com.tw/upload/images/20190915/20118848frrgyBvVKI.png

現代人手都是智慧型手機,App 市場佔據一片江山,對開發商來說,面臨的各種資安考驗越來越多,行政院亦推動工業局與資策會成立「行動應用 App 基本資安規範」,期望讓台灣 App 開發的安全性更加提高。

App 相關檢測工具越來越多選擇,黑箱、白箱測試各有好產品,自動化測試更是節省開發團隊時間的重要利器。無奈的是,這類 App 的自動化檢測工具價格不低,許多團隊礙於資金問題,心有餘而力不足。


方案介紹

沒關係,我們可以從開源專案中找到可以使用的替代方案,即便比不上需要花錢購買的商業套件,但也能夠達到一定的效果,效益絕對比沒有使用前大大提升。

MobSF 就是我推薦的開源解決方案,介面美觀、操作容易。

https://ithelp.ithome.com.tw/upload/images/20190915/20118848zdqGURC8Tp.jpg

MobSF (Mobile Security Framework) 是一款基於 Python 開發的 App 自動化測試框架,可以在 Windows、macOS、Linux 跨平台運作使用。

MobSF 提供許多功能,列出幾個重點如下:

  • 全 Web 化介面操作
  • 支援 APK (Android)、IPA (iOS) App 靜態分析
  • 支援 APK (Android) 動態分析
  • 檢測程式簽章
  • 分析權限索取
  • 列舉 API 呼叫
  • 檢測潛在問題
  • 惡意行為分析
  • 網路連線行為記錄
  • 找尋使用加密演算法
  • 提供修補建議

安裝方式

MobSF 功能雖然眾多,但安裝卻出奇的簡單,官方提供了兩種方式,一種是直接下載後執行安裝 Script,另一種是以 Docker Pull 後即能 Run 起來使用,可以依據喜歡的方式進行。

Install

git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
./setup.sh # For Linux and macOS
./run.sh # For Linux and macOS
setup.bat # For Windows
run.bat # For Windows

Docker

docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

成功執行以後,即可使用瀏覽器開始開啟 http://localhost:8000/ 進行 MobSF 體驗之旅。

https://ithelp.ithome.com.tw/upload/images/20190915/2011884891jme6iGw4.png
MobSF 成功啟動畫面

日後若要更新版本,操作也相當容易,只需執行以下指令即可。

Upgrade

git pull
python manage.py makemigrations
python manage.py makemigrations StaticAnalyzer
python manage.py migrate

主要功能

要開始檢測一支 App 應用程式流程簡單,開啟 MobSF 的網頁介面後,再把您的 APK 或 IPA 檔案直接拖曳進去,便立即開始進靜態分析。

https://ithelp.ithome.com.tw/upload/images/20190915/2011884824IK0v4iM9.png
載入 App 檔案

經過一段時間的分析以後,MobSF 畫面就會自動切到檢視頁面,這個介面清楚簡單,數據直接呈現在資訊看板上。

https://ithelp.ithome.com.tw/upload/images/20190915/20118848DanqyC7s9s.png
分析完成資訊看板

左側的選單欄有多種類別可進入查看,對於不同情況的問題,MobSF 會自動在報告上寫出問題的原因、危險等級,以及所在的檔案位置,點選檔案後可以直接進入反編譯後的原始碼。

在 Code Analysis 功能裡,它會自動的幫我們找出這支 App 有著什麼樣的問題,並以多種等級區分問題嚴重性,這對於想快速釐清自己開發的 App 有那些潛在問題者,有非常大的幫助,尤其是為客戶專案開發又需要送檢測的情境。

https://ithelp.ithome.com.tw/upload/images/20190915/201188487h6gCjRHtz.png
Code Analysis

日後若想要再回頭查看資料時,不用浪費時間重新測試,點選畫面上方的 [Recent Scans] 即可進入曾經做過的檢測,再點進去即可查看當時的檢測報告。

https://ithelp.ithome.com.tw/upload/images/20190915/20118848QpRL5jsRoW.png
Recent Scans

動態分析

如果檢測的對象是 Android 系統 App,還可以進一步點選功能表下方的 [Start Dynamic Analysis] 使用動態分析功能。

https://ithelp.ithome.com.tw/upload/images/20190915/20118848HMCn3kX5ca.png
動態分析

進入介面後,MobSF 會自動將 VirtualBox 上安裝好的 Android VM 帶出來,點選 [Create Environment] 後即可將 Apk 帶入 VM 裡完成準備程序。

啟動成功後,可以分別使用 [Start Exported Activity Tester] 、 [Start Activity Tester] 進行各種測試,按下 [Take a Screenshot] 則可以查看目前運作的情況。

當動態分析的項目全部測試完成後,點選 [Finish] 即可進入動態分析的報告頁面。

https://ithelp.ithome.com.tw/upload/images/20190915/2011884887gWLFN2bU.png
動態分析報告

動態分析報告裡有非常詳盡的資料,例如各 API 呼叫的歷程、檔案存取、簡訊使用、電話撥打行為、網路流量、... 等,可以協助軟體測試人員省下大量的時間,專注於更重要的任務。

當專案測試完畢,靜態與動態分析都可以將報告匯出成 PDF 檔,方便遞交使用。


結論

在智慧型手機人手一機的世代,軟體開發商勢必多少要面對 App 檢測的相關需求,一套功能這麼強大、方便又自動化的測試工具,而且還是完全開源提供的優質軟體,MobSF 真的是 App 軟體開發團隊的超級好朋友啊!


參考資料


上一篇
資安開源工具:神兵利器還是雙面利刃? (二)
下一篇
開源程式碼檢測平台:SonarQube
系列文
突破困境:資安開源工具應用33

尚未有邦友留言

立即登入留言