CN109492391A - 一种应用程序的防御方法、装置和可读介质 - Google Patents

一种应用程序的防御方法、装置和可读介质 Download PDF

Info

Publication number
CN109492391A
CN109492391A CN201811306960.5A CN201811306960A CN109492391A CN 109492391 A CN109492391 A CN 109492391A CN 201811306960 A CN201811306960 A CN 201811306960A CN 109492391 A CN109492391 A CN 109492391A
Authority
CN
China
Prior art keywords
application program
safety detection
sensitive
sensitive behavior
trigger condition
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.)
Granted
Application number
CN201811306960.5A
Other languages
English (en)
Other versions
CN109492391B (zh
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 CN201811306960.5A priority Critical patent/CN109492391B/zh
Publication of CN109492391A publication Critical patent/CN109492391A/zh
Application granted granted Critical
Publication of CN109492391B publication Critical patent/CN109492391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Abstract

本发明公开了一种应用程序的防御方法、装置和可读介质,属于安全检测技术领域,本发明提供的方法及装置中,通过获取系统的敏感应用程序接口API的调用情况以确定是否有应用程序执行了敏感行为,在敏感API被调用时获取调用该敏感API的应用程序,并基于敏感API的调用情况以及调用敏感API的应用程序生成敏感行为记录;基于生成的敏感行为记录,调用预设的安全性检测触发条件来确定应用程序是否符合设置的安全性检测触发条件,且在确定出应用程序满足安全性检测触发条件时,立即触发对应用程序进行安全性检测的流程,不需要用户或安全软件主动触发检测,采用本发明提供的方法实时性更强且低时延,能够及时且快速的检测出执行恶意行为的恶意应用程序。

Description

一种应用程序的防御方法、装置和可读介质
技术领域
本发明涉及安全检测技术领域,尤其涉及一种应用程序的防御方法、装置和可读介质。
背景技术
随着计算机技术的发展,应用程序越来越多,而这些应用程序中不免存在一些恶意应用程序,这些恶意应用程序一旦安装到用户终端上,可能会导致用户的敏感数据受到威胁,因此,对用户终端上安装的应用程序的安全性检测,有效防御恶意应用程序是十分重要的。
现有技术根据检测时机的不同,提供了三种检测方案,参考图1所示,一种是在应用程序安装时,利用安全软件对应用程序进行静态扫描和检测,另一种是在安全软件内设置定时扫描机制,定时对终端上安装的全部应用程序进行静态扫描和检测,再者就是用户使用安全软件时,通过界面交互主动触发安全软件对终端上安装的应用程序进行静态扫描和检测。
发明人发现,现有技术提供的三种方法,需要安全软件或者用户主动参与才能触发扫描和检测,会导致防御效果具有一定的时延,此外,当恶意应用程序发生了变种(例如批量重打包和批量混淆等),采用现有技术提供的方法不一定能快速识别出这类恶意应用程序。
因此,如何及时地对应用程序进行安全性检测,进而有效识别出恶意应用程序是值得考虑的问题之一。
发明内容
本发明实施例提供一种应用程序的防御方法、装置和可读介质,用以及时地对应用程序进行安全性检测。
第一方面,本发明实施例提供一种应用程序的防御方法,包括:
获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为;
当所述敏感API被调用时,获取调用所述敏感API的应用程序;
根据所述敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录;
基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件;
在所述应用程序满足所述安全性检测触发条件时,对所述应用程序进行安全性检测。
通过设置安全性检测触发条件,在生成应用程序的敏感行为记录后,可以及时地基于生成的敏感行为记录确定应用程序是否符合设置的安全性检测触发条件,从而及时有效地对应用程序进行安全性检测。
第二方面,本发明实施例提供一种应用程序的防御装置,包括:
事件监控模块,用于获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为;当所述敏感API被调用时,获取调用所述敏感API的应用程序;根据所述敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录;
向量生成模块,用于基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件;
检测模块,用于在所述向量生成模块确定出所述应用程序满足所述安全性检测触发条件时,则对所述应用程序进行安全性检测。
第三方面,本发明实施例提供一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请提供的应用程序的防御方法。
第四方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请提供的应用程序的防御方法。
本发明有益效果:
本发明实施例提供的应用程序的防御方法、装置和可读介质,通过获取系统的敏感应用程序接口API的调用情况以确定是否有应用程序执行了敏感行为,然后在敏感API被调用时获取调用该敏感API的应用程序,并基于敏感API的调用情况以及调用敏感API的应用程序生成敏感行为记录,并基于生成的敏感行为记录,调用预设的安全性检测触发条件来确定应用程序是否符合预先设置的安全性检测触发条件,且在确定出应用程序满足安全性检测触发条件时,立即触发对应用程序进行安全性检测的流程,不需要用户或安全软件主动触发检测,采用本发明提供的方法实时性更强,且时延更低,能够更及时且快速的检测出执行恶意行为的恶意应用程序。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中对应用程序进行安全性检测的执行逻辑架构示意图;
图2a为实施本发明实施例提供的应用程序的防御方法的终端设备的执行逻辑架构示意图;
图2b为本发明实施例提供的应用程序的防御方法中安全性检测触发条件更新方法的应用场景示意图;
图3为本发明实施例提供的应用程序的防御方法的流程示意图之一;
图4为本发明实施例提供的基于敏感行为记录确定应用程序是否满足调用的安全性检测触发条件的流程示意图之一;
图5为本发明实施例提供的基于敏感行为记录确定应用程序是否满足调用的安全性检测触发条件的流程示意图之二;
图6为本发明实施例提供的基于敏感行为记录确定应用程序是否满足调用的安全性检测触发条件的流程示意图之三;
图7为本发明实施例提供的在确定出应用程序满足调用的安全性检测触发条件之后,在对应用程序进行安全性检测之前的流程示意图;
图8为本发明实施例提供的应用程序的防御方法的流程示意图之二;
图9为本发明实施例提供的在步骤S82中确定出当前监控的应用程序的数量大于预设的数量阈值之后,在对监控时长满足清理条件的应用程序进行安全性检测之前的流程示意图;
图10为本发明实施例提供的应用程序的防御方法的流程示意图之三;
图11为本发明实施例提供的应用程序的防御装置的结构示意图;
图12为本发明实施例提供的实施应用程序的防御方法的终端设备的结构示意图。
具体实施方式
本发明实施例提供的数据应用程序的防御方法、装置和可读介质,用以及时地对应用程序进行安全性检测。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了便于理解本发明,本发明涉及的技术术语中:
1、APK:Android Package的缩写,本发明指Android应用程序。
2、插桩:在Android系统特定代码处插入一段自定义代码,系统运行这段特定代码时会执行插入的自定义代码。
3、恶意应用程序,是指具有恶意行为的Android应用程序。
4、敏感API,是指Android系统中与敏感行为相关的应用程序接口(applicationprogramming interface,API)。
现有技术常采用安装的安全软件或者用户参与才能够触发扫描和检测,会存在防御效果不及时的问题,当恶意应用程序伪装成正常应用来安装,在运行时从云端下载恶意子包来动态加载运行,在应用退出后删除下载的恶意子包,如果采用现有技术提供的方法,会存在无法实时有效的检测出上述恶意行为。
为了解决现有技术无法及时有效地检测出恶意行为,无法及时地对应用程序进行安全性检测的问题,本发明实施例给出了解决方案,提供了一种终端设备,参考图2a所示,为该终端设备的结构示意图,该终端设备包括事件监控模块,向量生成模块和检测引擎,该检测引擎包括检测模块,事件监控模块用于获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为,当监控到敏感API被调用时,获取调用敏感API的应用程序,并根据敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录,然后事件监控模块将生成的敏感行为记录发送给向量生成模块,以使向量生成模块基于敏感行为记录,调用预设的安全性检测触发条件以确定应用程序是否满足安全性检测触发条件;若确定出上述应用程序满足安全性检测触发条件,则将敏感行为记录以向量形式发送给检测模块,使得检测模块根据接收到的向量形式的敏感行为记录对应用程序进行安全性检测。这样一来,通过设置安全性检测触发条件,使得基于应用程序执行的敏感行为生成的敏感行为记录确定应用程序是否满足设置的安全性检测触发条件,当满足安全性检测触发条件时则立即对应用程序执行安全性检测,从而有效提高了应用程序检测的时效性,而且本发明对执行敏感行为的应用程序进行了主动防御,在一定程度上提高了终端设备的安全性。
较佳地,本发明提供的应用程序的防御方法中的安全性检测触发条件是不断更新的,可以参考图2b所示的结构示意图,包括图2a中的终端设备和云端服务器,云端服务器中设置有触发策略更新模块,以及终端设备中的检测引擎还包括策略更新模块。具体实施时,终端设备中的策略更新模块会主动向云端服务器中的触发策略更新模块发送安全性检测触发条件更新查询请求,若确定出云端服务器中的安全性检测触发条件已更新,则终端设备中的策略更新模块从云端服务器中的触发策略更新模块拉取更新后的安全性检测触发条件,然后利用更新后的安全性检测触发条件更新终端设备本地存储的安全性检测触发条件。这样一来,保证了安全性检测触发条件的时新性和灵活性。
需要说明的是,本发明提供的应用程序的防御方法可以但不限于应用于具有Android操作系统的、具有图2a所示的结构的终端设备中,需要说明的是,图2a所示的事件监控模块和向量生成模块均分布在终端设备中操作系统的系统层,而检测模块分布在操作系统的应用层,向量生成模块会动态接收事件监控模块传递的多个敏感行为记录,然后基于接收到的敏感行为记录,调用预设的安全性检测触发条件以确定应用程序是否符合安全性检测触发条件,当应用程序满足安全性检测触发条件时,向量生成模块会发送专门配置的广播将敏感行为记录以向量的形式发送给检测模块,由检测模块对应用程序进行安全性检测。为了描述方便,后续以应用于Android操作系统的终端设备为例进行说明。
下面结合图2a和图2b所示的应用场景,参考图3-图12来描述根据本发明示例性实施方式提供的应用程序的防御方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图3所示,为本发明实施例提供的应用程序的防御方法的流程示意图,以将应用到Android系统的终端设备中为例进行说明,可以包括以下步骤:
S31、获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为。
具体地,本发明通过预先在终端设备的Android系统层使用插桩技术,即:在Android系统层多个敏感行为相关API处插入一段自定义代码,该代码能够监控系统的敏感API的调用情况,然后根据该调用情况来确定终端设备上的应用程序是否调用了敏感API以确定应用程序是否执行了敏感行为。
具体实施时,当事件监控模块监控到任一应用程序运行期间,该应用程序调用了Android系统预先配置的敏感API时,则确定该应用程序执行了敏感行为,由于在敏感API处插入了自定义代码,则在调用敏感API时会驱动执行自定义代码,该自定义代码会实时记录敏感API的调用情况。需要说明的是,本发明中的自定义代码仅记录敏感API的调用情况,并不会对调用过程进行拦截。
需要说明的是,本发明中可以实时或周期性的获取系统的敏感API的调用情况,当实时获取敏感API的调用情况,这样尽可能多的捕获到应用程序调用的敏感API,以防漏掉应用程序调用的敏感API的情况发生,在此基础上不会影响应用程序是否满足安全性检测条件的判断结果。当由于实时获取敏感API的调用情况可能会对系统的开销造成负担,为了在一定程度上减少系统的开销,可以周期性获取敏感API的调用情况,这样也可以获取到敏感API的调用情况,在此基础之上也可以确定出应用程序是否满足设置的安全性检测触发条件,起到了对应用程序的主动防御作用。此外,本发明中会不断获取系统的敏感API的调用情况,故有效实现了对应用程序的动态防御。
S32、当敏感API被调用时,获取调用敏感API的应用程序。
S33、根据敏感API的调用情况以及调用敏感API的应用程序生成敏感行为记录。
步骤S32和步骤S33中,事件监控模块在监控到敏感API被调用时,则可以确定出应用程序执行了敏感行为,而且可以得到调用敏感API的应用程序,进而基于敏感API的调用情况和调用上述敏感API的应用程序生成敏感行为记录。具体实施时,本发明中的敏感API的调用情况可以用被调用的敏感API的敏感函数的标识信息来表示,也即本发明中敏感行为的标识信息,该标识信息可以为预先设置的,然后在监测到应用程序执行了敏感函数则确定敏感函数的标识信息,该标识信息可以为预置的敏感函数的序号等,且不同的敏感函数其对应的序号不同。
此外,本发明中可以获取调用敏感API的应用程序的标识信息和该应用程序所在进程的标识信息,然后基于应用程序的标识信息、该应用程序所在进程的标识信息和执行的敏感函数的标识信息生成敏感行为记录,即:将这三个信息组合得到本次执行的敏感行为的敏感行为记录。例如,应用程序的标识信息可以用UID表示,执行应用程序的进程的标识信息用PID表示,执行的敏感函数的标识信息用APIn表示,其中,UID为User Identifier的缩写,即用户ID,Android应用程序在终端设备中安装时,该终端设备的Android操作系统会为该应用程序分配一个唯一的UID,用来唯一标识该应用程序;PID为ProcessIdentifier的缩写,即进程ID,Android应用程序每次运行时,Android操作系统为该应用程序自动分配一个唯一的PID,当应用程序退出后,为该应用程序服务的进程被系统释放,同时该进程的PID被系统回收。需要说明的是,本发明中的UID为终端设备中的Android操作系统分配的,不同终端设备中对同一应用程序分配UID时也是不相同的。表1示意性给出了生成的敏感行为记录,并列出了不同的应用程序的敏感行为记录:
表1
例如,监控到应用程序正在执行拨号服务(拨号服务为敏感行为),则事件监控模块记录应用程序调用拨号服务的拨号函数的序号,然后基于该序号生成敏感行为记录,如拨号函数的序号为API3,应用程序的标识信息为UID3,该应用程序所在进程的标识信息为PID3,则基于此敏感行为生成的敏感行为记录为(UID3,PID3,API3)。
S34、基于所述敏感行为记录,调用预设的安全性检测触发条件以确定应用程序是否满足安全性检测触发条件,若是则执行步骤S35;否则执行继续执行步骤S31。
本步骤由向量生成模块实施,当事件监控模块生成敏感行为记录后,将敏感行为记录发送给向量生成模块,由向量生成模块收集接收到的敏感行为记录,然后基于收集的敏感行为记录与向量生成模块内设置的安全性检测触发条件确定应用程序是否满足检测时机,以及时地对应用程序进行安全性检测,后续详细介绍之。
S35、对应用程序进行安全性检测。
通过采用步骤S31~S35,基于应用程序的敏感行为生成的敏感行为记录和设置的安全性检测触发条件,能够及时地对应用程序进行安全性检测,有效提高了应用程序检测的时效性,同时也在一定程度上提高了终端设备的安全性。
具体地,由于事件监控模块插桩点较多,如果每次监控到敏感API被调用就触发一次应用程序的安全性检测,会给Android操作系统带来很大的性能开销,故为了避免频繁触发检测,本发明设置了安全性检测触发条件来规定何时触发检测,及何时清理内存,由于本发明提供的安全性检测触发条件的多样性,接下来详细介绍一下步骤S34的实施过程。
较佳地,当本发明生成的敏感行为记录包括应用程序执行的敏感行为的标识信息时,可以按照图4所示的流程执行步骤S34,包括以下步骤:
S41、确定敏感行为的标识信息是否在设定的关键敏感行为标识列表中,若是则执行步骤S42;否则执行步骤S43。
具体地,本发明可以预先设置了关键敏感行为标识列表,该关键敏感行为标识列表中存储有对安全性要求较高的敏感行为的标识信息,例如该标识列表中可以但不限于包括以下至少一项:与激活设备管理器API的相关的敏感行为的标识信息,与调用短信发送API相关的敏感行为的标识信息,与调用移除设备管理组件API相关的敏感行为的标识信息等等。
当检测到应用程序执行的敏感行为的标识信息包含在敏感行为标识列表中,则表明该应用程序触发了安全性要求比较高的敏感行为,则立即触发一次应用程序的安全性检测流程。
S42、确定应用程序满足安全性检测触发条件。
S43、确定应用程序不满足安全性检测触发条件。
通过实施图4所示的流程,可以对实施了对安全性要求较高的敏感行为的应用程序及时进行安全性检测,在一定程度上提高了终端设备的安全性。
可选地,本发明提供的敏感行为记录中还可以包括应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列等,本发明中的敏感行为标识序列为不去重的记录敏感行为的标识信息构成的序列,结合表1所示,UID1对应的敏感行为标识序列[API1,API2,API1,API3,……],而UID2对应的应用程序的敏感行为标识序列为[API1,API2,……]。
在此基础之上,本发明还可以按照图5所示的流程实施步骤S34,包括以下步骤:
S51、确定当前时间对应的增量统计时间段。
具体地,为了确保检测应用程序的实时性,本发明会对瞬时增加的敏感行为的数量进行统计,因为恶意应用程序主要是攻击终端设备的用户在终端设备中记录的个人数据,如一些账号等信息,故恶意应用程序可能会频繁执行一些敏感行为,基于此目的设置了能够统计敏感行为的瞬时增量的安全性检测策略,其原理为:若检测到在当前的增量统计时间段Ti内应用程序执行的敏感行为的累积增量不小于设定的增量阈值ΔN,则确定应用程序满足安全性检测触发条件,主动对应用程序执行一次安全性检测;若小于,则表明该增量统计时间段内瞬时增加的敏感行为的数量较少,则确定该应用程序不满足安全性检测触发条件,然后对下一增量统计时间段Ti+1进行调整,然后继续确定下一统计时间段内该应用程序执行的敏感行为的累积增量是否不小于ΔN。
具体地,在调整下一增量统计时间段时可以按照下述规则进行调整,即:统计时间段梯度增加ΔT,用公式表示为:下一增量统计时间段Ti+1=Ti+ΔT。举例来说,若第一个增量统计时间段为T1,在确定出T1时间段内统计的累积增量小于ΔN时,则将第二个增量统计时间段T2调整为T1+ΔT,然后再继续判断T2增量统计时间段内的应用程序执行的敏感行为的累积增量是否不小于ΔN,若小于,则继续调整第三个增量统计时间段T3为:T2+ΔT,然后再判断第三个增量统计时间段T3内的累积增量是否不小于ΔN,若否则确定满足安全性检测触发条件,立即对应用程序的安全性进行检测,以此类推。具体实施时,增量阈值ΔN和增量时间ΔT可以根据实际情况而定,本发明在此不对其值进行限定。
本步骤中,基于上述原理,向量生成模块在接收到应用程序的敏感行为记录后,会记录接收到的敏感行为记录的当前时间,然后确定出当前时间对应的增量统计时间段,为了描述方便,以当前时间对应的增量统计时间段为Ti为例进行说明。
S52、基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量。
本步骤中,可以基于敏感行为标识序列中包含的敏感行为的标识信息,确定属于该增量统计时间段内敏感行为的累积增量,记为ΔKi
S53、判断累积增量是否小于设定的增量阈值,若否,则执行步骤S54;若是,则执行步骤S55。
本步骤中,可以判断Ti时间段内的累积增量ΔKi是否小于设定的增量阈值ΔN。
S54、确定应用程序满足安全性检测触发条件。
本步骤中,若确定出ΔKi>ΔN,则表明当前增量统计时间段Ti内应用程序执行了较多的敏感行为,可能为恶意应用程序,故确定应用程序满足安全性检测触发条件,则触发检测模块对应用程序进行安全性检测步骤。
S55、确定应用程序不满足安全性检测触发条件。
本步骤中,若确定出ΔKi≤ΔN,则表明应用程序在该增量统计时间段Ti内执行少量的敏感行为,属于正常的访问行为,或者该应用程序存在较低的恶意风险,故确定该应用程序不满足安全性检测触发条件,即当前无需对该应用程序进行安全性检测。
S56、调整下一增量统计时间段,并继续基于接收到的敏感行为记录执行步骤S51。
具体地,在步骤S54判断结果为是时,表明应用程序触发的敏感行为属于正常的访问行为,或者表明该应用程序存在较低的恶意风险,故此时可以调整下一增量统计时间段的区间长度,即将下一增量统计时间段Ti+1调整为:Ti+1=Ti+ΔT,然后在此基础之上继续监控下一次接收到的敏感行为记录,并确定Ti+1时间段内应用程序执行的敏感行为的累积增量ΔKi+1,并继续判断ΔKi+1是否小于ΔN等等。而当步骤S54判断结果为否时,此时,一方面需要将当前之前为该应用程序记录的所有敏感行为记录发送给检测模块,由检测模块对该应用程序基于收到的敏感行为记录进行安全性检测,另一方面,由于检测模块是基于当前之前的敏感行为记录对应用程序进行安全性检测,但并不知道该应用程序之后会不会执行恶意敏感行为,故为了下一次判断,此时也需要按照前述方式调整下一增量统计时间段,然后继续收集该应用程序的敏感行为记录,并继续实施图5所示的流程。基于图5所示的流程,可以及时确定出是否需要对应用程序执行安全性检测。
一种可能的实施方式为,图4和图5可以单独使用,即作为两个安全性触发策略实施,只要满足任一个安全性检测触发条件,即可触发检测模块对应用程序进行安全性检测,这样一来,可以防止漏掉任一种对应用程序进行安全性检测的可能性的情况发生。
另一种可能的实施方式为,将图4和图5所示的流程可以结合使用,即将图4和图5结合作为一个安全性检测触发条件实施,其实施流程为步骤S41、步骤S42,然后在步骤S41判断结果为否时执行步骤S51~S56所示的流程,也就是说,在图4所示的流程中步骤S41判断结果为否时,可以先不执行步骤S43,而是执行图5所示的流程,以确定应用程序是否满足安全性检测触发条件。这样一来,可以更准确地确定出对应用程序进行安全性检测的时机,同时可以避免频繁执行安全性检测所带来的系统开销较大的情况发生。
优选地,本发明提供的敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列,以及每个敏感行为记录的接收时间等,则在此基础之上,本发明还可以按照图6所示的流程实施步骤S34,包括以下步骤:
S61、根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差。
本步骤中,向量生成模块在接收到事件监控模块发送的每个敏感行为记录后,会记录每个敏感行为记录的接收时间,这样,向量生成模块会确定出最近一次接收到上述应用程序的敏感行为记录的接收时间,记为t,将确定出的首次接收到所述应用程序的敏感行为记录的接收时间记为t0,则可以确定出该应用程序的监控时长为这两个接收时间之间的时间差,若监控时长记为tc,则可以得出监控时长tc=t-t0
S62、判断确定出的时间差是否小于预设时长,若否,则执行步骤S63;否则继续执行步骤S31。
本步骤中,若确定出监控时长tc达到预设时长Duration,则确定该应用程序满足安全性检测触发条件,即执行步骤S63,触发检测模块对该应用程序实施安全性检测。
S63、确定应用程序满足安全性检测触发条件。
较佳地,在确定出对该应用程序执行安全性检测之后,且确定出该应用程序为恶意应用程序,如病毒时,会清理该应用程序的敏感行为记录。具体地,由于已基于该应用程序的敏感行为记录进行了安全性检测且已检测出该应用程序为恶意应用程序,故这些敏感行为记录已发挥作用,无需再进行存储,为了节省内存,可以清理内存中存储的该应用程序的敏感行为记录。若对该应用程序进行安全性检测之后确定出该应用程序当前是安全的,则可以继续对该应用程序进行监控,防止错过该应用程序进行安全性检测的时机。
需要说明的是,上述描述的各种安全性检测触发条件可以有下述的实施方案,分别为:
一种可能的实施方式为,图4、图5和图6单独使用,即作为三个独立的安全性检测触发条件实施,只要满足任一个安全性检测触发条件,即可触发检测模块实施应用程序的安全性检测步骤,由于不同的安全性检测触发条件检测的着重点不同,故这样一来,可以防止错过任一种对应用程序进行安全性检测的时机。
另一种可能的实施方式为,将图4、图5和图6至少两种结合使用,包括:将图4、图5和图6任两种结合的方案,以及图4、图5和图6相结合的方案,以将图4和图6结合使用为例进行说明,在步骤S41中确定出敏感行为的标识信息不在设定的敏感行为列表中后,此处不执行步骤S43,而是执行图6所示的步骤,这样一来,可以准确地确定出应用程序进行安全性检测的时机,进而及时对应用程序进行安全性检测,同时可以避免频繁执行安全性检测所带来的系统开销太大的情况发生。需要说明的是,结合流程中的实施顺序可以根据实际情况而定。
优选地,为了避免一个应用程序频繁触发应用程序的安全性检测步骤,例如频繁调用激活设备管理器API,直到用户同意激活为止,这样的操作会导致频繁满足触发策略且频繁执行安全性检测,进而导致本发明提供的方案性能开销较大,故为了解决这一问题,本发明提出限制同一应用相邻两次触发安全性检测的诗句间隔不小于预设的时间间隔阈值,即frequency值。具体地,在基于图3~图6任一流程确定出应用程序满足安全性检测触发条件之后,在对应用程序进行安全性检测之前,还可以包括图7所示的流程,包括以下步骤:
S71、确定应用程序本次满足安全性检测触发条件的时间与上一次执行应用程序的安全性检测的时间之间的时间间隔。
本步骤中,当基于图3~图6任一所示的流程确定出应用程序本次满足安全性检测触发条件时,则为了避免对应用程序频繁执行安全性检测,向量生成模块会确定出应用程序本次满足安全性检测触发条件的时间,然后获取该应用程序上一次执行应用程序安全性检测的时间,最后确定前述两个时间之间的时间间隔。
S72、判断时间间隔是否小于预设的时间间隔阈值,若是,则执行步骤S73;若否,则执行步骤S74。
本步骤中,若确定出步骤S71确定出的时间间隔小于frequency值,则执行步骤S73,即本次不对应用程序进行安全性检测;否则对该应用程序执行安全性检测流程。
S73、本次不对应用程序进行安全性检测。
S74、对应用程序进行安全性检测。
通过采用图7所示的流程,有效解决了应用程序频繁执行安全性检测所带来的系统性能开销较大的问题。
较佳地,本发明提供的应用程序的防御方法还可以包括图8所示的流程,包括以下步骤:
S81、确定监控的应用程序的数量。
具体地,向量生成模块会基于各个应用程序的敏感行为记录确定出当前监控的应用程序的数量。
S82、确定监控的应用程序的数量是否大于预设数量阈值,若是则执行步骤S83;否则继续执行步骤S81,即再次确定监控的应用程序的数量。
本步骤中,向量生成模块可以确定步骤S81统计的监控的应用程序的数量是否达到预设数量阈值,即Limit值,若确定出监控的应用程序的数量达到Limit值,则表明当前监控的应用程序的数量较多,则为了避免本发明提供的方案内存和性能开销太大,故本发明提出对监控时长满足清理条件的应用程序进行安全性检测,否则表明当前监控的应用程序数量不会造成Android操作系统的开销太大,故继续确定监控的应用程序的数量,或者与其他安全性检测触发条件检测判断流程相结合使用。
S83、对监控时长满足清理条件的应用程序进行安全性检测。
具体地,本发明中监控时长满足清理条件可以理解为:确定监控的每个应用程序的监控时长,然后将监控时长最长的,或者将监控时长超过监控时长阈值的应用程序进行安全性检测。以监控时长满足清理条件为监控时长最长为例说明,则确定出监控的应用程序中监控时长最长的应用程序,然后对监控时长最长的应用程序进行安全性检测。
S84、清理监控时长满足清理条件的应用程序的敏感行为记录。
本步骤中,由于本发明已让检测模块对监控时长满足清理条件的应用程序进行安全性检测,故表明监控时长满足清理条件的应用程序的敏感行为记录已无用,故为了节省内存空间,本发明提出可以清理监控时长满足清理条件的应用程序的敏感行为记录。例如,在对监控时长最长的应用程序进行安全性检测之后,表明监控时长最长的应用程序的敏感行为记录已发挥作用,可以清除掉,故为了节省内存空间,故清理监控时长最长的应用程序的敏感行为记录。
需要说明的是,通过实施本发明提供的图8所示的流程,这样可以防止错过任一种对应用程序进行安全性检测的时机。较佳地,除了可以独立实施图8所示的流程外,还可以结合图3~图6中至少一种所示的流程实施,即将图8与图3~图6中至少一种所示的流程整体作为一个安全性检测触发条件,这样可以准确地确定出应用程序进行安全性检测的时机,进而及时对应用程序进行安全性检测,同时可以避免频繁执行安全性检测所带来的系统开销太大的情况发生。具体实施时,结合流程中的实施顺序可以根据实际情况而定,例如将图4与图8结合实施时,可以先执行图4中的步骤再执行图8中的步骤,即:在步骤S41判断结果为否时,执行步骤S81~S84。也可以先执行图8中的步骤然后再执行图4中的步骤,即:在步骤S82判断结果为否时,可以执行步骤S41~S43所示的流程等。
较佳地,在图8所示的流程中,在步骤S82中确定出当前监控的应用程序的数量大于预设的数量阈值之后,在对监控时长满足清理条件的应用程序进行安全性检测之前,还可以先执行图9所示的流程,包括以下步骤:
S91、确定监控的应用程序的数量大于预设数量阈值的时间与上一次执行监控时长满足清理条件的应用程序的安全性检测的时间之间的时间间隔。
S92、判断确定出的时间间隔是否小于预设的时间间隔阈值,若是,则执行步骤S93;若否,则执行步骤S94。
S93、本次不对监控时长满足清理条件的应用程序进行安全性检测。
S94、本次对监控时长满足清理条件的应用程序进行安全性检测。
图9所示的流程中,当基于图8所示的流程监控的应用程序的数量大于预设数量阈值之后,需要对监控时长满足清理条件的应用程序进行安全性检测时,为了避免监控时长满足清理条件的应用程序频繁进行安全性检测,故此处向量生成模块先确定监控的应用程序的数量大于预设数量阈值的时间与上一次对监控时长满足清理条件的应用程序进行安全性检测的时间,然后确定这两个时间之间的时间间隔,再判断步骤S91确定出的时间间隔是否小于预设的时间间隔阈值,即frequency值,若步骤S91确定出的时间间隔小于frequency值,则表明该应用程序存在频繁实施安全性检测的情况,故为了避免Android操作系统性能开销过大,本次不对监控时长满足清理条件的应用程序执行安全性检测,否则可以对监控时长满足清理条件的应用程序执行安全性检测,通过采用上述流程,一方面可以对应用程序及时的进行安全性检测,另一方面也不会造成Android操作系统开销较大。
优选地,本发明提供的应用程序的防御方法还包括:
若接收到应用程序卸载或覆盖安装指令,则清理所述应用程序的敏感行为记录。
具体地,当用户欲卸载某一应用程序,或者某一应用程序存在新版本,用户执行了更新该应用程序时,则会Android操作系统会以广播的形式发送该应用程序的卸载或覆盖安装指令,则向量生成器在接收到上述任一指令后,会清理该应用程序的敏感行为记录,且不会触发对该应用程序进行安全性检测的流程。
需要说明的是,上述方案可以与图3~图9中任一方案相结合,具体可以根据实际情况设定实施顺序,在此不再一一介绍。
可选地,为了提高监控效率,减少误报,本发明提出根据应用程序的UID对Android系统应用信息过滤,即不监控Android系统应用程序的敏感行为。基于此,本发明提出在实施步骤S31之前,即在根据监控结果生成敏感行为记录之前,还包括以下步骤:
步骤一:确定监控的应用程序的标识信息。
步骤二:根据所述应用程序的标识信息,确定所述应用程序不为系统应用程序。
上述两个步骤中,在确定出应用程序执行了敏感行为之后,由于Android系统应用程序本身是安全的,故当Android系统应用程序调用了敏感API时,可以无需记录Android系统应用程序的敏感行为,为此,本发明的事件监控模块在监控到应用程序执行了敏感行为后,本发明会获取执行敏感行为的应用程序的标识信息,以应用程序的标识信息为UID为例进行说明,则事件监控模块可以判断获取到的执行了敏感行为的应用程序的UID是否为Android系统应用程序的UID,如果是,则不对该应用程序生成敏感行为记录,这样可以在一定程度上提高监控效率。
为了更好地理解本发明,以将图3~图9所示的安全性检测触发条件结合使用,作为一个完整的安全性检测触发条件实施时,其流程示意图可以参考图10所示,包括以下步骤:
S101、实时获取系统的敏感应用程序接口API的调用情况,当敏感API被调用时,获取调用所述敏感API的应用程序,并确定应用程序的标识信息。
S102、根据所述标识信息确定应用程序是否为系统应用程序,若是则流程结束;否则执行步骤S103。
S103、根据敏感API的调用情况以及调用敏感API的应用程序生成敏感行为记录。
S104、确定监控的应用程序的数量是否大于预设数量阈值;若是则执行步骤S1011;否则继续执行步骤S105。
S105、根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差。
S106、判断确定出的时间差是否不小于预设时长,若是,则执行步骤S1011;否则执行步骤S107。
S107、判断步骤S101中的敏感行为的标识信息是否在设定的关键敏感行为标识列表中;若否,则执行步骤S108;若是,则执行步骤S1011。
S108、确定当前时间对应的增量统计时间段。
S109、基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量。
S1010、判断上述累积增量是否不小于设定的增量阈值,若是,则执行步骤S1011;否则执行步骤S104。
S1011、确定当前时间与上一次执行应用程序的安全性检测的时间之间的时间间隔。
S1012、判断时间间隔是否不小于预设的时间间隔阈值,若是则执行步骤S1013,若否,则执行步骤S1015。
S1013、对应用程序进行安全性检测,并清理监控时长满足清理条件的应用程序的敏感行为记录。
S1014、若确定出应用程序为病毒,则通过交互界面提示用户。
S1015、本次不对应用程序进行安全性检测。
图10所示的一种应用程序的防御方法的实施例中,事件监控模块实时获取系统的敏感应用程序接口API的调用情况,当敏感API被调用时,则获取调用敏感API的应用程序,并确定上述应用程序的标识信息,事件监控模块然后会根据应用程序的UID确定该应用程序是否为系统应用程序,如果确定出敏感API调用来自系统应用,则不记录该应用程序的敏感行为,即流程结束;否则根据敏感API的调用情况以及调用敏感API的应用程序生成敏感行为记录,以本次生成的敏感行为记录为(UID,PID,API1)为例进行说明,事件监控模块将生成的敏感行为记录发送给向量生成模块。向量生成模块接收到敏感行为记录后,然后依次匹配安全性检测触发条件,即:
向量生成模块确定监控的所有应用程序的数量是否达到预设数量阈值,如上限Limit值,如果达到则执行步骤S1012,即:确定当前时间与监控时长满足清理条件的应用生成上一次执行安全性检测的时间之间的时间间隔,若确定出该时间间隔小于预设的时间间隔阈值,如Frequency值,则不对监控时长满足清理条件的应用程序执行安全性检测,且清理监控时长满足清理条件的应用程序的敏感行为记录;若该时间间隔大于Frequency值,则对监控时长满足清理条件的应用程序执行安全性检测,且在检测出监控时长满足清理条件的应用程序为病毒时通过交互界面输出,否则流程结束。
当监控的应用程序的数量未达到Limit值时,则当前监控的应用程序的监控时长是否达到预设时长,例如上限Duration值,若达到上限Duration值则对该应用程序进行安全性检测,并在执行安全性检测之后清理该应用程序的敏感行为记录;若未达到上限Duration值,则匹配下一个策略,即:确定监控到的敏感行为的标识信息是否在设定的敏感新闻表示列表中,也即确定该应用程序执行的敏感行为是否为关键行为,若在,则执行步骤S1012,即判断该应用程序当前时间与该应用程序上一次执行安全性检测的时间之间的时间间隔,若确定出该时间间隔大于Frequency值,则对该应用程序执行安全性检测,否则本次不对该应用程序执行安全性检测。
若确定出该应用程序执行的敏感行为不是关键行为,则匹配下一个策略,即:确定该应用程序当前对应的增量统计时间段,然后确定该增量统计时间段内应用程序执行的敏感行为的累积增量,若确定出该累积增量达到ΔN,则执行步骤S1012,即判断该应用程序当前时间与该应用程序上一次执行安全性检测的时间之间的时间间隔,若确定出该时间间隔大于Frequency值,则对该应用程序执行安全性检测,否则本次不对该应用程序执行安全性检测。若确定出该累积增量未达到ΔN,则调整下一增量统计时间段,并继续收集该应用程序的敏感行为记录。
在对应用程序进行安全性检测时,当检测出应用程序为病毒时则通过交互界面展示给用户,由用户决定是否卸载该病毒应用程序,如果不是病毒则流程结束。
需要说明的是,图10仅是一种应用程序的防御方案,当然还可以有其他结合方案,在此不再一一列举,具体可以根据实际情况进行设定。
基于上述描述,当向量生成模块在基于应用程序的敏感行为记录确定出应用程序满足安全性检测触发条件之后,需要对应用程序进行安全性检测时,可以按照下述流程实施,包括以下步骤:
步骤一:将应用程序的敏感行为记录转换成敏感行为向量。
具体地,可以将敏感行为记录转换成向量的形式,例如,可以将敏感行为记录转换成敏感行为向量,具体地,位于Android操作系统的系统层的向量生成模块会根据应用程序的UID和该应用程序所在进程的PID来获取应用程序的包名,然后基于包名和应用程序执行的敏感行为的标识信息构成的敏感行为标识序列生成该应用生成的敏感行为向量,其中,敏感行为向量的形式为:(应用程序包名,敏感行为序列),例如基于表1所示的各个应用程序的敏感行为记录得到的各个应用程序的敏感行为向量可以参考表2所示:
表2
敏感行为向量
(包名1,[API1,API2,API1,API3,……])
(包名2,[API1,API2,……])
(包名3,[API3,……])
……
步骤二:将所述敏感行为向量输入到训练好的安全性检测模型中。
向量生成模块当确定出包名1对应的应用程序满足安全性检测触发条件后,则向量生成模块发送专门配置的广播,将包名1对应的应用程序的敏感行为向量以广播形式发送给检测模块,由检测模块将接收到的敏感行为向量输入到预先训练好的安全性检测模块中,该安全性检测模块中预先训练了常见的多种病毒的模型,然后当将敏感行为向量输入到该模型中时,会输出该应用程序分别对应各类病毒的概率,然后将其输出。
步骤三:根据所述安全性检测模型的输出结果,确定所述应用程序的安全性检测是否通过。
具体地,可以基于步骤二的输出结果,确定出输入的敏感行为向量的应用程序是否为病毒,且属于哪一类病毒,以此完成对应用程序的安全性检测,当检测模块判定应用程序为病毒时,会通过终端设备提供的交互界面提示用户,由用户决定是否卸载该病毒应用程序。
较佳地,当确定出应用程序的安全性检测不通过,则将所述安全性检测不通过的结果输出,并清理所述应用程序的敏感行为记录。
具体地,在利用图3~图10任一所示的流程确定出需要对应用程序进行安全性检测,且已由检测模块对应用程序进行安全性检测之后,在确定出应用程序安全性检测不通过,即确定出应用程序为病毒后,则清理该应用程序的敏感行为记录。
优选地,为了保证本发明提供的应用程序的防御方法的灵活性,可以通过分析恶意应用程序实际行为的统计情况,不断完善和优化本发明中的安全性检测触发条件,以平衡系统性能和检测时延。具体地,可以按照下述方法更新本发明中的安全性检测触发条件,包括以下步骤:
首先,向云端服务器发送安全性检测触发条件更新查询请求。
其次,若接收到更新后的安全性检测触发条件,则利用更新后的安全性检测触发条件更新自身的安全性检测触发条件。
上述更新流程中,本发明提供的安全性检测触发条件可以通过云端服务器更新,检测模块会定期向云端服务器发送安全性检测触发条件更新查询请求,以确定安全性检测触发条件是否有更新,例如可以每周去云端服务器查询一次,若确定出云端存在更新后的安全性检测触发条件,则从云端服务器主动拉取更新后的安全性检测触发条件。检测模块然后主动重置Android操作系统层中向量生成模块中的安全性检测触发条件,即利用更新后的安全性检测触发条件更新本地存储的安全性检测触发条件,这样一来,向量生成模块会按照更新后的安全性检测触发条件确定应用程序是否需要进行安全性检测和执行内存清理。通过设置云端服务器,在云端服务器中配置安全性检测触发条件,有效提高了本发明提供的应用程序的防御方法的灵活性,此外,在云端服务器下发更新后的安全性检测触发条件后可即时生效,不需要重新修改Android操作系统的系统层的向量生成模块的代码,不需要重新编译Rom和重新刷机,本发明提供的安全性检测触发条件支持云端更新,可以有效平衡系统性能和检测时延,在尽可能降低性能开销的前提下,保证检测效果的及时和有效性。
本发明提供的应用程序的防御方法,通过获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为,当监控到敏感API被调用时,获取调用敏感API的应用程序,并根据敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录,然后基于生成的敏感行为记录确定应用程序是否符合预先设置的安全性检测触发条件,且在满足安全性检测触发条件时,立即触发对应用程序进行安全性检测的流程,不需要用户或安全软件主动触发检测,采用本发明提供的方法通过设置安全性检测触发条件主动触发检测模块实施病毒检测,为Android操作系统提高实时防护,且实时性更强,且低时延,能够更及时且快速的检测出执行恶意行为的恶意应用程序。
基于同一发明构思,本发明实施例中还提供了一种应用程序的防御装置,由于上述装置解决问题的原理与应用程序的防御方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图11所示,为本发明实施例提供的应用程序的防御装置的结构示意图,包括:
事件监控模块111,用于获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为;当所述敏感API被调用时,获取调用所述敏感API的应用程序;根据所述敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录;
向量生成模块112,用于基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件;
检测模块113,用于在所述向量生成模块112确定出所述应用程序满足所述安全性检测触发条件时,则对所述应用程序进行安全性检测。
可选地,所述装置,还包括:
策略更新模块115,还用于向云端服务器发送安全性检测触发条件更新查询请求;若接收到更新后的安全性检测触发条件,则利用更新后的安全性检测触发条件更新自身的安全性检测触发条件。
可选地,所述向量生成模块112,具体用于将所述应用程序的敏感行为记录转换成敏感行为向量;
所述检测模块113,具体用于将所述敏感行为向量输入到训练好的安全性检测模型中;并根据所述安全性检测模型的输出结果,确定所述应用程序的安全性检测是否通过。
较佳地,所述敏感行为记录包括所述敏感行为的标识信息;则
所述向量生成模块112,具体用于若确定出所述敏感行为的标识信息在设定的关键敏感行为标识列表中,则确定所述应用程序满足安全性检测触发条件。
优选地,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列;则
所述向量生成模块112,还用于在确定出所述敏感行为的标识信息不在设定的关键敏感行为标识列表中,则确定当前时间对应的增量统计时间段;并基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量;若确定出所述累积增量不小于设定的增量阈值,则确定所述应用程序满足安全性检测触发条件,并调整下一增量统计时间段;若确定出所述累积增量小于设定的增量阈值,则确定所述应用程序不满足安全性检测触发条件,并调整下一增量统计时间段。
较佳地,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列,以及每个敏感行为记录的接收时间;则
所述向量生成模块112,还用于若确定出所述敏感行为的标识信息不在设定的关键敏感行为标识列表中,根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差;若确定出所述时间差不小于预设时长,则确定所述应用程序满足安全性检测触发条件。
可选地,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列;
所述向量生成模块112,还用于确定当前时间对应的增量统计时间段;并基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量;若确定出所述累积增量不小于设定的增量阈值,则确定所述应用程序满足安全性检测触发条件,并调整下一增量统计时间段;若确定出所述累积增量小于设定的增量阈值,则确定所述应用程序不满足安全性检测触发条件,并调整下一增量统计时间段。
可选地,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列,以及每个敏感行为记录的接收时间;
所述向量生成模块112,还用于根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差;若确定出所述时间差不小于预设时长,则确定所述应用程序满足安全性检测触发条件。
优选地,所述向量生成模块112,还用于在确定出所述应用程序满足安全性检测触发条件之后,以及在所述检测模块113对所述应用程序进行安全性检测之前,确定所述应用程序本次满足安全性检测触发条件的时间与上一次执行所述应用程序的安全性检测的时间之间的时间间隔;并确定所述时间间隔不小于预设的时间间隔阈值;以及若确定出所述时间间隔小于预设的时间间隔阈值,则本次不对所述应用程序进行安全性检测。
较佳地,所述向量生成模块112,还用于确定监控的应用程序的数量;
所述检测模块113,具体用于若所述向量生成模块112确定出所述数量大于预设数量阈值时,则对监控时长满足清理条件的应用程序进行安全性检测;
清理模块114,用于清理监控时长满足清理条件的应用程序的敏感行为记录。
较佳地,所述向量生成模块112,还用于在确定出所述数量大于预设数量阈值之后,在所述检测模块113对监控时长满足清理条件的应用程序进行安全性检测之前,确定所述数量大于预设数量阈值的时间与上一次执行监控时长满足清理条件的应用程序的安全性检测的时间之间的时间间隔;并确定所述时间间隔不小于预设的时间间隔阈值。
所述检测模块113,具体用于在所述向量生成模块112确定出所述时间间隔小于预设的时间间隔阈值,则本次不对监控时长满足清理条件的应用程序进行安全性检测。
较佳地,本发明提供的清理模块114,还用于若接收到应用程序卸载或覆盖安装指令,则清理所述应用程序的敏感行为记录。
可选地,所述检测模块,还用于若确定出所述应用程序的安全性检测不通过,则将所述安全性检测不通过的结果输出;
所述清理模块114,还用于清理所述应用程序敏感行为记录。
优选地,所述装置,还包括:
所述事件监控模块111,还用于在根据监控结果生成敏感行为记录之前,确定所述应用程序的标识信息;并根据所述应用程序的标识信息,确定所述应用程序不为系统应用程序。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本发明示例性实施方式的应用程序的防御方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的终端设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
参考图12所示,该终端设备除了包括事件监控模块、向量生成模块和检测模块之外,还包括图12所示的结构,图12所示的终端设备中未画出事件检测模块、向量生成模块和检测模块,但并不代表该终端设备中不存在上述三个模块,该终端设备还包括:处理器110、存储器120、重力加速度传感器130、显示单元140、输入单元150、射频(radio frequency,RF)电路160以及电源170等。
其中,处理器110是终端设备的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器120内的软件程序和/或数据,执行终端设备的各种功能,从而对终端设备进行整体监控。可选的,处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用程序等;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
重力加速度传感器130可检测各个方向上(一般为三轴)加速度的大小,同时,所述重力加速度传感器130还可用于检测终端静止时重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单等,本发明实施例中主要用于显示终端设备中各应用程序的显示界面以及显示界面中显示的文本、图片等对象。显示单元140可以包括显示面板1401。显示面板1401可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
输入单元150可用于接收用户输入的数字或字符等信息。输入单元150可包括触控面板151以及其他输入设备152。其中,触控面板151,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板151上或在触控面板151附近的操作),例如本发明实施例中的触控面板151可用于检测用户是否执行了应用程序卸载或应用程序更新指令。具体的,触控面板151可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器110,并接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板151。其他输入设备152可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板151可覆盖显示面板1401,当触控面板151检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1401上提供相应的视觉输出。虽然在图12中,触控面板151与显示面板1401是作为两个独立的部件来实现终端设备100的输入和输出功能,但是在某些实施例中,可以将触控面板151与显示面板1401集成而实现终端设备的输入和输出功能。
终端设备还可包括RF电路160,可用于和基站进行收发信息或数据。通常,RF电路160包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。本发明实施例中,RF电路160可以通过无线通信与网络和其他电子设备通信,所述无线通信可以使用任一通信标准或协议。
终端设备还包括给各个部件供电的电源170(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
终端设备还可以包括音频电路180、扬声器181、麦克风182可提供用户与终端设备之间的音频接口。音频电路180可将接收到的音频数据转换后的电信号传输到扬声器181,由扬声器181转换为声音信号输出;另一方面,麦克风182将收集的声音信号转换为电信号,由音频电路180接收后转换为音频数据,再将音频数据输出处理器110处理后输出,或者将音频数据输出至存储器120以便进一步处理。
终端设备还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述终端设备100还可以包括摄像头等其它部件,由于这些部件不是本申请实施例中重点使用的部件,因此,在图12中没有示出,且不再详述。
在一些可能的实施方式中,本发明提供的应用程序的防御方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的应用程序的防御方法中的步骤,例如,所述计算机设备可以执行如图3所示的步骤S31~S35中应用程序的防御流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于应用程序的防御方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种应用程序的防御方法,其特征在于,包括:
获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为;
当所述敏感API被调用时,获取调用所述敏感API的应用程序;
根据所述敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录;
基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件;
在所述应用程序满足所述安全性检测触发条件时,对所述应用程序进行安全性检测。
2.如权利要求1所述的方法,其特征在于,还包括:
向云端服务器发送安全性检测触发条件更新查询请求;
若接收到更新后的安全性检测触发条件,则利用更新后的安全性检测触发条件更新自身的安全性检测触发条件。
3.如权利要求1所述的方法,其特征在于,对所述应用程序进行安全性检测,具体包括:
将所述应用程序的敏感行为记录转换成敏感行为向量;
将所述敏感行为向量输入到训练好的安全性检测模型中;
根据所述安全性检测模型的输出结果,确定所述应用程序的安全性检测是否通过。
4.如权利要求1所述的方法,其特征在于,所述敏感行为记录包括所述敏感行为的标识信息;
基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件,具体包括:
若确定出所述敏感行为的标识信息在设定的关键敏感行为标识列表中,则确定所述应用程序满足安全性检测触发条件。
5.如权利要求4所述的方法,其特征在于,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列;
若确定出所述敏感行为的标识信息不在设定的关键敏感行为标识列表中,则基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件,具体包括:
确定当前时间对应的增量统计时间段;
基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量;
若确定出所述累积增量不小于设定的增量阈值,则确定所述应用程序满足安全性检测触发条件,并调整下一增量统计时间段;
若确定出所述累积增量小于设定的增量阈值,则确定所述应用程序不满足安全性检测触发条件,并调整下一增量统计时间段。
6.如权利要求4所述的方法,其特征在于,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列,以及每个敏感行为记录的接收时间;
若确定出所述敏感行为的标识信息不在设定的关键敏感行为标识列表中,则基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件,具体包括:
根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差;
若确定出所述时间差不小于预设时长,则确定所述应用程序满足安全性检测触发条件。
7.如权利要求1所述的方法,其特征在于,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列;
基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件,具体包括:
确定当前时间对应的增量统计时间段;并
基于敏感行为标识序列包含的属于该增量统计时间段的敏感行为的标识信息的数量,确定该增量统计时间段内敏感行为的累积增量;
若确定出所述累积增量不小于设定的增量阈值,则确定所述应用程序满足安全性检测触发条件,并调整下一增量统计时间段;
若确定出所述累积增量小于设定的增量阈值,则确定所述应用程序不满足安全性检测触发条件,并调整下一增量统计时间段。
8.如权利要求1所述的方法,其特征在于,所述敏感行为记录中,还包括:所述应用程序历次执行的敏感行为的标识信息构成的敏感行为标识序列,以及每个敏感行为记录的接收时间;
基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件,具体包括:
根据敏感行为标识序列及接收时间,确定最近一次接收到所述应用程序的敏感行为记录的接收时间和首次接收到所述应用程序的敏感行为记录的接收时间之间的时间差;
若确定出所述时间差不小于预设时长,则确定所述应用程序满足安全性检测触发条件。
9.如权利要求1~8任一所述的方法,其特征在于,在确定出所述应用程序满足安全性检测触发条件之后,以及在对所述应用程序进行安全性检测之前,还包括:
确定所述应用程序本次满足安全性检测触发条件的时间与上一次执行所述应用程序的安全性检测的时间之间的时间间隔;
确定所述时间间隔不小于预设的时间间隔阈值;
若确定出所述时间间隔小于预设的时间间隔阈值,则本次不对所述应用程序进行安全性检测。
10.如权利要求1~8任一所述的方法,其特征在于,还包括:
确定监控的应用程序的数量;
若确定出所述数量大于预设数量阈值,则对监控时长满足清理条件的应用程序进行安全性检测,并清理监控时长满足清理条件的应用程序的敏感行为记录。
11.如权利要求10所述的方法,其特征在于,在确定出所述数量大于预设数量阈值之后,在对监控时长满足清理条件的应用程序进行安全性检测之前,还包括:
确定所述数量大于预设数量阈值的时间与上一次执行监控时长满足清理条件的应用程序的安全性检测的时间之间的时间间隔;
确定所述时间间隔不小于预设的时间间隔阈值;
若确定出所述时间间隔小于预设的时间间隔阈值,则本次不对监控时长满足清理条件的应用程序进行安全性检测。
12.如权利要求1~8任一所述的方法,其特征在于,在根据监控结果生成敏感行为记录之前,还包括:
确定所述应用程序的标识信息;
根据所述应用程序的标识信息,确定所述应用程序不为系统应用程序。
13.一种应用程序的防御装置,其特征在于,包括:
事件监控模块,用于获取系统的敏感应用程序接口API的调用情况,以确定是否有应用程序执行了敏感行为;当所述敏感API被调用时,获取调用所述敏感API的应用程序;根据所述敏感API的调用情况以及调用所述敏感API的应用程序生成敏感行为记录;
向量生成模块,用于基于所述敏感行为记录,调用预设的安全性检测触发条件以确定所述应用程序是否满足安全性检测触发条件;
检测模块,用于在所述向量生成模块确定出所述应用程序满足所述安全性检测触发条件时,则对所述应用程序进行安全性检测。
14.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至12任一权利要求所述的方法。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至12任一权利要求所述的方法。
CN201811306960.5A 2018-11-05 2018-11-05 一种应用程序的防御方法、装置和可读介质 Active CN109492391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811306960.5A CN109492391B (zh) 2018-11-05 2018-11-05 一种应用程序的防御方法、装置和可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811306960.5A CN109492391B (zh) 2018-11-05 2018-11-05 一种应用程序的防御方法、装置和可读介质

Publications (2)

Publication Number Publication Date
CN109492391A true CN109492391A (zh) 2019-03-19
CN109492391B CN109492391B (zh) 2023-02-28

Family

ID=65693706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811306960.5A Active CN109492391B (zh) 2018-11-05 2018-11-05 一种应用程序的防御方法、装置和可读介质

Country Status (1)

Country Link
CN (1) CN109492391B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390198A (zh) * 2019-07-31 2019-10-29 阿里巴巴集团控股有限公司 一种对小程序的风险巡检方法、装置及电子设备
CN111190833A (zh) * 2019-11-26 2020-05-22 腾讯云计算(北京)有限责任公司 敏感数据检测方法、装置、存储介质及设备
CN111444497A (zh) * 2020-04-13 2020-07-24 Oppo广东移动通信有限公司 应用程序检测方法、装置以及电子设备
CN111797400A (zh) * 2020-07-08 2020-10-20 国家计算机网络与信息安全管理中心 一种车联网恶意应用动态检测方法及装置
CN112199644A (zh) * 2020-10-09 2021-01-08 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、系统、终端及存储介质
CN115033910A (zh) * 2021-11-12 2022-09-09 荣耀终端有限公司 一种访问记录展示方法及电子设备
CN116700915A (zh) * 2022-12-23 2023-09-05 荣耀终端有限公司 资源调度方法和装置

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240215A1 (en) * 2006-03-28 2007-10-11 Blue Coat Systems, Inc. Method and system for tracking access to application data and preventing data exploitation by malicious programs
CN101373501A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 针对计算机病毒的动态行为捕获方法
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置
US8671455B1 (en) * 2011-09-22 2014-03-11 Symantec Corporation Systems and methods for detecting unintentional information disclosure
CN103679031A (zh) * 2013-12-12 2014-03-26 北京奇虎科技有限公司 一种文件病毒免疫的方法和装置
US20140237594A1 (en) * 2013-02-18 2014-08-21 Wipro Limited Methods and systems for api-level intrusion detection
EP2819055A1 (en) * 2013-06-28 2014-12-31 Kaspersky Lab, ZAO System and method for detecting malicious software using malware trigger scenarios
CN105528295A (zh) * 2016-01-04 2016-04-27 北京航空航天大学 移动应用程序异常行为检测方法及装置
CN105631325A (zh) * 2014-11-03 2016-06-01 中国移动通信集团公司 一种恶意应用程序检测方法和装置
US20160212156A1 (en) * 2015-01-19 2016-07-21 Korea Internet & Security Agency System and method for detecting malicious code based on application programming interface
CN105975856A (zh) * 2015-09-25 2016-09-28 武汉安天信息技术有限责任公司 一种移动终端病毒动态检测方法及系统
CN105989283A (zh) * 2015-02-06 2016-10-05 阿里巴巴集团控股有限公司 一种识别病毒变种的方法及装置
CN106033513A (zh) * 2015-03-13 2016-10-19 阿里巴巴集团控股有限公司 软件检测方法及设备
CN106201864A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 一种应用程序编程接口api测试方法、装置及移动设备
CN106598866A (zh) * 2016-12-22 2017-04-26 合肥国信车联网研究院有限公司 一种基于smali中间语言的静态检测系统及方法
CN107124400A (zh) * 2017-04-01 2017-09-01 中国科学院信息工程研究所 基于安全策略的入侵防御装置及方法
CN107392024A (zh) * 2017-08-08 2017-11-24 微梦创科网络科技(中国)有限公司 一种恶意程序的识别方法及装置
CN107423623A (zh) * 2017-08-04 2017-12-01 郑州云海信息技术有限公司 一种基于行为分析的勒索病毒检测方法及系统
CN107491691A (zh) * 2017-08-08 2017-12-19 东北大学 一种基于机器学习的远程取证工具安全分析系统
CN107622200A (zh) * 2016-07-14 2018-01-23 腾讯科技(深圳)有限公司 应用程序的安全性检测方法及装置
US20180068115A1 (en) * 2016-09-08 2018-03-08 AO Kaspersky Lab System and method of detecting malicious code in files
CN108133139A (zh) * 2017-11-28 2018-06-08 西安交通大学 一种基于多运行环境行为比对的安卓恶意应用检测系统
CN108399336A (zh) * 2018-02-11 2018-08-14 胡丽丽 一种安卓应用恶意行为的检测方法及装置

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240215A1 (en) * 2006-03-28 2007-10-11 Blue Coat Systems, Inc. Method and system for tracking access to application data and preventing data exploitation by malicious programs
CN101373501A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 针对计算机病毒的动态行为捕获方法
US8671455B1 (en) * 2011-09-22 2014-03-11 Symantec Corporation Systems and methods for detecting unintentional information disclosure
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置
US20140237594A1 (en) * 2013-02-18 2014-08-21 Wipro Limited Methods and systems for api-level intrusion detection
EP2819055A1 (en) * 2013-06-28 2014-12-31 Kaspersky Lab, ZAO System and method for detecting malicious software using malware trigger scenarios
CN103679031A (zh) * 2013-12-12 2014-03-26 北京奇虎科技有限公司 一种文件病毒免疫的方法和装置
CN105631325A (zh) * 2014-11-03 2016-06-01 中国移动通信集团公司 一种恶意应用程序检测方法和装置
US20160212156A1 (en) * 2015-01-19 2016-07-21 Korea Internet & Security Agency System and method for detecting malicious code based on application programming interface
CN105989283A (zh) * 2015-02-06 2016-10-05 阿里巴巴集团控股有限公司 一种识别病毒变种的方法及装置
CN106033513A (zh) * 2015-03-13 2016-10-19 阿里巴巴集团控股有限公司 软件检测方法及设备
CN105975856A (zh) * 2015-09-25 2016-09-28 武汉安天信息技术有限责任公司 一种移动终端病毒动态检测方法及系统
CN105528295A (zh) * 2016-01-04 2016-04-27 北京航空航天大学 移动应用程序异常行为检测方法及装置
CN106201864A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 一种应用程序编程接口api测试方法、装置及移动设备
CN107622200A (zh) * 2016-07-14 2018-01-23 腾讯科技(深圳)有限公司 应用程序的安全性检测方法及装置
US20180068115A1 (en) * 2016-09-08 2018-03-08 AO Kaspersky Lab System and method of detecting malicious code in files
CN106598866A (zh) * 2016-12-22 2017-04-26 合肥国信车联网研究院有限公司 一种基于smali中间语言的静态检测系统及方法
CN107124400A (zh) * 2017-04-01 2017-09-01 中国科学院信息工程研究所 基于安全策略的入侵防御装置及方法
CN107423623A (zh) * 2017-08-04 2017-12-01 郑州云海信息技术有限公司 一种基于行为分析的勒索病毒检测方法及系统
CN107392024A (zh) * 2017-08-08 2017-11-24 微梦创科网络科技(中国)有限公司 一种恶意程序的识别方法及装置
CN107491691A (zh) * 2017-08-08 2017-12-19 东北大学 一种基于机器学习的远程取证工具安全分析系统
CN108133139A (zh) * 2017-11-28 2018-06-08 西安交通大学 一种基于多运行环境行为比对的安卓恶意应用检测系统
CN108399336A (zh) * 2018-02-11 2018-08-14 胡丽丽 一种安卓应用恶意行为的检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
N. PEIRAVIAN ET AL.: "Machine learning for android malware detection using permission and api calls", 《25TH IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI)》 *
张小贝: "基于Android平台的恶意代码检测技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390198A (zh) * 2019-07-31 2019-10-29 阿里巴巴集团控股有限公司 一种对小程序的风险巡检方法、装置及电子设备
CN110390198B (zh) * 2019-07-31 2023-09-29 创新先进技术有限公司 一种对小程序的风险巡检方法、装置及电子设备
CN111190833A (zh) * 2019-11-26 2020-05-22 腾讯云计算(北京)有限责任公司 敏感数据检测方法、装置、存储介质及设备
CN111190833B (zh) * 2019-11-26 2023-03-24 腾讯云计算(北京)有限责任公司 敏感数据检测方法、装置、存储介质及设备
CN111444497A (zh) * 2020-04-13 2020-07-24 Oppo广东移动通信有限公司 应用程序检测方法、装置以及电子设备
CN111444497B (zh) * 2020-04-13 2024-03-08 Oppo广东移动通信有限公司 应用程序检测方法、装置以及电子设备
CN111797400A (zh) * 2020-07-08 2020-10-20 国家计算机网络与信息安全管理中心 一种车联网恶意应用动态检测方法及装置
CN111797400B (zh) * 2020-07-08 2023-09-01 国家计算机网络与信息安全管理中心 一种车联网恶意应用动态检测方法及装置
CN112199644A (zh) * 2020-10-09 2021-01-08 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、系统、终端及存储介质
CN115033910A (zh) * 2021-11-12 2022-09-09 荣耀终端有限公司 一种访问记录展示方法及电子设备
CN116700915A (zh) * 2022-12-23 2023-09-05 荣耀终端有限公司 资源调度方法和装置

Also Published As

Publication number Publication date
CN109492391B (zh) 2023-02-28

Similar Documents

Publication Publication Date Title
CN109492391A (zh) 一种应用程序的防御方法、装置和可读介质
CN106412311B (zh) 一种数据传输方法及终端设备
CN106375774B (zh) 一种直播间显示内容控制的方法、装置和系统
CN108932429A (zh) 应用程序的分析方法、终端及存储介质
CN104424431B (zh) 一种重置虚拟机用户登陆密码的方法及装置
CN106331826A (zh) 一种设置直播模板和视频模式的方法、装置和系统
CN106709347B (zh) 应用运行的方法及装置
CN108304105A (zh) 一种应用界面启动方法、移动终端
CN108551411A (zh) 数据采集方法、移动终端及计算机可读存储介质
CN104135500A (zh) 提示应用更新的方法和系统
CN106210755A (zh) 一种播放直播视频的方法、装置和系统
CN108055586A (zh) 视频广告控制方法、移动终端及计算机可读存储介质
CN107861730A (zh) 一种应用程序的处理方法及移动终端
CN107967427A (zh) 监测漏洞攻击的方法、装置及终端设备
CN108541009A (zh) 一种通信状态的检测方法和终端设备
CN106101764A (zh) 一种显示视频数据的方法、装置和系统
CN106130735A (zh) 一种通信信息的处理方法、装置和移动终端
CN107276984A (zh) 游戏直播方法、装置及移动终端
CN109687974A (zh) Apk验证方法、装置、移动终端及可读存储介质
CN109885323A (zh) 一种应用程序升级方法、移动终端和可读存储介质
CN106155691A (zh) 一种移动终端的界面数据处理方法、装置和移动终端
CN106326072A (zh) 信息处理的方法及移动终端
CN104966205A (zh) 对象抽取的方法和装置
CN109714670A (zh) 防尘网检测方法、移动终端及计算机可读存储介质
CN111427644B (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
GR01 Patent grant
GR01 Patent grant