CN103312706B - 网络访问控制的方法和装置 - Google Patents

网络访问控制的方法和装置 Download PDF

Info

Publication number
CN103312706B
CN103312706B CN201310218990.1A CN201310218990A CN103312706B CN 103312706 B CN103312706 B CN 103312706B CN 201310218990 A CN201310218990 A CN 201310218990A CN 103312706 B CN103312706 B CN 103312706B
Authority
CN
China
Prior art keywords
software
dynamic link
link library
elf files
elf
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.)
Active
Application number
CN201310218990.1A
Other languages
English (en)
Other versions
CN103312706A (zh
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310218990.1A priority Critical patent/CN103312706B/zh
Publication of CN103312706A publication Critical patent/CN103312706A/zh
Application granted granted Critical
Publication of CN103312706B publication Critical patent/CN103312706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提出一种网络访问控制的方法和装置,其中该方法包括以下步骤:获取待隔离软件的可执行连接格式ELF文件;对ELF文件进行修改以将ELF文件指向预设的动态链接库;以及根据动态链接库对待隔离软件进行网络访问控制。根据本发明实施例方法,可获取待隔离软件的ELF文件,对ELF文件进行修改以将ELF文件指向预设的动态链接库,并根据动态链接库对待隔离软件进行网络访问控制,无需修改应用软件代码,降低了成本,无需对防火墙进行复杂策略的配置,实现了可灵活设定任意网络访问策略。

Description

网络访问控制的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络访问控制的方法和装置。
背景技术
随着计算机技术的日益发展,越来越多的应用环境需要网络访问控制功能,甚至希望对第三方应用软件进行网络访问控制。目前,网络访问控制的方法主要有两种:
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(Executable and Linkable Format,可执行连接格式)文件可包括自身所依赖的动态链接库,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)中“Dynamic section at offset0xe40contains21entries:”所示为动态链接库中动态字段的偏移位置,并通过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)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (6)

1.一种网络访问控制的方法,其特征在于,包括以下步骤:
获取待隔离软件的可执行连接格式ELF文件;
对所述ELF文件进行修改以将所述ELF文件指向预设的动态链接库,其中,所述预设的动态链接库为所述ELF文件中原动态链接库的子字段,其中,所述预设的动态链接库中的connect和socket相关网络接口由用户自己设定或者默认设定;以及
根据所述预设的动态链接库对待隔离软件进行网络访问控制。
2.如权利要求1所述的方法,其特征在于,解析并获取所述ELF文件中的内容信息,并通过二进制编辑器对所述ELF文件中的内容信息进行修改。
3.如权利要求1或2所述的方法,其特征在于,通过修改所述ELF文件的DEBUG字段实现将所述ELF文件指向预设的动态链接库。
4.一种网络访问控制的装置,其特征在于,包括以下步骤:
获取模块,用于获取待隔离软件的可执行连接格式ELF文件;
修改模块,用于对所述ELF文件进行修改以将所述ELF文件指向预设的动态链接库,其中,所述预设的动态链接库为所述ELF文件中原动态链接库的子字段,其中,所述预设的动态链接库中的connect和socket相关网络接口由用户自己设定或者默认设定;以及
访问控制模块,用于根据所述预设的动态链接库对待隔离软件进行网络访问控制。
5.如权利要求4所述的装置,其特征在于,所述修改模块还用于解析并获取所述ELF文件中的内容信息,并通过二进制编辑器对所述ELF文件中的内容信息进行修改。
6.如权利要求4或5所述的装置,其特征在于,所述修改模块通过修改所述ELF文件的DEBUG字段实现将所述ELF文件指向预设的动态链接库。
CN201310218990.1A 2013-06-04 2013-06-04 网络访问控制的方法和装置 Active CN103312706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310218990.1A CN103312706B (zh) 2013-06-04 2013-06-04 网络访问控制的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310218990.1A CN103312706B (zh) 2013-06-04 2013-06-04 网络访问控制的方法和装置

Publications (2)

Publication Number Publication Date
CN103312706A CN103312706A (zh) 2013-09-18
CN103312706B true CN103312706B (zh) 2017-05-10

Family

ID=49137491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310218990.1A Active CN103312706B (zh) 2013-06-04 2013-06-04 网络访问控制的方法和装置

Country Status (1)

Country Link
CN (1) CN103312706B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650264A (zh) * 2002-04-17 2005-08-03 计算机联合思想公司 用于修改一个内核模块以便在多个内核版本上运行的设备和方法
CN101026825A (zh) * 2005-12-01 2007-08-29 三星电子株式会社 用于补丁最小化工具的系统和方法
CN101378509A (zh) * 2008-10-06 2009-03-04 合肥优视嵌入式技术有限责任公司 Bf561的双核协调工作方法
CN103109297A (zh) * 2010-09-22 2013-05-15 国际商业机器公司 数据分发装置、数据分发系统、客户端装置、数据分发方法、数据接收方法、程序及记录介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650264A (zh) * 2002-04-17 2005-08-03 计算机联合思想公司 用于修改一个内核模块以便在多个内核版本上运行的设备和方法
CN101026825A (zh) * 2005-12-01 2007-08-29 三星电子株式会社 用于补丁最小化工具的系统和方法
CN101378509A (zh) * 2008-10-06 2009-03-04 合肥优视嵌入式技术有限责任公司 Bf561的双核协调工作方法
CN103109297A (zh) * 2010-09-22 2013-05-15 国际商业机器公司 数据分发装置、数据分发系统、客户端装置、数据分发方法、数据接收方法、程序及记录介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Replacement attacks: automatically evading behavior-based software birthmark;Zhi Xin等;《Springer-Verlag 2012》;20120909;293-304 *

Also Published As

Publication number Publication date
CN103312706A (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103942065B (zh) 用于更新固件兼容性数据的方法和系统
US7739696B2 (en) Message translation systems and methods
CN103559449B (zh) 一种代码改动的检测方法及装置
CN104133667B (zh) 实现人工智能行为的方法、装置及人工智能编辑器
ATE554462T1 (de) Verfahren zum konfigurieren einer vorrichtung
JP7262818B2 (ja) エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境
CN103383681B (zh) 一种文件类型识别方法及系统
CN108920496A (zh) 一种渲染方法及装置
CN106649794A (zh) 图片合成方法及装置
CN105117621A (zh) 代码混淆的控制流平展化
CN106776334A (zh) 基于注释生成测试用例方法及装置
CN103793565A (zh) 一种快速生成网表的方法
CN106933591A (zh) 代码合并的方法及装置
CN110825386A (zh) 代码的编译方法和装置、存储介质
CN106021101A (zh) 对移动终端进行测试的方法及装置
CN106775913A (zh) 一种目标代码控制流图生成方法
CN104133676A (zh) 一种基于脚本的功能执行方法和设备
US9766882B2 (en) Computer-implemented method for editing data object variants
US20170346702A1 (en) Computer implemented method for displaying a user interface
CN103312706B (zh) 网络访问控制的方法和装置
CN107135568B (zh) 用于平衡跨越并联负载的电流的方法和设备
WO2015107611A1 (ja) シミュレーション方法およびその装置
US7213220B2 (en) Method for verification of gate level netlists using colored bits
JP7067520B2 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
US11902105B2 (en) Interactive graphical user interface for visualizing flow data in a programmable network switch

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant