恶意行为识别方法、装置、系统和存储介质与流程

文档序号:21034927发布日期:2020-06-09 20:22阅读:241来源:国知局
恶意行为识别方法、装置、系统和存储介质与流程

本发明涉及信息安全技术领域,特别涉及一种恶意行为识别方法、装置、系统和存储介质。



背景技术:

移动互联网的高速发展引发了各类新型的安全风险的产生。这些安全风险涉及移动用户的流量资费、个人隐私、金融资产、商业情报乃至国家机密等重要信息。一旦产生安全问题,会使得广泛的资源被隐匿地窃取。

近年来,移动终端应用的安全漏洞事件频发,例如海马苹果助手收集用户的苹果账户和密码事件、手机病毒(xcodeghost)安全事件、爱思助手漏洞(fairplay)事件等。为了预防此类事件的发生,在相关技术中的应用安全测试方案中,技术人员多倾向于利用分析工具对终端应用的源代码进行安全分析,以对潜在的安全威胁进行防范。



技术实现要素:

发明人认识到,相关技术中的源代码分析方式得到的结果仅仅是静态的,无法获知运行时(runtime)恶意行为。因此,相关技术中的方案对恶意行为的识别较为片面。

本发明实施例所要解决的一个技术问题是:如何更全面地识别终端应用中的恶意行为。

根据本发明一些实施例的第一个方面,提供一种恶意行为识别方法,包括:监控运行中的终端应用中的一个或多个目标应用程序编程接口api;响应于终端应用调用一个或多个目标api,记录终端应用对一个或多个api的调用信息;根据一个或多个api的调用信息生成行为序列;根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

在一些实施例中,恶意行为识别方法还包括:逆向开发工具theos或修改系统框架服务xposed接收输入的一个或多个目标api,以便监控运行中的终端应用中的一个或多个目标api。

在一些实施例中,第一终端监控在第一终端运行中的终端应用中的一个或多个目标应用程序编程接口api,第一终端为移动终端;响应于终端应用调用一个或多个目标api,第一终端记录终端应用对一个或多个api的调用信息;第二终端根据第一终端发送的一个或多个api的调用信息生成行为序列;第二终端根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

在一些实施例中,api的调用信息包括api的调用时间,以及调用参数、返回值中的至少一种。

在一些实施例中,根据一个或多个api的调用时间,排列一个或多个api的调用时间以外的其他调用信息,生成行为序列。

在一些实施例中,目标api包括文件系统读写api、用户偏好设置api、密钥读取api、加密api、系统未授权api、通信api、粘贴板api、不同的终端应用间的数据交互api、配置文件操作api中的至少一种。

根据本发明一些实施例的第二个方面,提供一种恶意行为识别系统,包括:监控模块,被配置为监控运行中的终端应用中的一个或多个目标应用程序编程接口api;调用信息记录模块,被配置为响应于终端应用调用一个或多个目标api,记录终端应用对一个或多个api的调用信息;行为序列生成模块,被配置为根据一个或多个api的调用信息生成行为序列;恶意行为识别模块,被配置为根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

在一些实施例中,恶意行为识别系统还包括:逆向开发工具theos模块或修改系统框架服务xposed模块,被配置为接收输入的一个或多个目标api,以便监控运行中的终端应用中的一个或多个目标api。

在一些实施例中,监控模块和调用信息记录模块位于第一终端,第一终端为移动终端;行为序列生成模块和恶意行为识别模块位于第二终端。

在一些实施例中,api的调用信息包括api的调用时间,以及调用参数、返回值中的至少一种。

在一些实施例中,行为序列生成模块进一步被配置为根据一个或多个api的调用时间,排列一个或多个api的调用时间以外的其他调用信息,生成行为序列。

在一些实施例中,目标api包括文件系统读写api、用户偏好设置api、密钥读取api、加密api、系统未授权api、通信api、粘贴板api、不同的终端应用间的数据交互api、配置文件操作api中的至少一种。

根据本发明一些实施例的第三个方面,提供一种恶意行为识别装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种恶意行为识别方法。

根据本发明一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种恶意行为识别方法。

上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以从终端应用的运行时(runtime)的安全角度出发,通过监测目标api的调用情况生成行为序列,以识别恶意行为。从而,实现了恶意行为的动态检测。相较于相关技术,可以更全面地识别终端应用中的恶意行为。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明一些实施例的恶意行为识别方法的流程示意图。

图2为根据本发明另一些实施例的恶意行为识别方法的流程示意图。

图3为根据本发明又一些实施例的恶意行为检测方法的流程示意图。

图4为根据本发明一些实施例的恶意行为识别系统的结构示意图。

图5为根据本发明另一些实施例的恶意行为识别系统的结构示意图。

图6为根据本发明一些实施例的恶意行为识别装置的结构示意图。

图7为根据本发明另一些实施例的恶意行为识别装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为根据本发明一些实施例的恶意行为识别方法的流程示意图。如图1所示,该实施例的恶意行为识别方法包括步骤s102~s108。

在步骤s102中,监控运行中的终端应用中的一个或多个目标api(applicationprogramminginterface,应用程序编程接口)。

目标api是指恶意行为可能会使用的api,通常与用户的敏感信息相关。在一些实施例中,目标api包括文件系统读写api、用户偏好设置api、密钥读取api、加密api、系统未授权api、通信api、粘贴板api、不同的终端应用间的数据交互api、配置文件操作api中的至少一种。本领域技术人员应当清楚,目标api并不限于上述列举的类型,本领域技术人员可以根据需要进行选择。

密钥读取api例如可以是涉及密码管理系统kaychain的api;通信api例如可以是涉及http协议的相关操作的api,例如通信数据的拦截、终端应用与后台服务器交互数据参数或报文等等;不同的终端应用间的数据交互api例如可以为与页面跳转协议urlschemes相关的操作;配置文件操作api例如可以为与xml文件的读取或修改相关的操作。

在步骤s104中,响应于终端应用调用一个或多个目标api,记录终端应用对一个或多个api的调用信息。调用信息例如可以包括api的调用时间、调用参数、返回值等等。

在步骤s106中,根据一个或多个api的调用信息生成行为序列。

在一些实施例中,可以根据一个或多个api的调用时间,排列一个或多个api的调用时间以外的其他调用信息,生成行为序列。例如,终端应用先调用了api1,然后调用了api2,则可以生成行为序列“api1的调用信息-api2的调用信息”。行为序列的格式可以是预设的。

在步骤s108中,根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

恶意行为库中保存了恶意行为的行为序列。当从终端应用中采集的行为序列与恶意行为库中的至少一个恶意行为完全一致、或者相似度高于预设阈值时,可以判定终端应用存在恶意行为。在一些实施例中,可以通过kmp算法等字符串查找算法来确定从终端应用中采集的行为序列与恶意行为库中的行为序列的匹配结果。

在执行上述步骤后,还可以根据识别结果和预设的检测报告模板自动化地输出检测报告,以直观地呈现恶意行为识别结果。

通过上述实施例的方法,可以从终端应用的运行时(runtime)的安全角度出发,通过监测目标api的调用情况生成行为序列,以识别恶意行为。从而,实现了恶意行为的动态检测。相较于相关技术,可以更全面地识别终端应用中的恶意行为。

在一些实施例中,可以基于theos(逆向开发工具)框架或xposed(修改系统框架服务)框架实现对目标api的监控。theos框架是基于苹果移动终端操作系统ios的框架,xposed框架是基于安卓移动终端操作系统的框架。例如,theos或xposed可以接收输入的一个或多个目标api,以便监控运行中的终端应用中的一个或多个目标api。监控过程可以通过框架提供的hook(钩子)机制来监测终端应用对目标api的调用。

在一些实施例中,可以由两个终端配合完成恶意行为的识别过程。下面参考图2描述本发明恶意行为识别方法的实施例。

图2为根据本发明另一些实施例的恶意行为识别方法的流程示意图。如图2所示,该实施例的恶意行为识别方法包括步骤s202~s210。

在步骤s202中,第一终端监控在第一终端运行中的终端应用中的一个或多个目标应用程序编程接口api。第一终端为移动终端,例如可以为运行有ios或者安卓操作系统的手机、平板电脑等等。

在一些实施例中,第一终端可以通过用户配置接口接收用户设置的目标api、需要获取的调用信息等参数。

在一些实施例中,第一终端可以通过位于第一终端中的、通过theos框架或者xposed框架实现的行为追踪模块来实施监控。

在步骤s204中,响应于终端应用调用一个或多个目标api,第一终端记录终端应用对一个或多个api的调用信息。例如,第一终端可以将这些调用信息写入到本地数据库中。

在步骤s206中,第一终端将调用信息发送给第二终端。第二终端例如可以为计算机。

在步骤s208中,第二终端根据第一终端发送的一个或多个api的调用信息生成行为序列。

在步骤s210中,第二终端根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

通过上述实施例的方法,可以在第一终端上实施对目标api的监测,在第二终端上实施对采集的调用信息的分析,从而可以提高恶意行为识别的效率。

下面结合具体的应用场景,描述本发明恶意行为检测方法的实施例。

图3为根据本发明又一些实施例的恶意行为检测方法的流程示意图。如图3所示,该实施例的恶意行为检测方法包括步骤s302~s314。

在步骤s302中,监控运行中的终端应用中的一个或多个目标api。

在步骤s304中,响应于终端应用a1调用通讯录读取api和网络数据传输api,记录通讯录读取api和网络数据传输api的调用信息。

在步骤s306中,响应于终端应用a2调用摄像头api、本地图像库读写api和网络数据传输api,记录摄像头api、本地图像库读写api和网络数据传输api的调用信息。

在步骤s308中,响应于终端应用a3调用短信读取api、支付api,记录短信读取api、支付api的调用信息。

在步骤s310中,分别根据终端应用a1、a2、a3调用目标api所涉及的调用信息,生成行为序列s1、s2和s3。

在步骤s312中,将行为序列s1、s2和s3分别与恶意行为序列库中的行为序列进行匹配,获取到匹配的序列m1、m2和m3。

在步骤s314,根据匹配的序列m1、m2和m3对应的恶意行为,确定终端应用a1、a2和a3疑似存在的恶意行为。例如,终端应用a1疑似存在窃取用户数据的行为;终端应用a2疑似存在敏感信息泄露行为;终端应用a3疑似存在恶意扣费行为。

通过上述实施例的方法,可以对终端应用疑似存在的恶意行为进行有效的识别。

下面参考图4描述本发明恶意行为识别系统的实施例。

图4为根据本发明一些实施例的恶意行为识别系统的结构示意图。如图4所示,该实施例的恶意行为识别系统40包括:监控模块4100,被配置为监控运行中的终端应用中的一个或多个目标应用程序编程接口api;调用信息记录模块4200,被配置为响应于终端应用调用一个或多个目标api,记录终端应用对一个或多个api的调用信息;行为序列生成模块4300,被配置为根据一个或多个api的调用信息生成行为序列;恶意行为识别模块4400,被配置为根据行为序列在恶意行为序列库中的匹配结果识别恶意行为。

在一些实施例中,恶意行为识别系统40还包括:theos模块/xposed模块4500,被配置为接收输入的一个或多个目标api,以便监控运行中的终端应用中的一个或多个目标api。在一些实施例中,监控模块4100可以位于theos模块/xposed模块4500中。

在一些实施例中,api的调用信息包括api的调用时间,以及调用参数、返回值中的至少一种。

在一些实施例中,行为序列生成模块进一步被配置为根据一个或多个api的调用时间,排列一个或多个api的调用时间以外的其他调用信息,生成行为序列。

在一些实施例中,目标api包括文件系统读写api、用户偏好设置api、密钥读取api、加密api、系统未授权api、通信api、粘贴板api、不同的终端应用间的数据交互api、配置文件操作api中的至少一种。

下面参考图5描述本发明恶意行为识别系统的实施例。

图5为根据本发明另一些实施例的恶意行为识别系统的结构示意图。如图5所示,该实施例的恶意行为识别系统50包括:第一终端510和第二终端520,第一终端510为移动终端。监控模块5100和调用信息记录模块5200位于第一终端;行为序列生成模块5300和恶意行为识别模块5400位于第二终端。

图6为根据本发明一些实施例的恶意行为识别装置的结构示意图,恶意行为识别装置可以是恶意行为识别方法涉及的任意一个装置。如图6所示,该实施例的恶意行为识别装置60包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行前述任意一个实施例中的恶意行为识别方法。

其中,存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图7为根据本发明另一些实施例的恶意行为识别装置的结构示意图,恶意行为识别装置可以是恶意行为识别方法涉及的任意一个装置。如图7所示,该实施例的恶意行为识别装置70包括:存储器710以及处理器720,还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730,740,750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种恶意行为识别方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1