CN113836000A - 移动应用程序安全测试的方法、系统、装置和介质 - Google Patents

移动应用程序安全测试的方法、系统、装置和介质 Download PDF

Info

Publication number
CN113836000A
CN113836000A CN202110943233.5A CN202110943233A CN113836000A CN 113836000 A CN113836000 A CN 113836000A CN 202110943233 A CN202110943233 A CN 202110943233A CN 113836000 A CN113836000 A CN 113836000A
Authority
CN
China
Prior art keywords
script
test
application program
environment
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110943233.5A
Other languages
English (en)
Inventor
胡帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongdun Technology Co ltd
Tongdun Holdings Co Ltd
Original Assignee
Tongdun Technology Co ltd
Tongdun Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongdun Technology Co ltd, Tongdun Holdings Co Ltd filed Critical Tongdun Technology Co ltd
Priority to CN202110943233.5A priority Critical patent/CN113836000A/zh
Publication of CN113836000A publication Critical patent/CN113836000A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Abstract

本申请涉及一种移动应用程序安全测试的方法、系统、装置和介质,其中,该方法包括:获取应用程序包,对该应用程序包进行解析,并构建和运行自动化测试脚本,其中,自动化测试脚本包括自定义脚本和系统脚本;接着,切换应用程序包的虚拟网络环境和虚拟系统环境,并通过自动化测试脚本对应用程序包进行黑灰产环境测试和功能测试,得到测试日志;输出并分析测试日志,得到安全测试报告。通过本申请,解决了在各种灰黑产异常运行环境下,缺少对移动端应用程序进行安全测试的问题,提高了应用程序的安全性,并降低了开发成本。

Description

移动应用程序安全测试的方法、系统、装置和介质
技术领域
本申请涉及信息安全技术领域,特别是涉及移动应用程序安全测试的方法、系统、装置和介质。
背景技术
随着移动互联网的普及和发展,各种移动端应用程序盛行。与此同时,黑灰产会给这些移动应用程序(Mobile Application)带来很大的安全影响,例如,目标程序有一个邀请新用户给奖励的活动,其中,对新用户的判定是,判断该程序是否安装在新的设备以及新的网络环境中。此时,黑灰产会通过群控系统在每个手机上安装分身软件或虚拟地址软件来虚拟新用户的环境,以此达到大批量的骗奖励的目的,给主办方造成大量损失。因此,为了保障应用程序的用户体验感和保护应用程序的环境安全,在应用程序上架前,需要对应用程序进行一系列的测试。
在相关技术中,一方面是对程序包分析测试,将需要安全测试的应用程序的安装包上传到系统上,然后对安装包进行脱壳检测,通过反编译对安装包进行权限、通信、接口等安全检测。这类测试实质上检测的只有安装包本身的安全问题,而没有考虑到各种灰黑产场景下不同的手机环境或者网络环境的情况。另一方面是基于多机型的兼容测试方案,基于C/S架构,服务端提供了大量的不同配置的真实机器或者虚拟机器,客户端上传安装程序,将需要测试的安装包安装到服务端连接的设备上,然后对目标程序进行一系列的测试服务。这种多机型测试方案,虽然对各种不同机型安装包的兼容性和稳定性做了测试,但是没有对程序包的安全性做更全面的检测,例如,如果在某个正版手机上通过虚拟环境或者刷机的方式改变了系统环境,那么应用程序在这个手机上就可能不安全。
目前针对相关技术中,存在的缺少在各种灰黑产异常运行环境下,对移动端应用程序进行安全测试的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种移动应用程序安全测试的方法、系统、装置和介质,以至少解决相关技术中存在的缺少在各种灰黑产异常运行环境下,对移动端应用程序进行安全测试的问题。
第一方面,本申请实施例提供了一种移动应用程序安全测试的方法,所述方法包括:
获取应用程序包,对所述应用程序包进行解析,并构建和运行自动化测试脚本,其中,所述自动化测试脚本包括自定义脚本和系统脚本;
切换所述应用程序包的虚拟网络环境和虚拟系统环境,并通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试,得到测试日志;
输出并分析所述测试日志,得到安全测试报告。
在其中一些实施例中,所述构建和运行自动化测试脚本包括:
构建Python自动化脚本并运行,通过所述Python自动化脚本可同时对设备端的应用程序进行自动化测试,其中,所述设备端包括安卓端和IOS端。
在其中一些实施例中,构建Python自动化脚本包括:
获取页面元素信息,并通过所述页面元素的属性进行定位,构建所述Python自动化脚本。
在其中一些实施例中,获取页面元素信息包括:
Python服务端发送获取截图指令到所述设备端,所述设备端通过调用方法获取所述页面元素节点,并返回给所述Python服务端;
所述Python服务端对所述页面元素节点进行分析处理,得到统一字段显示在前端页面上。
在其中一些实施例中,在获取页面元素信息之后,所述方法包括:
通过所述Python服务端判断所述设备端的类型,根据不同的设备端类型,将所述页面元素信息转换成相应设备端能识别的脚本命令,并发送。
在其中一些实施例中,切换所述应用程序包的虚拟网络环境和虚拟系统环境包括:
模拟真实用户操作,通过不同的虚拟网络环境工具来切换当前网络环境;
通过不同的虚拟系统参数软件修改当前虚拟系统环境的机器系统参数,模拟切换所述虚拟系统环境。
在其中一些实施例中,通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试包括:
通过模拟真实用户操作,测试所述应用程序包在黑灰产环境下的运行状态;
通过所述自动化测试脚本切换所述虚拟网络环境及所述虚拟系统环境,对所述应用程序包进行功能测试,判断所述功能是否能识别到黑灰产的异常情况。
第二方面,本申请实施例提供了一种移动应用程序安全测试的系统,所述系统包括:
获取模块,用于获取应用程序包,对所述应用程序包进行解析,并构建和运行自动化测试脚本,其中,所述自动化测试脚本包括自定义脚本和系统脚本;
测试模块,用于切换所述应用程序包的虚拟网络环境和虚拟系统环境,并通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试,得到测试日志,
输出并分析所述测试日志,得到安全测试报告。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的移动应用程序安全测试的方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的移动应用程序安全测试的方法。
相比于相关技术,本申请实施例提供的移动应用程序安全测试的方法,获取应用程序包,对该应用程序包进行解析,并构建和运行自动化测试脚本,其中,自动化测试脚本包括自定义脚本和系统脚本;接着,切换应用程序包的虚拟网络环境和虚拟系统环境,并通过自动化测试脚本对应用程序包进行黑灰产环境测试和功能测试,得到测试日志;输出并分析测试日志,得到安全测试报告。
本申请提供了一种对移动应用程序进行安全测试的管理系统,通过模拟真实用户的操作对目标应用程序进行安全测试,并对移动应用程序在不同使用环境下进行全方面的环境测试和功能测试,防止应用程序上线后因为安全漏洞给用户或者公司造成经济损失。此外,本申请使用Python搭建了一整套适用于安卓端及IOS端的自动化脚本框架,统一管理两端,大大降低了在应用程序安全测试过程中,对系统适配开发所产生的成本。
解决了在各种灰黑产异常运行环境下,缺少对移动端应用程序进行安全测试的问题,提高了应用程序的安全性,并降低了开发成本。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的移动应用程序安全测试的方法的流程图;
图2是根据本申请实施例的获取页面元素的流程示意图;
图3是根据本申请实施例的Python自动化脚本执行流程的示意图;
图4是根据本申请实施例的某应用程序进行安全测试的流程示意图;
图5是根据本申请实施例的移动应用程序安全测试的系统的结构框图;
图6是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提供了一种移动应用程序安全测试的方法,图1是根据本申请实施例的移动应用程序安全测试的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取应用程序包,对应用程序包进行解析,并构建和运行自动化测试脚本,其中,自动化测试脚本包括自定义脚本和系统脚本;
本实施例中,服务端获取需要进行安全测试的程序安装包,并对该程序安装包进行解析,具体地,解析到的参数包括:程序包大小、程序包名、程序包主界面启动参数、程序运行环境要求、程序包获取的权限等。接着,根据实际需求构建自动化测试脚本流程并运行,其中,运行的自动化测试脚本可以是用户根据实际需求构建的自定义脚本,可以是已存在的系统脚本,例如针对一些常见的黑灰产工具及正常操作流程而编写好的系统自动化脚本。
优选的,本实施例中构建的自动化测试脚本是一套基于Python协议的自动化脚本,通过该Python自动化脚本可同时对设备端的应用程序进行自动化测试,其中,设备端包括安卓端和IOS端。具体地,服务端连接着多个设备端,并通过构建的Python自动化脚本框架,统一管理这些设备端,其中,安卓端会基于Uiautomator框架实现自动化操作脚本,IOS端会基于WebDriverAgent框架实现自动化操作脚本。
进一步地,为了构建Python自动化脚本,实现应用程序的自动化测试,本实施例需要获取页面元素信息,并通过页面元素的属性进行定位,构建一套Python协议的自动化脚本,在安卓和IOS两端同时执行,其中,元素属性是指某个控件的text、res、desc等属性。
图2是根据本申请实施例的获取页面元素的流程示意图,如图2所示,Python服务端发送获取截图指令到设备端,设备端通过调用方法获取页面元素节点,并返回给Python服务端,Python服务端对页面元素节点进行分析处理,得到统一字段显示在前端页面上。具体地,本实施例中,Python服务端通过命令发送获取截图的命令到安卓端和IOS端后,安卓端通过uiautomator的get_screenshot()方法获取安卓页面元素节点列表,然后返回页面节点到Python服务端;IOS端通过WDATestService获取页面元素节点,然后返回到Python服务端;接着,Python服务端对两端的页面节点进行统一分析,并对两端元素节点进行处理,得到统一字段显示在前端页面上。
图3是根据本申请实施例的Python自动化脚本执行流程的示意图,如图3所示,在获取页面元素信息之后,本实施例通过Python服务端判断设备端的类型,并根据不同的设备端类型,将页面元素信息转换成相应设备端能识别的脚本命令,并发送。具体地,如果需要构建一个点击控件为”注册”的按钮,首先,用户端编写d.text(“注册”).click()的代码,接着,Python服务端通过上述对两端元素节点的处理,判断设备端版本并进行对应脚本转化。其中,如果是安卓端,则转换成Uiautomator语法执行脚本,比如,转成UiDevice.getInstance().click(text=”注册”);如果是IOS端,则基于WDA-API转换脚本,并通过调用WDA的wda/touch/perform()执行脚本命令。因此,本实施例中Python服务端用于按照不同设备平台转换脚本并发送命令。
本实施例构建了一套Python协议的自动化脚本框架,对不同设备端进行统一管理,大大降低了在应用程序安全测试过程中,对系统适配开发所产生的成本;
步骤S102,切换应用程序包的虚拟网络环境和虚拟系统环境,并通过自动化测试脚本对应用程序包进行黑灰产环境测试和功能测试,得到测试日志;
优选的,本实施例模拟真实用户操作,通过不同的虚拟网络环境工具来切换当前网络环境;并通过不同的虚拟系统参数软件修改当前虚拟系统环境的机器系统参数,模拟切换虚拟系统环境。
进一步地,本实施例通过模拟真实用户操作,例如点击、滑动、双击、长按和拖动等,测试应用程序包在黑灰产环境下的运行状态;并通过自动化测试脚本不停地切换虚拟网络环境及虚拟系统环境,对应用程序包进行功能测试,判断这些功能是否能识别到黑灰产的异常情况,其中,功能测试一般包括对注册、登录、支付环境、运行环境、新用户、新设备的识别等相关功能测试。
本实施例通过模拟真实用户的操作对目标应用程序进行安全测试,并对移动应用程序在不同使用环境下进行全方面的环境测试和功能测试,防止应用程序上线后因为安全漏洞给用户或者公司造成经济损失,提高了应用程序的安全性;
步骤S103,输出并分析测试日志,得到安全测试报告,通过该安全测试报告能判断得到目标应用程序在不同的灰黑产环境切换下各个功能是否能识别出黑灰产异常情况。
通过上述步骤S101至步骤S103,本申请实施例通过模拟真实用户的操作对目标应用程序进行安全测试,并对移动应用程序在不同使用环境下进行全方面的环境测试和功能测试,防止应用程序上线后因为安全漏洞给用户或者公司造成经济损失。此外,本申请使用Python搭建了一整套适用于安卓端及IOS端的自动化脚本框架,统一管理两端,大大降低了在应用程序安全测试过程中,对系统适配开发所产生的成本。
图4是根据本申请实施例的某应用程序进行安全测试的流程示意图,如图4所示,需要对某在线购物商城类的应用程序进行群控批量注册的安全测试,测试该应用程序是否能识别黑灰产工具,阻止黑灰产注册成功。其中,具体测试步骤如下:
S1,修改机器参数,由于一个机器一般限制只能注册一个或者几个账号,因此可以通过型号、序列号、IMEI等参数来判定是否为同一台机器;
S2,修改网络环境,应用程序的注册接口会获取当前网络环境的ip地址,而同一个ip地址只能注册一个或者几个账号,因此,要达到批量注册的效果,需要对当前注册的网络环境进行ip的虚拟网络修改;
S3,获取目标应用程序的页面元素并分析,按照真实用户手动注册流程,构建自动化脚本,进入到注册流程;
S4,获取要注册的手机号,一般包括虚拟卡,实体卡,指定类型的卡,此外,也可以通过脚本来设置接入;
S5,通过号卡获取短信验证码,将验证码通过脚本填入到验证码输入框中,模拟用户完成注册流程;
S6,查看注册结果,并且保存此次脚本的注册结果,输出测试报告以便查看。
通过上述示例输出的测试报告判断目标应用程序的注册流程是否安全,如果注册不成功,则表示当前环境被识别,目标应用程序成功识别了灰黑产工具和异常虚拟网络环境,则需要切换灰黑产工具继续脚本测试。然而,如果注册成功,则表示当前环境大概率没有被目标应用程序识别,则不切换环境继续脚本测试,直到注册失败,切换灰黑产环境,这里会将测试成功的账号记录下来,以便后面目标应用程序的后台验证测试的注册环境。
需要说明的是,本实施例的测试流程是对单台设备,而真实测试场景是,多台设备同时执行这套自动化测试流程,这样,一台设备如果切换10次灰黑产环境,那么,N台设备也就是需要进行N*10次切换灰黑产环境测试,因此,测试效果是很可观的。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种移动应用程序安全测试的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的移动应用程序安全测试的系统的结构框图,如图5所示,该系统包括获取模块51和测试模块52:
获取模块51,用于获取应用程序包,对应用程序包进行解析,并构建和运行自动化测试脚本,其中,自动化测试脚本包括自定义脚本和系统脚本;测试模块52,用于切换应用程序包的虚拟网络环境和虚拟系统环境,并通过自动化测试脚本对应用程序包进行黑灰产环境测试和功能测试,得到测试日志,输出并分析测试日志,得到安全测试报告。
通过上述系统,本申请实施例通过模拟真实用户的操作对目标应用程序进行安全测试,并对移动应用程序在不同使用环境下进行全方面的环境测试和功能测试,防止应用程序上线后因为安全漏洞给用户或者公司造成经济损失。此外,本申请使用Python搭建了一整套适用于安卓端及IOS端的自动化脚本框架,统一管理两端,大大降低了在应用程序安全测试过程中,对系统适配开发所产生的成本。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
此外,需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的移动应用程序安全测试的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种移动应用程序安全测试的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种移动应用程序安全测试的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图6是根据本申请实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种移动应用程序安全测试的方法,数据库用于存储数据。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种移动应用程序安全测试的方法,其特征在于,所述方法包括:
获取应用程序包,对所述应用程序包进行解析,并构建和运行自动化测试脚本,其中,所述自动化测试脚本包括自定义脚本和系统脚本;
切换所述应用程序包的虚拟网络环境和虚拟系统环境,并通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试,得到测试日志;
输出并分析所述测试日志,得到安全测试报告。
2.根据权利要求1所述的方法,其特征在于,所述构建和运行自动化测试脚本包括:
构建Python自动化脚本并运行,通过所述Python自动化脚本可同时对设备端的应用程序进行自动化测试,其中,所述设备端包括安卓端和IOS端。
3.根据权利要求2所述的方法,其特征在于,构建Python自动化脚本包括:
获取页面元素信息,并通过所述页面元素的属性进行定位,构建所述Python自动化脚本。
4.根据权利要求3所述的方法,其特征在于,获取页面元素信息包括:
Python服务端发送获取截图指令到所述设备端,所述设备端通过调用方法获取所述页面元素节点,并返回给所述Python服务端;
所述Python服务端对所述页面元素节点进行分析处理,得到统一字段显示在前端页面上。
5.根据权利要求4所述的方法,其特征在于,在获取页面元素信息之后,所述方法包括:
通过所述Python服务端判断所述设备端的类型,根据不同的设备端类型,将所述页面元素信息转换成相应设备端能识别的脚本命令,并发送。
6.根据权利要求1所述的方法,其特征在于,切换所述应用程序包的虚拟网络环境和虚拟系统环境包括:
模拟真实用户操作,通过不同的虚拟网络环境工具来切换当前网络环境;
通过不同的虚拟系统参数软件修改当前虚拟系统环境的机器系统参数,模拟切换所述虚拟系统环境。
7.根据权利要求1所述的方法,其特征在于,通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试包括:
通过模拟真实用户操作,测试所述应用程序包在黑灰产环境下的运行状态;
通过所述自动化测试脚本切换所述虚拟网络环境及所述虚拟系统环境,对所述应用程序包进行功能测试,判断所述功能是否能识别到黑灰产的异常情况。
8.一种移动应用程序安全测试的系统,其特征在于,所述系统包括:
获取模块,用于获取应用程序包,对所述应用程序包进行解析,并构建和运行自动化测试脚本,其中,所述自动化测试脚本包括自定义脚本和系统脚本;
测试模块,用于切换所述应用程序包的虚拟网络环境和虚拟系统环境,并通过所述自动化测试脚本对所述应用程序包进行黑灰产环境测试和功能测试,得到测试日志,
输出并分析所述测试日志,得到安全测试报告。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的移动应用程序安全测试的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的移动应用程序安全测试的方法。
CN202110943233.5A 2021-08-17 2021-08-17 移动应用程序安全测试的方法、系统、装置和介质 Pending CN113836000A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110943233.5A CN113836000A (zh) 2021-08-17 2021-08-17 移动应用程序安全测试的方法、系统、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110943233.5A CN113836000A (zh) 2021-08-17 2021-08-17 移动应用程序安全测试的方法、系统、装置和介质

Publications (1)

Publication Number Publication Date
CN113836000A true CN113836000A (zh) 2021-12-24

Family

ID=78960506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110943233.5A Pending CN113836000A (zh) 2021-08-17 2021-08-17 移动应用程序安全测试的方法、系统、装置和介质

Country Status (1)

Country Link
CN (1) CN113836000A (zh)

Similar Documents

Publication Publication Date Title
CN105303112B (zh) 组件调用漏洞的检测方法及装置
CN103744686B (zh) 智能终端中应用安装的控制方法和系统
CN107436844B (zh) 一种接口用例合集的生成方法及装置
US10990516B1 (en) Method, apparatus, and computer program product for predictive API test suite selection
CN105389263A (zh) 应用软件权限监控方法、系统及设备
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
CN104980421A (zh) 一种批量请求处理方法及系统
CN111797026A (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN114546837A (zh) 接口测试的方法、装置、设备及存储介质
CN110598419A (zh) 一种区块链客户端漏洞挖掘方法、装置、设备及存储介质
CN109582556B (zh) 应用程序在移动终端运行情况的测试方法、装置和系统
CN108134708B (zh) 监控第三方接口的方法和装置
CN109656791B (zh) 一种基于Jmeter的gRPC性能测试方法及装置
CN110752933A (zh) 一种验证码输入方法、装置、电子设备及存储介质
CN110119350A (zh) 软件开发工具包测试方法、装置和设备及计算机存储介质
CN110798380A (zh) 一种数据获取方法、系统、装置、测试设备及测试服务器
CN113836000A (zh) 移动应用程序安全测试的方法、系统、装置和介质
CN114338104A (zh) 安全网关解析功能验证方法、装置、设备及存储介质
CN112269744A (zh) 系统异常测试方法、装置、计算机设备和存储介质
CN111400179B (zh) 终端应用程序交互的方法、装置、计算机设备和存储介质
CN112433953A (zh) 基于网络游戏客户端的嵌入式自动化测试方法、装置、设备及介质
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN107168844B (zh) 一种性能监控的方法及装置
CN110162310B (zh) 插件接口测试方法及装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination