CN110222506A - 快应用检测方法、装置、设备和存储介质 - Google Patents

快应用检测方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110222506A
CN110222506A CN201910503075.4A CN201910503075A CN110222506A CN 110222506 A CN110222506 A CN 110222506A CN 201910503075 A CN201910503075 A CN 201910503075A CN 110222506 A CN110222506 A CN 110222506A
Authority
CN
China
Prior art keywords
information
api
fast
fastly
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
CN201910503075.4A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910503075.4A priority Critical patent/CN110222506A/zh
Publication of CN110222506A publication Critical patent/CN110222506A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种快应用检测方法、装置、设备和存储介质,属于计算机技术领域。该方法包括:运行快应用;获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API由至少一个原生API封装而成,所述快应用API的信息包括快应用API的标识、参数值和返回值;及基于所述行为信息对所述快应用进行检测。该方法能够提高对快应用的安全性检测的准确度。

Description

快应用检测方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种快应用检测方法、装置、设备和存储介质。
背景技术
快应用是基于移动终端硬件平台的新型应用形态,无需安装可直接点击运行,通常需要在快应用平台上运行。这里,快应用平台是一种安卓(Android)程序。
为了保证移动终端的使用安全,通常需要对移动终端中的应用程序进行检测,以确定应用程序的安全性。对于快应用平台而言,可以对快应用平台在运行过程中所调用的Android原生API(Application Program Interface,应用程序接口)进行监控,以确定在程序运行的时候是否有恶意的行为,例如,根据原生API的标识确定是否申请了特定的权限。
利用快应用平台在运行过程中所调用的Android原生API对快应用平台进行检测,在检测出存在恶意行为的时候,无法判断出是快应用平台存在恶意行为还是在快应用平台上运行的快应用存在恶意行为,也即是无法准确判断出快应用在运行过程中是否存在恶意行为。
发明内容
本申请实施例提供了一种快应用检测方法、装置、设备和存储介质,可以准确判断出快应用在运行过程中是否存在恶意行为。所述技术方案如下:
一方面,提供了一种快应用检测方法,所述方法包括:
运行快应用;
获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API由至少一个原生API封装而成,所述快应用API的信息包括快应用API的标识、参数值和返回值;及
基于所述行为信息对所述快应用进行检测。
可选地,所述获取所述快应用在运行过程中的行为信息,包括:
通过第一钩子函数获取已调用的快应用API的第一信息,所述第一信息包括快应用API的标识和参数值;
通过第二钩子函数获取已调用的快应用API的第二信息,所述第二信息包括快应用API的返回值;
将同一快应用API的所述第一信息和所述第二信息组合,以得到所述行为信息。
可选地,所述第一信息和所述第二信息均还包括快应用API的回调callback值;
所述将同一快应用API的所述第一信息和所述第二信息组合,包括:
将具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
可选地,所述基于所述行为信息对所述快应用进行检测,包括:
在所述行为信息中查找恶意行为信息;
或者,
所述基于所述行为信息对所述快应用进行检测,包括:
将所述行为信息与恶意行为特征进行匹配,得到匹配结果;
基于所述匹配结果判定所述快应用的安全性。
可选地,所述方法还包括:
基于找到的所述恶意行为信息,提取恶意行为特征;
保存所述恶意行为特征。
一方面,提供了一种快应用检测装置,所述装置包括:
运行模块,用于运行快应用;
获取模块,用于获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API由至少一个原生API封装而成,所述快应用API的信息包括快应用API的标识、参数值和返回值;及
检测模块,用于基于所述获取模块得到的所述行为信息对所述快应用进行检测。
可选地,所述获取模块,包括:
第一获取子模块,用于通过第一钩子函数获取已调用的快应用API的第一信息,所述第一信息包括快应用API的标识和参数值;
第二获取子模块,用于通过第二钩子函数获取已调用的快应用API的第二信息,所述第二信息包括快应用API的返回值;
组合子模块,用于将同一快应用API的所述第一信息和所述第二信息组合,以得到所述行为信息。
可选地,所述第一信息和所述第二信息均还包括快应用API的回调callback值;
所述组合子模块,用于具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述配置方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述配置方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,快应用的行为信息包括快应用API的标识、快应用API的参数值和返回值,快应用API是由至少一个原生API封装得到的,这种快应用行为信息相对于由原生API表示的快应用平台的行为信息能够更直接且准确的反应快应用的行为,所以基于该快应用的行为信息可以准确判断出快应用在运行过程中是否存在恶意行为。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个示意性实施例的快应用检测方法的流程示意图;
图2为本申请一个示意性实施例的快应用检测方法的流程示意图;
图3示例性地显示了一种快应用在运行过程中调用快应用API时对应的函数;
图4示例性显示了快应用在运行过程中调用快应用API之后,对应的返回值;
图5为本申请一个示意性实施例的快应用检测方法的流程示意图;
图6为本申请一个示意性实施例的快应用检测装置的结构框图;
图7为应用本申请一个示意性实施例的计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请一个示意性实施例的快应用检测方法的流程示意图。该方法可以由计算机设备执行,包括但不限于服务器、终端等。终端包括但不限于手机、笔记本电脑、平板电脑、台式计算机等。如图1所示,该方法可以包括:
101:运行快应用。
在该步骤101中,需要在安装有Android模拟器或者安装有Android系统的计算机设备上运行快应用,且该计算机设备上还安装有快应用平台,以支持快应用的运行。
其中,Android模拟器是一种类似于手机的运行环境,可供Android应用程序运行。基于Android模拟器可以部署多个版本的Android系统,以兼容更多版本的快应用平台和快应用。快应用平台是一种Android应用程序,快应用的RPK文件(快应用的可执行文件格式)导入Android模拟器提供的运行环境或者导入Android系统之后,即可在快应用平台上运行。
在快应用运行的过程中,需要采用多种方式触发快应用,例如点击、滑动操作、发送信息等,以模拟真实用户使用。
102:获取快应用在运行过程中的行为信息。
其中,行为信息包括已调用的快应用API的信息。这里,已调用的快应用API可以为一个或多个。
快应用API由至少一个原生API封装而成。原生API为Android系统的原生API,快应用API为手机厂商对原生API进行封装之后,得到的一种新的API。这里,对原生API进行封装是指,一个快应用API与至少一个原生API对应,在快应用运行过程中,当某个快应用API被调用时,快应用平台会进一步调用快应用API所对应的原生API,以实现相应的功能。
快应用API的信息包括快应用API的标识、参数值和返回值。快应用API的标识包括两部分,一部分为快应用的功能模块(或子功能模块)的名称,另一部分为动作的名称。参数值为调用API时所采用的参数值。返回值为调用API之后返回的内容,可以包括返回值的状态码和返回值的内容。状态码可以用于指示成功、失败、取消等状态。返回值的内容通常为返回的具体数据,部分情况下可以为空。
示例性地,快应用包括多个功能模块,包括但不限于基本功能、页面交互、网络访问、文件数据、系统能力、安全、图形图像、声音音频、厂商服务、第三方服务。每个功能模块包括多个子功能模块。每个子功能模块均对应一个或多个原生API。
下面以系统能力为例进行示例性说明,系统能力包括二维码(system.barcode)、传感器(system.sensor)、剪贴板(system.clipboard)、地理位置(system.geolocation)、桌面图标(system.shortcut)、日历事件(system.calendar)、网络状态(system.network)、设备信息(system.device)、屏幕亮度(system.brightness)、系统音量(system.volume)、电量信息(system.battery)、应用管理(system.package)、录音(system.record)、联系人(system.contact)、发送短信(system.sms)这些子功能模块,括号中即为对应的功能模块的名称。设备信息这一子功能模块对应的动作包括:getInfo、getAdvertisingID、getUserID、getDeviceID、getID、getCpuInfo、getTotalStorage、getAvailableStorage。
相应的,快应用API的标识包括:
system.device+getInfo、system.device+getAdvertisingID……
103:基于行为信息对快应用进行检测。
通过该步骤103可以确定出快应用在运行过程中是否存在恶意行为,以及快应用是否是安全的。
在本申请实施例中,快应用的行为信息包括快应用API的标识、快应用API的参数值和返回值,快应用API是由至少一个原生API封装得到的,这种快应用行为信息相对于由原生API表示的快应用平台的行为信息能够更直接且准确的反应快应用的行为,所以基于该快应用的行为信息可以准确判断出快应用在运行过程中是否存在恶意行为。
本申请实施例的快应用检测方法可以用于以下两种场景:
第一种、获取快应用的行为信息,根据快应用的行为信息确定快应用的运行过程中是否存在恶意行为,如果存在恶意行为,则基于恶意行为对应的行为信息提取恶意行为特征(也可以称为病毒行为特征),以便于将恶意行为特征集成到杀毒软件中,供后续查杀恶意快应用使用。
第二种、获取快应用的行为信息,将获取到的行为信息与恶意行为特征进行匹配,若行为信息与恶意行为特征相匹配,则表示快应用在运行过程中存在恶意行为,也即是快应用是不安全的,后续可以对快应用或者快应用的恶意行为进行查杀;若行为信息与恶意行为特征不匹配,则表示快应用在运行过程中不存在恶意行为,也即是快应用是安全的。
下面分别对这两种场景下的快应用检测方法进行详细介绍。
图2为本申请一个示意性实施例的快应用检测方法的流程示意图,该方法适用于前述第一种场景,在该场景下,该方法的执行主体可以使用Android系统的终端,也可以为安装有Android模拟器的服务器或终端,Android模拟器是一种类似于手机的运行环境,可供Android程序运行。这里,Android系统和Android模拟器中均安装有快应用平台,以支持快应用的运行。如图2所示,该方法包括:
201:运行快应用。
如前所述,该快应用在快应用平台上运行时,可以采用多种方式触发,例如,点击、滑动、输入信息等等,以模仿真实用户使用。通过这些触发方式,促使快应用在运行过程中调用一系列快应用API,产生相应的行为信息。
该步骤201可以包括:将快应用的RPK文件导入Android系统或者Android模拟器;在Android系统或者Android模拟器所安装的快应用平台上运行快应用。
可选地,可以一次导入多个快应用的RPK文件,也可以一次导入一个快应用的RPK文件。
需要说明的是,由于图2所示的方法对应的场景为提取恶意行为特征,所以这里导入的多个快应用的RPK文件可以是已知存在恶意行为的快应用的RPK文件。
202:获取快应用在运行过程中的行为信息。
行为信息的相关描述可以参见步骤102,在此省略详细描述。
在一种可能的实施方式中,该步骤202可以包括:
通过第一钩子(hook)函数获取已调用的快应用API的第一信息,该第一信息包括快应用API的标识和参数值;
通过第二钩子函数获取已调用的快应用API的第二信息,该第二信息包括快应用API的返回值;
将同一快应用API的第一信息和第二信息组合,以得到行为信息。
可选地,第一信息和第二信息均还包括快应用API的回调值;则将同一快应用API的第一信息和第二信息组合,包括:将具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
示例性地,图3显示了一种快应用在运行过程中调用快应用API时对应的函数,如图3所示,arg4为模块名称(feature),arg5为动作名称,arg4和arg5的组合即为快应用API的标识。arg6为快应用API的参数,arg7为快应用的回调(jsCallback)值。通过hook该函数(例如采用第一钩子函数),即可以获得快应用的API的第一信息。
示例性地,图4显示了一种快应用在运行过程中调用快应用API之后,对应的返回值。如图4所示,arg4为图3中的对象x的返回值的状态码及具体内容,arg5对应的值为jsCallback的值,这样就可以通过回调值将调用关系对应起来。通过hook该函数(例如采用第二钩子函数),即可以获得快应用的API的第二信息。
示例性地,通过第一钩子函数获得的一个快应用API的第一信息可以如下:{"invoke-content":{"jsCallback":"3","feature":"system.device","action":"getId","act_param":"{\"type\":[\"device\",\"user\"]}"}},其中,jsCallback表示回调值,回调值为3;feature表示模块名称,为system.device(即设备信息),action表示动作,为getId,这两部分构成快应用API的标识;act_param表示快应用API的参数值,为\"type\":[\"device\",\"user\"]。
示例性地,通过第二钩子函数获得的一个快应用API的第二信息可以如下:
{"callback-content":{"js_callback":"3","code":0,"content":{"user":"bca63b442363a4a6"}}},其中,jsCallback表示回调值,回调值为3;code表示返回值的状态码,content表示返回值的内容,"user":"bca63b442363a4a6"。其中,code和content组成快应用API的返回值。
上述例子中,由于第一信息和第二信息中的回调值均为3,则表示第一信息和第二信息为同一快应用API的信息,将两者组合得到该快应用API的信息包括:
"feature":"system.device","action":"getId","act_param":"{\"type\":[\"device\",\"user\"]}";"code":0,"content":{"user":"bca63b442363a4a6"。
可选地,该行为信息还可以包括时间信息,例如时间戳,已调用的快应用API的信息分别与一个时间信息对应,该时间信息用于指示对应的快应用API的调用时间。
在该步骤202之后,还可以包括:将已调用的快应用的API的信息按照时间先后顺序进行排序。
可选地,该行为信息还可以包括:快应用标识,该快应用标识用于区分不同的快应用。
示例性地,行为信息可以采用以下形式:
sample:[
time:api1(arg1,…):result1,
time:api2(arg2,…):result2,
…]
其中,sample为快应用标识,time为时间信息,api1、api2……为快应用API标识,(arg1,…)(arg2,…)……为快应用API的参数值,result1、result2……为快应用API的返回值。
在一种可能实施方式中,该方法还可以包括:
判断当前运行的快应用是否是目标快应用,若当前运行的快应用是目标快应用,则执行将同一快应用API的第一信息和第二信息组合及后续步骤;若当前运行的快应用不是指定的快应用,可以不执行将同一快应用API的第一信息和第二信息组合及后续步骤。由于在系统中设置了第一钩子函数和第二钩子函数,所以可以获取所有已经运行的快应用的第一信息和第二信息,可以称为日志,即日志中包括快应用标识、时间信息、第一钩子函数输出的第一信息和第二钩子函数输出的第二信息。在这种情况下,可以只针对目标快应用进行第一信息和第二信息的组合,以及将已调用的快应用的API的信息按照时间先后顺序进行排序。
在另一种可能的实施方式中,该步骤202可以包括:
通过第一钩子函数获取已调用的快应用API的第一信息,该第一信息包括快应用API的标识和参数值;
通过第二钩子函数获取已调用的快应用API的第二信息,该第二信息包括快应用API的返回值。
也即是,可以直接将第一信息和第二信息分别输出,得到行为信息。
203:在行为信息中查找恶意行为信息。
可选地,该步骤203可以包括:
第一步、输出获取到的行为信息;示例性地,可以以日志的形式输出获取到的行为信息,在该日志中,快应用API的信息按照时间先后顺序排列。
第二步、采用人工的方式,逐条查看快应用API的信息是否为恶意行为信息。其中,恶意行为信息可以为恶意行为所对应的快应用API的信息。
示例性地,恶意行为包括:发送扣费请求、访问恶意URL、发送用户信息等等。
若查找到恶意行为信息,则该方法还可以包括:
204:基于找到的恶意行为信息,提取恶意行为特征。
可选地,可以将恶意行为信息的部分或者全部提取为恶意行为特征。
例如,若恶意行为为访问恶意URL,可以将该恶意行为对应的快应用API的信息全部作为恶意行为特征,也可以仅将恶意URL作为恶意行为特征,由于恶意URL为快应用API的参数值,所以这种情况下相当于是将快应用API的信息的部分作为恶意行为特征。
205:保存恶意行为特征。
示例性地,可以将该恶意行为特征保存到杀毒软件中,以便可以利用杀毒软件对快应用进行处理。
可选地,该方法还可以包括:若快应用运行异常,则删除快应用。快应用运行异常,例如、卡死、闪退等,则表示该快应用无法进行检测,没有存在的必要,直接删除以节省计算机的资源。
可选地,该方法还可以包括:在该步骤202之后,删除快应用。在获取到快应用的行为信息之后,可以将该快应用删除。
在本申请实施例中,快应用的行为信息包括快应用API的标识、快应用API的参数值和返回值,快应用API是由至少一个原生API封装得到的,这种快应用行为信息相对于由原生API表示的快应用平台的行为信息能够更直接且准确的反应快应用的行为,所以基于该快应用的行为信息可以准确判断出快应用在运行过程中是否存在恶意行为。并且,通过行为信息可以直接判断是否存在恶意行为,不需要对快应用的运行环境进行逆向分析,降低了实现难度。
此外,本申请利用两个钩子函数分别获取快应用API的第一信息和第二信息,然后再将属于同一快应用API的第一信息和第二信息组合,从而得到行为信息,实现难度小。在将属于同一快应用API的信息组合之后,便于查看,进而便于确定该快应用API的信息是否为恶意行为信息以及提取恶意行为特征。再者,在将属于同一快应用API的第一信息和第二信息组合时,利用快应用运行过程中调用函数时的回调值来定位属于同一快应用API的第一信息和第二信息,实现简单。
通过提取快应用的恶意行为信息,可以为研究恶意程序行为提供更多参考,且有利于后续查杀病毒时能够实时准确的发现快应用恶意程序。
图5为本申请一个示意性实施例的快应用检测方法的流程示意图,该方法适用于前述第二种场景,在该场景下,该方法的执行主体可以使用Android系统的终端。并且,Android系统还安装有快应用平台,以支持快应用的运行。如图5所示,该方法包括:
301:运行快应用。
该步骤301可以参见前述步骤201,在此省略详细描述。
302:获取快应用在运行过程中的行为信息。
其中,行为信息包括已调用的快应用API的信息,所述快应用API的信息包括快应用API的标识、参数值和返回值,所述快应用API由至少一个原生API封装而成。
该步骤302的实现过程可以参见前述步骤202,在此省略详细描述。
303:将行为信息与恶意行为特征进行匹配,得到匹配结果。
示例性地,该恶意行为特征可以采用图2所示实施例中的方法得到。
可选地,该步骤303可以包括:
将行为信息中的每个快应用API的信息逐个与恶意行为特征进行匹配,若匹配成功,则表示对应的快应用API的信息为恶意行为信息;若匹配失败,则表示对应的快应用API的信息为非恶意行为信息。相应的,得到的匹配结果可以用于指示快应用API的信息中是否存在恶意行为信息。
示例性地,若快应用API的信息包括恶意行为特征或者与恶意行为特征相同,则表示匹配成功;若快应用API的信息不包括恶意行为特征且与恶意行为特征不相同,则表示匹配失败。
可选地,特征匹配可以采用人工的方式,也可以使用机器学习等方式。
304:基于匹配结果判定所述快应用的安全性。
若匹配结果指示快应用API的信息中存在恶意行为信息;则表示快应用是不安全的;若匹配结果指示快应用API的信息中不存在恶意行为信息,则表示快应用是安全的。
可选地,该方法还可以包括:当判定所述快应用不安全时,删除该快应用;或者,当判断所述快应用不安全时,禁止调用恶意行为对应的快应用API。通过删除快应用或者禁止快应用的恶意行为可以保证终端的安全性。
在本申请实施例中,快应用的行为信息包括快应用API的标识、快应用API的参数值和返回值,快应用API是由至少一个原生API封装得到的,这种快应用行为信息相对于由原生API表示的快应用平台的行为信息能够更直接且准确的反应快应用的行为,所以基于该快应用的行为信息可以准确判断出快应用在运行过程中是否存在恶意行为。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请实施例的对话系统的配置装置的结构框图。该装置可以实现成为服务器或终端的全部或一部分。如图6所示,该装置包括:运行模块401、获取模块402和检测模块403。
运行模块401用于运行快应用;获取模块402用于获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API的信息包括快应用API的标识、参数值和返回值,所述快应用API由至少一个原生API封装而成;检测模块403用于基于所述获取模块得到的所述行为信息对所述快应用进行检测。
可选地,获取模块402可以包括:第一获取子模块4021、第二获取子模块4022和组合子模块4023。
第一获取子模块4021用于通过第一钩子函数获取已调用的快应用API的第一信息,所述第一信息包括快应用API的标识和参数值;第二获取子模块4022用于通过第二钩子函数获取已调用的快应用API的第二信息,所述第二信息包括快应用API的返回值;组合子模块4023用于将同一快应用API的所述第一信息和所述第二信息组合,以得到所述行为信息。
可选地,所述第一信息和所述第二信息均还包括快应用API的回调callback值;所述组合子模块4023,用于具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
在本申请实施例中,快应用的行为信息包括快应用API的标识、快应用API的参数值和返回值,快应用API是由至少一个原生API封装得到的,这种快应用行为信息相对于由原生API表示的快应用平台的行为信息能够更直接且准确的反应快应用的行为,所以基于该快应用的行为信息可以准确判断出快应用在运行过程中是否存在恶意行为。
本申请实施例还提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端。该计算机设备可以包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
图7是本申请实施例提供的一种终端的结构框图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的快应用检测方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种快应用检测方法,其特征在于,所述方法包括:
运行快应用;
获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API由至少一个原生API封装而成,所述快应用API的信息包括快应用API的标识、参数值和返回值;及
基于所述行为信息对所述快应用进行检测。
2.根据权利要求1所述的方法,其特征在于,所述获取所述快应用在运行过程中的行为信息,包括:
通过第一钩子函数获取已调用的快应用API的第一信息,所述第一信息包括快应用API的标识和参数值;
通过第二钩子函数获取已调用的快应用API的第二信息,所述第二信息包括快应用API的返回值;
将同一快应用API的所述第一信息和所述第二信息组合,以得到所述行为信息。
3.根据权利要求2所述的方法,其特征在于,所述第一信息和所述第二信息均还包括快应用API的回调callback值;
所述将同一快应用API的所述第一信息和所述第二信息组合,包括:
将具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述基于所述行为信息对所述快应用进行检测,包括:
在所述行为信息中查找恶意行为信息;
或者,
所述基于所述行为信息对所述快应用进行检测,包括:
将所述行为信息与恶意行为特征进行匹配,得到匹配结果;
基于所述匹配结果判定所述快应用的安全性。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于找到的所述恶意行为信息,提取恶意行为特征;
保存所述恶意行为特征。
6.一种快应用检测装置,其特征在于,所述装置包括:
运行模块,用于运行快应用;
获取模块,用于获取所述快应用在运行过程中的行为信息,所述行为信息包括已调用的快应用API的信息,所述快应用API由至少一个原生API封装而成,所述快应用API的信息包括快应用API的标识、参数值和返回值;及
检测模块,用于基于所述获取模块得到的所述行为信息对所述快应用进行检测。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,包括:
第一获取子模块,用于通过第一钩子函数获取已调用的快应用API的第一信息,所述第一信息包括快应用API的标识和参数值;
第二获取子模块,用于通过第二钩子函数获取已调用的快应用API的第二信息,所述第二信息包括快应用API的返回值;
组合子模块,用于将同一快应用API的所述第一信息和所述第二信息组合,以得到所述行为信息。
8.根据权利要求7所述的装置,其特征在于,所述第一信息和所述第二信息均还包括快应用API的回调callback值;
所述组合子模块,用于具有相同的回调值的第一信息中的快应用API的标识和参数值与第二信息中的快应用API的返回值组合。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的方法。
CN201910503075.4A 2019-06-11 2019-06-11 快应用检测方法、装置、设备和存储介质 Pending CN110222506A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910503075.4A CN110222506A (zh) 2019-06-11 2019-06-11 快应用检测方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910503075.4A CN110222506A (zh) 2019-06-11 2019-06-11 快应用检测方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN110222506A true CN110222506A (zh) 2019-09-10

Family

ID=67816408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910503075.4A Pending CN110222506A (zh) 2019-06-11 2019-06-11 快应用检测方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110222506A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021243555A1 (zh) * 2020-06-02 2021-12-09 深圳市欢太科技有限公司 一种快应用检测方法、装置、设备及存储介质
CN113821797A (zh) * 2020-06-18 2021-12-21 中国电信股份有限公司 软件开发工具包的安全检测方法、装置以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252592A (zh) * 2013-06-27 2014-12-31 贝壳网际(北京)安全技术有限公司 外挂应用程序的识别方法及装置
CN106709342A (zh) * 2016-07-01 2017-05-24 腾讯科技(深圳)有限公司 恶意程序检测方法及装置
CN109107163A (zh) * 2018-07-20 2019-01-01 广州华多网络科技有限公司 模拟按键检测方法、装置、计算机设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252592A (zh) * 2013-06-27 2014-12-31 贝壳网际(北京)安全技术有限公司 外挂应用程序的识别方法及装置
CN106709342A (zh) * 2016-07-01 2017-05-24 腾讯科技(深圳)有限公司 恶意程序检测方法及装置
CN109107163A (zh) * 2018-07-20 2019-01-01 广州华多网络科技有限公司 模拟按键检测方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021243555A1 (zh) * 2020-06-02 2021-12-09 深圳市欢太科技有限公司 一种快应用检测方法、装置、设备及存储介质
CN113821797A (zh) * 2020-06-18 2021-12-21 中国电信股份有限公司 软件开发工具包的安全检测方法、装置以及存储介质

Similar Documents

Publication Publication Date Title
CN109547495B (zh) 敏感操作处理方法、装置、服务器、终端及存储介质
CN109117635B (zh) 应用程序的病毒检测方法、装置、计算机设备及存储介质
JP7348289B2 (ja) アプリケーション許可を管理する方法及び電子デバイス
CN110471858A (zh) 应用程序测试方法、装置及存储介质
CN111602108B (zh) 一种应用图标的显示方法及终端
CN110751503B (zh) 广告处理方法和电子设备
WO2022160991A1 (zh) 权限控制方法和电子设备
CN110851823B (zh) 数据访问方法、装置、终端及存储介质
CN109711832A (zh) 进行支付的方法、装置和系统
CN110032417A (zh) 会话入口屏蔽方法、装置、设备及存储介质
CN109522146A (zh) 对客户端进行异常测试的方法、装置及存储介质
CN111241499A (zh) 应用程序登录的方法、装置、终端及存储介质
CN110032702A (zh) 网页显示方法、装置、设备及存储介质
CN108848492A (zh) 用户身份识别卡的启用方法、装置、终端及存储介质
CN111191227B (zh) 阻止恶意代码执行的方法和装置
CN108806670A (zh) 语音识别方法、装置及存储介质
CN108229171A (zh) 驱动程序处理方法、装置及存储介质
CN110222506A (zh) 快应用检测方法、装置、设备和存储介质
CN115438354A (zh) 一种用户隐私保护方法及装置
CN110109770A (zh) 调试方法、装置、电子设备及介质
CN109308265A (zh) 生成反向测试用例的方法和装置
CN111970298A (zh) 应用访问方法、装置、存储介质及计算机设备
CN112597417B (zh) 页面更新方法、装置、电子设备及存储介质
CN114816600B (zh) 会话消息显示方法、装置、终端及存储介质
CN109299319A (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