[发明专利]避免进程被注入的方法和装置在审
申请号: | 201410441405.9 | 申请日: | 2014-09-01 |
公开(公告)号: | CN104239781A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 周荣誉;张宇平 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F21/52 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 避免 进程 注入 方法 装置 | ||
技术领域
本发明涉及安全技术领域,尤其涉及一种避免进程被注入的方法和装置。
背景技术
进程注入是指一个应用程序进程将自己的模块通过调试等方式,插入到另一个应用程序进程中然后执行,这样就可以任意劫持对方应用程序的运行流程,窃取其内存数据。在Android系统中,应用程序进程都是由Zygote进程孵化(fork)的,所以注入Zygote进程是目前通用的注入方法,一旦Zygote进程被注入,之后由Zygote进程孵化的所有进程都被注入。
相关技术中,可以对被注入的Zygote进程进行修复,以避免进程间注入。但是,采用修复Zygote进程的方式,得到的效果并不理想。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种避免进程被注入的方法,该方法可以提高避免进程间注入的效果。
本发明的另一个目的在于提出一种避免进程被注入的装置。
为达到上述目的,本发明第一方面实施例提出的避免进程被注入的方法,包括:接收应用程序的启动参数;根据所述启动参数判断所述应用程序是否为需要保护的应用程序;如果是,将所述启动参数发送给预先创建的私有进程,使得所述私有进程根据所述启动参数孵化得到所述应用程序,其中,所述私有进程是未被注入的孵化载体。
本发明第一方面实施例提出的避免进程被注入的方法,通过在应用程序是需要保护的应用程序时,由私有进程完成该应用程序的孵化,由于私有进程是未被注入的,因此可以避免该应用程序的进程被注入,并且,本实施例采用建立私有进程的方式,而不是修复的方式,可以提高避免进程被注入的效果。
为达到上述目的,本发明第二方面实施例提出的避免进程被注入的装置,包括:接收模块,用于接收应用程序的启动参数;判断模块,用于根据所述启动参数判断所述应用程序是否为需要保护的应用程序;发送模块,用于在所述应用程序是需要保护的应用程序时,将所述启动参数发送给预先创建的私有进程,使得所述私有进程根据所述启动参数孵化得到所述应用程序,其中,所述私有进程是未被注入的孵化载体。
本发明第二方面实施例提出的避免进程被注入的装置,通过在应用程序是需要保护的应用程序时,由私有进程完成该应用程序的孵化,由于私有进程是未被注入的,因此可以避免该应用程序的进程被注入,并且,本实施例采用建立私有进程的方式,而不是修复的方式,可以提高避免进程被注入的效果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是相关技术中应用程序启动的流程示意图;
图2是相关技术中进程注入的流程示意图;
图3是本发明一实施例提出的避免进程被注入的方法的流程示意图;
图4是本发明实施例中一种避免进程被注入的具体实现示意图;
图5是本发明另一实施例提出的避免进程被注入的方法的流程示意图;
图6是本发明另一实施例提出的避免进程被注入的实现装置;
图7是本发明另一实施例提出的避免进程被注入的实现装置。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
为了更好的理解本发明,首先对应用程序(app)的启动流程进行描述。
以Android平台为例,参见图1,相关技术中,Android平台下,应用程序(app)的启动流程包括:
S11:启动器启动app,并将app的启动参数发送给服务线程。
启动器可以具体可以是指launcher。服务线程可以具体是指system_server进程中的ActivityManagerService服务线程。
S12:服务线程将app的启动参数发送给孵化载体。
其中,孵化载体可以具体是指Zygote进程。Zygote进程可以监听socket连接,服务进程通过socket连接将启动参数发送给Zygote进程。
S13:孵化载体完成app孵化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410441405.9/2.html,转载请声明来源钻瓜专利网。