Frequently advised secure development recommendations often fall short in practice for app developers. Tool-driven (e.g., using static analysis tools) approaches lack context and domain-specific requirements of an app being tested. App developers struggle to find an actionable and prioritized list of vulnerabilities from a laundry list of security warnings reported by static analysis tools. Process-driven (e.g., applying threat modeling methods) approaches require substantial resources (e.g., security testing team, budget) and security expertise, which small to medium-scale app dev teams could barely afford. To help app developers securing their apps, we propose SO{U}RCERER, a guiding framework for Android app developers for security testing. SO{U}RCERER guides developers to identify domain-specific assets of an app, detect and prioritize vulnerabilities, and mitigate those vulnerabilities based on secure development guidelines. We evaluated SO{U}RCERER with a case study on analyzing and testing 36 Android mobile money apps. We found that by following activities guided by SO{U}RCERER, an app developer could get a concise and actionable list of vulnerabilities (24-61% fewer security warnings produced by SO{U}RCERER than a standalone static analyzer), directly affecting a mobile money app's critical assets, and devise a mitigation plan. Our findings from this preliminary study indicate a viable approach to Android app security testing without being overwhelmingly complex for app developers.
翻译:工具驱动的方法(例如,使用静态分析工具)缺乏所测试的应用程序的背景和具体领域要求。 应用程序开发者努力从静态分析工具所报告的安全警告洗衣清单中找到一个可操作和优先列出的脆弱性清单。 由流程驱动的方法(例如,采用威胁模型方法)需要大量资源(例如,安全测试小组、预算)和安全专门知识,而中小型软件设计小组几乎买不起这些资源。为了帮助软件开发者保护其应用程序,我们提议SO{U}RCER,这是安卓软件开发者进行安全测试的指导框架。 SO{U}RCER指导开发者根据静态分析工具报告的安全警报洗衣清单,查明特定领域的应用程序资产,检测和优先处理脆弱性,并根据安全开发准则减轻这些脆弱性。我们用分析和测试36个机器人移动货币应用程序的案例研究对SO{U}RCER进行了评估。我们发现,通过遵循SO{U}RCER指导的活动,一个软件开发者可以获得一个简明且可操作的脆弱性清单(24-61%),一个影响我们固定式安全测试计划的初步分析结果。