A standard for developing secure mobile applications Computer Standards & Interfaces Volume 36, Issue 3, March 2014, Pages 524–530 Stephen M. Dye, Karen Scarfone 報 告 人:碩資管一甲 MA390104 李庭光 授課教師:李南逸 老師 日 期:2015/05/14 (四)
Outline Introduction App vulnerabilities Data security Cryptography concerns Other security issues Mobile App testing Conclusions
Introduction
App OS Test Introduction Mobile Applications Security Requirements Guide Developed by DoD's Defense Information Service Agency(DISA)
Mobile Applications Security Requirements Guide (MAPP SRG) STIG Viewer - MAPP SRG version 2 (2014/07)
App vulnerabilities The app code, Input handling, Initialization & Termination, External code
App Code Never used code Hardcoded Buffer overflow Race condition Malware library
ProGuard vs. Decompile
Input handling 行動應用特殊輸入來源:Sensor MAPP SRG僅考慮文字輸入問題 文字輸入檢查 數值範圍檢查 (例:0~9) 防止注入檢查
Initialization & Termination 正常執行 初始化所有參數 移除敏感檔案 發生異常 記錄 Log 通知使用者 限制應用程式功能 記錄Log Transaction: Commit, Rollback
External code App 不應具有直譯的能力 引用通知,徵求許可
Data Security File permissions, Geolocation, Shared resources, Time, Privacy
Data Security File permissions Geolocation, Sensor data Shared resources Time source 資料分級機制 隱私、安全與UX的取捨
Shared resources 不可將儲存的資料供其他App存取 Example: Android Shared Preferences 被讀取方設定為 MODE_WORLD_READABLE 兩者Share User Id 一致
Cryptography concerns
Cryptography concerns 具備加密能力 需加密保護:產生的資料、設定參數 驗證遠端資源的簽章 採用 3 級憑證 (Class 3 certificates) 遠端資源的簽章必須由受信任的CA發出、尚未到期、尚未被撤銷。
Other security issues Network communications, Log & Alert, Dual-persona devices
Network communications 資料傳送(通訊)可能發生的攻擊 中間人攻擊 重送攻擊 無線傳輸使問題更複雜 A B Attacker
Log & Alert Log不應含有敏感資訊 發生錯誤時進行通知 加密 驗證 處於安全連線
多重角色裝置 角色不可相互存取 限制存取區域(Domain) 配合組織安全政策 多重角色風險:資料洩露、惡意程式感染
Mobile App testing 測試已更新的應用程式、商店測試、沙箱測試
Mobile App testing Updated Apps Testing for App store 更新可能是匆忙完成 可沒有遵循安全標準 Testing for App store 測試深度往往不及MAPP SRG 外部廣告商使用的程式碼 敏感資料是否有被傳送的可能 Sandbox 原文指出Desktop與Laptop的程式會將更新內容提供予使用者,行動App亦是,但又指出行動App可能不按標準開發,這些問題亦有可能發生於D與L,因此不同意此說法。
Conclusions
Conclusions 開發安全應用程式,亦需伴隨相應的測試與驗證 現階段測試工具僅能輔助,仍需以人力進行驗證
報告完畢 討論與Q&A
References Dye, S. M., & Scarfone, K. (2014). A standard for developing secure mobile applications. Computer Standards & Interfaces, 36(3), 524-530. DISA(2014). Mobile Application Security Requirements Guide. http://www.stigviewer.com/stig/mobile_application_security_requirements_guide/ 阿成的技術部落格(2014)。Android安全機制與sandbox機制詳解。 http://www.dotblogs.com.tw/cheng/archive/2014/01/28/142415.aspx