2017年5月8日 星期一

[經驗分享]開源自動化APP安全測試系統 - MobSF



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

APP 相關檢測工具越來越多選擇,黑箱、白箱測試各有好產品,自動化測試更是節省開發團隊時間的重要利器。



需求困境


無奈的是,這類 App 的自動化檢測工具價格不低,許多團隊礙於資金問題,心有餘而力不足。



這張投影片真好用,一次製作常常用到(誤)





替代方案


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

這就是我找到的開源解決方案,介面美觀、操作容易,分享經驗如下。


MobSF


MobSFMobile-Security-Framework)是一款基於 Python 開發的 APP 自動化測試框架,可以在 Windows、macOS、Linux 上運作使用。


功能簡介:

  • 支援 APK (Android)、IPA (iOS) App 靜態分析
  • 支援 APK (Android) 動態分析
  • 檢測 程式簽署、索取權限、API 呼叫等
  • 惡意行為分析
  • 提供 Manifest、Code、File 安全性分析
  • 更多...





使用經驗


安裝完成後,使用 python manage.py runserver 命令即可將服務執行起來。

服務運作中畫面



操作方式非常非常非常簡單,只要將 apk 或 ipa 檔案直接拖曳進網站即開始進靜態分析。


App 上傳檢測介面



經過一段時間檢測完成後,畫面會自動切到檢視頁面,這個介面清楚簡單,數據直接呈現在儀表板上。

檢測結果儀表版





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

安全性分析報告





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

Apk 動態分析



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

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


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

動態分析結果報告


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


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



查看歷史測試記錄


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





心得結論


一套功能這麼強大、方便又自動化的開源測試工具,讓我使用之後感到意外驚喜,MobSF 真的是 App 軟體開發團隊的超級好朋友啊!

😎😎😎






參考資訊


MobSF 相關資料整理