一种小程序风险识别方法和装置
技术领域
本说明书涉及互联网领域,尤其涉及一种小程序风险识别方法和装置。
背景技术
小程序,是指一种搭载于其他平台(如支付宝平台),无需下载和安装就可以在平台中使用的应用程序。随着小程序业务的蓬勃发展,欺诈、色情、赌博等安全风险也伴随着小程序,进行传播和扩散。
作为小程序的搭载平台,必须管控小程序的风险,及时阻断风险传播,处罚风险小程序。当前业界对小程序的内容风险防控,通常需要对小程序进行交互及结构分析,进而采集到诸如传统的文本、图片、音频、视频等内容交由内容引擎识别,从而发现异常小程序,或者交由审核人员对小程序进行全方位人工试用审核。
但是,由于小程序页面复杂,交互丰富,其中的文本图片等内容提取难度高,准确度低。而对于审核人员来说,对小程序进行试用需要“探索”到小程序的方方面面。既消耗时间,又对审核人员的审核水平要求较高。
发明内容
针对上述技术问题,本说明书实施例提供一种小程序风险识别方法和装置,技术方案如下:
根据本说明书实施例的第一方面,提供一种小程序风险识别方法,该方法包括:
检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
根据本说明书实施例的第二方面,提供一种小程序风险识别装置,该装置包括:
信息采集模块:用于检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
风险识别模块:用于使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现一种小程序风险识别方法,所述小程序为搭载于公共平台的第三方程序,所述方法包括:
检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
本说明书实施例所提供的技术方案,检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。由于小程序搭载于公共平台,公共平台可以通过“捕获”小程序的页面渲染行为完成对小程序的各个页面的内容采集。免去人工审核对小程序的人工“探索”过程,降低内容采集难度,同时通过对小程序的截图进行图像识别,提高审核效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书一示例性实施例示出的小程序风险识别方法的一种流程图;
图2是本说明书一示例性实施例示出的小程序风险识别方法的另一种流程图;
图3是本说明书一示例性实施例示出的小程序风险识别装置的一种示意图;
图4是本说明书一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
小程序,是指一种搭载于其他平台(如支付宝平台),无需下载和安装就可以在平台中使用的应用程序。随着小程序业务的蓬勃发展,欺诈、色情、赌博等安全风险也伴随着小程序,进行传播和扩散。
针对以上问题,本说明书实施例提供一种小程序风险识别方法,以及一种用于执行该方法的小程序风险识别装置。下面对本实施例涉及的小程序风险识别方法进行详细说明,参见图1所示,该方法可以包括以下步骤:
S101,检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
作为小程序的搭载平台,必须管控小程序的风险,及时阻断风险传播,处罚风险小程序。当前业界对小程序的内容风险防控,通常需要对小程序进行交互及结构分析,进而采集到诸如传统的文本、图片、音频、视频等内容交由内容引擎识别,从而发现异常小程序,或者交由审核人员对小程序进行全方位人工试用审核。
但是,由于小程序页面复杂,交互丰富,其中的文本图片等内容提取难度高,准确度低。而对于审核人员来说,对小程序进行试用需要“探索”到小程序的方方面面。既消耗时间,又对审核人员的审核水平要求较高。因此,本实施例提出一种根据页面渲染对小程序的各个展示页面进行收集和风险识别的方法,可以高效率对小程序进行审核。
页面渲染,即浏览器等软件将请求返回的页面资源(HTML文本,图像,动画,视频,音频等)基于一定的规则(CSS语句,JS语句,浏览器等软件本身的一些规则等)完成页面布局及绘制的过程。
可以知道,一次页面渲染完成后,小程序即从一个稳定展示页面跳转到另一个稳定展示页面,可以视为完成了一次页面“跳转”,而小程序从一个稳定展示页面跳转到另一个稳定展示页面的时间点,可以视为这个小程序的一个“跳转点”。
相比于传统的手机应用开发,小程序的“跳转点”将更加清晰,原因在于:对于传统手机应用来说,图像渲染发生在手机操作系统层面,所以对于“跳转点”的捕获来说,难度大,扩展起来也十分困难;而对于本实施例针对的小程序应用,页面的渲染过程被小程序平台控制,“跳转点”的捕获难度大大降低。
以公共平台支付宝举例,底层渲染即支付宝把小程序开发者的开发代码描述的页面,在支付宝app的屏幕上“画”出来的过程。而这个“画”的过程,是支付宝执行的,所以,底层渲染可以清晰地捕捉到“画”完的时间,并且还能够对当前“画”好的屏幕,进行截图等信息采集操作。
本实施例在每次小程序的页面完成“跳转”后,采集当前时刻的设备状态数据集,该设备状态数据集中至少包括手机的当前截屏信息。对小程序的各个展示页面进行截屏,即可模拟审核人员在审核时的“探索试用”过程。每次小程序“跳转”过后获得的设备状态数据集就是用于后续风险识别的基础数据。
其中,如何触发“跳转点”,可以有多种方式,举例说明:
a)根据用户行为触发“跳转”:在各个用户在操作小程序的时候,一旦遇到跳转点,即一旦检测到页面完成渲染,则采集设备状态数据集,待满足一定条件后,将采集到的多个设备状态数据集上传到后端,供安全识别。
具体地,该方式需要应用于客户端上,为了避免多次采集小程序截图等信息对客户端的设备性能,硬件消耗等造成影响,在客户端样本数量足够的情况下,可抽样性地采集每个客户端的设备状态数据集。具体地,可在每次页面完成渲染后进行判定,若判定通过,则采集设备状态数据集,若判定不通过,则不采集。
举例说明其中一种判定方式:在预定义的第一数值区间内生成一个随机数,若所述随机数落在第二数值区间内,则判定通过,其中,所述第二数值区间的数值范围不大于所述第一数值区间。例如,进行判定时产生一个随机数(0~99),如果为0,则截屏,否则不截屏,这样即可实现1%的截图率,且可通过使用不同的随机数区间和判断阈值对截图率的数值进行调整。
b)使用专用测试仪器进行monkey test,触发“跳转点”并快照,供安全识别。其中,可采集各个用户的行为,将行为数据在一定条件下,上传到后端,供monkey test参考,优化monkey test。
进一步地,触发“跳转点”后,为了避免大量重复截屏,每次截屏都可以通过标记当前浏览页面的信息。例如:展示页面的代码的md5,当前页面的url等。若发现一个页面已经被标记,则无需采集该页面的设备状态数据集。
S102,使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
具体地,可将页面截图中的页面内容对应转换为文本数据,再将转换成的文本数据与预先配置的风险词汇列表进行比对,确定该文本数据中是否包含风险词汇,进而确定对应的页面截图是否包含风险。
其中,将页面截图中的页面内容对应转换为文本数据的方式有多种,可以根据应用需求对应选择。举例说明,使用OCR(Optical Character Recognition,光学字符识别)图片识别技术,扫描页面截图,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字;即,针对图片中的字符,先后经过影像预处理,图像二值化,图像降噪,文字特征抽取等一系列步骤,采用光学的方式将文字转换成为黑白点阵的图像文件,并进一步识别黑白点阵的图像文件,将点阵图像转换成文本格式。
进一步地,可通过训练图像识别模型的方式使图片识别更加符合应用场景的具体需求,通过训练图像识别模型使图片识别过程不只能够识别图片中的文本特征,也能识别图片中的形状特征。即,预先收集带有风险标签的图像数据,通过这些图像数据训练识别模型,以使训练好的图像识别模型能够从后续输入的手机截图中识别截图包含的风险。
本说明书还提供一种更加具体的小程序风险识别方法,参见图2所示,该方法可以包括以下步骤:
S201,检测到目标小程序发生页面渲染;
S202,判定本次页面渲染是否需要进行信息采集,若判定本次页面渲染需要进行信息采集,执行步骤S203,若判定本次页面渲染不需要进行信息采集,则不操作;
S203,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息和设备的当前运行参数信息;
S204,将不同时刻的设备状态数据集设备中的当前运行参数信息,与预定义的设备运行特征信息进行对比;
S205,判断对比结果是否符合预设结果,若符合预设结果,则执行步骤S207,若不符合预设结果,执行步骤S206;
S206,直接判定所述设备状态数据集有风险,并终止流程;
S207,使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
为了更全面效率地判断小程序的风险情况,采集的设备状态数据集中可不止包括屏幕截图信息,还包括设备的当前运行参数信息,若小程序的某个页面出现后,设备的运行情况异常,则也可判断该小程序存在风险。
其中,当前运行参数信息可以包括设备的CPU使用率信息,设备的内存占用信息,设备的地理位置(经纬度,海拔)信息,设备的网络环境(wifi/4G)信息和设备指纹信息等等。在实际应用中,可根据具体应用场景采集并检测其中的一种或几种运行参数信息。
采集到设备的运行参数信息后,将运行参数信息与预先设定的设备运行特征信息进行对比,根据对比结果确定当前的设备运行参数是否发生异常。举例说明:预先设定的设备运行特征信息中,CPU使用率在60%以下内为正常情况,不在60%以下为异常情况。当一次页面渲染完成后,对当前设备状态数据集进行采集,采集结果包括设备的CPU使用率,判断该CPU使用率是否大于60%,若大于60%,则说明该小程序的对应页面占用过多的CPU资源,造成设备卡顿。可进一步移交人工审核,确定该小程序造成设备异常的原因。
一般地,在设备状态数据集中包含屏幕截图和设备运行参数的情况下,可先判断设备运行参数是否异常,若设备运行参数异常,则可直接中断风险识别流程,判断该小程序有风险,并标记产生风险的小程序页面。若设备运行参数无异常,则可继续对屏幕截图进行图像识别,判断截图中是否包括风险文本或图像。
相应于上述方法实施例,本说明书实施例还提供一种小程序审核装置,参见图3所示,所述装置可以包括:信息采集模块310和风险识别模块320。
信息采集模块310:用于检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
风险识别模块320:用于使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述小程序风险识别方法,所述方法至少包括:
检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
图4示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的小程序风险识别方法,所述方法至少包括:
检测到目标小程序发生页面渲染后,在所述页面渲染完成后采集当前时刻的设备状态数据集,所述设备状态数据集至少包括屏幕截图信息;
使用预设的图像识别算法,对不同时刻的设备状态数据集中的屏幕截图信息进行识别,以获得所述小程序的风险识别结果。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。