网络访问控制的方法和装置与流程

文档序号:11732681阅读:172来源:国知局
本发明涉及计算机
技术领域
:,尤其涉及一种网络访问控制的方法和装置。
背景技术
::随着计算机技术的日益发展,越来越多的应用环境需要网络访问控制功能,甚至希望对第三方应用软件进行网络访问控制。目前,网络访问控制的方法主要有两种:1)配置系统的防火墙,对整个系统实施网络访问策略;2)应用软件本身提供网络访问控制功能以供用户配置使用。上述方法存在以下问题:1)难以实现在同一物理机上为不同应用实施不同的网络访问策略,也难以实现对无法改动的第三方应用软件和/或不支持网络访问控制的第三方应用软件实施网络访问策略;2)修改应用软件代码,代价大、成本高,并且网络访问控制不彻底。技术实现要素:本发明旨在至少解决上述技术问题之一。为此,本发明的第一个目的在于提出一种网络访问控制的方法。该方法无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。本发明的第二个目的在于提出一种网络访问控制的装置。为了实现上述目的,本发明第一方面实施例的网络访问控制的方法包括以下步骤:获取待隔离软件的可执行连接格式ELF文件;对所述ELF文件进行修改以将所述ELF文件指向预设的动态链接库;以及根据所述动态链接库对待隔离软件进行网络访问控制。根据本发明实施例的网络访问控制的方法,可获取待隔离软件的ELF文件,对ELF文件进行修改以将ELF文件指向预设的动态链接库,并根据动态链接库对待隔离软件进行网络访问控制,无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。为了实现上述目的,本发明第二方面实施例的网络访问控制的装置,包括:获取模块,用于获取待隔离软件的可执行连接格式ELF文件;修改模块,用于对所述ELF文件进行修改以将所述ELF文件指向预设的动态链接库;以及访问控制模块,用于根据所述动态链接库对待隔离软件进行网络访问控制。根据本发明实施例的网络访问控制的装置,可通过修改模块对获取模块获取的ELF文件进行修改,以实现将ELF文件指向预设的动态链接库,并通过访问控制模块根据动态链接库对待隔离软件进行网络访问控制,无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本发明一个实施例的网络访问控制的方法的流程图;图2(a)、(b)、(c)和(d)是根据本发明一个实施例的ELF文件修改过程的具体示例图;图3是根据本发明一个实施例的网络访问控制的装置的结构框图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
:的技术人员所理解。下面参考附图描述根据本发明实施例的网络访问控制的方法和装置。目前,网络访问控制的方法主要有两种:第一种方法是配置系统的防火墙,对整个系统实施网络访问策略,该方法难以实现在同一物理机上为不同应用实施不同的网络访问策略;第二种方法是应用软件本身提供网络访问控制功能以供用户配置使用,该方法需修改应用软件代码,代价大、成本高,并且网络访问控制不彻底,也难以实现对无法改动的第三方应用软件和/或不支持网络访问控制的第三方应用软件实施网络访问策略。为此,提出一种网络访问控制的方法,包括以下步骤:获取待隔离软件的可执行连接格式ELF文件;对ELF文件进行修改以将ELF文件指向预设的动态链接库;以及根据动态链接库对待隔离软件进行网络访问控制。图1是根据本发明一个实施例的网络访问控制的方法的流程图。如图1所示,网络访问控制的方法包括以下步骤。S101,获取待隔离软件的可执行连接格式ELF文件。其中,ELF(ExecutableandLinkableFormat,可执行连接格式)文件可包括自身所依赖的动态链接库,ELF文件中的可执行程序在执行中可加载所依赖的动态链接库。S102,对ELF文件进行修改以将ELF文件指向预设的动态链接库。在本发明的一个实施例中,解析并获取ELF文件中的内容信息,并通过二进制编辑器对ELF文件中的内容信息进行修改。具体地,可通过Readelf工具解析并获取ELF文件中的内容信息。其中,Readelf工具为读取ELF文件的一种工具,应当理解,还可以包括其他可读取ELF文件的工具,例如,可通过Objdump工具解析并获取ELF文件中的内容信息,二进制编辑器可包括Vim、Emacs工具等。在本发明的另一个实施例中,具体修改过程可为:通过修改ELF文件的DEBUG字段实现将ELF文件指向预设的动态链接库。具体地,解析并获取ELF文件中的内容信息后,可通过二进制编辑器(例如Vim、Emacs工具等)对ELF文件中的DEBUG字段进行修改以实现将ELF文件指向预设的动态链接库。在本发明的又一个实施例中,预设的动态链接库为ELF文件中原动态链接库的子字段,其中,预设的动态链接库中的connect、socket等相关网络接口可由用户自己设定或者系统默认设定。为了使得修改过程更加明显,下面举例说明。例如,图2(a)所示为一个ELF文件格式,可通过Readelf工具读取ELF文件,其中,图2(a)中“Dynamicsectionatoffset0xe40contains21entries:”所示为动态链接库中动态字段的偏移位置,并通过Vim工具修改图2(a)中所示的DEBUG字段实现将ELF文件指向预设的动态链接库,图2(b)中区域1所示为DEBUG字段修改前其标签Tag及值Value的值,其中,第一列数字为Vim工具的行号,第二列十六进制数值为动态字段的偏移量,第一行的偏移量0000e40对应图2(a)中的偏移量0xe40,从偏移量0000e40开始找动态段的入口entry,每行都是ELF文件中的内容,以16进制展示,每两个字符代表一个字节,例如,区域1中15000000000000000000000000000000,前面的8个字节1500000000000000对应图2(a)中所示DEBUG字段对应的标签Tag值0x0000000000000015,后面的8个字节0000000000000000对应图2(a)中所示DEBUG字段对应的Value值0x0,依此类推,也可找到其他的动态字段入口entry的标签Tag及值Value的值,可参考图2(b)中原动态链接库:0000e40这行,标签Tag值对应0100000000000000,Value值对应1000000000000000,是指需要一个动态链接库libc.so.6;因此,通过Vim工具将DEBUG字段的标签TAG值改成0100000000000000,Value值改成原动态链接库libc.so.6的指向的位置+1,即1100000000000000,实现将DEBUG字段改成NEEDED字段以指向预设的动态链接库为ibc.so.6,图2(c)中区域2所示为修改后DEBUG字段对应位置的标签Tag及值Value的值。图2(d)所示为保存修改后的ELF文件,其中,区域3所示为DEBUG字段的对应位置指向预设的动态链接库ibc.so.6。S103,根据动态链接库对待隔离软件进行网络访问控制。具体地,可覆盖原动态链接库中connect、socket等相关网络接口以修改原动态链接库,并将修改后的原动态链接库置于待隔离软件的部署路径中以实现网络访问控制功能,其中,部署路径可通过环境变量LD_LIBRARY_PATH获得,LD_LIBRARY_PATH可指定查找动态链接库时除了默认路径之外的其他路径。根据本发明实施例的网络访问控制的方法,可获取待隔离软件的ELF文件,对ELF文件进行修改以将ELF文件指向预设的动态链接库,并根据动态链接库对待隔离软件进行网络访问控制,无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。为了实现上述实施例,本发明还提出一种网络访问控制的装置。一种网络访问控制的装置,包括:获取模块,用于获取待隔离软件的可执行连接格式ELF文件;修改模块,用于对ELF文件进行修改以将ELF文件指向预设的动态链接库;以及访问控制模块,用于根据动态链接库对待隔离软件进行网络访问控制。图3是根据本发明一个实施例的网络访问控制的装置的结构框图。如图3所示,网络访问控制的装置包括:获取模块100、修改模块200和访问控制模块300。具体地,获取模块100用于获取待隔离软件的可执行连接格式ELF文件。其中,ELF文件可包括自身所依赖的动态链接库,ELF文件中可执行程序在执行中可加载所依赖的动态链接库。修改模块200用于对ELF文件进行修改以将ELF文件指向预设的动态链接库。在本发明的一个实施例中,修改模块200可解析获取ELF文件中的内容信息,并通过二进制编辑器对ELF文件中的内容信息进行修改。更具体地,可通过Readelf工具解析并获取ELF文件中的内容信息。其中,Readelf工具为读取ELF文件的一种工具,应当理解,还可以包括其他可读取ELF文件的工具,例如,可通过Objdump工具解析并获取ELF文件的内容信息,二进制编辑器可包括Vim、Emacs工具等。在本发明的另一个实施例中,具体修改过程可为:通过修改ELF文件中的DEBUG字段实现将ELF文件指向预设的动态链接库。更具体地,修改模块200可解析并获取ELF文件中的内容信息后,可通过二进制编辑器(例如Vim、Emacs工具等)对ELF文件中的DEBUG字段进行修改以实现将ELF文件指向预设的动态链接库。在本发明的又一个实施例中,预设的动态链接库可为ELF文件中原动态链接库的子字段,其中,预设的动态链接库中的connect、socket等相关网络接口可由用户自己设定或者系统默认设定。访问控制模块300用于根据动态链接库对待隔离软件进行网络访问控制。更具体地,访问控制模块300可覆盖原动态链接库中connect、socket等相关网络接口以修改原动态链接库,并将修改后的原动态链接库置于待隔离软件的部署路径中以实现网络访问控制功能,其中,部署路径可通过环境变量LD_LIBRARY_PATH获得,LD_LIBRARY_PATH可指定查找动态链接库时除了默认路径之外的其他路径。根据本发明实施例的网络访问控制的装置,可通过修改模块对获取模块获取的ELF文件进行修改,以实现将ELF文件指向预设的动态链接库,并通过访问控制模块根据动态链接库对待隔离软件进行网络访问控制,无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1