计算机测量与控制.2005.13(4) Computer Measurement &Control
・363・
收稿日期:2004-06-28; 修回日期:2004-08-03。基金项目:湖南省自然科学基金资助项目(02JJ Y2094)。
作者简介:周诚(1976-),男,山东单县人,硕士,主要从事网络安全、计算机通讯技术方面的研究。
施荣华(1963-),教授,主要从事计算机通信保密和计算机网络方面的研究。
文章编号:1671-4598(2005)04-0363-03 中图分类号:TP393.08 文献标识码:B
一种基于N etf ilter 的认证方法研究与实现
周 诚,施荣华,杨政宇
(中南大学信息科学与工程学院,湖南长沙 410075)
摘要:随着网络的迅速发展,网络安全显得越来越重要,认证是其中重要的手段。通过对Linux 内核中的Netfilter 模块进行研究,
提出了一种基于Netf ilter Hook 编写网络认证体系的思想、方法,并根据信息隐藏技术的要求,给出了一个认证方法的框架。
关键词:网络安全;认证;Netfilter
R esearch and Implementation of a Certif ication Method B ase d on N etf ilter
Zhou Cheng ,Shi Rong Hua ,Yang Zhengyu
(School of Information Science &Engineering ,Centeal South U niversity ,Changsha 410075,China )
Abstract :wit h development of network ,t he security of net work is more and more important ,aut hentication is one of t he more used met hods to identify t he user ’s ID.After studying t he Netfilter module in t he Linux kernel ,a t hought and met hod based on t he Netfilter HOO K is presented and a aut hentication frame is discussed according to information hiding.
K ey w ords :network security ;aut hentication ;Netfilter
0 前言
Linux 214系统的网络安全体系是由Netfilter -iptables 、
连接跟踪、NA T 共同组成的[1],其中Netfilter 是其中最关键的部分。在现在防火墙系统中,很多就是采用Netfil ter -ipt 2ables 结构体系实现的[2],而本文将讨论如何利用
Netfilter 实现新的应用扩展———构造一种网络认证体系。
本文中所有的开发和试验都在运行于X86系列主机上的Linux 214120中完成。
图1 Netfilter 在内核中的位置
1 Netfilter Frame 简介[3]
IP 协议栈是Linux 操作系统的主要组成部分,是Linux 的
特色之一,素以高效稳定著称。Netfilter 与IP 协议栈是密切结合在一起的,与Linux 内核集成的IP 信息包过滤系统(如图1),其原理就是在协议栈中提供了一些钩子函数,从而实现对流经它的数据包的处理[5-6]。
Netfilter 是嵌入内核IP 协议栈的一系列调用入口,设置在报文处理的路径上,钩子(HOO K )类型定义在netfilter _ipv41h 中[6]。报文按照来源和去向,可以分为三类:流入的、流经的和流出的,其中流入和流经的报文需要经过路由才能区
分,而流经和流出的报文则需要经过投递。Netfilter 就是根据网络报文的流向,在这几个点插入处理过程,钩子类型和所在的位置如表1所示,钩子处理的相应动作如表2所示。
表1 Netfilter HOO K 的位置及描述
HOO K 类型
描 述
N F_IP_PRE_ROU TIN G:在报文作路由以前执行;
N F_IP_FORWARD :在报文转向另一个NIC 以前执行N F_IP_POST_ROU TIN G:在报文流出以前执行;
N F_IP_LOCAL_IN :在流入本地的报文作路由以后执行;N F_IP_LOCAL_OU T :
在本地报文做流出路由前执行。
表2 钩子处理的动作
N F_ACCEP T :继续正常的报文处理;N F_DROP :
将报文丢弃;
N F_STOL EN :由钩子函数处理了该报文,不要再继续
传送;
N F_QU EU E :将报文入队,通常交由用户程序处理;N F_REPEA T :
再次调用该钩子函数。
2 基于内核的认证方法工作原理和流程
核心模块编程也许是Linux 开发中最有趣的部分之一。以恶意的观点来看,可以隐藏文件、进程,并且做各式各样的,任何的root 能够做的事情。但是如果从系统安全的角度来看,可以隐藏文件、进程、网络认证以及做很多安全有关的各式各样事情。
有了赋予内核级程序员的强大力量,很多事情成为可能。其中最有趣的一个就是嵌入到内核中的后门,作为隐藏后门的守护进程,而在这里本文所提出的是安放一个用作内核后门
・3・计算机测量与控制 第4期
的网络认证服务,而这就正是利用Netfilter HOO K 完成的!
在这里将展现的是一个简单、原理性的,采用Netfilter 做的后门模块。该模块吸收了包过滤防火墙的思想:首先在服务器端做了一个防火墙,监控所有进入网络的报文,从中找出所需要的特殊报文,而其它的则直接丢弃,然后根据这个特殊报文的格式完成相应的操作(如图2所示)。根据不同要求和目的,可以选择多种协议用来作为报文的载体[4]
。
图2 基于内核认证系统原理图
下面将以ICMP 协议(ICMP ,网络控制报文协议--In 2
ternet Control Message Protocol )[7]为例具体介绍这种认证方法,流程如图3所示。
图3 认证系统工作流程图
该模块是在N F _IP _LOCAL _IN 处加载,可以监控所
有进入本机的报文。首先判断进入的报文是否是ICMP 数据包。如果是,则查找其数据格式是否满足要求。当有这样一个ICMP 报文(格式1)被发现,则清除记录的IP 地址和访问标志,结束本次认证。当另一个“魔法”ICMP 报文(格式2)被发现后,该模块就记录该报文中的IP 地址,并设置允许访问的标志,完成本次认证,从而该IP 地址就可以进行允许范围之内控制操作;否则立即返回N F _DROP ,丢弃该数据包。
如果模块监控发现输入的是TCP 数据包,则进一步检查标志是否设置,如果没有设置则立即返回N F _DROP ,丢弃该数据包;如果设置,则比较IP 地址,满足返回N F _AC 2CESS ,允许该IP 进行下一步的访问;否则也返回N F _DROP ,丢弃该数据包。
如果两者都不是,则表示不满足认证系统的需要,立即返
回NF _DROP ,丢弃该数据包。
客户端认证程序相对简单,就是在发送ICMP 数据包的时候,要注意使用服务器端相约定的报文格式,注意认证和结束认证的报文格式是不同的[7]。
3 综合性能分析
311 安全性分析
如图2所示,从服务器外面看,服务器不存在任何事先打开的网络端口,服务器是采用动态的开启网络访问端口,只有在基于内核的网络认证成功之后,才会开启网络服务所要的端口。同时,在网络访问端口开启之后,也只有开启者的IP 地址才能访问这个端口,其它IP 地址依然是不能看到和访问该端口的。也就是说不管是否认证,整个服务器对于没有认证的IP 地址都是一个黑箱[4],即隐藏了认证的路径。
具体而言:如果进入服务器的协议或报文格式不对,则直接丢弃,也就不会给攻击方以任何突破口。即使使用网络或端口扫描工具,由于网络端口是动态开启的,而且开启之后也只有开启着才能访问,因此也是无法找出可用的端口,从而保证了认证的安全和可靠性,也就是说相当于利用Netfilter 的特性在服务器外面加了一层包过滤的防火墙保护。
如果不泄漏特殊报文格式(钥匙),攻击方甚至是无法知道服务器是否正在工作。只有知道密钥,才能通过服务器的后门,打开所需要的网络端口(通道),进行下一步控制操作。
由于从图2中,可以看到在访问结束后,会利用另一钥匙把打开的通道关闭,保证服务器重新进入黑箱状态,以防止假冒IP 的攻击。
经过前面的介绍,可以看出这种方法能和目前的网络安全策略相结合,从而进一步提高完成某些网络设置、配置文件的修改等网络控制操作的安全系数。
由于采用特殊的报文作为开启网络访问的钥匙,在网络传递过程中,也存在可能被截取的情况。如果采用明文传递,很容易被黑客截取和分析出密钥的格式,安全系数明显不高;如果对传递的ICMP 报文加入IP 信息、采用时间戳、一次一密等防护手段,就可以做到即使报文被截取,密钥的数据格式,黑客也很难得到,也就可以相对提高系统的安全系数。312 效率分析
从流程图(图3)可以看到,对于除ICMP 的其他协议报文,模块很快就返回(这里是NF _DROP ,把报文丢弃),等待下一个报文的到来。
对于TCP 协议的报文,在标志设置完成后,客户端要访问服务器,只要再经过两次比较,就可以了,速度几乎可以到达线性,影响忽略不计;在标志没有设置情况,则很快返回,等待下一个报文。
当为ICMP 协议时,因为需要耗时间进行两次检测ICMP 报文的格式,而这部分速度则受匹配算法影响。在检测结束后,也很快返回,等待下一个报文。
也就是说,当条件不满足的时候,该方法将丢弃所有接收的报文,即使以后进行功能扩展,需要这些数据包的时候,也不会因为采用这种方法,而影响整个网络的性能。整个系统对速度影响最大的就是在对ICMP 格式的检测。
第4期周诚,等:一种基于Netfilter 的认证方法研究与实现・365・
所以,整个系统的效率依赖于ICMP 格式的检测上。要安全系数高,则要采用高难度的算法;要效率高,则要采用高速的算法。因此最终采用何种算法,要根据现场需要,综合安全和效率考虑,选择相应的算法。313 系统测试
测试1:在加载模块后,不管系统是否完成认证,用端口扫描、DoS 等方法攻击服务器[4],都得到一个结果:“数据包无法到达……”,也就是即服务器处于黑箱子状态。
测试2:截取报文,从报文中,很难知道其报文格式,再将把截取到的报文,修改ICMP 报文头中的IP 信息后重发,由于报文中的IP 信息和ICMP 头中的不一致,也会被丢弃,同时记录下该IP 。
测试3:在完成系统认证后,客户端则可以对服务器进行相应的控制和操作,速度几乎不受影响;操作结束后,关闭通道,服务器又回复到黑箱子状态,这样可以防假冒IP 进行访问。测试结果说明,该认证系统能够抵御很大部分的网络攻击,而且对系统其它性能也不会产生较大影响,因此该认证系统具有一定的可行性和较高的安全性。
4 小结
本文给出了一个Netfilter 的一种扩展———网络认证,介绍
了该方法的工作原理和流程,可以看出该方法具有高效、安全的优点。如果在该方法上再结合SSL 、数字签名、证书等认证手段,形成多种认证方法相结合的安全认证体系,则可以把网络认证做到更安全,可靠。该方法在防火墙配置、核心信息查询等安全要求高的场所都有广泛的应用价值。
参考文献:
[1]Russell R.Linux 214Packet Filtering HOW TO [Z].mailing list
netf ilter @list s.samba.org v1.0.1CST ,2000.
[2]赵萍,等.防火墙和入侵检测技术分析[J ].计算机测量与控制,
2002,10(5):335-338.
[3]Russell PR.Writing a module for netfilter [J ].Linux Magazine ,
http ://www.linux -mag.com/2000-06/gear _01.ht ml ,2000.
[4]沈勇,等.Netfilter 在拒绝服务防范中的应用[J ].计算机应用
研究,2002,19(5):67-69.
[5]王宏健,等.基于Linux 内核防火墙Netfilter 的安全应用的设计
方法[J ].小型微型计算机系统,2001,22(12):1516-1518.
[6]毛德操,胡希明.Linux 内核源代码情景分析[M ].杭州:浙大
出版社,2001.
[7]Stevens W R.TCP/IP 详解[M ].北京:机械工业出版社,2000.
(上接第345页)
上图中采用PID1指令作为TIC201的温度调节器,也是该串级调节回路的主调节器;采用PID2指令作为FIC101的流量调节器,也是该串级调节回路的副调节器。PID1的输出MV1作为PID2的给定值SV2,PID2的输出MV2通过D/A 单元控制F TV601,流量信号F101经A/D 转换作为PID2的测量值PV2,温度信号T201经A/D 转换作为PID1的测量值PV1。实现的聚合反应控温曲线如图7所示。本例PL C 系统采用的PID 指令均为二自由度PID 指令,实现控温过程平稳,限于篇幅,参数整定从略
。
图7 反应过程中的温度曲线
3 结论
基于PL C 的二自由度PID 控制算法具有编程简单、调试
方便、适应性广等特点,由于在顺序控制方面独具优势,因此,较适合于间歇生产过程的控制。采用该算法在中试聚合反应系统上投运后,工作正常,控制效果稳定可靠,具有很好的实用和推广价值。
参考文献:
[1]曹辉,霍罡.可编程序控制器系统原理及应用[M ].北京:电子
工业出版社,2003.
[2]游文虎,姜复兴.一种改进PID 算法在组合导航仿真实验台中的
应用[J ].计算机测量与控制,2004,12(7):675-677.
[3]王振鹏,段晨东,何正嘉.基于虚拟仪器技术实现PLC 控制系统
的状态监测和故障诊断[J ].计算机测量与控制,2004,12(8):
711-713.
[4]霍罡,曹辉.变频的在线故障检测技术的应用研究.计算机测量
与控制,2004,12(12):1134~1136.
专业提供各种军用民用Flash
M -systems 产品系列:315英寸、215英寸FFD 系列电子盘。与机械硬盘兼容、接口与安装结构基本一致。容量128MB 至9011G B 。电子盘(宽温、普温)产品系列:DiskOnChip (DOC )、DiskOnModule (DOM )C ompactFlash 2Card (CF 卡)PCMCIA Card (PC 卡)
中国指定代理商 诚征区域经销商
华高科技北京分公司
地 址:北京海淀区西大街70号305室(100080)联系人:冯闰生 电 话:010282872251626592华高科技深圳分公司地 址:深圳市深南大道6007号创展中心1711室(518040)联系人:罗定安 电 话:0755-8386701883867718华高科技成都分公司联系人:赵欣 电 话:02828555695185533246下载本文