移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村

admin 2023年8月17日14:45:34评论12 views字数 4000阅读13分20秒阅读模式

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村

一、概要



近年来,随着移动互联网的发展,越来越多的人通过手机来办理银行业务,银行也随之推出了大量的移动应用程序系统。通过这些应用程序,客户可以在手机上查看账户信息、转账、支付账单等,大大提高了客户的便捷性和使用体验。银行业务相关移动端应用系统包括移动应用、微信公众号、小程序等数量激增。商业银行推出移动应用程序不仅是为了提高客户便捷性和使用体验,也是为了拓展新的业务领域和提高银行的收益。但随之而来的是银行应用程序的暴露面扩大,面临的网络安全威胁越来越严峻,同时移动应用程序涉及的金融数据和客户信息是黑客重点关注的内容,商业银行在推出移动应用程序时,须加强网络安全防护内容,防范黑客攻击,确保数据安全。


二、现状分析



移动应用的迭代速度快,包含业务流程复杂,由于人工安全测试的效率低下,难以满足应用程序变更节奏的需求,这导致许多安全漏洞没有及时发现和修复。以银行手机银行为例,每年面临数十次迭代变更,每次发版涉及业务流程、安全工具、认证方式等变化,需要进行完整的业务链条测试,这需要投入较多的人力资源。

银行自身业务扩展,分行、附属机构、子公司等都有需求开发移动端应用系统。然而,在业务需求紧迫的情况下部分移动端应用系统会忽略安全检测,并由第三方开发上线到互联网云平台,此类应用可能存在安全漏洞,从而导致数据泄露和信息安全问题。因此,银行业安全技术人员面临着两个挑战,一方面难以掌握快节奏移动应用资产的变更所带来的安全威胁,另一方面难以做到全量资产的人工安全测试。



三、整体建设思路



当前商业银行安全部门技术人员短缺,难以面对大量移动端应用系统的版本更新,检测出漏洞后的整改追踪,以及漏洞修复后的复测。为了减少“带病上线”问题,提升上线后移动端应用系统安全性,同时进一步提高安全测试的效率和准确性,需要建立面向开发流程的移动应用程序漏洞自动化检测系统,以优化现有的检测流程与检测效率,将有限的人力投入到更好的流程测试中,提升应用上线后的安全水平。通过自动化检测系统,可以快速有效地发现漏洞,并及时修复,从而提高移动应用程序的安全性。

移动端应用自动化漏洞检测技术可以在移动端应用系统的上线阶段、迭代阶段、运行阶段,自动实现指定业务场景流程的漏洞检测功能,如在移动应用系统上线阶段,自动化检测系统可以对移动应用系统进行全面测试,确保程序能够安全运行;在程序迭代阶段,自动化检测系统可以对移动应用系统的新功能进行测试,确保新功能的安全性;在运行阶段,通过移动应用程序自动资产收集,全量获取移动应用、微信公众号、小程序,进一步对程序进行全面测试。

建设移动端应用系统自动化渗透测试平台可参考DevSecOps理念,并结合移动应用程序的开发、上线和漏洞检测实际问题,将安全自动化测试融入到全流程中。依托完整的开发交互流程,移动应用漏洞自动化检测尽可能的引导开发人员的安全编码,这是该系统建设的重点和核心,也是区分它与市面上其他移动应用威胁检测平台的关键。同时可以通过开发独特的漏洞检测算法,专注于移动应用程序的安全检测,并将漏洞检测与自动化渗透测试联动,提高检测的准确性和效率。移动应用程序测试能力包括对微信小程序进行自动化资产收集与漏洞扫描,对移动应用APP程序进行自动化安装、运行、脱壳、采集、检测等。

移动应用漏洞自动化检测系统设计考虑到两个关键问题:1.移动端应用系统上线后的移动应用、微信公众号、小程序全资产梳理,包括对常见应用商店中APK安装包进行自动下载整理,对微信公众号、小程序资产的定期梳理,在微信未开放API接口的环境下合法自动化或者半自动化获得小程序安装包、公众号后端服务器地址。2.在开发过程中介入点,将需要检测的APK安装包、小程序、后端应用地址推送到检测平台,根据需要在虚拟环境运行,对APK程序进行脱壳,对小程序进行解包,进一步自动化完成(静态/动态)漏洞扫描,生成漏洞测试报告。


四、核心技术路线



1)移动端应用系统自动化采集规划

针对移动应用商店,设计针对移动互联网应用商店的信息自动化采集系统。通过移动应用商店的入口地址,进入分类应用Web页面和列表,分析其页面内容并进行应用页面URL链接的提取,读取应用页面源码并进行信息抽取。主要由调度管理平台、网络爬虫模块、信息抽取模块、应用下载模块等部分组成。

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村
图1. APP程序信息收集流程图

针对微信平台运行的小程序、公众号系统,由于微信软件生态较为封闭,小程序在封闭环境中发布运行,且基本运用了平台自研的加密通讯协议,因此传统的网络爬虫对此不再适用。目前对微信公众号、小程序的采集方案没有统一思路,可以参考如下思路:在手机端录制自动点击脚本,实现对手机端微信自动搜索,对小程序、公众号模拟点击触发。小程序运行后可在手机本地小程序缓存文件获取到搜索点击过的小程序,然后进一步对小程序的缓存文件进行逆向,集成wxappUnpacker对小程序缓存安装包进行逆向,从而分析小程序代码安全问题。微信公众号运行时,可提前配置HTTP代理拦截并获取微信公众号跳转链接。同时微信公众号还可以通过搜狗搜索平台提供的API采集。

2)移动端应用系统自动化检测方案

移动应用漏洞自动化检测流程实现路线遵循真实攻击流程,通过移动应用安全测试人员角度的攻击测试流程图(见图2),进一步分析渗透测试人员进行移动应用攻击的整体思路和关键技术。

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村
图2. 移动应用渗透测试攻击流程图

通过对移动应用真实渗透测试攻击流程分析,同时结合现阶段已有的本地检测与服务端渗透流程,制定出符合业务流程的自动化检测流程图(见图3)。微信公众号程序运行在微信内置的浏览器中,可直接通过扫描的方式开展检测,关于公众号及小程序还涉及后端的服务器,需要做客户端和服务端双端的漏洞检测。针对部分移动APP类程序采用非HTTP协议或者非明文传输的情况,可通过模拟运行自动化脱壳进行客户端检测,之后通过HOOK框架半自动化拦截关键函数进行服务端漏洞检测。

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村
图3. APP自动化检测流程图


五、实现方案



移动端应用系统漏洞自动化程序由两部分组成,任务管理及自动化检测引擎。主要功能模块介绍如下:

任务管理:
  • 上传接口:检测人员可上传需要检测移动APP系统APK安装包、小程序的安装包等,上传接口应该支持APK、wxapkg等后缀格式。检测人员可以根据需要,自由选择文件上传。
  • 任务管理:可建立任务,开展自动化测试,对需要的移动端应用系统进行流程管理,包括移动端应用系统检测不同阶段,开发过程中的安全检测,移动端应用系统上线阶段的安全检测,移动端应用系统迭代阶段的安全检测,同时也支持继续或者终止正在检测中的任务。
  • 报告生成:针对单次移动端应用系统检测的结果生成漏洞检测报告,方便安全检测人员对漏洞进行复现。
  • 漏洞管理:提供漏洞纵向对比和漏洞横向对比功能。漏洞纵向对比可以查看一个应用程序在不同时间段内存在的漏洞情况,方便检测人员观察漏洞修复情况。漏洞横向对比可以查看不同版本的漏洞情况,方便检测人员分析漏洞存在的原因,并做出相应的修复。
  • 资产列表:展示历史检测资产的信息,可以根据检测人员的需求,进行动态展示,资产列表模块应该支持新增资产录入功能,检测人员可以通过新增资产录入功能,将新的资产信息录入到系统中,以便维护全量移动应用系统资产。

分析模块的内容包括:
  • 脱壳模块:可以对上传的APK程序进行脱壳,获取到其内部的源代码,支持多种脱壳方法,包括常见的静态脱壳和动态脱壳等。检测人员可以根据实际情况,自由选择适合的脱壳方法。
  • 静态扫描代码:针对小程序、APK的代码、资源、配置等多个方面进行静态扫描,并且生成静态扫描报告。
  • 代码分析模块:针对反编译出来的代码进行分析,提取代码中的域名、URL等信息。
  • 移动应用专属模块:批量化移动端应用系统管理,管理移动端应用系统运行、扫描、关键函数hook和调用,插件加载等。

扫描模块的内容包括:
  • 客户端代码扫描:集成多种客户端代码扫描工具,包括对APK程序和小程序代码扫描能力。
  • 服务端漏扫功能:集成漏扫功能,支持多种漏洞扫描和fuzzing方法,包括常见的接口扫描、代理扫描、poc插桩等。

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村
图4. 移动端应用系统漏洞自动化检测系统结构图



六、效率分析



自动化移动应用漏洞检测能力主要体现在以下几个方面:

1.移动应用系统自动化程序提升检测效率,节约人工成本。该系统自动化检测能力允许开发人员在开发过程中,应用上线之前和应用变更迭代的阶段提供快速检测功能。
2.通过移动应用系统漏洞检测实现企业用户漏洞模板累积,实现业务漏洞价值系统,反馈安全开发管理,能够影响开发者的安全编码效率,指导安全开发过程,最后形成相关安全开发框架及制度。

移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村
图5. 移动应用系统检测平台联动关系

综上,移动应用系统自动化安全检测将考虑到上线前后的安全性,安全测试从起步的测试“左移”到完全融入整个开发运营过程,梳理开发周期需要关注的交互流程、开发流程和业务流程,确保每个环节都能顺利高效运行。同时,这种流程与方法能够帮助开发人员更好的理解安全编码,提高移动应用系统安全开发的代码质量。


作者介绍

宋克亚 潘宏伟:民生银行渗透测试团队负责人、业务骨干。




关于 大湾区金融安全专刊



大湾区专刊集合了全国数十家金融和科技机构的网络安全工作经验总结,内容涉及防护体系、资产管理、研发安全、攻防演练、安全运营、数据安全、业务安全七大主题方向,希望能为从业者提供网络安全防护方面的整体思路,向行业传播可持续金融创新和实践经验,为推动可持续金融生态发展汇聚智慧与力量。

关于 安全村



安全村始终致力于为安全人服务,通过博客、文集、专刊、沙龙等形态,交流最新的技术和资讯,增强互动与合作,与行业人员共同建设协同生态。



移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村

专刊获取方式


本次专刊的合作机构如下
赶紧关注他们
联系获取纸质版专刊吧!


移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村


原文始发于微信公众号(安全村SecUN):移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月17日14:45:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   移动端应用系统自动化安全检测系统研究|大湾区金融安全专刊·安全村http://cn-sec.com/archives/1962113.html

发表评论

匿名网友 填写信息