CN105574406A - 一种进程监控的方法和装置 - Google Patents

一种进程监控的方法和装置 Download PDF

Info

Publication number
CN105574406A
CN105574406A CN201510982755.0A CN201510982755A CN105574406A CN 105574406 A CN105574406 A CN 105574406A CN 201510982755 A CN201510982755 A CN 201510982755A CN 105574406 A CN105574406 A CN 105574406A
Authority
CN
China
Prior art keywords
subprocess
injector
monitoring module
create
parent process
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
CN201510982755.0A
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510982755.0A priority Critical patent/CN105574406A/zh
Publication of CN105574406A publication Critical patent/CN105574406A/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种进程监控的方法和装置,所述方法包括:当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;根据所述调用命令,创建注入器;采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;采用所述Hook监控模块对所述子进程进行监控,从而解决了目前安卓操作系统中只能对JAVA进程创建的JAVA子进程进行监控的问题,从而可以实现对任一进程创建的各种类型子进程行为的监控,有助于及时发现恶意进程,提高系统的安全性。

Description

一种进程监控的方法和装置
技术领域
本申请涉及信息安全技术领域,特别是涉及一种进程监控的方法和一种进程监控的装置。
背景技术
随着通信技术的快速发展,手机等移动终端已经非常普及,并且移动终端提供的功能也越来越多。例如,用户不仅可以通过移动终端打电话、发短信,还可以自由地安装各种应用程序,从而实现在移动终端上进行工作、观看视频、购物、支付等活动。目前,用户在移动终端上安装几十甚至上百个应用程序已是非常普遍的情况,因此,这些应用程序是否安全对用户而言也越来越重要。
目前,使用安卓Android操作系统的移动终端,应用程序一般都是通过JAVA进程创建JAVA子进程进行运行。一些应用程序,出于实现应用程序固有功能需要之外的目的,特别是商业目的,随意申请系统权限,获取用户隐私数据、执行网络访问、保持设备活动、发送短信行为等。轻则可能导致用户隐私数据泄露,或者占用系统资源,重则可能通过恶意扣费、植入广告、消耗资费、欺诈诱骗等,使用户遭受损失。因此,为了保证移动终端的安全性,Android操作系统会对JAVA子进程进行监控,其做法是:将主动防御模块预先注入Zygote(孵化器)进程,然后JAVA进程向Zygote进程申请创建子进程,从而使Zygote进程分裂出子进程,由于主动防御模块预先已经注入到Zygote进程中,因此Zygote进程分裂出的子进程中自然也包含主动防御模块,可以实现对子进程的监控。
但是,现有方法只对JAVA子进程有效,对于通过Native进程或者其他进程运行的应用程序,现有的方法因为无法注入到Native进程或者其他进程中去,因而也就不能对其进行监控,此外,JAVA进程也可能创建Native子进程,利用现有的方法同样无法实现对Native子进程的监控。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种进程监控的方法和相应的一种进程监控的装置。
依据本申请的一个方面,提供了一种进程监控的方法,包括:
当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
根据所述调用命令,创建注入器;
采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
采用所述Hook监控模块对所述子进程进行监控。
可选地,在所述当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令的步骤后,还包括:
获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
可选地,所述根据所述调用命令,创建注入器的步骤包括:
判断所述父进程是否是通过切换用户SU提权方式创建子进程;
若是,则采用所述切换用户SU提权创建所述注入器;
若否,则将所述子进程替换为所述注入器,从而创建所述注入器。
可选地,所述采用所述切换用户SU提权创建所述注入器的步骤包括:
在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
可选地,所述将所述子进程替换为所述注入器,从而创建所述注入器的步骤包括:
将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
可选地,所述采用所述注入器,创建子进程的步骤包括:
采用所述注入器,创建所述子进程的镜像;
根据所述子进程对应的路径参数,调用所述子进程对应的组件;
将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
命令所述子进程加载S分享属性。
可选地,所述采用所述Hook监控模块对所述子进程进行监控的步骤包括:
命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
当通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
可选地,所述父进程包括JAVA进程,和/或,Native进程;所述子进程包括JAVA进程,和/或,Native进程。
根据本申请的另一方面,提供了一种进程监控的装置,包括:
拦截模块,用于在监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
创建模块,用于根据所述调用命令,创建注入器;
注入模块,用于采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
监控模块,用于采用所述Hook监控模块对所述子进程进行监控。
可选地,还包括:
获取模块,用于获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
可选地,所述创建模块包括:
判断子模块,用于判断所述父进程是否是通过切换用户SU提权方式创建子进程;
第一创建子模块,用于在父进程是通过切换用户SU提权方式创建子进程时,采用所述切换用户SU提权创建所述注入器;
第二创建子模块,用于在父进程不是通过切换用户SU提权方式创建子进程时,将所述子进程替换为所述注入器,从而创建所述注入器。
可选地,所述第一创建子模块包括:
第一创建单元,用于在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
可选地,所述第二创建子模块包括:
第二创建单元,用于将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
可选地,所述注入模块包括:
镜像创建子模块,用于采用所述注入器,创建所述子进程的镜像;
组件调用子模块,用于根据所述子进程对应的路径参数,调用所述子进程对应的组件;
第一注入子模块,用于将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
S属性加载子模块,用于命令所述子进程加载S分享属性。
可选地,所述监控模块包括:
第一监控子模块,用于命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
第二注入子模块,用于在通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
可选地,所述父进程包括JAVA进程,和/或,Native进程;所述子进程包括JAVA进程,和/或,Native进程。
根据本申请的一种进程监控的方法和装置可以在监控到父进程通过Fork函数创建子进程时,通过拦截父进程对Execve函数的调用命令,将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,以创建出注入器,然后在通过所述注入器创建子进程时,注入预设的Hook监控模块,使得Hook监控模块能够对新创建的子进程进行监控,从而解决了目前安卓操作系统中只能对JAVA进程创建的JAVA子进程进行监控的问题,从而可以实现对任一进程创建的各种类型子进程行为的监控,有助于及时发现恶意进程,提高系统的安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本申请一个实施例的一种进程监控的方法步骤流程图;
图2示出了根据本申请一个实施例的一种进程监控的方法步骤流程图;
图3示出了根据本申请一个实施例的一种进程监控的方法步骤流程图;
图4示出了根据本申请一个实施例的一种进程监控的装置结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本申请一个实施例的一种进程监控的方法步骤流程图,具体可以包括如下步骤:
步骤101,当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
在本申请实施例中,父进程和子进程均可以是任一类型的进程,例如JAVA进程,或者Native进程。因此,由父进程创建子进程可以是JAVA进程作为父进程创建JAVA子进程,JAVA进程作为父进程创建Native子进程,也可以是Native进程作为父进程创建Native子进程,Native进程作为父进程创建JAVA子进程。
在具体实现中,当父进程通过Fork函数创建出子进程的镜像后,需要通过执行文件Execve函数调用子进程对应的路径参数,此时,可以拦截父进程对执行文件的调用命令,从而阻止子进程的创建。
步骤102,根据所述调用命令,创建注入器;
在具体实现中,在拦截父进程对执行文件Execve函数的调用命令后,可以从所述调用命令中获取到所述子进程对应的路径参数,然后用注入器对应的路径参数替换子进程对应的路径参数,从而创建出注入器。
步骤103,采用所述注入器,创建子进程;
在具体实现中,当所述注入器创建出所述子进程的镜像后,可以将预设的Hook监控模块也注入所述子进程的镜像中,从而使得新创建的子进程也具有相应的Hook监控模块。
步骤104,采用所述Hook监控模块对所述子进程进行监控。
在本申请实施例中,当监控到父进程通过Fork函数创建子进程时,通过拦截父进程对Execve函数的调用命令,将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,以创建出注入器,然后在通过所述注入器创建子进程时,注入预设的Hook监控模块,使得Hook监控模块能够对新创建的子进程进行监控,从而解决了目前安卓操作系统中只能对JAVA进程创建的JAVA子进程进行监控的问题,从而可以实现对任一进程创建的各种类型子进程行为的监控,有助于及时发现恶意进程,提高系统的安全性。
参照图2,示出了根据本申请一个实施例的一种进程监控的方法步骤流程图,具体可以包括如下步骤:
步骤201,当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
在本申请实施例中,当监控到父进程通过Fork函数创建出子进程的镜像后,可以通过拦截所述父进程对执行文件Execve函数的调用命令,阻止父进程对子进程的创造,转而创建注入器。
步骤202,获取所述子进程对应的路径参数,以及,注入器对应的路径参数;
在具体实现中,可以从步骤201中拦截到的调用命令中获取到所述子进程对应的路径参数。
步骤203,判断所述父进程是否是通过切换用户SU提权方式创建子进程;
步骤204,采用所述切换用户SU提权创建所述注入器;
步骤205,将所述子进程替换为所述注入器,从而创建所述注入器;
在本申请实施例中,在创建注入器前,可以首选判断所述父进程在试图创建子进程时,是否是通过切换用户SU提权方式来进行的。切换用户SU(Switchuser)提权可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限。具体地,可以通过对所述进程是否包含S分享(Share)属性来判断是否是SU提权,若所述进程中包含S分享属性,则可以认为是SU提权。
若所述父进程是通过SU提权方式创建子进程,由于父进程拥有最高权限,可以执行步骤204,继续采用SU提权方式创建注入器,则所述注入器也会拥有相应的最高权限。若所述父进程不是通过SU提权方式创建子进程,则可以执行步骤205,通过直接将所述子进程替换为所述注入器的方式来创建出注入器。
在具体实现中,若是采用SU提权方式创建注入器,则可以通过在SU提权的指令中,加入-C参数,从而创建出注入器;若采用将所述子进程替换为所述注入器的方式,则可以通过将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建出注入器。
步骤206,采用所述注入器,创建子进程;
在具体实现中,可以首先采用所述注入器创建出所述子进程的镜像,然后将预设的Hook监控模块也注入所述子进程的镜像中,同时命令所述子进程加载S分享属性,以创建出子进程。
步骤207,采用所述Hook监控模块对所述子进程进行监控。
在本申请的一种优选实施例中,所述采用所述Hook监控模块对所述子进程进行监控具体可以包括如下子步骤:
子步骤2071,命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
在本申请实施例中,由于在创建子进程时已加载S分享属性,因此,可以命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控。进一步地,由于具备S分享属性的Hook监控模块同时拥有了最高的权限,从而可以实现对任一类型子进程的监控。
子步骤2072,当通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
进一步地,当Hook监控模块监控到所述子进程创建进程时,可以将所述子进程作为父进程,继续将所述Hook监控模块注入到新创建的子进程中,以按照子步骤2071所述的方法继续对新创建的进程进行监控。
在本申请实施例中,通过判断父进程是否是以SU提权创建子进程,从而按照不同的方式创建注入器,可以确保注入器拥有最高权限,使得Hook监控模块也拥有了最高权限,实现了对任一类型子进程的监控,进一步确保了对恶意进程的及时识别,保证了系统的安全性。
参照图3,示出了根据本申请一个实施例的一种进程监控的方法步骤流程图,具体可以包括如下步骤:
步骤301,当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
步骤302,根据所述调用命令,创建注入器;
在本申请实施例中,当监控到父进程通过Fork函数创建出子进程的镜像后,可以通过拦截所述父进程对执行文件Execve函数的调用命令,阻止父进程对子进程的创造,转而创建注入器。
在具体实现中,可以通过将调用命令中子进程对应的路径参数替换为注入器对应的路径参数来完成注入器的创建。
步骤303,采用所述注入器,创建所述子进程的镜像;
在本申请实施例中,注入器可以首先创建出子进程的镜像。镜像是一种文件存储形式,可以提供创建子进程所需的环境。
步骤304,根据所述子进程对应的路径参数,调用所述子进程对应的组件;
在具体实现中,可以通过解析在拦截父进程对Execve函数的调用命令中获得的子进程对应的参数路径,使得注入器根据子进程对应的路径参数调用子进程对应的组件。
步骤305,将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
步骤306,命令所述子进程加载S分享属性;
当获得创建子进程所必须的组件后,可以将所述组件与预设的Hook监控模块注入子进程的镜像,同时通过命令子进程加载S分享属性,以创建出所述子进程。
步骤307,命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
在本申请实施例中,由于在创建子进程时已加载S分享属性,因此,可以命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控。进一步地,由于具备S分享属性的Hook监控模块同时拥有了最高权限,从而可以实现对任一类型子进程的监控。
步骤308,当通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
在本申请实施例中,当Hook监控模块监控到所述子进程创建进程时,可以将所述子进程作为父进程,继续将所述Hook监控模块注入到新创建的子进程中,以按照子步骤307所述的方法继续对新创建的进程进行监控。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了根据本申请一个实施例的一种进程监控的装置结构框图,具体可以包括如下模块:
拦截模块401,用于在监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
创建模块402,用于根据所述调用命令,创建注入器;
注入模块403,用于采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
监控模块404,用于采用所述Hook监控模块对所述子进程进行监控。
在本申请实施例中,所述装置还可以包括如下模块:
获取模块405,用于获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
在本申请实施例中,所述创建模块402具体可以包括如下子模块:
判断子模块4021,用于判断所述父进程是否是通过切换用户SU提权方式创建子进程;
第一创建子模块4022,用于在父进程是通过切换用户SU提权方式创建子进程时,采用所述切换用户SU提权创建所述注入器;
第二创建子模块4023,用于在父进程不是通过切换用户SU提权方式创建子进程时,将所述子进程替换为所述注入器,从而创建所述注入器。
在本申请实施例中,所述第一创建子模块4022具体可以包括如下单元:
第一创建单元22A,用于在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
在本申请实施例中,所述第二创建子模块4023具体可以包括如下单元:
第二创建单元23A,用于将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
在本申请实施例中,所述注入模块403具体可以包括如下子模块:
镜像创建子模块4031,用于采用所述注入器,创建所述子进程的镜像;
组件调用子模块4032,用于根据所述子进程对应的路径参数,调用所述子进程对应的组件;
第一注入子模块4033,用于将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
S属性加载子模块4034,用于命令所述子进程加载S分享属性。
在本申请实施例中,所述监控模块404具体可以包括如下子模块:
第一监控子模块4041,用于命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
第二注入子模块4042,用于在通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
在本申请实施例中,所述父进程可以包括JAVA进程,和/或,Native进程;所述子进程可以包括JAVA进程,和/或,Native进程。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的进程监控的方法和装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本申请公开了A1、一种进程监控的方法,包括:
当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
根据所述调用命令,创建注入器;
采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
采用所述Hook监控模块对所述子进程进行监控。
A2、如A1所述的方法,在所述当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令的步骤后,还包括:
获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
A3、如A2所述的方法,所述根据所述调用命令,创建注入器的步骤包括:
判断所述父进程是否是通过切换用户SU提权方式创建子进程;
若是,则采用所述切换用户SU提权创建所述注入器;
若否,则将所述子进程替换为所述注入器,从而创建所述注入器。
A4、如A3所述的方法,所述采用所述切换用户SU提权创建所述注入器的步骤包括:
在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
A5、如A3所述的方法,所述将所述子进程替换为所述注入器,从而创建所述注入器的步骤包括:
将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
A6、如A2-A5任一所述的方法,所述采用所述注入器,创建子进程的步骤包括:
采用所述注入器,创建所述子进程的镜像;
根据所述子进程对应的路径参数,调用所述子进程对应的组件;
将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
命令所述子进程加载S分享属性。
A7、如A6所述的方法,所述采用所述Hook监控模块对所述子进程进行监控的步骤包括:
命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
当通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
A8、如A1-A7任一所述的方法,所述父进程包括JAVA进程,和/或,Native进程;所述子进程包括JAVA进程,和/或,Native进程。
本申请还公开了B9、一种进程监控的装置,包括:
拦截模块,用于在监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
创建模块,用于根据所述调用命令,创建注入器;
注入模块,用于采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
监控模块,用于采用所述Hook监控模块对所述子进程进行监控。
B10、如B9所述的装置,还包括:
获取模块,用于获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
B11、如B10所述的装置,所述创建模块包括:
判断子模块,用于判断所述父进程是否是通过切换用户SU提权方式创建子进程;
第一创建子模块,用于在父进程是通过切换用户SU提权方式创建子进程时,采用所述切换用户SU提权创建所述注入器;
第二创建子模块,用于在父进程不是通过切换用户SU提权方式创建子进程时,将所述子进程替换为所述注入器,从而创建所述注入器。
B12、如B11所述的装置,所述第一创建子模块包括:
第一创建单元,用于在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
B13、如B11所述的装置,所述第二创建子模块包括:
第二创建单元,用于将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
B14、如B10-B13任一所述的装置,所述注入模块包括:
镜像创建子模块,用于采用所述注入器,创建所述子进程的镜像;
组件调用子模块,用于根据所述子进程对应的路径参数,调用所述子进程对应的组件;
第一注入子模块,用于将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
S属性加载子模块,用于命令所述子进程加载S分享属性。
B15、如B14所述的装置,所述监控模块包括:
第一监控子模块,用于命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
第二注入子模块,用于在通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
B16、如B9-B15任一所述的装置,所述父进程包括JAVA进程,和/或,Native进程;所述子进程包括JAVA进程,和/或,Native进程。

Claims (10)

1.一种进程监控的方法,所述方法包括:
当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
根据所述调用命令,创建注入器;
采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
采用所述Hook监控模块对所述子进程进行监控。
2.如权利要求1所述的方法,其特征在于,在所述当监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令的步骤后,还包括:
获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
3.如权利要求2所述的方法,其特征在于,所述根据所述调用命令,创建注入器的步骤包括:
判断所述父进程是否是通过切换用户SU提权方式创建子进程;
若是,则采用所述切换用户SU提权创建所述注入器;
若否,则将所述子进程替换为所述注入器,从而创建所述注入器。
4.如权利要求3所述的方法,其特征在于,所述采用所述切换用户SU提权创建所述注入器的步骤包括:
在切换用户SU提权的指令中,加入-C参数,采用所述切换用户SU提权创建所述注入器。
5.如权利要求3所述的方法,其特征在于,所述将所述子进程替换为所述注入器,从而创建所述注入器的步骤包括:
将所述调用命令中子进程对应的路径参数替换为注入器对应的路径参数,从而创建所述注入器。
6.如权利要求2-5任一所述的方法,其特征在于,所述采用所述注入器,创建子进程的步骤包括:
采用所述注入器,创建所述子进程的镜像;
根据所述子进程对应的路径参数,调用所述子进程对应的组件;
将所述子进程对应的组件以及预设的Hook监控模块注入所述子进程的镜像;
命令所述子进程加载S分享属性。
7.如权利要求6所述的方法,其特征在于,所述采用所述Hook监控模块对所述子进程进行监控的步骤包括:
命令所述Hook监控模块通过所述S分享属性对所述子进程进行监控;
当通过所述Hook监控模块监控到所述子进程创建进程时,将所述子进程作为父进程,继续为新创建的进程注入所述Hook监控模块。
8.如权利要求1-7任一所述的方法,其特征在于,所述父进程包括JAVA进程,和/或,Native进程;所述子进程包括JAVA进程,和/或,Native进程。
9.一种进程监控的装置,所述装置包括:
拦截模块,用于在监控到父进程创建子进程时,拦截所述父进程对执行文件的调用命令;
创建模块,用于根据所述调用命令,创建注入器;
注入模块,用于采用所述注入器,创建子进程,所述子进程具有相应的Hook监控模块;
监控模块,用于采用所述Hook监控模块对所述子进程进行监控。
10.如权利要求9所述的装置,其特征在于,还包括:
获取模块,用于获取所述子进程对应的路径参数,以及,注入器对应的路径参数。
CN201510982755.0A 2015-12-23 2015-12-23 一种进程监控的方法和装置 Pending CN105574406A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510982755.0A CN105574406A (zh) 2015-12-23 2015-12-23 一种进程监控的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510982755.0A CN105574406A (zh) 2015-12-23 2015-12-23 一种进程监控的方法和装置

Publications (1)

Publication Number Publication Date
CN105574406A true CN105574406A (zh) 2016-05-11

Family

ID=55884525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510982755.0A Pending CN105574406A (zh) 2015-12-23 2015-12-23 一种进程监控的方法和装置

Country Status (1)

Country Link
CN (1) CN105574406A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203626A (zh) * 2017-05-27 2017-09-26 网宿科技股份有限公司 一种业务流程管理方法及系统
WO2019223095A1 (zh) * 2018-05-22 2019-11-28 深圳壹账通智能科技有限公司 监控进程运行的方法、终端设备及计算机可读存储介质
CN115469943A (zh) * 2022-09-22 2022-12-13 安芯网盾(北京)科技有限公司 Java虚拟终端命令执行的检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996257A (zh) * 2006-12-26 2007-07-11 华为技术有限公司 对进程进行监控的方法和系统
US20070168764A1 (en) * 2005-12-14 2007-07-19 Business Objects Apparatus and method for persistent report serving
CN104156662A (zh) * 2014-08-28 2014-11-19 北京奇虎科技有限公司 进程监控的方法、装置和智能终端
CN104572394A (zh) * 2013-10-29 2015-04-29 腾讯科技(深圳)有限公司 进程监控方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168764A1 (en) * 2005-12-14 2007-07-19 Business Objects Apparatus and method for persistent report serving
CN1996257A (zh) * 2006-12-26 2007-07-11 华为技术有限公司 对进程进行监控的方法和系统
CN104572394A (zh) * 2013-10-29 2015-04-29 腾讯科技(深圳)有限公司 进程监控方法及装置
CN104156662A (zh) * 2014-08-28 2014-11-19 北京奇虎科技有限公司 进程监控的方法、装置和智能终端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203626A (zh) * 2017-05-27 2017-09-26 网宿科技股份有限公司 一种业务流程管理方法及系统
CN107203626B (zh) * 2017-05-27 2021-07-13 网宿科技股份有限公司 一种业务流程管理方法及系统
WO2019223095A1 (zh) * 2018-05-22 2019-11-28 深圳壹账通智能科技有限公司 监控进程运行的方法、终端设备及计算机可读存储介质
CN115469943A (zh) * 2022-09-22 2022-12-13 安芯网盾(北京)科技有限公司 Java虚拟终端命令执行的检测方法及装置

Similar Documents

Publication Publication Date Title
CN104375861A (zh) 基于安卓平台的应用程序免安装运行的方法、装置及终端
CN107590186B (zh) 管理和执行数据处理策略的方法和策略引擎系统
CN105893839B (zh) 一种安卓应用的广播的代理处理方法和装置
CN104536981A (zh) 实现浏览器安全的方法、浏览器客户端和装置
CN104360794A (zh) 通过识别全屏模式控制窗口弹出的方法及装置
CN104462879A (zh) 应用程序免Root运行控制方法与装置
CN103619018A (zh) 一种无线网络访问权限的检测方法,装置及路由器
CN104731625A (zh) 一种加载插件的方法、装置和移动终端
CN104199703A (zh) 静默安装的管理方法及装置
CN105159771A (zh) 处理应用间链式启动的方法及装置
CN104376255A (zh) 应用程序运行控制方法与装置
CN105573755A (zh) 一种应用Activity渲染时间获取方法和装置
CN102981874B (zh) 计算机处理系统和注册表重定向方法
US8433746B2 (en) Aspect oriented programming for an enterprise service bus
CN104036019A (zh) 网页链接的开启方法及装置
CN104200159A (zh) 配置应用程序的权限的方法及装置
CN105429813A (zh) docker的监控方法及客户端
CN105528251A (zh) 应用通知信息的处理方法、装置及移动终端
CN104462880A (zh) 应用程序加壳配置方法与装置
CN103778012A (zh) 更改终端运营商信息的方法及装置
CN104573497A (zh) 一种启动项的处理方法和装置
CN105915546A (zh) 一种安卓应用的流量监控方法和装置
CN105574406A (zh) 一种进程监控的方法和装置
CN104881291A (zh) 默认浏览器的控制方法、装置及终端
CN105095749A (zh) 状态栏通知的接管方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160511

RJ01 Rejection of invention patent application after publication