Linux函数劫持方法及装置制造方法及图纸

技术编号:16380140 阅读:66 留言:0更新日期:2017-10-15 14:38
本发明专利技术提供一种Linux函数劫持方法及装置,所述方法包括:接收应用程序的运行命令,并获取应用程序的标识;加载预设的劫持函数库和动态库;运行所述应用程序并识别所述应用程序中的操作函数;根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。本发明专利技术所提供的Linux函数劫持方法,能够在Linux系统中针对不同的应用程序对操作函数进行控制,提高对不同应用程序的操作函数的控制的灵活性。

Linux function hijacking method and device

The present invention provides a method and device for hijacking Linux function, the method includes: receiving the run command application, and gets the application identifier; loading preset hijacking function library and dynamic library; operation function of the application program and identifying the application; searching the operation according to the identification function and the application of the hijacked Library, the hijacked correspondence function library includes the operating function, the application of the identification and hijack function, if find the hijacking function identification and the corresponding program operation function and the application of the operation of the hijacking function. According to the function of the operation result to determine whether the hijacking operation function of the dynamic library calls in. The Linux function hijacking method provided by the invention can control the operation function according to different application programs in the Linux system, so as to improve the flexibility of the control of the operation functions of different application programs.

【技术实现步骤摘要】
Linux函数劫持方法及装置
本专利技术涉及信息安全
,特别是涉及一种Linux函数劫持方法及装置。
技术介绍
在Linux系统中,如何保证应用程序所操作的文件及网络访问的安全性,从而对Linux系统的整体安全性进行保障,是信息安全
的重要课题。目前,Linux下常用的操作控制的方法,一般通过对文件和网络的操作权限进行管理,为文件的操作进行安全保护。传统的针对Linux系统下的文件操作的方法,基本上利用Inotify应用来控制文件操作,无法控制其进行文件操作,更无法针对应用程序对Linux系统文件操作进行控制。而的针对Linux系统下的网络访问控制的方法,基本上基于对iptables的二次开发和包装,针对所有使用Linux系统的程序统一控制网络访问,无法针对应用程序对Linux系统网络访问进行控制。
技术实现思路
基于此,有必要针对Linux系统无法针对应用程序进行文件操作和网络访问控制的问题,提供一种Linux函数劫持方法,包括:接收应用程序的运行命令,并获取应用程序的标识;加载预设的劫持函数库和动态库;运行所述应用程序并识别所述应用程序中的操作函数;根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。在其中一个实施例中,所述方法还包括:若未查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则调用所述动态库中的操作函数。在其中一个实施例中,所述预设的劫持函数库的绝对路径保存在后台入口文件中。在其中一个实施例中,所述根据所述劫持函数的运行结果判断是否调用动态库中的操作函数之后还包括:判断是否对所述操作函数进行监控。在其中一个实施例中,所述根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数,包括:获取所述操作函数中的操作信息;根据所述操作信息,调用外部服务程序,并根据所述外部服务程序的运行结果判断是否调用动态库中的操作函数。本专利技术所提供的Linux函数劫持方法,能够在Linux系统中通过获取应用程序的标识,针对不同的应用程序对操作函数进行劫持,劫持针对所述应用程序的操作函数,并根据劫持函数的运行结果判断是否允许所述应用程序的操作函数的运行,提高对不同应用程序的操作函数的控制的灵活性。在其中一个实施例中,本专利技术所提供的Linux函数劫持方法,能够通过外部服务程序对需要进行控制的应用程序和操作函数进行定义及维护,提供了灵活方便的针对Linux系统操作函数的控制。本专利技术还提供一种Linux函数劫持装置,包括:应用程序接收模块,用于接收应用程序的运行命令,并获取应用程序的标识;函数加载模块,用于加载预设的劫持函数库和动态库;函数识别模块,用于运行所述应用程序并识别所述应用程序中的操作函数;操作控制模块,用于根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。在其中一个实施例中,操作控制模块,还用于若未查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则调用所述动态库中的操作函数。在其中一个实施例中,所述预设的劫持函数库的绝对路径保存在后台入口文件中。在其中一个实施例中,还包括:操作监控模块,用于根据所述劫持函数的运行结果判断调用动态库中的操作函数时,判断是否对所述操作函数进行监控。在其中一个实施例中,所述操作控制模块包括:操作信息获取单元,用于获取所述操作函数中的操作信息;操作控制单元,用于根据所述操作信息,调用外部服务程序,并根据所述外部服务程序的运行结果判断是否调用动态库中的操作函数。本专利技术所提供的Linux函数劫持装置,能够在Linux系统中通过获取应用程序的标识,针对不同的应用程序对操作函数进行劫持,劫持针对所述应用程序的操作函数,并根据劫持函数的运行结果判断是否允许所述应用程序的操作函数的运行,提高对不同应用程序的操作函数的控制的灵活性。在其中一个实施例中,本专利技术所提供的Linux函数劫持装置,能够通过外部服务程序对需要进行控制的应用程序和操作函数进行定义及维护,提供了灵活方便的针对Linux系统操作函数的控制。附图说明图1为一个实施例中的Linux函数劫持方法的示意图;图2为一个实施例中的Linux函数劫持方法中劫持库的位置示意图;图3为另一个实施例中的Linux函数劫持方法的流程图;图4为又一个实施例中的Linux函数劫持方法的流程图;图5为一个实施例中的Linux函数劫持装置的结构图;图6为另一个实施例中的Linux函数劫持装置的结构图;图7为又一个实施例中的Linux函数劫持装置的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中的Linux函数劫持方法的示意图,如图1所示的Linux函数劫持方法包括:步骤S100,接收应用程序的运行命令,并获取应用程序的标识。具体的,所述应用程序的标识是指用于区分不同应用程序的记号,或区分不同应用程序的特征的标记,包括应用程序的程序类别、名称、版本号中的任意一种。步骤S200,加载预设的劫持函数库和动态库。具体的,所述预设的劫持函数库,所述劫持函数库为在操作函数运行之前,将其劫持后,进行预设的逻辑处理后,并根据所述预设的逻辑处理决定是否调用原操作函数。所述被劫持的操作函数包括open系列函数,close函数,create系列函数,read函数,write函数,socket操作系列函数(socket,listen,bind,connect,send,receive等),kill函数等。系统首先加载所述劫持函数库,再加载动态库,即常用的C库。如图2所示,本实施例所提供的劫持库,加载后在Linux系统中位置。在用户应用层之下,劫持库位于动态库更加靠近用户应用层的位置,以表示劫持库中的劫持函数优先被调用,如劫持库中没有相应的劫持函数,则调用动态库中的函数。图2中,劫持库和动态库都连接到Linux底层的内核部分。不再赘述。步骤S300,运行所述应用程序并识别所述应用程序中的操作函数。具体的,运行所述应用程序后,对程序中的操作函数进行识别,当识别到操作函数时,即进行后续步骤S400。所述操作函数,包括文件操作函数和网络访问函数。步骤S400,根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。具体的,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,所述劫持函数包括禁止运行所述操作函数。例如,当设定某本文档来自技高网...
Linux函数劫持方法及装置

【技术保护点】
一种Linux函数劫持方法,其特征在于,所述方法包括:接收应用程序的运行命令,并获取应用程序的标识;加载预设的劫持函数库和动态库;运行所述应用程序并识别所述应用程序中的操作函数;根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。

【技术特征摘要】
1.一种Linux函数劫持方法,其特征在于,所述方法包括:接收应用程序的运行命令,并获取应用程序的标识;加载预设的劫持函数库和动态库;运行所述应用程序并识别所述应用程序中的操作函数;根据所述操作函数和所述应用程序的标识查找所述劫持函数库,所述劫持函数库包括所述操作函数、所述应用程序的标识和劫持函数之间的对应关系,若查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则运行所述劫持函数,并根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数。2.根据权利要求1所述的Linux函数劫持方法,其特征在于,所述方法还包括:若未查找到与所述操作函数和所述应用程序的标识对应的劫持函数,则调用所述动态库中的操作函数。3.根据权利要求1所述的Linux函数劫持方法,其特征在于:所述预设的劫持函数库的绝对路径保存在后台入口文件中。4.根据权利要求1所述的Linux函数劫持方法,其特征在于,所述根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数之后还包括:判断是否对所述操作函数进行监控。5.根据权利要求1所述的Linux函数劫持方法,其特征在于,所述根据所述劫持函数的运行结果判断是否调用所述动态库中的操作函数,包括:获取所述操作函数中的操作信息;根据所述操作信息,调用外部服务程序,并根据所述外部服务程序的运行结果判断是否调用动态库中的操作函数。6.一种Linux函数劫持装置,其特征...

【专利技术属性】
技术研发人员:程广连
申请(专利权)人:北京瑞星信息技术股份有限公司
类型:发明
国别省市:北京,11

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

1