对监控数据进行污染判断的方法及相应装置制造方法及图纸

技术编号:22914186 阅读:35 留言:0更新日期:2019-12-24 21:53
本发明专利技术实施例公开了一种对监控数据进行污染判断的方法、装置、计算机设备和计算机存储介质,涉及系统监控技术领域。其中污染判断方法包括:对至少一个预监控敏感行为发生时调用的各个API对应设置主监控点,每个主监控点用于在API被调用时生成调用信息;当某个API被第一应用调用而触发与对应的主监控点时,获取该主监控点生成的调用信息;根据利用各个主监控点生成的调用信息确定出的第一应用触发各个主监控点的顺序和/或一定时间内触发各个主监控点的次数,判断第一应用的监控数据是否存在数据污染。本方法能准确判断主监控点的数据是否由恶意应用伪造而来,确保监控系统的监控质量,保证应用后续敏感行为判断的真实性,提前感知可能的异常和入侵。

Methods and corresponding devices for pollution judgment of monitoring data

【技术实现步骤摘要】
对监控数据进行污染判断的方法及相应装置
本专利技术涉及系统监控技术,具体涉及判断被监控的应用的监控数据是否被污染的方法及其装置、计算机设备和计算机存储介质。
技术介绍
随着以手机为代表的移动终端的迅速普及和发展,移动终端已经成为人们生活和工作中不可或缺的一部分,因此人们对于手机的安全性的要求也越来越高,其中采用行为监控的动态防护方案越来越成为主流。现有的行为监控方法都是在系统层加入一些监控点(也被称为hook点或者插桩点),每个应用在运行过程中若触发对应的监控点,监控点会搜集该应用运行时的相关信息,这些应用运行相关信息包括触发该监控点的应用进程的UID(即用户标识,在Linux平台上每个用户都有唯一标示UID用于区别其他用户)和PID(即进程ID,在Linux平台上每个进程都有唯一标示PID用于区别其他进程)、监控点MID(即监控点标识,每个监控点都有唯一标识MID,知晓MID就能知晓是系统中哪处API、库函数、服务等被触发)、以及触发该监控点的应用在调用哪个API,调用哪个服务,以及调用这个服务的什么接口等信息。监控点将这些应用运行相关信息实时地通过异步或者同步方式发送给一个独立的监控模块。监控模块可以是一个服务,也可以是一个单独的应用,或者系统守护进程等。监控模块根据每个应用在运行过程中触发监控点时发送过来的应用运行相关信息,进行汇总、整理、统计、匹配,进而对该应用的行为进行判定,通常是对应用行为的恶意性或者病毒性进行判定,将判定结果发送给处理模块。然后处理模块可以根据监控模块的判定结果对应用进行处理,如果判定为非恶意,则不做任何处理;如果判定为恶意,则可以根据具体方案的实现进行后台静默处理、向用户弹出提示请求用户决策、或交由其他模块决策和处置,例如杀死恶意应用进程、禁用、卸载恶意应用等。。然而上述现有的行为监控方案具有如下缺陷:1)如果监控方案的实现被攻击者通过逆向工程而得知其细节,攻击者可以编写恶意应用来主动调用监控点处的代码逻辑,来产生虚假的监控事件,这些假信息会对监控模块产生干扰,甚至会让监控模块产生误判,最终做出错误的判定,错误的判定包括将好的应用判定为有恶意性的和将具有恶意性的应用判定为好的应用;2)在某些设计存在缺陷的防护方案上,恶意应用可能会通过伪造自己的身份,例如伪造PID和UID信息,并将“陷害”应用对象的UID和PID替换为自己的UID和PID,然后构造监控事件,发送给监控模块,让监控模块误认为某正常应用正在执行恶意操作。因此,如果监控点产生的监控数据已通过上述1)和2)方式虚假构造,则监控模块接收到的监控数据会存在虚假问题,致使后续所有基于监控数据的应用行为恶意性或者病毒性判定和处理都会发生异常,这至少表现在,不但无法识别异常的行为或是恶意的行为,还可能会将正常的行为判定为异常的。因此,有必要提供一种判断被监控的应用的监控数据是否被污染的方法,确保监控系统的监控质量,提前感知可能的异常和入侵。
技术实现思路
本专利技术实施例提供了一种对监控数据进行污染判断的方法及其装置、计算机设备和计算机存储介质,用以解决现有技术中所存在的上述技术问题。第一方面,本专利技术实施例提供了一种对监控数据进行污染判断的方法。具体地,所述对监控数据进行污染判断的方法包括:对至少一个预监控敏感行为发生时调用的各个API对应设置主监控点,每个主监控点用于在对应的API被调用时生成调用信息,所述调用信息包括对应的主监控点的标识、触发所述对应的主监控点的应用的用户标识,以及所述应用触发所述对应的主监控点的时间;当某个API被第一应用调用而触发与所述某个API对应的主监控点时,获取与所述某个API对应的主监控点生成的调用信息;根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个主监控点的顺序和/或所述第一应用在一定时间内触发各个主监控点的次数,判断所述第一应用的监控数据是否存在数据污染。第二方面,本专利技术实施例提供了一种对监控数据进行污染判断的装置。具体地,所述对监控数据进行污染判断的装置包括:主监控点设置模块,用于对至少一个预监控敏感行为发生时调用的各个API对应设置主监控点,每个主监控点用于在对应的API被调用时生成调用信息,所述调用信息包括对应的主监控点的标识、触发所述对应的主监控点的应用的用户标识,以及所述应用触发所述对应的主监控点的时间;调用信息获取模块,用于当某个API被第一应用调用而触发与所述某个API对应的主监控点时,获取与所述某个API对应的主监控点生成的调用信息;第一污染判断模块,用于根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个主监控点的顺序和/或所述第一应用在一定时间内触发各个主监控点的次数,判断所述第一应用的监控数据是否存在数据污染。第三方面,本专利技术实施例提供了一种计算机设备。具体地,所述计算机设备包括:处理器;以及用于存放计算机程序的存储器,其中,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述第一方面所述的对监控数据进行污染判断的方法。第四方面,本专利技术实施例提供了一种计算机存储介质。具体地,所述计算机存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的对监控数据进行污染判断的方法本申请实施例对监控数据进行污染判断的方法、装置、计算机设备和存储介质,通过设置获取每个API调用情况的主监控点,当某应用在运行过程中触发主监控点时,根据获取的所有主监控点的调用信息,确定该应用触发所有主监控点的顺序和/或在一定时间内触发主监控点的次数,进而判断该应用的监控数据是否存在数据污染,解决了现有技术中当虚假构造监控数据时,直接利用监控数据判断应用是否恶意所存在的恶意行为无法识别和恶意行为判定不准确问题,能准确判断主监控点的数据是否由恶意应用伪造而来,确保监控系统的监控质量,保证应用后续敏感行为判断的真实性,提前感知可能的异常和入侵。本专利技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术方法实施例1的对监控数据进行污染判断的方法的流程图;图2是本专利技术方法实施例2的对监控数据进行污染判断的方法的流程图;图2A是图2对监控数据进行污染判断的方法中涉及的监控事件的组织结构示意图;图3是本专利技术装置实施例1的对监控数据进行污染判断的装置的示意图;图4是本专利技术装置实施例2的对监控数据进行污染判断的装置的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。...

【技术保护点】
1.一种对监控数据进行污染判断的方法,包括:/n对至少一个预监控敏感行为发生时调用的各个API对应设置主监控点,每个主监控点用于在对应的API被调用时生成调用信息,所述调用信息包括对应的主监控点的标识、触发所述对应的主监控点的应用的用户标识,以及所述应用触发所述对应的主监控点的时间;/n当某个API被第一应用调用而触发与所述某个API对应的主监控点时,获取与所述某个API对应的主监控点生成的调用信息;/n根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个主监控点的顺序和/或所述第一应用在一定时间内触发各个主监控点的次数,判断所述第一应用的监控数据是否存在数据污染。/n

【技术特征摘要】
1.一种对监控数据进行污染判断的方法,包括:
对至少一个预监控敏感行为发生时调用的各个API对应设置主监控点,每个主监控点用于在对应的API被调用时生成调用信息,所述调用信息包括对应的主监控点的标识、触发所述对应的主监控点的应用的用户标识,以及所述应用触发所述对应的主监控点的时间;
当某个API被第一应用调用而触发与所述某个API对应的主监控点时,获取与所述某个API对应的主监控点生成的调用信息;
根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个主监控点的顺序和/或所述第一应用在一定时间内触发各个主监控点的次数,判断所述第一应用的监控数据是否存在数据污染。


2.如权利要求1所述的对监控数据进行污染判断的方法,其特征在于,所述主监控点的设置规则包括:
对于任一API的主监控点,当既能在对应的应用进程中插桩,又能在对应的服务进程中插桩时,或者仅能在对应的服务进程中插桩时,所述主监控点的插桩点位于对应的服务进程;当仅能在对应的应用进程中插桩时,所述主监控点的插桩点位于对应的应用进程。


3.如权利要求1或2所述的对监控数据进行污染判断的方法,其特征在于,所述调用信息还包括触发所述对应的主监控点的应用的进程标识,
所述方法还包括:
根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个特定主监控点的顺序和/或所述第一应用在一定时间内触发各个特定主监控点的次数,判断所述第一应用的特定进程的监控数据是否存在数据污染;
其中,所述特定主监控点为所有主监控点中,生成的调用信息所包含的第一应用的用户标识和进程标识均相同的监控点,所述特定进程为与所述特定主监控点对应的进程。


4.如权利要求3所述的对监控数据进行污染判断的方法,其特征在于,所述根据利用各个主监控点生成的调用信息确定出的所述第一应用触发各个主监控点和/或特定主监控点的顺序,判断所述第一应用的监控数据和/或所述第一应用的特定进程的监控数据是否存在数据污染,包括:
若所述第一应用触发各个主监控点和/或特定主监控点的顺序不符合预设关联逻辑,则判断出所述第一应用的监控数据和/或所述第一应用的特定进程的监控数据存在数据污染,
其中,所述预设关联逻辑包括依赖逻辑、超时逻辑、缺失逻辑、顺序逻辑和循环逻辑中的至少一种。


5.如权利要求3所述的对监控数据进行污染判断的方法,其特征在于,所述根据利用各个主监控点生成的调用信息确定出的所述第一应用在一定时间内触发各个主监控点和/或特定主监控点的次数,判断所述第一应用的监控数据和/或所述第一应用的特定进程的监控数据是否存在数据污染,包括:
若所述各个主监控点和/或各个特定主监控点在预设条件下被触发的总次数超过特定阈值,则判断出所述第一应用的监控数据和/或所述第一应用的特定进程的监控数据存在数据污染,
其中,所述各个主监控点和/或各个特定主监控点在预设条件下被触发的总次数,包括:
每隔第一预定时间段进行统计时,所述第一应用在最近的第一预定时间段内触发各个主监控点和/或各个特定主监控点的总次数;和/或,
当某主监控点和/或某特定主监控点被所述第一应用触发时,所述第一应用在触发所述某主监控点和/或所述某特定主监控点的时间之前的第二预设时间段内触发各个主监控点和/或各个特定主监控点的总次数;和/或,
若所述某主监控点和/或某特定主监控点被所述第一应用触发,则当所述第一应用的监控数据未进行过污染判断时,或,当所述第一应用触发所述某监控点和/或所述某特定主监控点的时间与上一次第一应用监控数据污染判断时间的差值大于第三预设时间段时,所述第一应用在触发所述某主监控点和/或所述某特定主监控点的时间之前的第三预设时间段内触发各个监控点和/或各个特定主监控点的总次数。


6.如权利要求3所述的对监控数据进行污染判断的方法,其特征在于,还包括:
对至少一个预监控敏感行为发生时调用的各个API还对应设置冗余监控点,以辅助对应的主监控点进行监控数据污染判断。


7.一种对监控数据进行污染判断的装置,包括:

【专利技术属性】
技术研发人员:蒋鑫陈家林
申请(专利权)人:上海巍擎信息技术有限责任公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1